gnucash-on-osx master: Rewire building and bundling for the new stable series.

John Ralls jralls at code.gnucash.org
Sat Apr 14 20:19:56 EDT 2018


Updated	 via  https://github.com/Gnucash/gnucash-on-osx/commit/60434931 (commit)
	from  https://github.com/Gnucash/gnucash-on-osx/commit/9c1e496f (commit)



commit 60434931c65f65f9c42a1c91e93e83efd8ce1b79
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Apr 14 17:19:12 2018 -0700

    Rewire building and bundling for the new stable series.

diff --git a/gnucash-bundler/Info.plist b/gnucash-bundler/Info-oldstable.plist
similarity index 100%
copy from gnucash-bundler/Info.plist
copy to gnucash-bundler/Info-oldstable.plist
diff --git a/gnucash-bundler/Info-unstable.plist b/gnucash-bundler/Info-unstable.plist
deleted file mode 100644
index d40f86b..0000000
--- a/gnucash-bundler/Info-unstable.plist
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>Gnucash</string>
-	<key>CFBundleGetInfoString</key>
-	<string>Gnucash version 3.0 © 2018 Gnucash Contributors</string>
-	<key>CFBundleIconFile</key>
-	<string>gnucash.icns</string>
-	<key>CFBundleIdentifier</key>
-	<string>org.gnucash.Gnucash</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleLongVersionString</key>
-	<string>3.0 © 2018 Gnucash Contributors</string>
-	<key>CFBundleName</key>
-	<string>Gnucash</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>3.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>3.0</string>
-	<key>CFBundleDocumentTypes</key>
-	<array>
-	  <dict>
-	    <key>CFBundleTypeName</key>
-	    <string>Gnucash Document</string>
-	    <key>CFBundleTypeExtensions</key>
-	    <array>
-	      <string>gnucash</string>
-	    </array>
-	    <key>CFBundleTypeIconFile</key>
-	    <string>gnucash.icns</string>
-	    <key>CFBundleTypeRole</key>
-	    <string>Editor</string>
-	  </dict>
-	  <dict>
-	    <key>CFBundleTypeName</key>
-	    <string>Gnucash Import/Export</string>
-	    <key>CFBundleTypeExtensions</key>
-	    <array>
-	      <string>qif</string>
-	      <string>ofx</string>
-	      <string>txf</string>
-	    </array>
-	    <key>CFBundleTypeIconFile</key>
-	    <string>gnucash.icns</string>
-	    <key>CFBundleTypeRole</key>
-	    <string>Viewer</string>
-	  </dict>
-	</array>
-	<key>CSResourcesFileMapped</key>
-	<true/>
-	<key>LSRequiresCarbon</key>
-	<true/>
-        <key>LSMinimumSystemVersion</key>
-        <string>10.8.0</string>
-	<key>LSApplicationCategoryType</key>
-	<string>public.app-category.finance</string>
-	<key>NSHumanReadableCopyright</key>
-	<string>Copyright 2018 Gnucash Contributors</string>
-	<key>NSHighResolutionCapable</key>
-	<true/>
-</dict>
-</plist>
diff --git a/gnucash-bundler/Info.plist b/gnucash-bundler/Info.plist
index f86757b..d40f86b 100644
--- a/gnucash-bundler/Info.plist
+++ b/gnucash-bundler/Info.plist
@@ -7,7 +7,7 @@
 	<key>CFBundleExecutable</key>
 	<string>Gnucash</string>
 	<key>CFBundleGetInfoString</key>
-	<string>Gnucash version 2.6.21 © 2018 Gnucash Contributors</string>
+	<string>Gnucash version 3.0 © 2018 Gnucash Contributors</string>
 	<key>CFBundleIconFile</key>
 	<string>gnucash.icns</string>
 	<key>CFBundleIdentifier</key>
@@ -15,17 +15,17 @@
 	<key>CFBundleInfoDictionaryVersion</key>
 	<string>6.0</string>
 	<key>CFBundleLongVersionString</key>
-	<string>2.6.21 © 2018 Gnucash Contributors</string>
+	<string>3.0 © 2018 Gnucash Contributors</string>
 	<key>CFBundleName</key>
 	<string>Gnucash</string>
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.6.21</string>
+	<string>3.0</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>2.6.21</string>
+	<string>3.0</string>
 	<key>CFBundleDocumentTypes</key>
 	<array>
 	  <dict>
@@ -58,9 +58,9 @@
 	<key>CSResourcesFileMapped</key>
 	<true/>
 	<key>LSRequiresCarbon</key>
-        <true/>
+	<true/>
         <key>LSMinimumSystemVersion</key>
-        <string>10.5.0</string>
+        <string>10.8.0</string>
 	<key>LSApplicationCategoryType</key>
 	<string>public.app-category.finance</string>
 	<key>NSHumanReadableCopyright</key>
diff --git a/gnucash-bundler/gnucash-unstable.bundle b/gnucash-bundler/gnucash-oldstable.bundle
similarity index 69%
rename from gnucash-bundler/gnucash-unstable.bundle
rename to gnucash-bundler/gnucash-oldstable.bundle
index 5606f35..3c31bb1 100644
--- a/gnucash-bundler/gnucash-unstable.bundle
+++ b/gnucash-bundler/gnucash-oldstable.bundle
@@ -18,7 +18,6 @@
     -->
     <destination overwrite="yes">${env:HOME}</destination>
 
-    <gtk>gtk+-3.0</gtk>
     <image>
       <!-- Not implemented yet (DMG image). -->
     </image>
@@ -26,7 +25,13 @@
     <run-install-name-tool/>
 
 
-    <!-- GnuCash doesn't need a launcher script. -->
+    <!-- Optionally specify a launcher script to use. If the
+         application sets up everything needed itself, like
+         environment variable, linker paths, etc, a launcher script is
+         not needed. If the source path is left out, the default
+         script will be used.
+    -->
+    <launcher-script>${project}/gnucash.launcher</launcher-script>
 
     <!-- Not implemented: Optional runtime, could be python or mono
          for example.
@@ -38,7 +43,7 @@
        this bundle file is located. The application name and bundle
        identifier are taken from the plist file.
   -->
-  <plist>${project}/Info-unstable.plist</plist>
+  <plist>${project}/Info-oldstable.plist</plist>
 
   <main-binary>${prefix}/bin/gnucash</main-binary>
 
@@ -50,15 +55,24 @@
   <binary>
     ${prefix}/lib/gdk-pixbuf-2.0/${pkg:gdk-pixbuf-2.0:gdk_pixbuf_binary_version}/loaders/*.so
   </binary>
+<!-- Copy in the theme engines, -->
+  <binary>
+    ${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/engines/*.so
+  </binary>
 
 <!-- The quartz input-method module, -->
   <binary>
-    ${prefix}/lib/gtk-3.0/${pkg:gtk+-3.0:gtk_binary_version}/immodules/im-quartz.so
+    ${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/immodules/im-quartz.so
   </binary>
 
 <!-- And the print backends -->
   <binary>
-    ${prefix}/lib/gtk-3.0/${pkg:gtk+-3.0:gtk_binary_version}/printbackends/*.so
+    ${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/printbackends/*.so
+  </binary>
+
+  <!-- Seems to get missed by the dependency resolver -->
+  <binary>
+    ${prefix}/lib/libguile-srfi*
   </binary>
 
   <binary loadable="True">
@@ -89,10 +103,15 @@
     ${prefix}/bin/chipcard-tool
   </binary>
 
+  <binary>
+    ${prefix}/lib/goffice
+  </binary>
+
   <binary loadable="True">
     ${prefix}/lib/dbd
   </binary>
 
+
 <!-- Data to copy in, usually Glade/UI files, images, sounds files
        etc. The destination inside the bundle can be specified if the
        files should end up at a different location, by using the
@@ -100,7 +119,7 @@
        "${bundle}", which refers to the bundle root directory.
   -->
   <data>
-    ${prefix}/etc/gnucash
+    ${prefix}/libexec
   </data>
 
   <data>
@@ -108,7 +127,25 @@
   </data>
 
   <data>
-    ${prefix}/etc/fonts
+    ${prefix}/etc/gnucash
+  </data>
+
+  <!-- Yes, this case is covered by the next one, but it raises an
+       error if it's missing. -->
+  <data dest="${bundle}/Contents/Resources/lib/">
+    ${prefix}/lib/libgnc-qof.la
+  </data>
+
+  <data dest="${bundle}/Contents/Resources/lib/">
+    ${prefix}/lib/libgnc-*.la
+  </data>
+
+  <data dest="${bundle}/Contents/Resources/lib/aqbanking/" recurse="True">
+    ${prefix}/lib/aqbanking/*.xml
+  </data>
+
+  <data dest="${bundle}/Contents/Resources/lib/gwenhywfar/" recurse="True">
+    ${prefix}/lib/gwenhywfar/*.xml
   </data>
 
   <data>
@@ -163,10 +200,6 @@
     ${prefix}/share/themes
   </data>
 
-  <data>
-    ${prefix}/share/icons
-  </data>
-
   <data dest="${bundle}/Contents/Resources">
     ${project}/gnucash.icns
   </data>
@@ -207,18 +240,6 @@
     ${prefix}/share/doc/gnucash-docs/ja/gnucash-guide/
   </data>
 
-  <data dest="${bundle}/Contents/Resources/pt.lproj/GnuCash Help/">
-    ${prefix}/share/doc/gnucash-docs/pt/gnucash-help/
-  </data>
-
-  <data dest="${bundle}/Contents/Resources/pt.lproj/GnuCash Guide/">
-    ${prefix}/share/doc/gnucash-docs/pt/gnucash-guide/
-  </data>
-  
-  <data dest="${bundle}/Contents/Resources/ru.lproj/GnuCash Guide/">
-    ${prefix}/share/doc/gnucash-docs/ru/gnucash-guide/
-  </data>
-
   <data>
     ${prefix}/share/doc/gnucash/
   </data>
@@ -227,7 +248,7 @@
     ${prefix}/share/locale
   </translations>
 
-  <translations name="gtk30">
+  <translations name="gtk20">
     ${prefix}/share/locale
   </translations>
 
@@ -239,12 +260,24 @@
     ${prefix}/share/locale
   </translations>
 
-  <icon-theme icons="auto">
-    Adwaita
-  </icon-theme>
-  <!-- Default settings file to set the theme. -->
-  <data dest="${bundle}/Contents/Resources/etc/gtk-3.0/settings.ini">
-    ${project}/settings.ini
+<!-- This takes the Quartz theme instructions from the package and puts them in the bundle gtkrc file. You may want to cusomize the source path if you want a different theme, or if you want other stuff in your gtkrc.
+
+  <data dest='${bundle}/Contents/Resources/etc/gtk-2.0/gtkrc'>
+    ${prefix}/share/themes/Quartz/gtk-2.0/gtkrc
   </data>
+-->
+
+  <!-- Icon themes to copy. The "icons" property can be either of
+       "auto", "all", or "none". All or none should be
+       self-explanatory, while auto means that the script will try to
+       figure out which icons are needed. This is done by getting all
+       the strings from all copied binaries, and matching them against
+       icon names. To be safe, you should use "all". "none" is useful
+       if you want just the index.theme file but no icons, mostly
+       needed for the "hicolor" base theme.
+  -->
+  <!-- icon-theme icons="auto"/>
+    Tango
+  </icon-theme -->
 
 </app-bundle>
diff --git a/gnucash-bundler/gnucash.bundle b/gnucash-bundler/gnucash.bundle
index 64a2e5c..017871d 100644
--- a/gnucash-bundler/gnucash.bundle
+++ b/gnucash-bundler/gnucash.bundle
@@ -18,6 +18,7 @@
     -->
     <destination overwrite="yes">${env:HOME}</destination>
 
+    <gtk>gtk+-3.0</gtk>
     <image>
       <!-- Not implemented yet (DMG image). -->
     </image>
@@ -25,13 +26,7 @@
     <run-install-name-tool/>
 
 
-    <!-- Optionally specify a launcher script to use. If the
-         application sets up everything needed itself, like
-         environment variable, linker paths, etc, a launcher script is
-         not needed. If the source path is left out, the default
-         script will be used.
-    -->
-    <launcher-script>${project}/gnucash.launcher</launcher-script>
+    <!-- GnuCash doesn't need a launcher script. -->
 
     <!-- Not implemented: Optional runtime, could be python or mono
          for example.
@@ -55,24 +50,15 @@
   <binary>
     ${prefix}/lib/gdk-pixbuf-2.0/${pkg:gdk-pixbuf-2.0:gdk_pixbuf_binary_version}/loaders/*.so
   </binary>
-<!-- Copy in the theme engines, -->
-  <binary>
-    ${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/engines/*.so
-  </binary>
 
 <!-- The quartz input-method module, -->
   <binary>
-    ${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/immodules/im-quartz.so
+    ${prefix}/lib/gtk-3.0/${pkg:gtk+-3.0:gtk_binary_version}/immodules/im-quartz.so
   </binary>
 
 <!-- And the print backends -->
   <binary>
-    ${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/printbackends/*.so
-  </binary>
-
-  <!-- Seems to get missed by the dependency resolver -->
-  <binary>
-    ${prefix}/lib/libguile-srfi*
+    ${prefix}/lib/gtk-3.0/${pkg:gtk+-3.0:gtk_binary_version}/printbackends/*.so
   </binary>
 
   <binary loadable="True">
@@ -103,15 +89,10 @@
     ${prefix}/bin/chipcard-tool
   </binary>
 
-  <binary>
-    ${prefix}/lib/goffice
-  </binary>
-
   <binary loadable="True">
     ${prefix}/lib/dbd
   </binary>
 
-
 <!-- Data to copy in, usually Glade/UI files, images, sounds files
        etc. The destination inside the bundle can be specified if the
        files should end up at a different location, by using the
@@ -119,7 +100,7 @@
        "${bundle}", which refers to the bundle root directory.
   -->
   <data>
-    ${prefix}/libexec
+    ${prefix}/etc/gnucash
   </data>
 
   <data>
@@ -127,25 +108,7 @@
   </data>
 
   <data>
-    ${prefix}/etc/gnucash
-  </data>
-
-  <!-- Yes, this case is covered by the next one, but it raises an
-       error if it's missing. -->
-  <data dest="${bundle}/Contents/Resources/lib/">
-    ${prefix}/lib/libgnc-qof.la
-  </data>
-
-  <data dest="${bundle}/Contents/Resources/lib/">
-    ${prefix}/lib/libgnc-*.la
-  </data>
-
-  <data dest="${bundle}/Contents/Resources/lib/aqbanking/" recurse="True">
-    ${prefix}/lib/aqbanking/*.xml
-  </data>
-
-  <data dest="${bundle}/Contents/Resources/lib/gwenhywfar/" recurse="True">
-    ${prefix}/lib/gwenhywfar/*.xml
+    ${prefix}/etc/fonts
   </data>
 
   <data>
@@ -200,6 +163,10 @@
     ${prefix}/share/themes
   </data>
 
+  <data>
+    ${prefix}/share/icons
+  </data>
+
   <data dest="${bundle}/Contents/Resources">
     ${project}/gnucash.icns
   </data>
@@ -240,6 +207,18 @@
     ${prefix}/share/doc/gnucash-docs/ja/gnucash-guide/
   </data>
 
+  <data dest="${bundle}/Contents/Resources/pt.lproj/GnuCash Help/">
+    ${prefix}/share/doc/gnucash-docs/pt/gnucash-help/
+  </data>
+
+  <data dest="${bundle}/Contents/Resources/pt.lproj/GnuCash Guide/">
+    ${prefix}/share/doc/gnucash-docs/pt/gnucash-guide/
+  </data>
+  
+  <data dest="${bundle}/Contents/Resources/ru.lproj/GnuCash Guide/">
+    ${prefix}/share/doc/gnucash-docs/ru/gnucash-guide/
+  </data>
+
   <data>
     ${prefix}/share/doc/gnucash/
   </data>
@@ -248,7 +227,7 @@
     ${prefix}/share/locale
   </translations>
 
-  <translations name="gtk20">
+  <translations name="gtk30">
     ${prefix}/share/locale
   </translations>
 
@@ -260,24 +239,12 @@
     ${prefix}/share/locale
   </translations>
 
-<!-- This takes the Quartz theme instructions from the package and puts them in the bundle gtkrc file. You may want to cusomize the source path if you want a different theme, or if you want other stuff in your gtkrc.
-
-  <data dest='${bundle}/Contents/Resources/etc/gtk-2.0/gtkrc'>
-    ${prefix}/share/themes/Quartz/gtk-2.0/gtkrc
+  <icon-theme icons="auto">
+    Adwaita
+  </icon-theme>
+  <!-- Default settings file to set the theme. -->
+  <data dest="${bundle}/Contents/Resources/etc/gtk-3.0/settings.ini">
+    ${project}/settings.ini
   </data>
--->
-
-  <!-- Icon themes to copy. The "icons" property can be either of
-       "auto", "all", or "none". All or none should be
-       self-explanatory, while auto means that the script will try to
-       figure out which icons are needed. This is done by getting all
-       the strings from all copied binaries, and matching them against
-       icon names. To be safe, you should use "all". "none" is useful
-       if you want just the index.theme file but no icons, mostly
-       needed for the "hicolor" base theme.
-  -->
-  <!-- icon-theme icons="auto"/>
-    Tango
-  </icon-theme -->
 
 </app-bundle>
diff --git a/modulesets/gnucash.modules b/modulesets/gnucash.modules
index d7d9a10..6c82ef5 100644
--- a/modulesets/gnucash.modules
+++ b/modulesets/gnucash.modules
@@ -233,7 +233,7 @@ for i in `ls $PREFIX/lib/libboost*.dylib`; do for j in `ls $PREFIX/lib/libboost*
     <branch module="google/googletest" repo="github" tag="release-1.8.0"/>
   </cmake>
 
-  <autotools id="gnucash"
+  <autotools id="gnucash-oldstable"
 	     autogen-sh="configure"
 	     autogenargs="--enable-ofx --enable-aqbanking --enable-binreloc --enable-dbi --with-dbi-dbd-dir=$PREFIX/lib/dbd --with-html-engine='webkit'">
     <branch module="gnucash/stable/gnucash-2.6.21.tar.bz2" version="2.6.21"
@@ -258,7 +258,7 @@ for i in `ls $PREFIX/lib/libboost*.dylib`; do for j in `ls $PREFIX/lib/libboost*
   </autotools>
 
 
-<cmake id="gnucash-unstable"
+<cmake id="gnucash"
         cmakeargs="-DGTEST_ROOT=${JHBUILD_SOURCE}/googletest/googletest -DGMOCK_ROOT=${JHBUILD_SOURCE}/googletest/googlemock">
    <branch repo="sourceforge" module="gnucash/unstable/gnucash-3.0.tar.bz2"
            version="3.0" />
@@ -311,14 +311,14 @@ for i in `ls $PREFIX/lib/libboost*.dylib`; do for j in `ls $PREFIX/lib/libboost*
     </dependencies>
   </autotools>
 
-  <autotools id="gnucash-docs" autogenargs="--disable-scrollkeeper"
+  <autotools id="gnucash-olddocs" autogenargs="--disable-scrollkeeper"
 	    autogen-template="%(srcdir)s/%(autogen-sh)s && %(srcdir)s/configure --prefix %(prefix)s %(autogenargs)s"
 	    makeargs=" html" makeinstallargs="install-html" >
     <branch  module="gnucash/gnucash-docs/gnucash-docs-2.6.20.tar.gz"
 	     version="2.6.20" repo="sourceforge"/>
   </autotools>
 
-  <autotools id="gnucash-docs-unstable" autogenargs="--disable-scrollkeeper"
+  <autotools id="gnucash-docs" autogenargs="--disable-scrollkeeper"
 	    autogen-template="%(srcdir)s/%(autogen-sh)s && %(srcdir)s/configure --prefix %(prefix)s %(autogenargs)s"
 	    makeargs=" html" makeinstallargs="install-html" >
     <branch  module="gnucash/gnucash-docs/gnucash-docs-3.0.tar.gz"
@@ -333,11 +333,4 @@ for i in `ls $PREFIX/lib/libboost*.dylib`; do for j in `ls $PREFIX/lib/libboost*
     </dependencies>
   </autotools>
 
-  <metamodule id="meta-gnucash-stable">
-    <dependencies>
-      <dep package="gnucash"/>
-      <dep package="meta-gtk-osx-webkit"/>
-    </dependencies>
-  </metamodule>
-
 </moduleset>



Summary of changes:
 .../{Info.plist => Info-oldstable.plist}           |  0
 gnucash-bundler/Info-unstable.plist                | 71 -----------------
 gnucash-bundler/Info.plist                         | 12 +--
 ...sh-unstable.bundle => gnucash-oldstable.bundle} | 93 +++++++++++++++-------
 gnucash-bundler/gnucash.bundle                     | 91 +++++++--------------
 modulesets/gnucash.modules                         | 15 +---
 6 files changed, 102 insertions(+), 180 deletions(-)
 copy gnucash-bundler/{Info.plist => Info-oldstable.plist} (100%)
 delete mode 100644 gnucash-bundler/Info-unstable.plist
 rename gnucash-bundler/{gnucash-unstable.bundle => gnucash-oldstable.bundle} (69%)



More information about the gnucash-changes mailing list