osx: Use jhbuild

Macports suck, hopefully it will be the final switch, OS X packaging sucks even more.
This commit is contained in:
Alexander Kojevnikov 2011-04-20 18:27:17 +08:00
parent 68d1c6ba55
commit 833c0e71c3
3 changed files with 47 additions and 38 deletions

3
dist/README vendored
View File

@ -23,8 +23,9 @@ Spek release checklist
* `git tag -a X.Y`.
* Upload the tarball + OSX and WIN binaries.
* Update the Ubuntu PPA.
* Request FreeBSD and Debian updates.
* Upload the website using `web/upload`.
* Publish the blog post.
* Send an announcement to linux-audio-announce and vala-list.
* Update the forum thread on what.
* Ping ArchLinux, Debian and FreeBSD maintainers.
* Ping ArchLinux and Gentoo maintainers.

46
dist/osx/README vendored
View File

@ -1,46 +1,18 @@
Building the OS X bundle
========================
Spek bundle uses packages provided by MacPorts. After installing MacPorts build all dependencies:
Install and configure [jhbuild][1] and [ige-mac-bundler][2].
$ sudo port install intltool
$ sudo port install vala
$ sudo port install cairo-devel +no_x11 +quartz
$ sudo port install pango +no_x11 +quartz
$ sudo port install gtk2 +no_x11 +quartz
$ sudo port install hicolor-icon-theme
$ sudo port install ffmpeg +no_x11 +no_nonfree
$ sudo port install ige-mac-integration
$ sudo port install ige-mac-bundler
Get the release tarball and unpack it somewhere. Also copy the tarball to ~/gtk/source/pkgs/.
Now make sure Spek builds by running `gmake && src/spek`.
Add this line to ~/.jhbuildrc-custom:
Note that these ports:
moduleset=os.environ['HOME'] + 'path/to/spek/dist/osx/spek.modules'
ige-mac-integration
ffmpeg
gtk2
Run:
...require this line in their Portfile:
$ jhbuild build spek
$ dist/osx/bundle.sh
configure.ldflags-append -headerpad_max_install_names
Also, by some reason MacPorts doesn't install /opt/local/lib/charset.alias,
copy it from your favourite Unix flavour.
Finally, manually install gtk-quartz-engine into /opt/local:
$ git clone git://github.com/jralls/gtk-quartz-engine.git
$ cd gtk-quartz-engine
$ glibtoolize --force --copy
$ aclocal
$ autoheader
$ automake --add-missing
$ autoconf
$ ./configure --prefix=/opt/local
$ gmake
$ sudo gmake install
After all dependencies are built just run:
$ osx/bundle.sh
[1]: http://sourceforge.net/apps/trac/gtk-osx/wiki/Build
[2]: http://sourceforge.net/apps/trac/gtk-osx/wiki/Bundle

36
dist/osx/spek.modules vendored Normal file
View File

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<include href="http://github.com/jralls/gtk-osx-build/raw/master/modulesets-stable/gtk-osx.modules"/>
<repository type="tarball" name="spek" default="yes" href="http://spek.googlecode.com/files/"/>
<repository type="tarball" name="libav" href="http://libav.org/releases/"/>
<repository type="tarball" name="cairographics-dev" href="http://cairographics.org/snapshots/"/>
<autotools id="cairo" autogen-sh="configure" autogenargs="--enable-pdf --enable-quartz --enable-xlib=no --without-x">
<branch module="cairo-1.11.2.tar.gz" version="1.11.2" repo="cairographics-dev"/>
<dependencies>
<dep package="pixman"/>
</dependencies>
<after>
<dep package="meta-gtk-osx-bootstrap"/>
<dep package="fontconfig"/>
<dep package="freetype"/>
</after>
</autotools>
<autotools id="libav" autogenargs="--disable-static --enable-shared --enable-gpl --enable-version3 --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-swscale --enable-pthreads --disable-encoders --disable-muxers --disable-devices --disable-filters" autogen-sh="configure" autogen-template="%(srcdir)s/%(autogen-sh)s --prefix=%(prefix)s --libdir=%(libdir)s %(autogenargs)s">
<branch module="libav-0.6.2.tar.bz2" version="0.6.2" repo="libav" hash="sha1:b79dc56a08f4ef07b41d1a78b2251f21fde8b81d"/>
</autotools>
<autotools id="spek" autogen-sh="configure">
<branch module="spek-0.6.tar.bz2" version="0.6" repo="spek"/>
<dependencies>
<dep package="meta-gtk-osx-bootstrap"/>
<dep package="meta-gtk-osx-core"/>
<dep package="cairo"/>
<dep package="libav"/>
</dependencies>
</autotools>
</moduleset>