[gedit/wip/3.14-osx: 43/69] [osx] Update build README



commit e9a62508a71c55c1a1365f79b13bdf9687c86d79
Author: Jesse van den Kieboom <jessevdk gmail com>
Date:   Mon Aug 25 10:07:44 2014 +0200

    [osx] Update build README

 osx/README       |   83 ++++++--------------------------------
 osx/build/README |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 129 insertions(+), 70 deletions(-)
---
diff --git a/osx/README b/osx/README
index 6c4393e..fa962d7 100644
--- a/osx/README
+++ b/osx/README
@@ -1,81 +1,24 @@
-This is a guide to building gedit on OS X. This guide assumes that you are
-already familiar with building gtk+ software on OS X (natively) using jhbuild.
-Please make sure to read https://live.gnome.org/GTK%2B/OSX/Building
-before proceeding.
+This document briefly describes how to build and package gedit for OS X.
 
-Note: Terminal commands are preceded by dollar signs.
-
-1) Building gedit for OS X
+Building gedit for OS X
 =============================================================================
+Please see build/README for more details on building gedit
 
-Get and install the gtk-osx-build-setup.sh from:
-http://git.gnome.org/browse/gtk-osx/plain/gtk-osx-build-setup.sh
-
-$ curl -O http://git.gnome.org/browse/gtk-osx/plain/gtk-osx-build-setup.sh
-$ sh gtk-osx-build-setup.sh
-
-Some of the newer releases of gnome software are only providing .xz packages.
-To be able to extract the contents of these packages, you will need to install
-xz utils. The easiest way to install is to use a dmg package available on:
-
-http://macpkg.sourceforge.net/
-
-Make sure to include /usr/local/bin in your PATH and alsothat you are not
-conflicting anything from fink/macports. If you are using fink/macports, you
-can add the following to your ~/.bashrc to remove any PATHS related to 
-fink/macports when using jhbuild:
-
-    # Add /usr/local/bin
-    export PATH="$PATH:/usr/local/bin"
-
-    # Remove fink/macports path from PATH and store in local var origpath
-    origpath=$(echo $PATH | sed -E -e 's;:?/opt/local/bin;;' -e 's;:?/opt/local/sbin;;')
-
-    # Alias jhbuild
-    alias jhbuild="PATH=$origpath:$HOME/.local/bin jhbuild"
-
-For gedit we need to modify some configuration for jhbuild. A special
-jhbuildrc is provided in the gedit source (osx/jhbuild/jhbuildrc-gedit). Copy
-this file to your home.
-
-$ curl -o ~/.jhbuildrc-gedit http://git.gnome.org/browse/gedit/plain/osx/jhbuild/jhbuildrc-gedit
-
-gedit provides a custom moduleset for jhbuild that you can use to built gedit. This moduleset is specified 
in jhbuildrc-gedit (together with some other
-configurations for jhbuild specific for gedit).
-
-To use the special gedit jhbuild configuration you will have to set the
-environment variables JHB=gedit and GEDIT_SDK=<sdk>. Where <sdk> is the SDK
-version you want to built for (i.e. 10.4, 10.5, 10.6, etc.).
-
-IMPORTANT: jhbuildrc-gedit will call setup_sdk for the right sdk. However, by
-default setup_sdk is already called from ~/.jhbuildrc-custom. Please make sure
-to comment out the call to setup_sdk in ~/.jhbuildrc-custom!
-
-Finally we are ready to built gedit:
-
-$ JHB=gedit GEDIT_SDK=10.6 jhbuild bootstrap --ignore-system
-$ JHB=gedit GEDIT_SDK=10.6 jhbuild build gedit-meta
-
-Note that it's perfectly possible that something might fail during the built,
-as the OS X (quartz) port of gedit, gtk+, glib etc. is under development.
-Please feel free to drop by on IRC or send an e-mail to the gedit mailing list
-(or gtk-osx-users mailing list) if you are not able to make things work.
-
-Packages will be downloaded in ~/gedit/pkgs. Sources are extracted in ~/gedit/<sdk>/source and installation 
of the binaries is in ~/gedit/<sdk>/inst.
- 
 
-2) Making a gedit bundle
+Making a gedit bundle
 =============================================================================
 
 You can make a gedit bundle (i.e. a gedit.app) with a script provided by
-gedit. Note that you have to execute script from within the jhbuild shell:
+gedit.
 
-$ JHB=gedit GEDIT_SDK=10.6 jhbuild shell
+    ./make bundle
 
-Then, go to the osx directory in the gedit source and execute:
+Note that in order for this to succeed, you will need to have built gedit
+successfully before. If successful, you will now have a gedit.app bundle
+in this directory. Similarly, if you want to build the final dmg image,
+you can use:
 
-$ sh makebundle.sh
+    ./make dmg
 
-If succeeded, you will now have a gedit.app bundle in the osx directory.
-Similarly, if you want to built the final dmg image, you can use the script
-makedmg.sh
+Again, for this to succeed you first need to have successfully built the
+bundle.
diff --git a/osx/build/README b/osx/build/README
new file mode 100644
index 0000000..68a5291
--- /dev/null
+++ b/osx/build/README
@@ -0,0 +1,116 @@
+This is a guide to building gedit on OS X. This guide assumes that you are
+already familiar with building gtk+ software on OS X (natively) using jhbuild.
+Please make sure to read https://live.gnome.org/GTK%2B/OSX/Building
+before proceeding.
+
+
+Building gedit for OS X
+=============================================================================
+
+Since version 3.14, gedit hosts a self-contained, in-tree guided build
+process using jhbuild. The ./build script in this directory is the main
+entry-point which handles:
+
+1) Initializing the build environment (installing jhbuild in-tree)
+2) Bootstrapping and building all the necessary dependencies
+3) Simple wrapper around common jhbuild tasks (build, make, shell, etc.)
+
+The basic build procedure in a pristine environment is:
+
+    ./build all
+
+This will first initialize the build environment (if necessary), install
+jhbuild if needed, bootstrap jhbuild and then continue to build gedit and
+all its dependencies. Each of these stages can also be invoked manually:
+
+    ./build init
+    ./build bootstrap
+    ./build build
+
+By default, ./build will build against the 10.7 (Lion) OS X SDK, which
+has to be already installed and available at
+
+$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
+
+Although Xcode 5 does not distribute the 10.7 SDK by default, it can be
+easily obtained from previous Xcode versions. To do so, find the last
+version of Xcode to support a given SDK and download it from apple
+developer downloads. Open the package, and without installing, extract
+the SDK directory and copy it to the right location.
+
+It is also possible to build gedit against a different SDK by exporting
+the GEDIT_SDK environment variable (defaults to 10.7). For example:
+
+    export GEDIT_SDK=10.9
+    ./build all
+
+Would build gedit against the 10.9 SDK and install in .build/10.9
+(see Directory structure below).
+
+Note that building gedit for OS X, although made easier by use of this
+./build script, often still requires expertise and manual intervention
+when things go wrong. If this is the case, please feel free to visit the
+#gedit channel on GIMPnet IRC or send an e-mail to the gedit mailing list
+(gedit-list gnome org).
+
+
+Directory structure
+=============================================================================
+The general structure is as follows:
+
+ /.build
+   root jhbuild directory. This directory will contain all the sources,
+   checkout directories and install locations during building.
+
+     /$SDK : separated by SDK version
+         /source : checkout directory for all the sources
+         /inst   : install directory for $SDK
+
+     /pkgs : download location for tarballs
+
+ /.home
+   an automatically created fake $HOME directory. This is used to create
+   an artificial separation for jhbuild such that it will not pick up on
+   possible existing .jhbuildrc files. This directory is also used to
+   install jhbuild itself.
+
+ /config
+     /jhbuildrc-gedit : the gedit specific jhbuild environment configuration
+
+ /modulesets
+   the jhbuild modulesets used to build gedit. Note that these are
+   self-contained and are updated each release.
+
+     /patches           : directory with jhbuild patches
+     /bootstrap.modules : the bootstrap modules
+     /gedit.modules     : modules for gedit and all its dependencies
+
+ /updater
+     /gedit-bootstrap-overrides.modules
+       jhbuild moduleset overrides for bootstrap
+
+     /gedit-overrides.modules
+       jhbuild moduleset overrides for gedit
+
+     /update_modulesets.py
+       an application which is used to update and merge jhbuild moduleset
+       files. The use of this application is two-fold:
+
+       1) It merges the override module files with the latest gtk-osx stable
+          modulesets, allowing for clean separation. The overrides files
+          contain only gedit specific changes on top of the gtk-osx stable
+          modulesets to obtain a gedit build. Additionally, it creates a
+          single moduleset file with only modules required for gedit in it and
+          copies any required patches specified in the moduleset to a local
+          directory.
+
+       2) It automatically looks for new versions (stable and unstable) of
+          GNOME libraries and queries whether or not to update modules that
+          have newer versions than those already in the moduleset. This makes
+          it easier to update to next-release versions of all required
+          dependencies.
+
+       The output of running this application is a /modulesets directory
+       which is a self-contained modulesets/patches jhbuild configuration.
+       It can be copied to the parent directory to replace the previous
+       modulesets (which were generated in the same manner).


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]