Add MacOSX build modules, bundle description, and ancilary files needed
to build and bundle Gramps with Gtk-OSX and ige-mac-bundler. svn: r16318
This commit is contained in:
parent
4daf72f8d8
commit
a5ab94721f
30
mac/Info.plist
Executable file
30
mac/Info.plist
Executable file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//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>Gramps</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>3.2.5, (C) 1997-2010 The Gramps Team http://www.gramps-project.org</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>gramps.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.gramps-project.gramps</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.2.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>3.2.5</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 1997 - 2010 The Gramps Team, GNU General Public License.</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.5</string>
|
||||
</dict>
|
||||
</plist>
|
7
mac/gramps
Normal file
7
mac/gramps
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
import sys
|
||||
import os.path
|
||||
#Modified from the version shipped with pygtk, to point at where the pygtk-demo modules are in the bundle.
|
||||
pygtklibdir = os.path.join(os.environ["GTK_EXE_PREFIX"], "lib", "pygtk", "2.0")
|
||||
sys.path.insert(0, pygtklibdir)
|
||||
execfile(os.path.join("GTK_DATA_PREFIX", "share", "gramps", "gramps.py"))
|
200
mac/gramps.accel
Normal file
200
mac/gramps.accel
Normal file
@ -0,0 +1,200 @@
|
||||
; gramps.py GtkAccelMap rc-file -*- scheme -*-
|
||||
; this file is an automated accelerator map dump
|
||||
;
|
||||
(gtk_accel_path "<Actions>/People Tree View/PersonAll/Edit" "<Meta>Return")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/PluginStatus" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/place_report" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/ViewMenu" "")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Forward/Forward" "<Mod5>Right")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/birthday_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/marker_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Graphs" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/FAQ" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/mediaman" "")
|
||||
(gtk_accel_path "<Actions>/Families/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Events/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/det_descendant_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/statistics_chart" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonAll/FilterEdit" "")
|
||||
(gtk_accel_path "<Actions>/Events/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/rebuild_refmap" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Database-Processing" "")
|
||||
(gtk_accel_path "<Actions>/Events/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/People Tree View/PersonEdit/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Notes/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Undo/Undo" "<Meta>z")
|
||||
(gtk_accel_path "<Actions>/MainWindow/Import" "<Meta>i")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Filter" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/summary" "")
|
||||
(gtk_accel_path "<Actions>/Media/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/HelpMenu" "")
|
||||
(gtk_accel_path "<Actions>/Place View/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Repositories/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/book" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/FileMenu" "")
|
||||
(gtk_accel_path "<Actions>/Person View/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/records" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/ancestor_report" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/chname" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonEdit/FastMerge" "")
|
||||
(gtk_accel_path "<Actions>/Relationships/Forward/Forward" "<Mod5>Right")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonEdit/ExportTab" "")
|
||||
(gtk_accel_path "<Actions>/Notes/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/editowner" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/hourglass_graph" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Media/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>Delete" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Toolbar" "")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/number_of_ancestors_report" "")
|
||||
(gtk_accel_path "<Actions>/Families/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Person View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Relationships/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/familylines_graph" "")
|
||||
(gtk_accel_path "<Actions>/Person View/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Place View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Sources/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Person View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/relcalc" "")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/Export" "<Meta>e")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Relationships/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/reorder_ids" "")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/RecentFiles/RecentMenu0" "")
|
||||
(gtk_accel_path "<Actions>/Person View/PersonAll/Edit" "<Meta>Return")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/MailingLists" "")
|
||||
(gtk_accel_path "<Actions>/Place View/Forward/Forward" "<Mod5>Right")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/kinship_report" "")
|
||||
; (gtk_accel_path "<Actions>/MainWindow/BookMenu" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/evname" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Analysis-and-Exploration" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/indiv_complete" "")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F12" "F12")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F11" "F11")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/sortevents" "")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/Media/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/Fan Chart/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonEdit/CmpMerge" "")
|
||||
; (gtk_accel_path "<Actions>/MainWindow/ToolsMenu" "")
|
||||
(gtk_accel_path "<Actions>/Events/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Families/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Place View/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/descend_chart" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/dupfind" "")
|
||||
; (gtk_accel_path "<Actions>/MainWindow/EditMenu" "")
|
||||
(gtk_accel_path "<Actions>/UndoHistory/UndoHistory" "<Meta>h")
|
||||
(gtk_accel_path "<Actions>/Sources/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/ReportBug" "")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>Insert" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Notes/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/People Tree View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Sidebar" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonAll/Dummy" "")
|
||||
(gtk_accel_path "<Actions>/Redo/Redo" "<Shift><Meta>z")
|
||||
(gtk_accel_path "<Actions>/Person View/PersonEdit/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/family_group" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/excity" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Repositories/Forward/Forward" "<Mod5>Right")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/UserManual" "F1")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/OpenRecent" "")
|
||||
(gtk_accel_path "<Actions>/Families/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Forward/Forward" "<Mod5>Right")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/rel_graph" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Web-Pages" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/WebCal" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Text-Reports" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonAll/QuickReport" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/HomePage" "")
|
||||
(gtk_accel_path "<Actions>/Relationships/Family/Edit" "<Meta>Return")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/patchnames" "")
|
||||
(gtk_accel_path "<Actions>/Relationships/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/det_ancestor_report" "")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>BackSpace" "<Meta>BackSpace")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Utilities" "")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/WindowsMenu" "")
|
||||
(gtk_accel_path "<Actions>/Families/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F9" "F9")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F8" "F8")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F7" "F7")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F6" "F6")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F5" "F5")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F4" "F4")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F3" "F3")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F2" "F2")
|
||||
(gtk_accel_path "<Actions>/Notes/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Sources/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Books" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/About" "")
|
||||
(gtk_accel_path "<Actions>/Notes/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/endofline_report" "")
|
||||
(gtk_accel_path "<Actions>/People Tree View/PersonEdit/Add" "<Mod5><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/dbrowse" "")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/soundgen" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/ExtraPlugins" "")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/ReportsMenu" "")
|
||||
(gtk_accel_path "<Actions>/categoryviews/personlistview_0" "<Meta>1")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/descend_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/fan_chart" "")
|
||||
(gtk_accel_path "<Actions>/MainWindow/ScratchPad" "<Meta>b")
|
||||
(gtk_accel_path "<Actions>/Person View/Edit" "<Meta>Return")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/rebuild" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/eventcmp" "")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/GoMenu" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/timeline" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Database-Repair" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Graphical-Reports" "")
|
||||
(gtk_accel_path "<Actions>/Person View/HomePerson" "<Mod5>Home")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/ancestor_chart" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/check" "")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Forward/Forward" "<Mod5>Right")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/chtype" "")
|
||||
(gtk_accel_path "<Actions>/Notes/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/calendar" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Fullscreen" "F11")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/navwebpage" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Families/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/verify" "")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Sources/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/not_related" "")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/TipOfDay" "")
|
||||
(gtk_accel_path "<Actions>/Media/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/FileWindow/Quit" "<Meta>q")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/FileWindow/Open" "<Meta>o")
|
||||
(gtk_accel_path "<Actions>/Place View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Media/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/MainWindow/ConfigView" "<Shift><Meta>c")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/KeyBindings" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Events/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/People Tree View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>P" "<Meta>p")
|
||||
(gtk_accel_path "<Actions>/Person View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>N" "<Meta>n")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/Abandon" "")
|
||||
(gtk_accel_path "<Actions>/Events/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>J" "<Meta>j")
|
||||
(gtk_accel_path "<Actions>/Media/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/remove_unused" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonOther/SetActive" "")
|
||||
(gtk_accel_path "<Actions>/categoryviews/personview_1" "<Meta>2")
|
||||
(gtk_accel_path "<Actions>/Sources/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Place View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Person View/PersonEdit/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Sources/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Person View/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Preferences" "")
|
157
mac/gramps.bundle
Normal file
157
mac/gramps.bundle
Normal file
@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<app-bundle>
|
||||
|
||||
<meta>
|
||||
<prefix name="default">${env:JHBUILD_PREFIX}</prefix>
|
||||
<destination overwrite="yes">${env:HOME}/Desktop</destination>
|
||||
<run-install-name-tool/>
|
||||
<launcher-script>${project}/launcher.sh</launcher-script >
|
||||
</meta>
|
||||
|
||||
<plist>${project}/Info.plist</plist>
|
||||
<!-- We have to have this, but the result is ignored. -->
|
||||
<main-binary>
|
||||
${prefix}/bin/gramps
|
||||
</main-binary>
|
||||
|
||||
<!-- We need to pack our own Python to avoid compatibility problems. -->
|
||||
<binary dest="${bundle}/Contents/MacOS">
|
||||
${prefix}/bin/python
|
||||
</binary>
|
||||
|
||||
<!-- Copy in GTK+ modules. Note the use of the
|
||||
"${pkg:module:variable}" macro, which evaluates to a pkg-config
|
||||
variable in the specified module. Note that any libraries that
|
||||
binaries link to are also copied in automatically.
|
||||
-->
|
||||
<binary>
|
||||
${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/loaders/*.so
|
||||
</binary>
|
||||
<!-- Copy in libpyglib, which will pull in other dependencies we need -->
|
||||
<binary>
|
||||
${prefix}/lib/libpyglib-2.0-python.0.dylib
|
||||
</binary>
|
||||
|
||||
<binary recurse="True">
|
||||
${prefix}/lib/python2.6/*.so
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/librsvg-2.2.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libwebkit-1.0.2.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libgoocanvas.3.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libigemacintegration.0.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libart_lgpl_2.2.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libdb-4.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libenchant.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libgettextpo.0.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libproxy.0.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/enchant
|
||||
</binary>
|
||||
|
||||
<!-- Translation filenames, one for each program or library that you
|
||||
want to copy in to the bundle. The "dest" attribute is
|
||||
optional, as usual. Bundler will find all translations of that
|
||||
library/program under the indicated directory and copy them.-->
|
||||
<translations name="gtk20">
|
||||
${prefix}/share/locale
|
||||
</translations>
|
||||
|
||||
<translations name="gramps">
|
||||
${prefix}/share/locale
|
||||
</translations>
|
||||
|
||||
|
||||
<!-- We have to pull in the python modules, which are mixed python
|
||||
and loadable modules. -->
|
||||
<data recurse="True">
|
||||
${prefix}/lib/python2.6/*.py
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/share/gramps/
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/share/webkit-1.0/
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/share/enchant/
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/share/mime/
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/share/mime-info/
|
||||
</data>
|
||||
|
||||
<!-- Copy in the themes data. You may want to trim this to save space
|
||||
in your bundle. -->
|
||||
<data>
|
||||
${prefix}/share/themes
|
||||
</data>
|
||||
|
||||
<!-- Copy icons. Note that the .icns file is an Apple format which
|
||||
contains up to 4 sizes of icon. You can use
|
||||
/Developer/Applications/Utilities/Icon Composer.app to import
|
||||
artwork and create the file.-->
|
||||
<data dest="${bundle}/Contents/Resources">
|
||||
${project}/gramps.icns
|
||||
</data>
|
||||
|
||||
<!-- This is where theme commands go. You can copy them in from your
|
||||
theme of choice if they provide and example, or you can just
|
||||
change the source path. -->
|
||||
|
||||
<data dest="${bundle}/Contents/Resources/etc/gtk-2.0/gtkrc">
|
||||
${project}/gtkrc
|
||||
</data>
|
||||
|
||||
<data dest="${bundle}/Contents/Resources/share/gramps/data/accel.gramps">
|
||||
${project}/gramps.accel
|
||||
</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>
|
BIN
mac/gramps.icns
Normal file
BIN
mac/gramps.icns
Normal file
Binary file not shown.
162
mac/gramps.modules
Normal file
162
mac/gramps.modules
Normal file
@ -0,0 +1,162 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
|
||||
<moduleset>
|
||||
|
||||
<repository type="tarball" name="sourceforge"
|
||||
href="http://downloads.sourceforge.net/sourceforge/"/>
|
||||
<repository type="tarball" name="pywebkitgtk"
|
||||
href="http://pywebkitgtk.googlecode.com/files/"/>
|
||||
<repository type="tarball" name="ftp.gnome.org"
|
||||
href="http://ftp.gnome.org/pub/GNOME/sources/"/>
|
||||
<repository type="tarball" name="pyxdg"
|
||||
href="http://www.gnome.org/~fpeters/pyxdg/"/>
|
||||
<repository type="tarball" name="xdg-utils"
|
||||
href="http://portland.freedesktop.org/download/"/>
|
||||
<repository type="svn" name="gramps"
|
||||
href="https://gramps.svn.sourceforge.net/svnroot/"/>
|
||||
<repository type="svn" name="gramps-addons"
|
||||
href="https://gramps-addons.svn.sourceforge.net/svnroot/gramps-addons/"/>
|
||||
<repository type="tarball" name="oracle"
|
||||
href="http://download.oracle.com/"/>
|
||||
<repository type="tarball" name="pymodules"
|
||||
href="http://pypi.python.org/packages/source/"/>
|
||||
|
||||
<!--
|
||||
Special instructions:
|
||||
Gramps uses BerkeleyDB (BDB) via Python. BDB is normally included in Linux systems, but Apple prefers other mechanisms for data storage, so it isn't included on Macs.
|
||||
jhbuild bootstrap && jhbuild &double-hyphen;moduleset=http://github.com/jralls/gtk-osx-build/raw/master/projects/gramps/gramps.modules build meta-gtk-osx-bootstrap gramps
|
||||
|
||||
If you're going to bundle GRAMPS, you'll need to add
|
||||
_gtk_osx_use_jhbuild_python = True
|
||||
|
||||
to your .jhbuildrc-custom and pass the &double-hyphen;ignore-system argument to jhbuild bootstrap. (That &double-hyphen; entity is fake because double-hyphens aren't allowed in xml comments. Just substitute a real double-hyphen when you type it on the command line.)
|
||||
|
||||
Open a jhbuild shell.
|
||||
|
||||
For reasons known only to themselves, the Python project have set up their makefiles to create libpython without write privs, so you need to
|
||||
|
||||
chmod +w $PREFIX/lib/libpython2.6.dylib
|
||||
|
||||
before running
|
||||
|
||||
ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
|
||||
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<include href="http://github.com/jralls/gtk-osx-build/raw/master/modulesets-stable/gtk-osx.modules"/>
|
||||
|
||||
|
||||
<autotools id="gramps" autogen-sh="configure">
|
||||
<branch module="gramps/gramps-3.2.5.tar.gz" version="3.2.5"
|
||||
repo="sourceforge">
|
||||
<patch file="http://github.com/jralls/gtk-osx-build/raw/master/patches/gramps.patch" strip="0"/>
|
||||
<patch file="http://github.com/jralls/gtk-osx-build/raw/master/patches/gramps-macui.patch" strip="1"/>
|
||||
<patch file="http://github.com/jralls/gtk-osx-build/raw/master/patches/gramps-accelmap.patch" strip="1"/>
|
||||
<patch file="http://github.com/jralls/gtk-osx-build/raw/master/patches/gramps-pedigree.patch" strip="1"/>
|
||||
</branch>
|
||||
<dependencies>
|
||||
<dep package="meta-gtk-osx-python"/>
|
||||
<dep package="pyWebKitGtk"/>
|
||||
<dep package="librsvg2"/>
|
||||
<dep package="pygoocanvas"/>
|
||||
<dep package="shared-mime-info"/>
|
||||
<dep package="pyenchant"/>
|
||||
<dep package="pygtk-extras"/>
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<autotools id="gramps-svn" >
|
||||
<branch module="gramps" repo="gramps"/>
|
||||
<dependencies>
|
||||
<dep package="meta-gtk-osx-python"/>
|
||||
<dep package="pyWebKitGtk"/>
|
||||
<dep package="librsvg2"/>
|
||||
<dep package="pygoocanvas"/>
|
||||
<dep package="shared-mime-info"/>
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<distutils id="gramps-addons">
|
||||
<branch module="branches/gramps32/contrib"
|
||||
repo="gramps-addons"/>
|
||||
<dependencies>
|
||||
<dep package="gramps"/>
|
||||
</dependencies>
|
||||
</distutils>
|
||||
|
||||
<distutils id="gramps-addons-svn">
|
||||
<branch module="gramps-addons/trunk/contrib"
|
||||
repo="gramps-addons"/>
|
||||
<dependencies>
|
||||
<dep package="gramps-svn"/>
|
||||
</dependencies>
|
||||
</distutils>
|
||||
|
||||
<autotools id="pyWebKitGtk" >
|
||||
<branch module="pywebkitgtk-1.1.7.tar.bz2" version="1.1.7"
|
||||
repo="pywebkitgtk"/>
|
||||
<dependencies>
|
||||
<dep package="WebKit"/>
|
||||
<dep package="sqlite"/>
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<!-- Later versions of librsvg2 require libxml2-2.7, available only in
|
||||
Snow Leopard -->
|
||||
<autotools id="librsvg2" >
|
||||
<branch module="librsvg/2.22/librsvg-2.22.3.tar.bz2" version="2.22.3"
|
||||
repo="ftp.gnome.org"/>
|
||||
<dependencies>
|
||||
<dep package="libxml2"/>
|
||||
<dep package="libgsf"/>
|
||||
<dep package="libart_lgpl"/><!-- goffice.modules -->
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<autotools id="goocanvas">
|
||||
<branch module="goocanvas/0.15/goocanvas-0.15.tar.bz2" version="0.15"
|
||||
repo="ftp.gnome.org"/>
|
||||
<dependencies>
|
||||
¡ <dep package="gtk+"/>
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<autotools id="pygoocanvas" version="0.14.1">
|
||||
<branch module="pygoocanvas/0.14/pygoocanvas-0.14.1.tar.gz" version="0.14.1"
|
||||
repo="ftp.gnome.org">
|
||||
</branch>
|
||||
|
||||
<dependencies>
|
||||
<dep package="goocanvas"/>
|
||||
<dep package="pygtk"/>
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<distutils id="pyenchant">
|
||||
<branch repo="pymodules" module="p/pyenchant/pyenchant-1.6.1.tar.gz"
|
||||
version="1.6.1"/>
|
||||
</distutils>
|
||||
|
||||
<distutils id="pyxdg">
|
||||
<branch repo="pyxdg" module="pyxdg-0.17.tar.gz" version="0.17"
|
||||
hash="sha256:fbc87711922b2dd6ceb23ee041f1f96da9b7dbb6971df03a3081b439def069ce"
|
||||
md5sum="a086de99cc536095684d87f15594e4db" size="37372"/>
|
||||
</distutils>
|
||||
|
||||
<autotools id="xdg-utils">
|
||||
<branch module="xdg-utils-1.0.2.tgz" version="1.0.2" repo="xdg-utils"/>
|
||||
</autotools>
|
||||
|
||||
<autotools id="berkeleydb" autogen-sh="dist/configure"
|
||||
autogen-template="cd build_unix; ../%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s" makeargs="-C build_unix"
|
||||
makeinstallargs="-C build_unix install">
|
||||
|
||||
<branch module="berkeley-db/db-4.7.25.NC.tar.gz" version="4.7.25"
|
||||
repo="oracle" />
|
||||
</autotools>
|
||||
|
||||
</moduleset>
|
2
mac/gtkrc
Normal file
2
mac/gtkrc
Normal file
@ -0,0 +1,2 @@
|
||||
gtk-icon-theme-name = "Tango"
|
||||
gtk-enable-mnemonics = 0
|
169
mac/launcher.sh
Executable file
169
mac/launcher.sh
Executable file
@ -0,0 +1,169 @@
|
||||
#!/bin/sh
|
||||
|
||||
name="`basename $0`"
|
||||
tmp="`pwd`/$0"
|
||||
tmp=`dirname "$tmp"`
|
||||
tmp=`dirname "$tmp"`
|
||||
bundle=`dirname "$tmp"`
|
||||
bundle_contents="$bundle"/Contents
|
||||
bundle_res="$bundle_contents"/Resources
|
||||
bundle_lib="$bundle_res"/lib
|
||||
bundle_bin="$bundle_res"/bin
|
||||
bundle_data="$bundle_res"/share
|
||||
bundle_etc="$bundle_res"/etc
|
||||
|
||||
export XDG_DATA_DIRS="$bundle_data"
|
||||
|
||||
export DYLD_LIBRARY_PATH="$bundle_lib"
|
||||
export LD_LIBRARY_PATH="$DYLD_LIBRARY_PATH"
|
||||
export GTK_DATA_PREFIX="$bundle_res"
|
||||
export GTK_EXE_PREFIX="$bundle_res"
|
||||
export GTK_PATH="$bundle_res"
|
||||
|
||||
export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc"
|
||||
export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
|
||||
export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders"
|
||||
export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
|
||||
|
||||
#Set $PYTHON to point inside the bundle
|
||||
export PYTHON="$bundle_contents/MacOS/python"
|
||||
#Add the bundle's python modules
|
||||
PYTHONPATH="$bundle_lib/python2.6:$PYTHONPATH"
|
||||
PYTHONPATH="$bundle_lib/python2.6/site-packages:$PYTHONPATH"
|
||||
PYTHONPATH="$bundle_lib/python2.6/site-packages/gtk-2.0:$PYTHONPATH"
|
||||
PYTHONPATH="$bundle_lib/python2.6/lib-dynload:$PYTHONPATH"
|
||||
#Add our program's modules to $PYTHONPATH.
|
||||
PYTHONPATH="$bundle_lib/pygtk/2.0:$PYTHONPATH"
|
||||
export PYTHONPATH
|
||||
export GRAMPSDIR="$bundle_data"/gramps
|
||||
export GRAMPSI18N="$bundle_data"/locale
|
||||
export GRAMPSHOME="$HOME/Library/Application Support"
|
||||
|
||||
# Set the locale-related variables appropriately:
|
||||
unset LANG LC_MESSAGES LC_MONETARY
|
||||
|
||||
# Has a language ordering been set?
|
||||
# If so, set LC_MESSAGES accordingly; otherwise skip it.
|
||||
# Set the locale-related variables appropriately:
|
||||
unset LANG LC_MESSAGES LC_MONETARY LC_COLLATE
|
||||
|
||||
# Has a language ordering been set?
|
||||
# If so, set LC_MESSAGES and LANG accordingly; otherwise skip it.
|
||||
# First step uses sed to clean off the quotes and commas, to change - to _, and change the names for the chinese scripts from "Hans" to CN and "Hant" to TW.
|
||||
APPLELANGUAGES=`defaults read .GlobalPreferences AppleLanguages | sed -En -e 's/\-/_/' -e 's/Hant/TW/' -e 's/Hans/CN/' -e 's/[[:space:]]*\"?([[:alnum:]_]+)\"?,?/\1/p' `
|
||||
if test "$APPLELANGUAGES"; then
|
||||
# A language ordering exists.
|
||||
# Test, item per item, to see whether there is an corresponding locale.
|
||||
for L in $APPLELANGUAGES; do
|
||||
#test for exact matches:
|
||||
if test -f "$GRAMPSI18N/${L}/LC_MESSAGES/gramps.mo"; then
|
||||
export LANG=$L
|
||||
break
|
||||
fi
|
||||
#This is a special case, because often the original strings are in US
|
||||
#English and there is no translation file.
|
||||
if test "x$L" == "xen_US"; then
|
||||
export LANG=$L
|
||||
break
|
||||
fi
|
||||
#OK, now test for just the first two letters:
|
||||
if test -f "$GRAMPSI18N/${L:0:2}/LC_MESSAGES/gramps.mo"; then
|
||||
export LANG=${L:0:2}
|
||||
break
|
||||
fi
|
||||
#Same thing, but checking for any english variant.
|
||||
if test "x${L:0:2}" == "xen"; then
|
||||
export LANG=$L
|
||||
break
|
||||
fi;
|
||||
done
|
||||
fi
|
||||
unset APPLELANGUAGES L
|
||||
|
||||
# If we didn't get a language from the language list, try the Collation preference, in case it's the only setting that exists.
|
||||
APPLECOLLATION=`defaults read .GlobalPreferences AppleCollationOrder`
|
||||
if test -z "$LANG" -a -n "$APPLECOLLATION"; then
|
||||
if test -f "$GRAMPSI18N/$APPLECOLLATION/LC_MESSAGES/gramps.mo"; then
|
||||
export LANG=$APPLECOLLATION
|
||||
fi
|
||||
fi
|
||||
if test -n "$APPLECOLLATION"; then
|
||||
export LC_COLLATE=$APPLECOLLATION
|
||||
fi
|
||||
unset APPLECOLLATION
|
||||
|
||||
# Continue by attempting to find the Locale preference.
|
||||
APPLELOCALE=`defaults read .GlobalPreferences AppleLocale`
|
||||
if test -f "$GRAMPSI18N/${APPLELOCALE:0:5}/LC_MESSAGES/gramps.mo"; then
|
||||
if test -z $LANG; then
|
||||
export LANG="${APPLELOCALE:0:5}"
|
||||
fi
|
||||
|
||||
elif test -z $LANG -a -f "$GRAMPSI18N/${APPLELOCALE:0:2}/LC_MESSAGES/gramps.mo"; then
|
||||
export LANG="${APPLELOCALE:0:2}"
|
||||
fi
|
||||
|
||||
#Next we need to set LC_MESSAGES. If at all possilbe, we want a full
|
||||
#5-character locale to avoid the "Locale not supported by C library"
|
||||
#warning from Gtk -- even though Gtk will translate with a
|
||||
#two-character code.
|
||||
if test -n $LANG; then
|
||||
#If the language code matches the applelocale, then that's the message
|
||||
#locale; otherwise, if it's longer than two characters, then it's
|
||||
#probably a good message locale and we'll go with it.
|
||||
if test $LANG == ${APPLELOCALE:0:5} -o $LANG != ${LANG:0:2}; then
|
||||
export LC_MESSAGES=$LANG
|
||||
#Next try if the Applelocale is longer than 2 chars and the language
|
||||
#bit matches $LANG
|
||||
elif test $LANG == ${APPLELOCALE:0:2} -a $APPLELOCALE > ${APPLELOCALE:0:2}; then
|
||||
export LC_MESSAGES=${APPLELOCALE:0:5}
|
||||
#Fail. Get a list of the locales in $PREFIX/share/locale that match
|
||||
#our two letter language code and pick the first one, special casing
|
||||
#english to set en_US
|
||||
elif test $LANG == "en"; then
|
||||
export LC_MESSAGES="en_US"
|
||||
else
|
||||
LOC=`find $PREFIX/share/locale -name $LANG???`
|
||||
echo "Locales $LOC"
|
||||
for L in $LOC; do
|
||||
export LC_MESSAGES=$L
|
||||
done
|
||||
fi
|
||||
else
|
||||
#All efforts have failed, so default to US english
|
||||
export LANG="en_US"
|
||||
export LC_MESSAGES="en_US"
|
||||
fi
|
||||
CURRENCY=`echo $APPLELOCALE | sed -En 's/.*currency=([[:alpha:]]+).*/\1/p'`
|
||||
if test "x$CURRENCY" != "x"; then
|
||||
#The user has set a special currency. Gtk doesn't install LC_MONETARY files, but Apple does in /usr/share/locale, so we're going to look there for a locale to set LC_CURRENCY to.
|
||||
if test -f /usr/local/share/$LC_MESSAGES/LC_MONETARY; then
|
||||
if test -a `cat /usr/local/share/$LC_MESSAGES/LC_MONETARY` == $CURRENCY; then
|
||||
export LC_MONETARY=$LC_MESSAGES
|
||||
fi
|
||||
fi
|
||||
if test -z "$LC_MONETARY"; then
|
||||
FILES=`find /usr/share/locale -name LC_MONETARY -exec grep -H $CURRENCY {} \;`
|
||||
if test -n "$FILES"; then
|
||||
export LC_MONETARY=`echo $FILES | sed -En 's%/usr/share/locale/([[:alpha:]_]+)/LC_MONETARY.*%\1%p'`
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
#No currency value means that the AppleLocale governs:
|
||||
if test -z "$LC_MONETARY"; then
|
||||
export LC_MONETARY=${APPLELOCALE:0:5}
|
||||
fi
|
||||
|
||||
#To turn on the appropriate dictionary:
|
||||
export LC_ALL=$LC_MESSAGES
|
||||
|
||||
unset APPLELOCALE FILES LOC
|
||||
|
||||
# Strip out the argument added by the OS.
|
||||
if [ x`echo "x$1" | sed -e "s/^x-psn_.*//"` == x ]; then
|
||||
shift 1
|
||||
fi
|
||||
|
||||
#Note that we're calling $PYTHON here to override the version in
|
||||
#pygtk-demo's shebang.
|
||||
exec $PYTHON -O "$GRAMPSDIR/gramps.py" "$@"
|
Loading…
Reference in New Issue
Block a user