summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-05-30 21:59:19 +0100
committerCarl Hetherington <cth@carlh.net>2013-05-30 21:59:19 +0100
commit1b6d46c0a6a4f88526ecf6a92a840904309a1135 (patch)
tree057d8ccec70098fd235a7f4329ebef8c2ec7eb0f
parentdefa5b0e3b71e27033ca687e1cf6fc69407a2340 (diff)
parent8addb24445410285e404138d39c90467137eb8f6 (diff)
Merge branch 'master' of /home/carl/git/dvdomatic
-rwxr-xr-xhacks/build-all-ffmpeg (renamed from build-all-ffmpeg)0
-rw-r--r--hacks/optimise/8proc.log (renamed from optimise/8proc.log)0
-rwxr-xr-xhacks/optimise/analog (renamed from optimise/analog)0
-rwxr-xr-xhacks/optimise/plotlog (renamed from optimise/plotlog)0
-rwxr-xr-xhacks/splitchapters (renamed from splitchapters)0
-rw-r--r--platform/osx/Info.plist.in35
-rw-r--r--platform/osx/make_dmg.sh79
-rw-r--r--platform/osx/wscript2
-rw-r--r--version-test.py52
-rw-r--r--version.py99
-rw-r--r--wscript2
11 files changed, 114 insertions, 155 deletions
diff --git a/build-all-ffmpeg b/hacks/build-all-ffmpeg
index a3d197c28..a3d197c28 100755
--- a/build-all-ffmpeg
+++ b/hacks/build-all-ffmpeg
diff --git a/optimise/8proc.log b/hacks/optimise/8proc.log
index edc40d97a..edc40d97a 100644
--- a/optimise/8proc.log
+++ b/hacks/optimise/8proc.log
diff --git a/optimise/analog b/hacks/optimise/analog
index 174300810..174300810 100755
--- a/optimise/analog
+++ b/hacks/optimise/analog
diff --git a/optimise/plotlog b/hacks/optimise/plotlog
index 55b6fb871..55b6fb871 100755
--- a/optimise/plotlog
+++ b/hacks/optimise/plotlog
diff --git a/splitchapters b/hacks/splitchapters
index 1e5cff084..1e5cff084 100755
--- a/splitchapters
+++ b/hacks/splitchapters
diff --git a/platform/osx/Info.plist.in b/platform/osx/Info.plist.in
new file mode 100644
index 000000000..3f4ab60ef
--- /dev/null
+++ b/platform/osx/Info.plist.in
@@ -0,0 +1,35 @@
+<?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>dvdomatic</string>
+ <key>CFBundleGetInfoString</key>
+ <string>DCP generator</string>
+ <key>CFBundleIconFile</key>
+ <string>appIcon.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>net.carlh.dvdomatic</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>DVD-o-matic</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersions</key>
+ <string>@VERSION@</string>
+ <key>CFBundleSignature</key>
+ <string>DOMC</string>
+ <key>CFBundleVersion</key>
+ <string>@VERSION@</string>
+ <key>LSUIElement</key>
+ <string>0</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ @ENV@
+</dict>
+</plist>
diff --git a/platform/osx/make_dmg.sh b/platform/osx/make_dmg.sh
index 90e5f9e4a..52db90575 100644
--- a/platform/osx/make_dmg.sh
+++ b/platform/osx/make_dmg.sh
@@ -1,15 +1,86 @@
#!/bin/bash
-VERSION=@version@
+VERSION=$1
+if [ "$VERSION" == "" ]; then
+ echo "Syntax: $0 <version>"
+ exit 1
+fi
# DMG size in megabytes
DMG_SIZE=64
+WORK=build/platform/osx
+ENV=/Users/carl/Environments/osx/10.8
+DEPS=/Users/carl/cdist
-dmg_name="dvdomatic-$VERSION"
+dmg_name="DVD-o-matic-$VERSION"
+appdir="DVD-o-matic.app"
+approot=$appdir/Contents
+libs=$approot/lib
+macos=$approot/MacOS
-mkdir -p build/platform/osx/mnt
+rm -rf $WORK/$appdir
+mkdir -p $WORK/$macos
+mkdir -p $WORK/$libs
+
+cp build/src/tools/dvdomatic $WORK/$macos/
+cp build/src/lib/libdvdomatic.dylib $WORK/$libs/
+cp build/src/wx/libdvdomatic-wx.dylib $WORK/$libs/
+cp $DEPS/lib/libdcp.dylib $WORK/$libs/
+cp $DEPS/lib/libasdcp-libdcp.dylib $WORK/$libs/
+cp $DEPS/lib/libkumu-libdcp.dylib $WORK/$libs/
+cp $DEPS/lib/libopenjpeg*.dylib $WORK/$libs/
+cp $DEPS/lib/libavformat*.dylib $WORK/$libs/
+cp $DEPS/lib/libavfilter*.dylib $WORK/$libs/
+cp $DEPS/lib/libavutil*.dylib $WORK/$libs/
+cp $DEPS/lib/libavcodec*.dylib $WORK/$libs/
+cp $DEPS/lib/libswscale*.dylib $WORK/$libs/
+cp $DEPS/lib/libpostproc*.dylib $WORK/$libs/
+cp $DEPS/lib/libswresample*.dylib $WORK/$libs/
+cp $ENV/lib/libboost_system.dylib $WORK/$libs/
+cp $ENV/lib/libboost_filesystem.dylib $WORK/$libs/
+cp $ENV/lib/libboost_thread.dylib $WORK/$libs/
+cp $ENV/lib/libboost_date_time.dylib $WORK/$libs/
+cp $ENV/lib/libssl*.dylib $WORK/$libs/
+cp $ENV/lib/libcrypto*.dylib $WORK/$libs/
+cp $ENV/lib/libxml++-2.6*.dylib $WORK/$libs/
+cp $ENV/lib/libxml2*.dylib $WORK/$libs/
+cp $ENV/lib/libglibmm-2.4*.dylib $WORK/$libs/
+cp $ENV/lib/libgobject*.dylib $WORK/$libs/
+cp $ENV/lib/libgthread*.dylib $WORK/$libs/
+cp $ENV/lib/libgmodule*.dylib $WORK/$libs/
+cp $ENV/lib/libsigc*.dylib $WORK/$libs/
+cp $ENV/lib/libglib-2*.dylib $WORK/$libs/
+cp $ENV/lib/libintl*.dylib $WORK/$libs/
+cp $ENV/lib/libsndfile*.dylib $WORK/$libs/
+cp $ENV/lib/libMagick++*.dylib $WORK/$libs/
+cp $ENV/lib/libMagickCore*.dylib $WORK/$libs/
+cp $ENV/lib/libMagickWand*.dylib $WORK/$libs/
+cp $ENV/lib/libssh*.dylib $WORK/$libs/
+cp $ENV/lib/libwx*.dylib $WORK/$libs/
+cp $ENV/lib/libfontconfig*.dylib $WORK/$libs/
+cp $ENV/lib/libfreetype*.dylib $WORK/$libs/
+cp $ENV/lib/libexpat*.dylib $WORK/$libs/
+
+for obj in $WORK/$macos/dvdomatic $WORK/$libs/*.dylib; do
+ deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh)"`
+ changes=""
+ for dep in $deps; do
+ base=`basename $dep`
+ changes="$changes -change $dep @executable_path/../lib/$base"
+ done
+ if test "x$changes" != "x"; then
+ install_name_tool $changes $obj
+ fi
+done
+
+
+cp build/platform/osx/Info.plist $WORK/$approot
+
+exit 0
+
+mkdir -p $WORK/mnt
hdiutil create -megabytes $DMG_SIZE build/platform/osx/dvdomatic.dmg
device=$(hdid -nomount build/platform/osx/dvdomatic.dmg | grep Apple_HFS | cut -f 1 -d ' ')
newfs_hfs -v "$dmg_name" "$device"
-mount -t hfs "${device}" build/platform/osx/mnt
+mount -t hfs "$device" build/platform/osx/mnt
diff --git a/platform/osx/wscript b/platform/osx/wscript
new file mode 100644
index 000000000..d79c95bb5
--- /dev/null
+++ b/platform/osx/wscript
@@ -0,0 +1,2 @@
+def build(bld):
+ bld.new_task_gen(features='subst', source='Info.plist.in', target='Info.plist', version=bld.env.VERSION)
diff --git a/version-test.py b/version-test.py
deleted file mode 100644
index 47b4159fc..000000000
--- a/version-test.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/python
-
-import version
-
-a = version.Version("0.51")
-assert(a.major == 0)
-assert(a.minor == 51)
-assert(a.pre == False)
-assert(a.beta == None)
-assert(str(a) == "0.51")
-
-a.bump_and_to_pre()
-assert(a.major == 0)
-assert(a.minor == 52)
-assert(a.pre == True)
-assert(a.beta == None)
-assert(str(a) == "0.52pre")
-
-a.bump()
-assert(a.major == 0)
-assert(a.minor == 53)
-assert(a.pre == False)
-assert(a.beta == None)
-assert(str(a) == "0.53")
-
-a.to_pre()
-a.bump_beta()
-assert(a.major == 0)
-assert(a.minor == 53)
-assert(a.pre == False)
-assert(a.beta == 1)
-assert(str(a) == "0.53beta1")
-
-a.bump_beta()
-assert(a.major == 0)
-assert(a.minor == 53)
-assert(a.pre == False)
-assert(a.beta == 2)
-assert(str(a) == "0.53beta2")
-
-a.to_release()
-assert(a.major == 0)
-assert(a.minor == 53)
-assert(a.pre == False)
-assert(a.beta == None)
-assert(str(a) == "0.53")
-
-b = version.Version("1.42beta1")
-assert(b.major == 1)
-assert(b.minor == 42)
-assert(b.pre == False)
-assert(b.beta == 1)
diff --git a/version.py b/version.py
deleted file mode 100644
index 5b16352e1..000000000
--- a/version.py
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/python
-
-import os
-import sys
-import datetime
-import shutil
-import copy
-
-class Version:
- def __init__(self, s):
- self.pre = False
- self.beta = None
-
- if s.startswith("'"):
- s = s[1:]
- if s.endswith("'"):
- s = s[0:-1]
-
- if s.endswith('pre'):
- s = s[0:-3]
- self.pre = True
-
- b = s.find("beta")
- if b != -1:
- self.beta = int(s[b+4:])
- s = s[0:b]
-
- p = s.split('.')
- self.major = int(p[0])
- self.minor = int(p[1])
-
- def bump(self):
- self.minor += 1
- self.pre = False
- self.beta = None
-
- def to_pre(self):
- self.pre = True
- self.beta = None
-
- def bump_and_to_pre(self):
- self.bump()
- self.pre = True
- self.beta = None
-
- def to_release(self):
- self.pre = False
- self.beta = None
-
- def bump_beta(self):
- if self.pre:
- self.pre = False
- self.beta = 1
- elif self.beta is not None:
- self.beta += 1
- elif self.beta is None:
- self.beta = 1
-
- def __str__(self):
- s = '%d.%02d' % (self.major, self.minor)
- if self.beta is not None:
- s += 'beta%d' % self.beta
- elif self.pre:
- s += 'pre'
-
- return s
-
-def rewrite_wscript(method):
- f = open('wscript', 'rw')
- o = open('wscript.tmp', 'w')
- version = None
- while 1:
- l = f.readline()
- if l == '':
- break
-
- s = l.split()
- if len(s) == 3 and s[0] == "VERSION":
- version = Version(s[2])
- method(version)
- print "Writing %s" % version
- print >>o,"VERSION = '%s'" % version
- else:
- print >>o,l,
- f.close()
- o.close()
-
- os.rename('wscript.tmp', 'wscript')
- return version
-
-def append_to_changelog(version):
- f = open('ChangeLog', 'r')
- c = f.read()
- f.close()
-
- f = open('ChangeLog', 'w')
- now = datetime.datetime.now()
- f.write('%d-%02d-%02d Carl Hetherington <cth@carlh.net>\n\n\t* Version %s released.\n\n' % (now.year, now.month, now.day, version))
- f.write(c)
diff --git a/wscript b/wscript
index fb2a838df..6114796e1 100644
--- a/wscript
+++ b/wscript
@@ -198,6 +198,8 @@ def build(bld):
bld.recurse('platform/windows')
if bld.env.TARGET_LINUX:
bld.recurse('platform/linux')
+ if bld.env.TARGET_OSX:
+ bld.recurse('platform/osx')
for r in ['22x22', '32x32', '48x48', '64x64', '128x128']:
bld.install_files('${PREFIX}/share/icons/hicolor/%s/apps' % r, 'icons/%s/dvdomatic.png' % r)