[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