work on the meson port by @bilelmoussaoui

ft.librem5
Manuel Genovés 2019-10-28 21:40:51 +01:00
commit 8bbe3c9044
67 changed files with 2128 additions and 155 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@ build/lib.linux-x86_64-2.7
*.pyc
__pycache__/
build/
_build/
debian/uberwriter/DEBIAN
debian/uberwriter/opt
debian/uberwriter/usr

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="addon">
<id>de.wolfvollprecht.UberWriter.Plugin.TexLive</id>
<extends>de.wolfvollprecht.UberWriter.desktop</extends>
<extends>de.wolfvollprecht.UberWriter</extends>
<name>TexLive Plugin</name>
<summary>Allows to export to pdf and to show formulas in the inline preview</summary>
<url type="homepage">https://www.tug.org/texlive//</url>
<project_license>LPPL</project_license>
<metadata_license>CC0-1.0</metadata_license>
<update_contact>w.vollprecht_AT_gmail.com</update_contact>
</component>
</component>

View File

@ -0,0 +1,102 @@
{
"app-id": "de.wolfvollprecht.UberWriter",
"runtime": "org.gnome.Platform",
"runtime-version": "3.32",
"sdk": "org.gnome.Sdk",
"command": "uberwriter",
"finish-args": [
"--socket=x11",
"--share=ipc",
"--filesystem=host",
"--env=IN_FLATPAK=1",
"--filesystem=xdg-run/dconf",
"--filesystem=~/.config/dconf:ro",
"--talk-name=ca.desrt.dconf",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf",
"--env=XDG_DATA_DIRS=/app/usr/share",
"--env=PATH=/app/extensions/TexLive/bin:/app/extensions/TexLive/2018/bin/x86_64-linux:/app/usr/bin:/app/bin"
],
"add-extensions": {
"de.wolfvollprecht.UberWriter.Plugin": {
"directory": "extensions",
"version": "stable",
"subdirectories": true,
"no-autodownload": true,
"autodelete": true
}
},
"modules": [{
"name": "uberwriter",
"buildsystem": "meson",
"sources": [{
"type" : "git",
"url" : "../",
"branch" : "refactoring"
}],
"post-install": [
"install -d /app/extensions"
]
},
{
"name": "pandoc",
"only-arches": [
"x86_64"
],
"buildsystem": "simple",
"build-commands": [
"cp bin/pandoc /app/usr/bin/pandoc",
"cp bin/pandoc-citeproc /app/usr/bin/pandoc-citeproc"
],
"sources": [{
"type": "archive",
"url": "https://github.com/jgm/pandoc/releases/download/2.2/pandoc-2.2-linux.tar.gz",
"sha256": "06ecd882e42ef9b7390b1c82e1e71b3ea48679181289b9b810a8797825bed8ed"
}]
},
{
"name": "pipdeps",
"buildsystem": "simple",
"build-commands": [
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} pyenchant regex pypandoc"
],
"sources": [{
"type": "file",
"url": "https://files.pythonhosted.org/packages/5d/c1/45947333669b31bc6b4933308dd07c2aa2fedcec0a95b14eedae993bd449/wheel-0.31.0.tar.gz",
"sha256": "1ae8153bed701cb062913b72429bcf854ba824f973735427681882a688cb55ce"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz",
"sha256": "f2bd08e0cd1b06e10218feaf6fef299f473ba706582eb3bd9d52203fdbd7ee68"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/81/00184643e5a10a456b4118fc12c96780823adb8ed974eb2289f29703b29b/pypandoc-1.4.tar.gz",
"sha256": "e914e6d5f84a76764887e4d909b09d63308725f0cbb5293872c2c92f07c11a5b"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/a2/51/c39562cfed3272592c60cfd229e5464d715b78537e332eac2b695422dc49/regex-2018.02.21.tar.gz",
"sha256": "b44624a38d07d3c954c84ad302c29f7930f4bf01443beef5589e9157b14e2a29"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9e/54/04d88a59efa33fefb88133ceb638cdf754319030c28aadc5a379d82140ed/pyenchant-2.0.0.tar.gz",
"sha256": "fc31cda72ace001da8fe5d42f11c26e514a91fa8c70468739216ddd8de64e2a0"
}]
},
{
"name": "fonts",
"buildsystem": "simple",
"build-commands": [
"mkdir -p /app/share/fonts/",
"cp ttf/* /app/share/fonts/"
],
"sources": [{
"type": "git",
"url": "https://github.com/mozilla/Fira",
"tag": "4.202"
}]
}
]
}

View File

@ -0,0 +1,121 @@
{
"id": "de.wolfvollprecht.UberWriter.Plugin.WebPhoto",
"runtime": "de.wolfvollprecht.UberWriter",
"branch": "stable",
"sdk": "org.gnome.Sdk//3.32",
"build-extension": true,
"separate-locales": false,
"appstream-compose": false,
"finish-args": [
],
"build-options" : {
"prefix": "/app/extensions/WebPhoto",
"env": {
"PATH": "/app/extensions/TexLive/bin:/app/extensions/TexLive/2018/bin/x86_64-linux:/app/bin:/usr/bin"
}
},
"cleanup": [],
"modules": [
{
"name": "Glib2",
"sources": [
{
"type": "archive",
"url": "http://ftp.gnome.org/pub/gnome/sources/glib/2.56/glib-2.56.1.tar.xz",
"sha256": "40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d"
}
]
},
{
"name": "LibIDL",
"buildsystem": "autotools",
"sources": [
{
"type": "git",
"url": "https://github.com/GNOME/libIDL/",
"tag": "LIBIDL_0_8_14",
"commit": "666fcbf086fb859738b67417c99a9895bb3d8ce5"
}
]
},
{
"name": "ORBit2",
"rm-configure": true,
"config-opts": ["--prefix=/app/extensions/WebPhoto"],
"build-options": {
"env":{
"PKG_CONFIG_PATH": "/app/extensions/WebPhoto/lib/pkgconfig",
"GNOME2_DIR": "/app/extensions/WebPhoto",
"LD_LIBRARY_PATH": "/app/extensions/WebPhoto/lib",
"PATH": "/app/extensions/WebPhoto/bin:/usr/bin"
}
},
"sources": [
{
"type": "archive",
"url": "http://ftp.gnome.org/pub/gnome/sources/ORBit2/2.14/ORBit2-2.14.19.tar.bz2",
"sha256": "55c900a905482992730f575f3eef34d50bda717c197c97c08fa5a6eafd857550"
},
{
"type": "patch",
"path": "ORBit2.patch"
},
{
"type": "script",
"dest-filename": "autogen.sh",
"commands": [
"autoreconf -fi"
]
}
]
},
{
"name": "gconf",
"buildsystem": "autotools",
"config-opts": ["--prefix=/app/extensions/WebPhoto"],
"build-options": {
"env":{
"PKG_CONFIG_PATH": "/app/extensions/WebPhoto/lib/pkgconfig",
"GNOME2_DIR": "/app/extensions/WebPhoto",
"LD_LIBRARY_PATH": "/app/extensions/WebPhoto/lib",
"PATH": "/app/extensions/WebPhoto/bin:/usr/bin"
}
},
"sources": [
{
"type": "archive",
"url": "http://ftp.gnome.org/pub/GNOME/sources/GConf/3.2/GConf-3.2.6.tar.xz",
"sha256": "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c"
}
]
},
{
"name": "gnome-web-photo",
"buildsystem": "autotools",
"config-opts": [
"--with-gtk=3.0",
"--prefix=/app/extensions/WebPhoto"
],
"build-options": {
"env":{
"LD_LIBRARY_PATH": "/app/extensions/WebPhoto/lib",
"PATH": "/app/bin:/app/extensions/WebPhoto/bin:/usr/bin",
"ACLOCAL_PATH": "/app/extensions/WebPhoto/share/aclocal"
}
},
"sources": [
{
"type": "git",
"url": "https://github.com/GNOME/gnome-web-photo/",
"tag": "0.10.6",
"commit": "827d6b98c120b4dd8d689a1faf52450685ca6d46"
},
{
"type": "patch",
"path": "GnomeWebPhoto.patch"
}
]
}
]
}

View File

@ -2,7 +2,7 @@
"id": "de.wolfvollprecht.UberWriter.Plugin.TexLive",
"runtime": "de.wolfvollprecht.UberWriter",
"branch": "stable",
"sdk": "org.gnome.Sdk//3.26",
"sdk": "org.gnome.Sdk//3.32",
"build-extension": true,
"separate-locales": false,
"appstream-compose": false,

View File

@ -2,7 +2,7 @@
"id": "de.wolfvollprecht.UberWriter.Plugin.TexLive",
"runtime": "de.wolfvollprecht.UberWriter",
"branch": "stable",
"sdk": "org.gnome.Sdk//3.26",
"sdk": "org.gnome.Sdk//3.32",
"build-extension": true,
"separate-locales": false,
"appstream-compose": false,

View File

@ -0,0 +1,13 @@
#!/usr/bin/env python3
from os import environ, path
from subprocess import call
if not environ.get('DESTDIR', ''):
PREFIX = environ.get('MESON_INSTALL_PREFIX', '/usr/local')
DATA_DIR = path.join(PREFIX, 'share')
print('Updating icon cache...')
call(['gtk-update-icon-cache', '-qtf', path.join(DATA_DIR, 'icons/hicolor')])
print("compiling new schemas")
call(["glib-compile-schemas", path.join(DATA_DIR, 'glib-2.0/schemas')])

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>de.wolfvollprecht.UberWriter</id>
<launchable type="desktop-id">de.wolfvollprecht.UberWriter.desktop</launchable>
<id>@app-id@</id>
<launchable type="desktop-id">@app-id@.desktop</launchable>
<name>UberWriter</name>
<summary>An elegant, free distraction GTK+ markdown editor</summary>
<description>
@ -123,5 +123,5 @@
<url type="help">http://uberwriter.github.io/uberwriter</url>
<url type="translate">https://poeditor.com/join/project/gxVzFyXb2x</url>
<update_contact>manuel.genoves_at_gmail.com</update_contact>
<translation type="gettext">uberwriter</translation>
</component>
<translation type="gettext">@gettext-package@</translation>
</component>

View File

@ -3,7 +3,7 @@ Name=UberWriter
Comment=UberWriter, a simple and distraction free Markdown Editor
Categories=GNOME;GTK;Office;
Exec=uberwriter %U
Icon=de.wolfvollprecht.UberWriter
Icon=@icon@
Terminal=false
Type=Application
MimeType=text/x-markdown;text/plain;

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,11 @@
install_data(
'de.wolfvollprecht.UberWriter.svg',
install_dir: datadir / 'icons' / 'hicolor' / 'scalable',
rename: '@0@.svg'.format(application_id)
)
install_data(
'de.wolfvollprecht.UberWriter-symbolic.svg',
install_dir: datadir / 'icons' / 'hicolor' / 'symbolic',
rename: '@0@-symbolic.svg'.format(application_id)
)

73
data/meson.build 100644
View File

@ -0,0 +1,73 @@
# FreeDesktop Desktop File
desktop_conf = configuration_data()
desktop_conf.set('icon', application_id)
desktop_file = i18n.merge_file(
'desktop',
input: configure_file(
input: 'de.wolfvollprecht.UberWriter.desktop.in.in',
output: '@BASENAME@',
configuration: desktop_conf
),
output: '@0@.desktop'.format(application_id),
po_dir: podir,
type: 'desktop',
install: true,
install_dir: get_option('datadir') / 'applications'
)
# Validate Desktop File
desktop_file_validate = find_program('desktop-file-validate', required: false)
if desktop_file_validate.found()
test (
'Validate desktop file',
desktop_file_validate,
args: desktop_file.full_path()
)
endif
# Freedesktop AppData File
appdata_conf = configuration_data()
appdata_conf.set('app-id', application_id)
appdata_conf.set('gettext-package', gettext_package)
appdata_file = i18n.merge_file(
'appdata',
input: configure_file(
input: 'de.wolfvollprecht.UberWriter.appdata.xml.in.in',
output: '@BASENAME@',
configuration: appdata_conf
),
output: '@0@.appdata.xml'.format(application_id),
po_dir: podir,
install: true,
install_dir: get_option('datadir') / 'metainfo'
)
# Validate AppData File
appstream_util = find_program('appstream-util', required: false)
if appstream_util.found()
test (
'Validate appdata file',
appstream_util,
args: ['validate-relax', '--nonet', appdata_file.full_path()]
)
endif
# Gschema
install_data(
'de.wolfvollprecht.UberWriter.gschema.xml',
install_dir: get_option('datadir') / 'glib-2.0' / 'schemas',
rename: '@0@.gschema.xml'.format(application_id)
)
subdir('icons')
install_subdir(
'lua',
install_dir: pkgdatadir
)
install_subdir(
'media',
install_dir: pkgdatadir
)
install_subdir(
'ui',
install_dir: pkgdatadir
)

View File

@ -1,125 +0,0 @@
{
"app-id":"de.wolfvollprecht.UberWriter",
"runtime":"org.gnome.Platform",
"runtime-version":"3.32",
"sdk":"org.gnome.Sdk",
"command":"start-uberwriter",
"finish-args":[
"--socket=x11",
"--socket=wayland",
"--share=ipc",
"--share=network",
"--filesystem=host",
"--filesystem=xdg-run/dconf",
"--filesystem=~/.config/dconf:ro",
"--talk-name=ca.desrt.dconf",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
"add-extensions":{
"de.wolfvollprecht.UberWriter.Plugin":{
"directory":"extensions",
"version":"stable",
"subdirectories":true,
"no-autodownload":true,
"autodelete":true
}
},
"modules":[
{
"name":"enchant",
"config-opts":[
"--disable-static",
"--with-myspell-dir=/usr/share/hunspell"
],
"cleanup":[
"/bin"
],
"sources":[
{
"type":"archive",
"url":"https://github.com/AbiWord/enchant/releases/download/enchant-1-6-1/enchant-1.6.1.tar.gz",
"sha256":"bef0d9c0fef2e4e8746956b68e4d6c6641f6b85bd2908d91731efb68eba9e3f5"
}
]
},
{
"name":"gspell",
"sources":[
{
"type":"archive",
"url":"https://download.gnome.org/sources/gspell/1.8/gspell-1.8.1.tar.xz",
"sha256":"819a1d23c7603000e73f5e738bdd284342e0cd345fb0c7650999c31ec741bbe5"
}
]
},
{
"name":"fonts",
"buildsystem":"simple",
"build-commands":[
"mkdir -p /app/share/fonts/",
"cp ttf/* /app/share/fonts/"
],
"sources":[
{
"type":"git",
"url":"https://github.com/mozilla/Fira",
"tag":"4.202"
}
]
},
{
"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":"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":[
"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":[
"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 \"$@\""
]
}
]
}
]
}

16
help/meson.build 100644
View File

@ -0,0 +1,16 @@
help_pages = files(
'index.page',
'pandocs-markdown.page',
'preview.page'
)
help_media = files(
'figures/icon.png',
'figures/icon_down.png'
)
gnome.yelp(meson.project_name(),
sources: help_pages,
media: help_media,
symlink_media: true
)

77
meson.build 100644
View File

@ -0,0 +1,77 @@
project(
'uberwriter',
version: '2.2.0',
meson_version: '>= 0.50.0'
)
if get_option('profile') == 'development'
profile = 'Devel'
name_suffix = ' (Development)'
vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()
if vcs_tag == ''
version_suffix = '-devel'
else
version_suffix = '-@0@'.format (vcs_tag)
endif
else
profile = ''
name_suffix = ''
version_suffix = ''
endif
application_id = 'de.wolfvollprecht.UberWriter@0@'.format(profile)
# This doesn't work yet. It's doesn't find the python3 from the sandboxed env first
# python = import('python')
# python3 = python.find_installation('python3')
python = import('python3')
python3 = python.find_python()
if not python3.found()
error('No valid python3 binary found')
else
message('Found python3 binary')
endif
gnome = import('gnome')
i18n = import('i18n')
dependency('glib-2.0')
dependency('gobject-2.0')
dependency('gobject-introspection-1.0')
dependency('gtk+-3.0')
find_program('glib-compile-schemas', required: true)
find_program('gtk-update-icon-cache', required: false)
find_program('update-desktop-database', required: false)
gettext_package = meson.project_name()
localedir = get_option('prefix') / get_option('localedir')
pythondir = get_option('prefix') / python.sysconfig_path('purelib')
datadir = get_option('prefix') / get_option('datadir')
bindir = join_paths(get_option('prefix'), get_option('bindir'))
pkgdatadir = datadir / meson.project_name()
podir = meson.source_root() / 'po'
conf = configuration_data()
conf.set('PACKAGE_URL', 'http://uberwriter.github.io/uberwriter/#1')
conf.set('DATA_DIR', datadir)
conf.set('LOCALE_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
conf.set('PYTHON_DIR', pythondir)
conf.set('VERSION', meson.project_version())
conf.set('PYTHON', python3.path())
subdir('data')
#subdir('help')
subdir('po')
message('Preparing init file')
configure_file(
input: 'uberwriter.in',
output: 'uberwriter',
configuration: conf,
install_dir: bindir
)
meson.add_install_script('build-aux/meson_post_install.py')

View File

@ -0,0 +1,9 @@
option(
'profile',
type: 'combo',
choices: [
'default',
'development'
],
value: 'default'
)

View File

@ -1,21 +1,21 @@
ca/LC_MESSAGES/uberwriter-ca
ca_ES/LC_MESSAGES/uberwriter-ca_ES
cs/LC_MESSAGES/uberwriter-cs
de/LC_MESSAGES/uberwriter-de
en_GB/LC_MESSAGES/uberwriter-en_GB
es/LC_MESSAGES/uberwriter-es
eu/LC_MESSAGES/uberwriter-eu
fr/LC_MESSAGES/uberwriter-fr
hu/LC_MESSAGES/uberwriter-hu
it/LC_MESSAGES/uberwriter-it
pl/LC_MESSAGES/uberwriter-pl
pt/LC_MESSAGES/uberwriter-pt
pt_BR/LC_MESSAGES/uberwriter-pt_BR
ru/LC_MESSAGES/uberwriter-ru
si/LC_MESSAGES/uberwriter-si
sv/LC_MESSAGES/uberwriter-sv
tr/LC_MESSAGES/uberwriter-th
tr/LC_MESSAGES/uberwriter-tr
vi/LC_MESSAGES/uberwriter-vi
zh_CN/LC_MESSAGES/uberwriter-zh_CN
zh_TW/LC_MESSAGES/uberwriter-zh_TW
ca
ca_ES
cs
de
en_GB
es
eu
fr
hu
it
pl
pt
pt_BR
ru
si
sv
th
tr
vi
zh_CN
zh_TW

0
po/POTFILES.in 100644
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

2
po/meson.build 100644
View File

@ -0,0 +1,2 @@
i18n.gettext(gettext_package, preset: 'glib')

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 76 KiB