Clone in a terminal:
Commit 9adddb5
probonopd - 2020-05-05T20:09:21+00:00
9adddb58c7b16ae79f11ba900cd808979c4b8ef7probonopd@users.noreply.github.com

Remove workarounds

Changed files (6)

Diff

diff --git a/.travis.yml b/.travis.ymlindex dcc4eb2..9e2ad94 100644--- a/.travis.yml+++ b/.travis.yml@@ -12,101 +12,19 @@ install: script:   - ./configure --prefix=/usr   - ./build.py-  - sudo ./install.py-  # FIXME: The following should all be done by the install.py script when invoked with INSTALL_ROOT=appdir-  # see https://github.com/probonopd/linuxdeployqt#using-linuxdeployqt-with-travis-ci-  - mkdir -p appdir/usr/bin-  - mkdir -p appdir/usr/lib/x86_64-linux-gnu-  - mkdir -p appdir/usr/man/man1-  - mkdir -p appdir/usr/share/applications-  - mkdir -p appdir/usr/share/birdfont-  - mkdir -p appdir/usr/share/icons/hicolor/128x128/apps-  - mkdir -p appdir/usr/share/icons/hicolor/256x256/apps-  - mkdir -p appdir/usr/share/icons/hicolor/48x48/apps-  - mkdir -p appdir/usr/share/locale/cs/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/de/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/el/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/es/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/fi/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/fr/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/he/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/id/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/it/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/nb/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/nl/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/oc/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/pl/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/pt_BR/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/pt/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/ru/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/sk/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/sr/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/sv/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/tr/LC_MESSAGES-  - mkdir -p appdir/usr/share/locale/uk/LC_MESSAGES-  - mkdir -p appdir/usr/share/metainfo-  - mkdir -p appdir/usr/share/mime/packages-  - cp /usr/share/birdfont/icons.birdfont appdir/usr/share/birdfont/icons.birdfont-  - cp /usr/share/birdfont/bright.theme appdir/usr/share/birdfont/bright.theme-  - cp /usr/share/birdfont/dark.theme appdir/usr/share/birdfont/dark.theme-  - cp /usr/share/birdfont/high_contrast.theme appdir/usr/share/birdfont/high_contrast.theme-  - cp /usr/share/birdfont/key_bindings.xml appdir/usr/share/birdfont/key_bindings.xml-  - cp /usr/share/birdfont/birdfont_window_icon.png appdir/usr/share/birdfont/birdfont_window_icon.png-  - cp /usr/share/applications/birdfont.desktop appdir/usr/share/applications/birdfont.desktop-  - cp /usr/share/birdfont/ucd.sqlite appdir/usr/share/birdfont/ucd.sqlite-  - cp /usr/share/birdfont/codepages.sqlite appdir/usr/share/birdfont/codepages.sqlite-  - cp /usr/share/birdfont/Roboto-Regular.ttf appdir/usr/share/birdfont/Roboto-Regular.ttf-  - cp /usr/share/icons/hicolor/256x256/apps/birdfont.png appdir/usr/share/icons/hicolor/256x256/apps/birdfont.png-  - cp /usr/share/icons/hicolor/128x128/apps/birdfont.png appdir/usr/share/icons/hicolor/128x128/apps/birdfont.png-  - cp /usr/share/icons/hicolor/48x48/apps/birdfont.png appdir/usr/share/icons/hicolor/48x48/apps/birdfont.png-  - cp /usr/share/metainfo/birdfont.appdata.xml appdir/usr/share/metainfo/birdfont.appdata.xml-  - cp /usr/bin/birdfont appdir/usr/bin/birdfont-  - cp /usr/bin/birdfont-autotrace appdir/usr/bin/birdfont-autotrace-  - cp /usr/bin/birdfont-export appdir/usr/bin/birdfont-export-  - cp /usr/bin/birdfont-import appdir/usr/bin/birdfont-import-  - cp /usr/lib/x86_64-linux-gnu/libbirdfont.so.36.0 appdir/usr/lib/x86_64-linux-gnu/libbirdfont.so.36.0-  - cp /usr/man/man1/birdfont.1.gz appdir/usr/man/man1/birdfont.1.gz-  - cp /usr/man/man1/birdfont-autotrace.1.gz appdir/usr/man/man1/birdfont-autotrace.1.gz-  - cp /usr/man/man1/birdfont-export.1.gz appdir/usr/man/man1/birdfont-export.1.gz-  - cp /usr/man/man1/birdfont-import.1.gz appdir/usr/man/man1/birdfont-import.1.gz-  - cp /usr/share/locale/sr/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/sr/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/tr/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/tr/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/it/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/it/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/he/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/he/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/es/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/es/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/oc/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/oc/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/pt/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/pt/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/fi/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/fi/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/uk/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/uk/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/de/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/de/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/el/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/el/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/nb/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/nb/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/id/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/id/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/sv/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/sv/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/ru/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/ru/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/nl/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/nl/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/sk/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/sk/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/pl/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/pl/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/cs/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/cs/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/pt_BR/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/pt_BR/LC_MESSAGES/birdfont.mo-  - cp /usr/share/locale/fr/LC_MESSAGES/birdfont.mo appdir/usr/share/locale/fr/LC_MESSAGES/birdfont.mo-  - cp /usr/share/mime/packages/birdfont.xml appdir/usr/share/mime/packages/birdfont.xml-  # FIXME: Workaround for https://github.com/johanmattssonm/birdfont/issues/97-  - git clone https://github.com/project-portable/libunionpreload.git-  - ( cd libunionpreload ; make )-  - cp libunionpreload/libunionpreload.so appdir/-  - |2-    cat >> appdir/AppRun <<\EOF-    #!/usr/bin/env sh-    export HERE="$(dirname "$(readlink -f "${0}")")"-    export UNION_PRELOAD="${HERE}"-    export LD_PRELOAD="${HERE}/libunionpreload.so"-    exec "${HERE}/usr/bin/birdfont" "$@"-    EOF-    chmod +x appdir/AppRun+  - ./install.py -d appdir   - wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"   - chmod a+x linuxdeployqt-continuous-x86_64.AppImage-  - ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage+  - ./linuxdeployqt-continuous-x86_64.AppImage --appimage-extract 'usr/bin/patchelf'+  - squashfs-root/usr/bin/patchelf --set-rpath '$ORIGIN' appdir/usr/lib/x86_64-linux-gnu/libbirdfont.so.*.*+  - ( cd appdir/usr/lib/ ; ln -s x86_64-linux-gnu/lib* . )+  - find appdir/+  - export LD_LIBRARY_PATH=./appdir/usr/lib:./appdir/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH+  - |2+    ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage \+    -executable=appdir/usr/bin/birdfont-autotrace \+    -executable=appdir/usr/bin/birdfont-export \+    -executable=appdir/usr/bin/birdfont-import    after_success:   - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.shdiff --git a/birdfont/GtkWindow.vala b/birdfont/GtkWindow.valaindex 31437bb..1235ffd 100644--- a/birdfont/GtkWindow.vala+++ b/birdfont/GtkWindow.vala@@ -1,5 +1,5 @@ /*-	Copyright (C) 2012s 2013 2014 Johan Mattsson+	Copyright (C) 2012 2013 2014 Johan Mattsson  	This program is free software: you can redistribute it and/or modify 	it under the terms of the GNU General Public License as published bydiff --git a/dodo.py b/dodo.pyindex 5bc06b7..53511d5 100644--- a/dodo.py+++ b/dodo.py@@ -103,6 +103,7 @@ def make_birdfont(target_binary, deps): 		$({pkg-config} --libs {gee}) \ 		$({pkg-config} --libs gio-2.0) \ 		$({pkg-config} --libs cairo) \+		$({pkg-config} --libs cairo-gobject) \ 		$({pkg-config} --libs glib-2.0) \ 		$({pkg-config} --libs gdk-pixbuf-2.0) \ 		$({pkg-config} --libs webkit2gtk-4.0) \@@ -160,6 +161,7 @@ def make_birdfont_export(target_binary, deps): 		$({pkg-config} --libs {gee}) \ 		$({pkg-config} --libs gio-2.0) \ 		$({pkg-config} --libs cairo) \+		$({pkg-config} --libs cairo-gobject) \ 		$({pkg-config} --libs glib-2.0) \ 		$({pkg-config} --libs xmlbird) \ 		-L./build -L./build/bin -l birdgems \@@ -202,6 +204,7 @@ def make_birdfont_import(target_binary, deps): 		$({pkg-config} --cflags {gee}) \ 		$({pkg-config} --cflags gio-2.0) \ 		$({pkg-config} --cflags cairo) \+		$({pkg-config} --libs cairo-gobject) \ 		$({pkg-config} --cflags glib-2.0) \ 		$({pkg-config} --cflags xmlbird) \         -o OBJECT_FILE""".format(**config.SETTINGS)@@ -214,6 +217,7 @@ def make_birdfont_import(target_binary, deps): 		$({pkg-config} --libs {gee}) \ 		$({pkg-config} --libs gio-2.0) \ 		$({pkg-config} --libs cairo) \+		$({pkg-config} --libs cairo-gobject) \ 		$({pkg-config} --libs glib-2.0) \ 		$({pkg-config} --libs xmlbird) \ 		-L./build -L./build/bin -l birdgems \@@ -269,6 +273,7 @@ def make_birdfont_autotrace(target_binary, deps): 		$({pkg-config} --libs {gee}) \ 		$({pkg-config} --libs gio-2.0) \ 		$({pkg-config} --libs cairo) \+		$({pkg-config} --libs cairo-gobject) \ 		$({pkg-config} --libs glib-2.0) \ 		$({pkg-config} --libs xmlbird) \ 		-L./build -L./build/bin -l birdgems \@@ -335,6 +340,7 @@ def make_libbirdfont(target_binary, deps):             $({pkg-config} --libs gio-2.0) \             $({pkg-config} --libs fontconfig) \             $({pkg-config} --libs cairo) \+            $({pkg-config} --libs cairo-gobject) \             $({pkg-config} --libs glib-2.0) \             $({pkg-config} --libs xmlbird) \             -L./build -L./build/bin -l birdgems \@@ -469,6 +475,7 @@ def make_birdfont_test(target_binary, deps): 		$({pkg-config} --libs {gee}) \ 		$({pkg-config} --libs gio-2.0) \ 		$({pkg-config} --libs cairo) \+		$({pkg-config} --libs cairo-gobject) \ 		$({pkg-config} --libs glib-2.0) \ 		$({pkg-config} --libs xmlbird) \ 		-L./build -L./build/bin -l birdgems \diff --git a/install.py b/install.pyindex 76390c6..487039e 100755--- a/install.py+++ b/install.py@@ -122,12 +122,26 @@ if not options.nocli: 	install ('build/bin/birdfont-export', '/bin', 755) 	install ('build/bin/birdfont-import', '/bin', 755) +def is_debian():+  try:+  	version = platform.version()+  	print("OS Version: " + version)+  	if version.find("Ubuntu") > -1:+  		return True++  	if version.find("Debian") > -1:+  		return True+  		+  except:+    return False+    +  return False+     #library if sys.platform == 'darwin': 	libdir = '/lib' elif not options.libdir:-	-	if platform.dist()[0] == 'Ubuntu' or platform.dist()[0] == 'Debian':+	if is_debian(): 		process = subprocess.Popen(['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], stdout=subprocess.PIPE) 		out, err = process.communicate() 		out = out.decode('ascii')diff --git a/libbirdfont/SearchPaths.vala b/libbirdfont/SearchPaths.valaindex e23deff..dfd0a4f 100644--- a/libbirdfont/SearchPaths.vala+++ b/libbirdfont/SearchPaths.vala@@ -36,63 +36,83 @@ public class SearchPaths { 		string bundle_path = (BirdFont.bundle_path != null) ? (!) BirdFont.bundle_path : "";  		resources = (is_null (resources_folder)) ? "" : resources_folder; ++		string? current_program = GLib.FileUtils.read_link ("/proc/self/exe");		++		if (current_program != null)	{+			string program = (!) current_program;+			int separator = program.last_index_of ("/");+			+			if (separator > -1) {+				string folder = program.substring (0, separator);+				+				f = get_file (folder + "/../" + d + "/", name);+				if (f.query_exists ()) return f;	++				f = get_file (folder + "/../", name);+				if (f.query_exists ()) return f;++				f = get_file (folder + "/../share/birdfont/", name);+				if (f.query_exists ()) return f;	+			}+		} 		 		f = get_file (resources + "/" + d + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (resources + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file ("resources/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 				 		f = get_file (resources + "/", name + "/");-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (BirdFont.exec_path + "/" + d + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 		 		f = get_file (BirdFont.exec_path + "/", name + "/");-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (BirdFont.exec_path + "\\" + d + "\\", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 		 		f = get_file (BirdFont.exec_path + "\\", name + "\\");-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 		 		f = get_file (bundle_path + "/Contents/Resources/birdfont_resources/", d + "/" + name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 		 		f = get_file (bundle_path + "/Contents/Resources/birdfont_resources/", name + "/");-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 		 		f = get_file ("./" + d + "/", name);-		if (likely (f.query_exists ())) return f;		+		if (f.query_exists ()) return f;		  		f = get_file ("../" + d + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f; 		 		f = get_file (".\\" + d + "\\", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file ("", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (d + "\\", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (@"$PREFIX/share/birdfont/" + d + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (@"/usr/local/share/birdfont/" + d + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (@"resources/linux/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		f = get_file (@"/usr/share/birdfont/" + d + "/", name);-		if (likely (f.query_exists ())) return f;+		if (f.query_exists ()) return f;  		return f;		 	}diff --git a/scripts/version.py b/scripts/version.pyindex 1479f2c..f472f85 100644--- a/scripts/version.py+++ b/scripts/version.py@@ -13,7 +13,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. """ -VERSION = '2.28.0'+VERSION = '2.29.0' SO_VERSION_MAJOR = '36' SO_VERSION_MINOR = '0' SO_VERSION = SO_VERSION_MAJOR + '.' + SO_VERSION_MINOR

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112