[geany/geany-osx] 2901cd: Updates describing both GTK 2 and GTK 3 build

Jiří Techet git-noreply at xxxxx
Mon Oct 16 09:53:00 UTC 2017


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Mon, 16 Oct 2017 09:53:00 UTC
Commit:      2901cd4bacd1d0c5d1c490a70bf5be07b241b72e
             https://github.com/geany/geany-osx/commit/2901cd4bacd1d0c5d1c490a70bf5be07b241b72e

Log Message:
-----------
Updates describing both GTK 2 and GTK 3 build


Modified Paths:
--------------
    Greybird/close.png
    Greybird/gtkrc
    Greybird/gtkrc.theme
    README.md
    geany-gtk2.bundle
    geany.modules

Modified: Greybird/close.png
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online


Modified: Greybird/gtkrc
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online


Modified: Greybird/gtkrc.theme
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online


Modified: README.md
163 lines changed, 87 insertions(+), 76 deletions(-)
===================================================================
@@ -15,30 +15,31 @@ Files and Directories
 A brief description of the contents of the project directory:
 
 ### Directories
-*	*Faience*: Faience icon theme combined with Faenza-Cupertino 
+*	*Faience*: Faience GTK 2 icon theme combined with Faenza-Cupertino 
 	icon theme (for better folder icons) and with lots of unneeded icons
 	removed to save space.
+*	*Papirus*: Papirus GTK 3 icon theme with lots of unneeded icons
+	removed to save space.
+*	*Greybird*: Greybird GTK 2 theme which has been modified to look more
+	like Mac OS.
+*	*Arc*: Arc GTK 3 theme with minor text contrast adjustments.
 *	*iconbuilder.iconset*: contains source icons for the Geany.icns
 	file. Not needed for normal build, present just in case the icns file
 	needs to be recreated for some reason.
 *	*patches*: patches fixing VTE under Mac OS and enabling VTE bundling. 
 
 ### Configuration files
 *	*geany.modules*: JHBuild modules file with Geany dependencies.
-*	*geany.bundle*: configuration file describing the contents of the
-	app bundle.
+*	*geany-gtk2.bundle, geany-gtk3.bundle*: configuration files describing
+	the contents of the app bundle.
 *	*Info.plist*: Mac OS application configuration file containing some basic
 	information such as application name, version, etc. but also additional
 	configuration including file types the application can open.
-*	*gtkrc.theme, close.png*: GTK theme based on the Greybird theme and 
-	modified to match the Mac OS theme better.
-*	*gtkrc*: GTK configuration file including the theme file and changing
-	some Geany gtkrc settings.
 *	*Geany.icns*: Mac OS Geany icon file.
 
 ### Scripts
-*	*launcher.sh*: launcher script from the gtk-mac-bundler project setting
-	all the necessary environment variables.
+*	*launcher-gtk2.sh, launcher-gtk3*: launcher script from the
+	gtk-mac-bundler project setting all the necessary environment variables.
 *	*replace_icons.sh*: script replacing the color icons distributed together
 	with Geany with grey icons from the Faience theme.
 *	*plist_filetypes.py*: script generating the file type portion of the
@@ -96,25 +97,26 @@ To create the bundle, you need to first install JHBuild and GTK as described bel
 	setup_sdk(target="10.9", sdk_version="native", architectures=["x86_64"])
 	```
 
-	so the build creates a 64-bit binary that works on OS X 10.7 and later.
+	so the build creates a 64-bit binary that works on OS X 10.9 and later.
 	OS X 10.9 is the first version which uses libc++ by default which is
 	now required by Scintilla and VTE libraries because of C++11 support.
 
 5.	By default, jhbuild compiles without optimization flags. To enable
 	optimization, add `setup_release()` at the end of `~/.jhbuildrc-custom`.
 
-6.	Install GTK 2 and all its dependencies using the following commands:
-
-	```
-	jhbuild bootstrap && jhbuild build python && jhbuild build meta-gtk-osx-bootstrap && jhbuild build meta-gtk-osx-core 
-	```
-
-	Instead of meta-gtk-osx-core (GTK 2) you can also use `meta-gtk-osx-gtk3` to
-	install GTK 3. Note that both GTK 2 and GTK 3 cannot be installed at the 
-	same time. Also note that there seem to be various problems with the Mac OS 
-	support in GTK 3; for this reason I have not spent more time with the GTK 3 
-	backend so there is no GTK3-specific theme or bundling support at this 
-	moment.
+6.	Install GTK and all of its dependencies by running one of the following
+	commands:
+	* **GTK 2**
+		```
+		jhbuild bootstrap && jhbuild build python && jhbuild build meta-gtk-osx-bootstrap && jhbuild build meta-gtk-osx-core 
+		```
+	* **GTK 3**
+		```
+		jhbuild bootstrap && jhbuild build python && jhbuild build meta-gtk-osx-bootstrap && jhbuild build meta-gtk-osx-gtk3 
+		```
+	This is the moment when you have to make a decision whether to build
+	Geany with GTK 2 or GTK 3 - they cannot be installed side by side.
+	At the moment GTK 2 is more stable and recommended for Geany build.
 
 Geany Installation
 ------------------
@@ -124,22 +126,28 @@ Geany Installation
 	export LC_ALL=en_US.UTF-8; export LANG=en_US.UTF-8
 	```
 
-2.	Inside the geany-osx directory run either 
-
-	```
-	jhbuild -m geany.modules build geany-bundle-release-gtk2
-	```
-
-	or
-
-	```
-	jhbuild -m geany.modules build geany-bundle-gtk2
-	```
-
-	to build Geany either from release tarballs or git master.
-
-	There are other useful module installation options - check the geany.modules
-	file for more options.
+2.	To build Geany, plugins and all of their dependencies, run one of 
+	the following commandsinside the `geany-osx` directory  depending on
+	the GTK version used and whether to use Geany sources from the latest
+	release tarball or current git master:
+	* **GTK 2**
+		* **Geany from release tarball**
+			```
+			jhbuild -m geany.modules build geany-bundle-release-gtk2
+			```
+		* **Geany from git master**
+			```
+			jhbuild -m geany.modules build geany-bundle-git-gtk2
+			```
+	* **GTK 3**
+		* **Geany from release tarball**
+			```
+			jhbuild -m geany.modules build geany-bundle-release-gtk3
+			```
+		* **Geany from git master**
+			```
+			jhbuild -m geany.modules build geany-bundle-git-gtk3
+			```
 
 Bundling
 --------
@@ -148,7 +156,6 @@ Bundling
 	```
 	jhbuild shell
 	```
-
 	to start jhbuild shell. 
 
 	*The rest of this section assumes you are running from within the jhbuild shell.*
@@ -157,32 +164,36 @@ Bundling
 
 	<https://github.com/geany/geany-themes>
 
-	and copy the colorschemes directory under `$PREFIX/share/geany`.
-
-3.	Go to the geany-osx directory and copy the Faience icon theme to the 
-	gtk icons directory:
-
-	```
-	cp -r Faience $PREFIX/share/icons
-	```
-
-4.	Replace Geany color icons by grey icons from the Faience theme by calling
-
-	```
-	./replace_icons.sh
-	```
-
-	from within the geany-osx directory.
-
-5.	Create the app bundle by calling
-
-	```
-	gtk-mac-bundler geany-gtk2.bundle
-	```
-
-	from within the geany-osx directory.
-
-6.	Optionally if you have a development account at Apple and want to sign the
+	and copy the `colorschemes` directory under `$PREFIX/share/geany`.
+
+3.	Go to the `geany-osx` directory and copy the icon theme to the GTK
+	icons directory:
+	* **GTK 2**
+		```
+		cp -r Faience $PREFIX/share/icons
+		```
+		and replace some Geany-specific icons by the icons from the theme
+		by running:
+		```
+		./replace_icons.sh
+		```
+	* **GTK 3**
+		```
+		cp -r Papirus $PREFIX/share/icons
+		```
+
+4.	Inside the `geany-osx` directory run the following command to create
+	the app bundle.
+	* **GTK 2**
+		```
+		gtk-mac-bundler geany-gtk2.bundle
+		```
+	* **GTK 3**
+		```
+		gtk-mac-bundler geany-gtk3.bundle
+		```
+
+5.	Optionally if you have a development account at Apple and want to sign the
 	resulting bundle so it can be started without warning dialogs, use
 
 	```
@@ -203,43 +214,43 @@ Bundling
 
 Distribution
 ------------
-1.	Get the create-dmg script from
+1.	Get the `create-dmg` script from
 
 	<https://github.com/andreyvit/create-dmg.git>
 
-	and put it to your $PATH.
+	and put it to your `$PATH`.
 
 2.	Create the dmg installation image by calling
 	
 	```
 	./create_dmg.sh
 	```
 
-	from within the geany-osx directory. If the SIGN_CERTIFICATE variable is
+	from within the `geany-osx` directory. If the `SIGN_CERTIFICATE` variable is
 	defined, the image gets signed by the specified certificate.
 
 Maintenance
 -----------
 This section describes some maintenance-related activities which do not
 have to be performed during normal bundle/installer creation:
 
-*	To get the Info.plist file associations in sync with 
-	filetype_extensions.conf, copy the filetype extension portion from
-	filetype_extensions.conf to the marked place in plist_filetypes.py
+*	To get the `Info.plist` file associations in sync with 
+	`filetype_extensions.conf`, copy the filetype extension portion from
+	`filetype_extensions.conf` to the marked place in `plist_filetypes.py`
 	and run the script. Copy the output of the script to the marked
-	place in Info.plist.
+	place in `Info.plist`.
 
-*	The Geany.icns icon file can be regenerated from the iconbuilder.iconset
+*	The `Geany.icns` icon file can be regenerated from the `iconbuilder.iconset`
 	directory using
 
 	```
 	iconutil -c icns ./iconbuilder.iconset
 	```
 
 *	Before the release update the Geany version and copyright years inside
-	Info.plist and create_dmg.sh. Also update the `-release` targets in
-	geany.modules file to point to the new release. Dependencies inside
-	geany.modules can also be updated to newer versions.
+	`Info.plist` and `create_dmg.sh`. Also update the `-release` targets in
+	`geany.modules` file to point to the new release. Dependencies inside
+	`geany.modules` can also be updated to newer versions.
 
 ---
 


Modified: geany-gtk2.bundle
6 lines changed, 3 insertions(+), 3 deletions(-)
===================================================================
@@ -178,15 +178,15 @@
 
   <!-- Main gtkrc -->
   <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc">
-    ${project}/gtkrc
+    ${project}/Greybird/gtkrc
   </data>
   <!-- The theme -->
   <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc.theme">
-    ${project}/gtkrc.theme
+    ${project}/Greybird/gtkrc.theme
   </data>
   <!-- Custom (better looking) close button -->
   <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/close.png">
-    ${project}/close.png
+    ${project}/Greybird/close.png
   </data>
 
   <!-- Icon themes to copy. The "icons" property can be either of


Modified: geany.modules
45 lines changed, 20 insertions(+), 25 deletions(-)
===================================================================
@@ -76,7 +76,6 @@
          cmakeargs="-DTHREADSAFE:BOOL=1">
     <branch repo="download.github.com" 
             module="libgit2/libgit2/archive/v0.26.0.tar.gz"
-            checkoutdir="libgit2-0.26.0"
             version="0.26.0"/>
   </cmake>
 
@@ -123,8 +122,8 @@
     </dependencies>
   </metamodule>
 
-  <!-- Geany GTK 2 -->
-  <autotools id="geany-gtk2"
+  <!-- Geany GTK 2 from git master -->
+  <autotools id="geany-git-gtk2"
              autogenargs="--enable-mac-integration">
     <branch repo="github.com"
             module="geany/geany.git"    
@@ -134,8 +133,8 @@
     </dependencies>
   </autotools>
 
-  <!-- Geany GTK 3-->
-  <autotools id="geany-gtk3"
+  <!-- Geany GTK 3 from git master -->
+  <autotools id="geany-git-gtk3"
              autogenargs="--enable-mac-integration --enable-gtk3">
     <branch repo="github.com"
             module="geany/geany.git"    
@@ -145,7 +144,7 @@
     </dependencies>
   </autotools>
 
-  <!-- Geany tarball release GTK 2 -->
+  <!-- Geany GTK 2 tarball release -->
   <autotools id="geany-release-gtk2"
              autogenargs="--enable-mac-integration">
     <branch repo="download.geany.org"
@@ -156,7 +155,7 @@
     </dependencies>
   </autotools>
 
-  <!-- Geany tarball release GTK 3 -->
+  <!-- Geany GTK 3 tarball release -->
   <autotools id="geany-release-gtk3"
              autogenargs="--enable-mac-integration --enable-gtk3">
     <branch repo="download.geany.org"
@@ -177,29 +176,29 @@
     </dependencies>
   </metamodule>
 
-  <!-- Geany-plugins GTK 2 -->
-  <autotools id="geany-plugins-gtk2">
+  <!-- Geany-plugins GTK 2 from git master -->
+  <autotools id="geany-plugins-git-gtk2">
     <branch repo="github.com"
             module="geany/geany-plugins.git"
             revision="master" />
     <dependencies>
-      <dep package="geany-gtk2" />
+      <dep package="geany-git-gtk2" />
       <dep package="geany-plugins-deps-gtk2" />
     </dependencies>
   </autotools>
 
-  <!-- Geany-plugins GTK 3 -->
-  <autotools id="geany-plugins-gtk3">
+  <!-- Geany-plugins GTK 3 from git master -->
+  <autotools id="geany-plugins-git-gtk3">
     <branch repo="github.com"
             module="geany/geany-plugins.git"
             revision="master" />
     <dependencies>
-      <dep package="geany-gtk3" />
+      <dep package="geany-git-gtk3" />
       <dep package="geany-plugins-deps-gtk3" />
     </dependencies>
   </autotools>
 
-  <!-- Geany-plugins tarball release GTK 2 -->
+  <!-- Geany-plugins GTK 2 tarball release -->
   <autotools id="geany-plugins-release-gtk2">
     <branch repo="download.geany.org"
             module="geany-plugins/geany-plugins-1.31.tar.bz2" 
@@ -210,7 +209,7 @@
     </dependencies>
   </autotools>
 
-  <!-- Geany-plugins tarball release GTK 3 -->
+  <!-- Geany-plugins GTK 3 tarball release -->
   <autotools id="geany-plugins-release-gtk3">
     <branch repo="download.geany.org"
             module="geany-plugins/geany-plugins-1.31.tar.bz2" 
@@ -221,34 +220,30 @@
     </dependencies>
   </autotools>
 
-  <!-- Build everything necessary for Geany bundle GTK 2 -->
-  <metamodule id="geany-bundle-gtk2">
+  <!-- Build everything necessary for Geany bundle from git on GTK 2 -->
+  <metamodule id="geany-bundle-git-gtk2">
     <dependencies>
-      <dep package="geany-gtk2" />
-      <dep package="geany-plugins-gtk2" />
+      <dep package="geany-plugins-git-gtk2" />
     </dependencies>
   </metamodule>
 
-  <!-- Build everything necessary for Geany bundle GTK 3 -->
-  <metamodule id="geany-bundle-gtk3">
+  <!-- Build everything necessary for Geany bundle from git on GTK 3 -->
+  <metamodule id="geany-bundle-git-gtk3">
     <dependencies>
-      <dep package="geany-gtk3" />
-      <dep package="geany-plugins-gtk3" />
+      <dep package="geany-plugins-git-gtk3" />
     </dependencies>
   </metamodule>
 
   <!-- Build everything necessary for Geany bundle from release tarballs GTK 2 -->
   <metamodule id="geany-bundle-release-gtk2">
     <dependencies>
-      <dep package="geany-release-gtk2" />
       <dep package="geany-plugins-release-gtk2" />
     </dependencies>
   </metamodule>
 
   <!-- Build everything necessary for Geany bundle from release tarballs GTK 3 -->
   <metamodule id="geany-bundle-release-gtk3">
     <dependencies>
-      <dep package="geany-release-gtk3" />
       <dep package="geany-plugins-release-gtk3" />
     </dependencies>
   </metamodule>



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list