import f16cac36d6
New Apple OS X application bundle based on work done for GtkRadiant 1.6.4. Produces a functioning application on Yosemite.
This commit is contained in:
parent
001cc8f306
commit
17ad4b41b9
83
setup/data/osx/Makefile
Normal file
83
setup/data/osx/Makefile
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
# Makefile for NetRadiant.app, requires http://macdylibbundler.sourceforge.net/
|
||||||
|
|
||||||
|
INSTALL = ../../../install
|
||||||
|
TARGET = target
|
||||||
|
RESOURCES = $(TARGET)/NetRadiant.app/Contents/Resources
|
||||||
|
BINDIR = $(RESOURCES)/install
|
||||||
|
CONFDIR = $(RESOURCES)/etc
|
||||||
|
DATADIR = $(RESOURCES)/share
|
||||||
|
LIBDIR = $(RESOURCES)/lib
|
||||||
|
VERSION = 1.5.0
|
||||||
|
DMG = $(TARGET)/NetRadiant-$(VERSION).dmg
|
||||||
|
VOLUME_NAME = "NetRadiant $(VERSION)"
|
||||||
|
|
||||||
|
# We must rewrite some Gtk configuration files, which vary from environment to
|
||||||
|
# environment depending on where you've installed MacPorts. Fun!
|
||||||
|
|
||||||
|
MACPORTS_PREFIX := $(shell which port | sed 's:/bin/port::')
|
||||||
|
PREFIX_SED_EXPR = "s:$(MACPORTS_PREFIX):@executable_path/..:g"
|
||||||
|
|
||||||
|
all: install bundle
|
||||||
|
|
||||||
|
-pre-install:
|
||||||
|
install -d $(TARGET)
|
||||||
|
cp -r NetRadiant.app $(TARGET)
|
||||||
|
find $(TARGET) -name .turd -delete
|
||||||
|
|
||||||
|
-gtk-runtime-gdk-pixbuf-2.0:
|
||||||
|
cp -r $(MACPORTS_PREFIX)/lib/gdk-pixbuf-2.0 $(LIBDIR)
|
||||||
|
find $(LIBDIR)/gdk-pixbuf-2.0 -type f ! -name "*.so" -delete
|
||||||
|
|
||||||
|
gdk-pixbuf-query-loaders | sed $(PREFIX_SED_EXPR) > \
|
||||||
|
$(CONFDIR)/gtk-2.0/gdk-pixbuf.loaders
|
||||||
|
|
||||||
|
-gtk-runtime-pango:
|
||||||
|
cp -r $(MACPORTS_PREFIX)/lib/pango $(LIBDIR)
|
||||||
|
find $(LIBDIR)/pango -type f ! -name "*.so" -delete
|
||||||
|
|
||||||
|
pango-querymodules | sed $(PREFIX_SED_EXPR) > \
|
||||||
|
$(CONFDIR)/pango/pango.modules
|
||||||
|
|
||||||
|
-gtk-runtime: -gtk-runtime-gdk-pixbuf-2.0 -gtk-runtime-pango
|
||||||
|
cp -r $(MACPORTS_PREFIX)/lib/gtk-2.0 $(LIBDIR)
|
||||||
|
find $(LIBDIR)/gtk-2.0 -type f ! -name "*.so" -delete
|
||||||
|
|
||||||
|
rm -rf $(LIBDIR)/gtk-2.0/{includes,modules}
|
||||||
|
rm -rf $(LIBDIR)/gtk-2.0/*/printbackends
|
||||||
|
|
||||||
|
cp -r $(MACPORTS_PREFIX)/share/themes/Default $(RESOURCES)/share
|
||||||
|
|
||||||
|
gtk-query-immodules-2.0 | sed $(PREFIX_SED_EXPR) > \
|
||||||
|
$(CONFDIR)/gtk-2.0/gtk.immodules
|
||||||
|
|
||||||
|
install: -pre-install -gtk-runtime
|
||||||
|
cp -r $(INSTALL) $(RESOURCES)
|
||||||
|
#rm -rf `find $(INSTDIR)/installs -type d -name .svn`
|
||||||
|
|
||||||
|
bundle:
|
||||||
|
|
||||||
|
# The Radiant plugins (modules) are a little funky
|
||||||
|
# Some of them are actually linked against the build directory
|
||||||
|
|
||||||
|
test -L install || ln -s $(INSTALL)
|
||||||
|
|
||||||
|
dylibbundler -b \
|
||||||
|
-x $(BINDIR)/radiant \
|
||||||
|
-x $(BINDIR)/q2map \
|
||||||
|
-x $(BINDIR)/q3data \
|
||||||
|
-x $(BINDIR)/q3map2 \
|
||||||
|
-x $(BINDIR)/qdata3 \
|
||||||
|
`find $(BINDIR)/modules -name "*.dylib" | xargs -I {} echo -x {}` \
|
||||||
|
`find $(LIBDIR) -name "*.dylib" | xargs -I {} echo -x {}` \
|
||||||
|
-d $(LIBDIR) -of -p @executable_path/../lib
|
||||||
|
|
||||||
|
rm -f install
|
||||||
|
|
||||||
|
image:
|
||||||
|
find $(TARGET) -name .DS_Store -delete
|
||||||
|
ln -f -s /Applications $(TARGET)/Applications
|
||||||
|
hdiutil create -ov $(DMG) -srcfolder $(TARGET) -volname $(VOLUME_NAME)
|
||||||
|
rm $(TARGET)/Applications
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(TARGET)/*
|
||||||
28
setup/data/osx/NetRadiant.app/Contents/Info.plist
Normal file
28
setup/data/osx/NetRadiant.app/Contents/Info.plist
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//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>CFBundleDisplayName</key>
|
||||||
|
<string>NetRadiant</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>radiant</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>radiant.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.xonotic.netradiant</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>NetRadiant</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.5.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.5.0</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>10.7</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
35
setup/data/osx/NetRadiant.app/Contents/MacOS/radiant
Normal file
35
setup/data/osx/NetRadiant.app/Contents/MacOS/radiant
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
RADIANT_HOME=$(dirname "$0")
|
||||||
|
RADIANT_HOME=${RADIANT_HOME/NetRadiant.app*/NetRadiant.app}
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Starting NetRadiant in ${RADIANT_HOME}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
resources="${RADIANT_HOME}/Contents/Resources"
|
||||||
|
|
||||||
|
export FONTCONFIG_PATH="${resources}/etc/fonts"
|
||||||
|
export FC_DEBUG=1024
|
||||||
|
|
||||||
|
export GDK_GL_LIBGL_PATH="${resources}/lib/libGL.1.dylib"
|
||||||
|
export GDK_GL_LIBGLU_PATH="${resources}/lib/libGLU.1.dylib"
|
||||||
|
|
||||||
|
export GDK_PATH="${resources}"
|
||||||
|
export GDK_PIXBUF_MODULE_FILE="${resources}/etc/gtk-2.0/gdk-pixbuf.loaders"
|
||||||
|
|
||||||
|
export GOBJECT_PATH="${resources}"
|
||||||
|
|
||||||
|
export GTK_DATA_PREFIX="${resources}"
|
||||||
|
export GTK_EXE_PREFIX="${resources}"
|
||||||
|
export GTK_PATH="${resources}"
|
||||||
|
|
||||||
|
export PANGO_SYSCONFDIR="${resources}/etc"
|
||||||
|
export PANGO_LIBDIR="${resources}/lib"
|
||||||
|
|
||||||
|
cd "${resources}/install"
|
||||||
|
./radiant &
|
||||||
|
|
||||||
|
set +x
|
||||||
|
|
@ -0,0 +1,133 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
<fontconfig>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Adjusted FontConfig for GtkRadiant.app. Include only paths which Mac users
|
||||||
|
will more than likely have.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Font directory list
|
||||||
|
-->
|
||||||
|
<dir>/usr/X11/lib/X11/fonts</dir>
|
||||||
|
<dir>/Library/Fonts</dir>
|
||||||
|
<dir>/System/Library/Fonts</dir>
|
||||||
|
<dir prefix="xdg">fonts</dir>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Accept deprecated 'mono' alias, replacing it with 'monospace'
|
||||||
|
-->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>mono</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign" binding="same">
|
||||||
|
<string>monospace</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
|
||||||
|
-->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>sans serif</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign" binding="same">
|
||||||
|
<string>sans-serif</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
|
||||||
|
-->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>sans</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign" binding="same">
|
||||||
|
<string>sans-serif</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<!-- Font cache directory list -->
|
||||||
|
<cachedir prefix="xdg">fontconfig</cachedir>
|
||||||
|
|
||||||
|
<config>
|
||||||
|
<!--
|
||||||
|
These are the default Unicode chars that are expected to be blank
|
||||||
|
in fonts. All other blank chars are assumed to be broken and
|
||||||
|
won't appear in the resulting charsets
|
||||||
|
-->
|
||||||
|
<blank>
|
||||||
|
<int>0x0020</int> <!-- SPACE -->
|
||||||
|
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
|
||||||
|
<int>0x00AD</int> <!-- SOFT HYPHEN -->
|
||||||
|
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
|
||||||
|
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
|
||||||
|
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
|
||||||
|
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
|
||||||
|
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
|
||||||
|
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
|
||||||
|
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
|
||||||
|
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
|
||||||
|
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
|
||||||
|
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
|
||||||
|
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
|
||||||
|
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
|
||||||
|
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
|
||||||
|
<int>0x2000</int> <!-- EN QUAD -->
|
||||||
|
<int>0x2001</int> <!-- EM QUAD -->
|
||||||
|
<int>0x2002</int> <!-- EN SPACE -->
|
||||||
|
<int>0x2003</int> <!-- EM SPACE -->
|
||||||
|
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
|
||||||
|
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
|
||||||
|
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
|
||||||
|
<int>0x2007</int> <!-- FIGURE SPACE -->
|
||||||
|
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
|
||||||
|
<int>0x2009</int> <!-- THIN SPACE -->
|
||||||
|
<int>0x200A</int> <!-- HAIR SPACE -->
|
||||||
|
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
|
||||||
|
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
|
||||||
|
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
|
||||||
|
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
|
||||||
|
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
|
||||||
|
<int>0x2028</int> <!-- LINE SEPARATOR -->
|
||||||
|
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
|
||||||
|
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
|
||||||
|
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
|
||||||
|
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
|
||||||
|
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
|
||||||
|
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
|
||||||
|
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
|
||||||
|
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
|
||||||
|
<int>0x2060</int> <!-- WORD JOINER -->
|
||||||
|
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
|
||||||
|
<int>0x2062</int> <!-- INVISIBLE TIMES -->
|
||||||
|
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
|
||||||
|
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
|
||||||
|
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
|
||||||
|
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
|
||||||
|
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
|
||||||
|
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
|
||||||
|
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
|
||||||
|
<int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
|
||||||
|
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
|
||||||
|
<int>0x3164</int> <!-- HANGUL FILLER -->
|
||||||
|
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
|
||||||
|
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
|
||||||
|
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
|
||||||
|
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
|
||||||
|
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
|
||||||
|
</blank>
|
||||||
|
<!--
|
||||||
|
Rescan configuration every 30 seconds when FcFontSetList is called
|
||||||
|
-->
|
||||||
|
<rescan>
|
||||||
|
<int>30</int>
|
||||||
|
</rescan>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
</fontconfig>
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
[Pango]
|
||||||
BIN
setup/data/osx/NetRadiant.app/Contents/Resources/radiant.icns
Normal file
BIN
setup/data/osx/NetRadiant.app/Contents/Resources/radiant.icns
Normal file
Binary file not shown.
50
setup/data/osx/README.md
Normal file
50
setup/data/osx/README.md
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
GtkRadiant for Apple OSX
|
||||||
|
========================
|
||||||
|
|
||||||
|
This directory provides packaging steps for GtkRadiant for OSX. This document describes compiling the application on OSX as well as generating distributable bundles using the framework provided in this directory.
|
||||||
|
|
||||||
|
Dependencies & Compilation
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
Directions for OSX Mavericks 10.9 - your mileage may vary:
|
||||||
|
|
||||||
|
- Install [MacPorts](http://macports.org).
|
||||||
|
- Install [XQuartz](http://xquartz.macosforge.org/)
|
||||||
|
|
||||||
|
- Install dependencies with MacPorts:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo port install dylibbundler pkgconfig gtkglext scons
|
||||||
|
```
|
||||||
|
|
||||||
|
- Get the GtkRadiant code and compile:
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/TTimo/GtkRadiant.git
|
||||||
|
cd GtkRadiant/
|
||||||
|
scons
|
||||||
|
```
|
||||||
|
|
||||||
|
- Run the build:
|
||||||
|
|
||||||
|
(from the GtkRadiant/ directory)
|
||||||
|
```
|
||||||
|
./install/radiant.bin
|
||||||
|
```
|
||||||
|
|
||||||
|
XQuartz note: on my configuration XQuartz doesn't automatically start for some reason. I have to open another terminal, and run the following command: `/Applications/Utilities/XQuartz.app/Contents/MacOS/X11.bin`, then start radiant.
|
||||||
|
|
||||||
|
Building GtkRadiant.app
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
The `Makefile` in the 'apple/' directory will produce a distributable .app bundle for GtkRadiant using `dylibbundler`:
|
||||||
|
|
||||||
|
```
|
||||||
|
make
|
||||||
|
make image
|
||||||
|
```
|
||||||
|
|
||||||
|
Getting help
|
||||||
|
------------
|
||||||
|
|
||||||
|
Get on irc: Quakenet #radiant, or ask on the mailing list, or post something on the issue tracker..
|
||||||
Loading…
Reference in New Issue
Block a user