PageRenderTime 56ms CodeModel.GetById 33ms RepoModel.GetById 0ms app.codeStats 0ms

/8.6/README.md

https://github.com/jcupitt/build-osx
Markdown | 156 lines | 94 code | 62 blank | 0 comment | 0 complexity | d460778d39031bc34ef75e620e6a3d7b MD5 | raw file
  1. # todo
  2. - check how the bundler makes pango.modules, could this help our pangoft2
  3. issues?
  4. bin/gdk-pixbuf-query-loaders > lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
  5. bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules
  6. bin/pango-querymodules > etc/pango/pango.modules
  7. See:
  8. https://github.com/jcupitt/libvips/wiki/Build-for-macOS
  9. # Steps
  10. ## reset download, build and install area
  11. If you had a previous gtk-osx build system you are updating, flush the
  12. whole of the old build area, but keep downloaded tarballs, if possible
  13. mv ~/gtk/source/pkgs .
  14. rm -rf ~/gtk/inst
  15. rm -rf ~/gtk/source/*
  16. mv pkgs ~/gtk/source
  17. Stale files here will cause a range of annoying problems.
  18. If you are using homebrew or macports or fink, make sure those systems
  19. are turned off. For example
  20. cd /usr/local
  21. sudo mkdir x
  22. sudo mv * x
  23. Remove the optional Apple X11 libs as well:
  24. sudo mv /opt/X11 /opt/x
  25. we don't want any configure files picking them up either.
  26. Check your environment too.
  27. ## install gtk-osx
  28. Remove any old .jhbuild files first. Remove ~/.local. Remove ~/Source.
  29. See:
  30. https://wiki.gnome.org/Projects/GTK%2B/OSX/Building
  31. Download and run the latest gtk-osx-build-setup.sh to update your
  32. build system.
  33. Append
  34. setup_release()
  35. to your ~/.jhbuildrc-custom to enable optimisation
  36. ## jhbuild bootstrap
  37. This has to be first, since it builds .xz support for extracting
  38. archives.
  39. ## jhbuild build python
  40. Some of the later modules, for example gobject-introspection, assume
  41. you are using the jhbuild python, you need this.
  42. It installs to ~/gtk/inst and that area is added to the jhbuild shell
  43. for you, so no need to touch your .profile.
  44. Make sure ~/gtk/inst/bin is NOT in your path, you don't want to use
  45. this new python to run jhbuild itself.
  46. ## add pip
  47. Later, gtk-doc needs six to install, so you need to add this module to the
  48. jhbuild python.
  49. jhbuild shell
  50. python -m ensurepip
  51. pip install --user six
  52. or possibly
  53. jhbuild shell
  54. curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
  55. python ~/get-pip.py
  56. pip install --user six
  57. ## jhbuild build meta-gtk-osx-bootstrap
  58. ## jhbuild build meta-gtk-osx-core
  59. This is a good time to take a snapshot.
  60. cp -r ~/gtk ~/gtk-snapshot
  61. Now you won't need to rebuild the universe for a new vips change, or perhaps
  62. a new imagemagick version test.
  63. To enable the vips modules, append:
  64. moduleset = "file:///Users/john/GIT/build-osx/8.6/vips-osx.modules"
  65. adjusted appropriately to `~/.jhbuildrc-custom`.
  66. ## jhbuild build nip2
  67. ## jhbuild run nip2
  68. To test the build.
  69. ## install the bundler:
  70. https://wiki.gnome.org/Projects/GTK%2B/OSX/Bundling
  71. https://github.com/jralls/gtk-mac-bundler
  72. cd GIT
  73. git clone https://github.com/jralls/gtk-mac-bundler.git
  74. cd gtk-mac-bundler
  75. make install
  76. Installs `gtk-mac-bundler` to `~/.local/bin`.
  77. ## build resample.plg
  78. jhbuild shell
  79. cd ~/package/vips/transform-7.30
  80. make clean
  81. make
  82. cp resample.plg ~/gtk/inst/lib
  83. ^D
  84. ## ./package-nip2.sh
  85. ## open ~/Desktop/nip2-x.x.x.app
  86. to test the packaged app.
  87. Try renaming ~/gtk to something else to make sure you're not
  88. accidentally picking up files users may not have. "mv ~/gtk ~/x".
  89. Test application text (menus etc.), rendering in nip2 windows (drag a
  90. region, verify that labels are drawn correctly) and pango ft2 text
  91. (load the businesscard.ws example).
  92. Verify that in-app icons work, eg. the nip2 icon in the background of
  93. the "About" dialog.
  94. Verify that goffice plots work: Hist / New etc.