flatpak improvements

github/fork/yochananmarqos/patch-1
Manuel Genovés 2019-04-20 18:24:21 +02:00
commit 3d26dc2b25
9 changed files with 99 additions and 99 deletions

5
.gitignore vendored
View File

@ -6,13 +6,12 @@ debian/uberwriter/DEBIAN
debian/uberwriter/opt
debian/uberwriter/usr
flatpak/*
!flatpak/fonts-download
!flatpak/pandoc-download
!flatpak/pip-download
!flatpak/uberwriter.json
!flatpak/de.wolfvollprecht.UberWriter.*
!flatpak/flatpak_texlive.json
!flatpak/texlive_install.sh
!flatpak/python3-enchant.json
!flatpak/python3-packages.json
*.py~
data/ui/shortcut_handlers
*.ui~

View File

@ -1,6 +1,9 @@
all:
python3 ./setup.py build
.PHONY: flatpak-user-install flatpak-generate-python-modules
install:
python3 ./setup.py install --prefix=/app --skip-build --optimize=1
flatpak-user-install:
cd flatpak; flatpak-builder --force-clean --install --user _build uberwriter.json
flatpak-generate-python-modules:
# gtkspellcheck's setup.py wants enchant to already be installed
flatpak-pip-generator --output flatpak/python3-enchant.json pyenchant
flatpak-pip-generator --output flatpak/python3-packages.json `grep -v enchant requirements.txt`

View File

@ -34,8 +34,7 @@ but you'll need to install and compile the schemas before:
It's also possible to build, run and debug a flatpak package. You'll need flatpak-builder for this:
- cd to the flatpak dir of the repo
- `flatpak-builder --install --force-clean some_folder_name uberwriter.json` (this installs and cleans the build folder)
- `make flatpak-user-install` (this installs the Flatpak)
- `flatpak run de.wolfvollprecht.UberWriter`
If you can't find Uberwriter after this, it's due to a Flatpak bug. Try to export it to a local repo before installing it:

View File

@ -1 +0,0 @@

1
configure vendored
View File

@ -1 +0,0 @@

View File

@ -3,7 +3,7 @@
"runtime": "org.gnome.Platform",
"runtime-version": "3.32",
"sdk": "org.gnome.Sdk",
"command": "uberwriter",
"command": "start-uberwriter",
"finish-args": [
"--socket=x11",
"--socket=wayland",
@ -13,14 +13,8 @@
"--filesystem=xdg-run/dconf",
"--filesystem=~/.config/dconf:ro",
"--talk-name=ca.desrt.dconf",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf",
"--env=PATH=/app/extensions/TexLive/bin:/app/extensions/TexLive/2018/bin/x86_64-linux:/app/bin:/usr/bin"
"--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
"build-options" : {
"env": {
"PYTHON": "python3"
}
},
"add-extensions": {
"de.wolfvollprecht.UberWriter.Plugin": {
"directory": "extensions",
@ -33,7 +27,7 @@
"modules": [
{
"name": "enchant",
"config-opts": ["--disable-static", "--with-myspell-dir=/usr/share/hunspell"],
"config-opts": ["--disable-static", "--with-myspell-dir=/usr/share/myspell"],
"cleanup": [
"/bin"
],
@ -46,26 +40,6 @@
]
},
{
"name": "pandoc",
"only-arches": [
"x86_64"
],
"buildsystem": "simple",
"build-commands": [
"mkdir -p /app/bin",
"cp bin/pandoc /app/bin/pandoc",
"cp bin/pandoc-citeproc /app/bin/pandoc-citeproc"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/jgm/pandoc/releases/download/2.2/pandoc-2.2-linux.tar.gz",
"sha256": "06ecd882e42ef9b7390b1c82e1e71b3ea48679181289b9b810a8797825bed8ed"
}
]
},
"de.wolfvollprecht.UberWriter.pipdeps.json",
{
"name": "fonts",
"buildsystem": "simple",
"build-commands": [
@ -81,20 +55,57 @@
]
},
{
"name": "uberwriter",
"name": "pandoc",
"only-arches": [
"x86_64"
],
"buildsystem": "simple",
"build-commands": [
"install -Dm 755 bin/pandoc /app/bin/pandoc",
"install -Dm 755 bin/pandoc-citeproc /app/bin/pandoc-citeproc"
],
"sources": [
{
"type" : "git",
"url" : "../",
"branch" : "various-improvements"
"type": "archive",
"url": "https://github.com/jgm/pandoc/releases/download/2.2/pandoc-2.2-linux.tar.gz",
"sha256": "06ecd882e42ef9b7390b1c82e1e71b3ea48679181289b9b810a8797825bed8ed"
}
],
]
},
"de.wolfvollprecht.UberWriter.pipdeps.json",
{
"name": "uberwriter",
"buildsystem": "simple",
"build-commands": [
"install -Dm644 data/de.wolfvollprecht.UberWriter.appdata.xml /app/share/appdata/de.wolfvollprecht.UberWriter.appdata.xml "
"desktop-file-edit --set-key=Exec --set-value='uberwriter.in %U' data/de.wolfvollprecht.UberWriter.desktop",
"python3 -m pip install --prefix=/app --install-option=--optimize=1 ."
],
"sources": [
{
"type" : "dir",
"path" : "../"
}
],
"post-install": [
"glib-compile-schemas /app/share/glib-2.0/schemas",
"install -d /app/extensions"
"install -d /app/extensions",
"glib-compile-schemas /app/share/glib-2.0/schemas"
]
},
{
"name": "scripts",
"buildsystem": "simple",
"build-commands": [
"install -Dm 755 start-uberwriter.sh /app/bin/start-uberwriter"
],
"sources": [
{
"type": "script",
"dest-filename": "start-uberwriter.sh",
"commands": [
"export PATH=/app/extensions/TexLive/bin:/app/extensions/TexLive/2018/bin/$(uname -a)-linux:$PATH",
"exec uberwriter.in \"$@\""
]
}
]
}
]

View File

@ -1,4 +1,4 @@
regex
enchant
python-gtkspellcheck
pypandoc==1.4
pyenchant
pygtkspellcheck

View File

@ -22,26 +22,20 @@
from setuptools import setup
import os
def package_files(directory):
def data_files(basename):
data = os.path.join('.', 'data')
root = os.path.join(data, basename)
extra_files = []
for path, directories, filenames in os.walk(root):
paths = []
for (path, directories, filenames) in os.walk(directory):
for filename in filenames:
paths.append(os.path.join(path, filename))
return paths
extra_files.append(('share/uberwriter/data/{}'.format(os.path.relpath(path, data)), paths))
return extra_files
extra_files_ui = package_files('./data/ui')
extra_files_media_css = package_files('./data/media/css')
extra_files_media_fonts = package_files('./data/media/fonts')
extra_files_scripts = package_files('./data/lua')
from pprint import pprint
pprint(extra_files_ui)
pprint(extra_files_media_css)
pprint(extra_files_media_fonts)
if os.path.isfile("/.flatpak-info"):
app_prefix = '/app/'
else:
app_prefix = '/usr/'
extra_files_ui = data_files('ui')
extra_files_media = data_files('media')
extra_files_scripts = data_files('lua')
setup(
name='uberwriter',
@ -76,15 +70,12 @@ setup(
'uberwriter.pylocales' : ['locales.db'],
},
data_files=[
(app_prefix + 'bin', ['bin/uberwriter']),
(app_prefix + 'share/glib-2.0/schemas', ['data/de.wolfvollprecht.UberWriter.gschema.xml']),
(app_prefix + 'share/icons/hicolor/scalable/apps', ['data/media/de.wolfvollprecht.UberWriter.svg']),
(app_prefix + 'share/icons/hicolor/symbolic/apps', ['data/media/de.wolfvollprecht.UberWriter-symbolic.svg']),
(app_prefix + 'share/applications', ['data/de.wolfvollprecht.UberWriter.desktop']),
(app_prefix + 'share/uberwriter/data/media', ['data/media/uberwriter_markdown.md']),
(app_prefix + 'share/uberwriter/data/ui', extra_files_ui),
(app_prefix + 'share/uberwriter/data/media/css', extra_files_media_css),
(app_prefix + 'share/uberwriter/data/media/fonts', extra_files_media_fonts),
(app_prefix + 'share/uberwriter/data/lua', extra_files_scripts)
('bin', ['uberwriter.in']),
('share/applications', ['data/de.wolfvollprecht.UberWriter.desktop']),
('share/metainfo', ['data/de.wolfvollprecht.UberWriter.appdata.xml']),
('share/icons/hicolor/scalable/apps', ['data/media/de.wolfvollprecht.UberWriter.svg']),
('share/icons/hicolor/symbolic/apps', ['data/media/de.wolfvollprecht.UberWriter-symbolic.svg']),
('share/glib-2.0/schemas', ['data/de.wolfvollprecht.UberWriter.gschema.xml']),
*(extra_files_ui + extra_files_media + extra_files_scripts)
]
)

View File

@ -53,7 +53,6 @@ def get_data_path():
"""
# Get pathname absolute or relative.
# TODO: Abstract this (the old env IN_FLATPAK)
if os.path.isfile("/.flatpak-info"):
return '/app/share/uberwriter/data/'