Skip to content

Commit

Permalink
Logic to bundle gdk pixbuf loaders, for #25
Browse files Browse the repository at this point in the history
  • Loading branch information
onkarshinde committed Sep 6, 2018
1 parent fe73e7c commit f364ebf
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ matrix:
#- otool -L macosdist/GNUSim8085.app/Contents/MacOS/gnusim8085
- strings macosdist/GNUSim8085.app/Contents/MacOS/gnusim8085|sort -u
- otool -L macosdist/GNUSim8085.app/Contents/libs/*.dylib
- otool -L macosdist/GNUSim8085.app/Contents/libs/gdk-pixbuf-2.0/2.10.0/loaders/*.dylib
- rm -rf distdir
- meson distdir
- cd distdir && meson configure && ninja dist && cat meson-dist/*.sha256sum && cd ..
Expand Down
2 changes: 2 additions & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
brew 'meson'
brew 'gdk-pixbuf'
brew 'gtk+3'
brew 'gtksourceview3'
brew 'gettext'
brew 'discount'
brew 'dylibbundler'
brew 'sed'
brew 'adwaita-icon-theme'
13 changes: 13 additions & 0 deletions macos/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ configure_file(input : 'Info.plist.in',
# Use dylibbundler to bundle dynamic libraries and modify their lookup path
meson.add_install_script('dylibbundler','-x',join_paths(prefix, bindir, packagename),'-b','-d',join_paths(prefix, 'Contents','libs'),'-cd')
# Below lines added to work around a problem in dylibbundler
message('brew prefix ' + run_command('brew', '--prefix').stdout().strip())
dyliblist = ['libcairo-gobject.2.dylib', 'libgio-2.0.0.dylib', 'libgmodule-2.0.0.dylib', 'libgobject-2.0.0.dylib', 'libgthread-2.0.0.dylib', 'libgtk-3.0.dylib', 'libpangocairo-1.0.0.dylib', 'libpangoft2-1.0.0.dylib']
message('glib path ' + run_command('pkg-config', 'glib-2.0', '--variable', 'libdir').stdout().strip())
foreach dylib : dyliblist
meson.add_install_script('install_name_tool', '-change', '/usr/local/Cellar/cairo/1.14.12/lib/libcairo.2.dylib', '@executable_path/../libs/libcairo.2.dylib', join_paths(prefix, 'Contents', 'libs', dylib))
meson.add_install_script('install_name_tool', '-change', '/usr/local/Cellar/glib/2.56.1/lib/libglib-2.0.0.dylib', '@executable_path/../libs/libglib-2.0.0.dylib', join_paths(prefix, 'Contents', 'libs', dylib))
Expand All @@ -24,6 +26,17 @@ meson.add_install_script('install_name_tool', '-change', '/usr/local/Cellar/gtk+
meson.add_install_script('install_name_tool', '-change', '/usr/local/Cellar/pango/1.42.1/lib/libpango-1.0.0.dylib', '@executable_path/../libs/libpango-1.0.0.dylib', join_paths(prefix, 'Contents', 'libs', dylib))
endforeach

gdk_pixbuf_prefix = run_command('pkg-config', 'gdk-pixbuf-2.0', '--variable', 'prefix').stdout().strip()
gdk_pixbuf_version = run_command('pkg-config', 'gdk-pixbuf-2.0', '--variable', 'gdk_pixbuf_binary_version').stdout().strip()
gdk_pixbuf_binarydir = run_command('pkg-config', 'gdk-pixbuf-2.0', '--variable', 'gdk_pixbuf_binarydir').stdout().strip()
gdk_pixbuf_moduledir = run_command('pkg-config', 'gdk-pixbuf-2.0', '--variable', 'gdk_pixbuf_moduledir').stdout().strip()
message('gdk_pixbuf_prefix ' + gdk_pixbuf_prefix)
message('gdk_pixbuf_version ' + gdk_pixbuf_version)
message('gdk_pixbuf_binarydir ' + gdk_pixbuf_binarydir)
message('gdk_pixbuf_moduledir ' + gdk_pixbuf_moduledir)
install_subdir(gdk_pixbuf_binarydir, install_dir : join_paths('Contents', 'libs', 'gdk-pixbuf-2.0'))
meson.add_install_script('sed', '-i', '-e', 's|'+ gdk_pixbuf_moduledir + '|loaders|g', join_paths(prefix, 'Contents', 'libs', 'gdk-pixbuf-2.0', gdk_pixbuf_version, 'loaders.cache'))

# Copy necessary glib schemas and compile them
meson.add_install_script('mkdir', '-p', join_paths(prefix, datadir, 'glib-2.0', 'schemas'))
#meson.add_install_script('ls','-R','/usr/local/share/')
Expand Down

0 comments on commit f364ebf

Please sign in to comment.