Clone in a terminal:
Commit ebd005e
Johan Mattsson - 2013-02-23T18:39:13+00:00
ebd005e0a7f8850d321aee53a895146c93eaedefjohan.mattsson.m@gmail.com

macport package

Changed files (8)

Diff

diff --git a/configure b/configureindex 08e7433..958f2a3 100755--- a/configure+++ b/configure@@ -5,6 +5,7 @@ import sys import time; from optparse import OptionParser import version+import write_config import re  VERSION = version.VERSION@@ -16,24 +17,6 @@ WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' -def write_config ():-	print ("Writing Config.vala")--	vars = (('VERSION', VERSION),-		('BUILD_TIMESTAMP', time.asctime( time.localtime(time.time()))),-		('PREFIX', options.prefix),-		)--	f = open('./libbirdfont/Config.vala', 'w+')-	f.write("// Don't edit this file -- it is generated by the build script\n")-	f.write("namespace BirdFont {\n")--	var_line = '	internal static const string %s = "%s";\n'-	for name, value in vars:-		f.write(var_line % (name, value))--	f.write("}")- def test_program_version (program, a, b, c): 	print ("Checking for %s version >= %s.%s.%s" % (program, a, b, c)) 	process = subprocess.Popen (program + ' --version', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)@@ -100,5 +83,5 @@ parser.add_option("-p", "--prefix", dest="prefix", help="install prefix", metava if not options.prefix: 	options.prefix = "/usr" -write_config () configure ()+write_config ()diff --git a/install b/installindex d251e85..e1534da 100755--- a/install+++ b/install@@ -52,9 +52,11 @@ for file in os.listdir('./icons'):  install ('linux/birdfont.desktop', '/share/applications') install ('linux/birdfont.png', '/share/icons/hicolor/48x48/apps')+ install ('build/bin/birdfont', '/bin') install ('build/bin/birdfont-export', '/bin')-install ('build/libbirdfont.so', '/lib')+install ('build/bin/libbirdfont.so', '/lib')+ install ('build/birdfont.1.gz', '/share/man/man1') install ('build/birdfont-export.1.gz', '/share/man/man1') diff --git a/mac/birdfont.sh b/mac/birdfont.shindex 425e152..c27eb94 100755--- a/mac/birdfont.sh+++ b/mac/birdfont.sh@@ -1,3 +1,3 @@ #!/bin/bash cd "${0%/*}"-./birdfont +/opt/local/bin/birdfont diff --git a/mac/build_mac.py b/mac/build_mac.pyindex a224a98..3353517 100755--- a/mac/build_mac.py+++ b/mac/build_mac.py@@ -5,6 +5,7 @@ import shutil import subprocess import sys + LOCAL_LIBS = [ 	"libxml2.2", 	"libgio-2.0.0",@@ -35,7 +36,7 @@ LOCAL_LIBS = [ 	"libfreetype.6", 	"libfontconfig.1", 	"liblzma.5",-	"libGL.1",+	"libGL.1", # GL 	"libICE.6", 	"libSM.6", 	"libX11-xcb.1",@@ -111,7 +112,7 @@ def run(cmd): 	if not process.returncode == 0: 		print("Error: " + cmd) 		exit(1)-+		 def build(): 	# Compile birdfont on MacOSX 10.5 (Leopard) 	@@ -151,9 +152,10 @@ def build():  	run("gcc build/mac/birdfont-export/*.o ./build/mac/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/mac/bin/birdfont-export") +def copy_libs (): 	# clean 	run("rm -rf build/mac/birdfont.app")-+	 	# copy files  	run("mkdir -p build/mac/birdfont.app") 	run("mkdir -p build/mac/birdfont.app/Contents")@@ -173,10 +175,16 @@ def build(): 	run("cp /usr/lib/libgcc_s.1.dylib ./build/mac/birdfont.app/Contents/MacOs")  	# library path for libbirdfont	-	for lib in LOCAL_LIBS:-		run("install_name_tool -change /opt/local/lib/" + lib + ".dylib @executable_path/" + lib -			+ ".dylib build/mac/birdfont.app/Contents/MacOs/libbirdfont.dylib")-		+	for program in ['libbirdfont.dylib', 'birdfont', 'birdfont-export']:+		for lib in LOCAL_LIBS:+			run("install_name_tool -change /opt/local/lib/" + lib + ".dylib @executable_path/" + lib +				+ ".dylib build/mac/birdfont.app/Contents/MacOs/" + program)+	+	for program in LOCAL_LIBS:+		for lib in LOCAL_LIBS:+			run("install_name_tool -change /opt/local/lib/" + lib + ".dylib @executable_path/" + lib +				+ ".dylib build/mac/birdfont.app/Contents/MacOs/" + program + ".dylib")+				 	run("install_name_tool -change /usr/lib/libgcc_s.1.dylib @executable_path/libgcc_s.1.dylib " 		+ "build/mac/birdfont.app/Contents/MacOs/libbirdfont.dylib") @@ -197,6 +205,17 @@ def build(): 	run("install_name_tool -change /usr/local/lib/libbirdfont.dylib @executable_path/libbirdfont.dylib " 		+ "build/mac/birdfont.app/Contents/MacOs/birdfont-export") -	print ("Done.");+	# pango+	run("cp /opt/local/lib/pango/1.6.0/modules/pango-* ./build/mac/birdfont.app/Contents/MacOs")+	+	# configuration+	run("cp -r /opt/local/etc build/mac/birdfont.app/Contents/MacOs/")++	run("pango-querymodules | sed -e 's:/opt/local/lib/pango/1.6.0/modules/::g'> etc/pango/pango.modules")+)++	print ("Done.")+  build()+copy_libs ()diff --git a/mac/build_macport.py b/mac/build_macport.pynew file mode 100755index 0000000..33a0795--- /dev/null+++ b/mac/build_macport.py@@ -0,0 +1,67 @@+#!/usr/bin/python++import os+import shutil+import subprocess+import sys++def run(cmd):+	process = subprocess.Popen (cmd, shell=True)+	process.communicate()[0]+	if not process.returncode == 0:+		print("Error: " + cmd)+		exit(1)++def build ():+	#libbirdfont+	run("rm -rf build")+	run("mkdir -p build/libbirdfont")+	run("mkdir -p build/bin")++	run("valac -C --basedir build/libbirdfont/ --enable-experimental-non-null --enable-experimental --define=MAC --library libbirdfont -H build/libbirdfont/birdfont.h libbirdfont/* --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0")+	run("cp libbirdfont/*.c build/libbirdfont/")++	run("""gcc -c build/libbirdfont/*.c -shared -fno-common -fPIC -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -I ./build/mac/birdfont""")+	run("mv ./*.o build/libbirdfont/ ")++	run("gcc -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.0,-current_version,1.0,-install_name,/usr/local/lib/libbirdfont.dylib -shared build/libbirdfont/*.o $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -shared -o libbirdfont.dylib")+	run("mv libbirdfont.dylib build/bin/")++	# birdfont+	run("mkdir -p build/birdfont")+	+	run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")+	run("mv birdfont/*.c build/birdfont/")++	run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")+	run("mv ./*.o build/birdfont/")++	run("gcc build/birdfont/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont")++	# birdfont-export+	run("mkdir -p build/birdfont-export")+	+	run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont-export/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")+	run("mv birdfont-export/*.c build/birdfont-export/")++	run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont-export/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")+	run("mv ./*.o build/birdfont-export/")++	run("gcc build/birdfont-export/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont-export")++	run("touch build/installed")+	run("touch build/configured")++	# application launcher+	run("mkdir -p build/BirdFont.app")+	run("mkdir -p build/BirdFont.app/Contents")+	run("mkdir -p build/BirdFont.app/Contents/MacOs")+	run("mkdir -p build/BirdFont.app/Contents/Resources")++	run("cp mac/birdfont.sh build/BirdFont.app/Contents/MacOs")+	run("cp mac/Info.plist build/BirdFont.app/Contents/")	+	run("cp mac/birdfont.icns build/BirdFont.app/Contents/Resources")+	+build ()++diff --git a/mac/create_dmg.py b/mac/create_dmg.pyindex f86dd25..7ee4a9a 100755--- a/mac/create_dmg.py+++ b/mac/create_dmg.py@@ -17,7 +17,7 @@ def run(cmd): 		 def create_dmg (): 	run("rm -rf build/mac/birdfont-" + version.VERSION + ".dmg")	-	run("hdiutil create -megabytes 55 -fs HFS+ -volname birdfont build/mac/birdfont-" + version.VERSION)+	run("hdiutil create -megabytes 79 -fs HFS+ -volname birdfont build/mac/birdfont-" + version.VERSION) 	# run("cp -r build/mac/birdfont.app /Volumes/birdfont/") 	print ("Copy the files with Finder, we don't know the path here.") diff --git a/mac/install_macport.py b/mac/install_macport.pynew file mode 100755index 0000000..09927ba--- /dev/null+++ b/mac/install_macport.py@@ -0,0 +1,45 @@+#!/usr/bin/python+import os+import subprocess+import glob+from optparse import OptionParser++def install (file, dir):+	if dest == "":+		f = prefix + dir + '/'+	else:+		f = dest + prefix + dir + '/'+		+	s = file.rfind ('/')+	if s > -1:+		f += file[s + 1:]+	else:+		f += file+	print ("install: " + f + " in " + file + ' ' + dest + prefix + dir + '/')+	subprocess.check_call ('install -d ' + dest + prefix + dir, shell=True)+	subprocess.check_call ('install ' + file + ' ' + dest + prefix + dir + '/', shell=True)++parser = OptionParser()+parser.add_option ("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")+parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")++(options, args) = parser.parse_args()++if not options.prefix:+	options.prefix = "/opt/local"++if not options.dest:+	options.dest = ""++prefix = options.prefix+dest = options.dest++install ('build/bin/birdfont', '/bin')+install ('build/bin/birdfont-export', '/bin')	+install ('build/bin/libbirdfont.dylib', '/lib')++# install application launcher+subprocess.check_call ('mkdir -p ' + dest + '/Applications/', shell=True)+subprocess.check_call ('cp -r build/BirdFont.app ' + dest + '/Applications/', shell=True)++diff --git a/write_config.py b/write_config.pynew file mode 100755index 0000000..48b30d6--- /dev/null+++ b/write_config.py@@ -0,0 +1,19 @@+#!/usr/bin/python++def write_config ():+	print ("Writing Config.vala")++	vars = (('VERSION', VERSION),+		('BUILD_TIMESTAMP', time.asctime( time.localtime(time.time()))),+		('PREFIX', options.prefix),+		)++	f = open('./libbirdfont/Config.vala', 'w+')+	f.write("// Don't edit this file -- it is generated by the build script\n")+	f.write("namespace BirdFont {\n")++	var_line = '	internal static const string %s = "%s";\n'+	for name, value in vars:+		f.write(var_line % (name, value))++	f.write("}")

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112