• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..17-Apr-2021-

config/H17-Apr-2021-4128

modulesets/H17-Apr-2021-2,3882,146

updater/H17-Apr-2021-1,094945

.gitignoreH A D17-Apr-202164 65

READMEH A D17-Apr-20215.3 KiB13297

buildH A D17-Apr-20216.7 KiB337240

README

1This is a guide to building gedit on OS X. This guide assumes that you are
2already familiar with building gtk+ software on OS X (natively) using jhbuild.
3Please make sure to read https://live.gnome.org/GTK%2B/OSX/Building
4before proceeding.
5
6
7Building gedit for OS X
8=============================================================================
9
10Since version 3.14, gedit hosts a self-contained, in-tree guided build
11process using jhbuild. The ./build script in this directory is the main
12entry-point which handles:
13
141) Initializing the build environment (installing jhbuild in-tree)
152) Bootstrapping and building all the necessary dependencies
163) Simple wrapper around common jhbuild tasks (build, make, shell, etc.)
17
18The basic build procedure in a pristine environment is:
19
20    ./build all
21
22This will first initialize the build environment (if necessary), install
23jhbuild if needed, bootstrap jhbuild and then continue to build gedit and
24all its dependencies. Each of these stages can also be invoked manually:
25
26    ./build init
27    ./build bootstrap
28    ./build build
29
30Note that at the moment of writing, ./build bootstrap is not entirely
31equivalent to ./build jh bootstrap. The reason is that there is a problem
32when building python as part of the bootstrap process. As a workaround,
33python is actually built twice during bootstrap.
34
35By default, ./build will build against the 10.7 (Lion) OS X SDK, which
36has to be already installed and available at
37
38$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
39
40Although Xcode 5 does not distribute the 10.7 SDK by default, it can be
41easily obtained from previous Xcode versions. To do so, find the last
42version of Xcode to support a given SDK and download it from apple
43developer downloads [1]. Open the package, and without installing,
44extract the SDK directory and copy it to the right location. For 10.7,
45the latest Xcode version to support it is 4.3.3, which can be downloaded
46at [2] (links subject to change).
47
48It is also possible to build gedit against a different SDK by exporting
49the GEDIT_SDK environment variable (defaults to 10.7). For example:
50
51    export GEDIT_SDK=10.9
52    ./build all
53
54Would build gedit against the 10.9 SDK and install in .build/10.9
55(see Directory structure below).
56
57Note that building gedit for OS X, although made easier by use of this
58./build script, often still requires expertise and manual intervention
59when things go wrong. If this is the case, please feel free to visit the
60#gedit channel on GIMPnet IRC or send an e-mail to the gedit mailing list
61(gedit-list@gnome.org).
62
63
64Directory structure
65=============================================================================
66The general structure is as follows:
67
68 /.build
69   root jhbuild directory. This directory will contain all the sources,
70   checkout directories and install locations during building.
71
72     /$SDK : separated by SDK version
73         /source : checkout directory for all the sources
74         /inst   : install directory for $SDK
75
76     /pkgs : download location for tarballs
77
78 /.home
79   an automatically created fake $HOME directory. This is used to create
80   an artificial separation for jhbuild such that it will not pick up on
81   possible existing .jhbuildrc files. This directory is also used to
82   install jhbuild itself.
83
84 /config
85     /jhbuildrc-gedit : the gedit specific jhbuild environment configuration
86
87 /modulesets
88   the jhbuild modulesets used to build gedit. Note that these are
89   self-contained and are updated each release.
90
91     /patches           : directory with jhbuild patches
92     /bootstrap.modules : the bootstrap modules
93     /gedit.modules     : modules for gedit and all its dependencies
94
95 /updater
96     /gedit-bootstrap-overrides.modules
97       jhbuild moduleset overrides for bootstrap
98
99     /gedit-overrides.modules
100       jhbuild moduleset overrides for gedit
101
102     /update_modulesets.py
103       an application which is used to update and merge jhbuild moduleset
104       files. The use of this application is two-fold:
105
106       1) It merges the override module files with the latest gtk-osx stable
107          modulesets, allowing for clean separation. The overrides files
108          contain only gedit specific changes on top of the gtk-osx stable
109          modulesets to obtain a gedit build. Additionally, it creates a
110          single moduleset file with only modules required for gedit in it and
111          copies any required patches specified in the moduleset to a local
112          directory.
113
114       2) It automatically looks for new versions (stable and unstable) of
115          GNOME libraries and queries whether or not to update modules that
116          have newer versions than those already in the moduleset. This makes
117          it easier to update to next-release versions of all required
118          dependencies.
119
120       The output of running this application is a /modulesets directory
121       which is a self-contained modulesets/patches jhbuild configuration.
122       It can be copied to the parent directory to replace the previous
123       modulesets (which were generated in the same manner).
124
125       Versions queried from GNOME ftp and downloaded patches are cached by
126       default in /.cache. Make sure to remove this directory (or parts of
127       it) to get up-to-date.
128
129
130[1] https://developer.apple.com/downloads
131[2] http://adcdownload.apple.com/Developer_Tools/xcode_4.3.3_for_lion/xcode_4.3.3_for_lion.dmg
132