make stack build scripts use tarballs from ardour.org rather than fetch+patch approach

This commit is contained in:
Paul Davis 2013-03-27 01:46:26 -04:00
parent 329b5fe1c2
commit 77610b56af
2 changed files with 44 additions and 79 deletions

View File

@ -162,14 +162,12 @@ fi
defmod boost boost_1_49_0 '' http://sourceforge.net/projects/boost/files/boost/1.49.0/ bz2 boost_1_49_0
defmod fftw 3.3.1 http://www.fftw.org/ gz
defmod libsigcpp libsigc++ 2.2.10 http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/ xz
defmod glibmm 2.32.0 http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.32/ xz
defmod cairomm 1.10.0 http://cairographics.org/releases/ gz
defmod pangomm 2.28.4 http://ftp.acc.umu.se/pub/gnome/sources/pangomm/2.28/ xz
defmod atkmm 2.22.6 http://ftp.gnome.org/pub/GNOME/sources/atkmm/2.22/ xz
defmod gtkmm 2.24.2 http://ftp.acc.umu.se/pub/GNOME/sources/gtkmm/2.24/ xz
defmod libart_lgpl 2.3.21 http://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/ bz2
defmod libgnomecanvas 2.30.3 http://ftp.gnome.org/pub/gnome/sources/libgnomecanvas/2.30/ bz2
defmod libgnomecanvasmm 2.26.0 http://ftp.acc.umu.se/pub/GNOME/sources/libgnomecanvasmm/2.26/ bz2
defmod liblo 0.26 http://downloads.sourceforge.net/liblo/ gz
defmod raptor2 2.0.6 http://download.librdf.org/source/ gz
@ -179,7 +177,6 @@ defmod libogg 1.3.0 http://downloads.xiph.org/releases/ogg/ xz
defmod flac 1.2.1 http://downloads.xiph.org/releases/flac/ gz
defmod libvorbis 1.3.2 http://downloads.xiph.org/releases/vorbis/ bz2
defmod libsamplerate 0.1.8 http://www.mega-nerd.com/SRC/ gz
defmod libsndfile 1.0.25 http://www.mega-nerd.com/libsndfile/files/ gz
defmod aubio 0.3.2 http://aubio.org/pub/ gz
defmod rdflib 3.2.0 http://rdflib.googlecode.com/files/ gz
defmod setuptools 0.6c11 http://pypi.python.org/packages/source/s/setuptools/ gz
@ -196,6 +193,13 @@ if [ x$OSX = x ] ; then
defmod util_linux util-linux 2.21 http://www.kernel.org/pub/linux/utils/util-linux/v2.21/ xz
fi
# modified sources downloaded from ardour.org
defmod libsigcpp libsigc++ 2.2.10 http://ardour.org/files/deps/ bz2
defmod libgnomecanvas 2.30.3 http://ardour.org/files/deps/ gz
defmod libsndfile 1.0.25 http://ardour.org/files/deps/ gz
mkdir -p $PREFIX
export MAKEFLAGS=-j$parallel
@ -221,10 +225,6 @@ if uname -a | grep --silent arwin ; then
# for 10.5 and above, add to LDFLAGS
# "-syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
export MACOSX_DEPLOYMENT_TARGET=10.4
# If the default python is not new enough, set PYTHON to point to a
# suitably new (2.7 or later) version of Python's framework
PYTHON=
#PYTHON=/Library/Frameworks/Python.framework/Versions/2.7
else
export LD_LIBRARY_PATH=$PREFIX/lib{$LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
GLOBAL_CFLAGS=
@ -265,12 +265,7 @@ basic_builder pangomm
basic_builder atkmm
basic_builder gtkmm
basic_builder libart_lgpl
gnomecanvas_patch=$this_script_dir/misc-patches/gnome-canvas-slow-idle.patch
tar xf $MOD_libgnomecanvas_local_tarball && \
(set -e && cd $MOD_libgnomecanvas_unpacked && patch -p0 < $gnomecanvas_patch && CXXFLAGS="$GLOBAL_CFLAGS" CFLAGS="$GLOBAL_CFLAGS" LDFLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install) || die "gnomecanvas build failed"
basic_builder libgnomecanvas
basic_builder libgnomecanvasmm
basic_builder liblo
basic_builder raptor2
@ -289,18 +284,15 @@ fi
basic_builder libvorbis
sndfile_patch=$this_script_dir/misc-patches/libsndfile-1.0.25.patch
if [ x$OSX != x ] ; then
# sndfile-play incorrectly includes <Carbon.h> which no longer works on Lion
tar xf $MOD_libsndfile_local_tarball && \
(set -e && cd $MOD_libsndfile_unpacked && patch -p0 < $sndfile_patch && CFLAGS="$GLOBAL_CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers" LDFLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX --disable-silent-rules && make && make install) || die "sndfile build failed"
(set -e && cd $MOD_libsndfile_unpacked && CFLAGS="$GLOBAL_CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers" LDFLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX --disable-silent-rules && make && make install) || die "sndfile build failed"
# samplerate incorrectly includes <Carbon.h> which no longer works on Lion
tar xf $MOD_libsamplerate_local_tarball && \
(set -e && cd $MOD_libsamplerate_unpacked && CFLAGS="$GLOBAL_CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers" LDFLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install) || die "samplerate build failed"
else
tar xf $MOD_libsndfile_local_tarball && \
(set -e && cd $MOD_libsndfile_unpacked && patch -p0 < $sndfile_patch && CFLAGS="$GLOBAL_CFLAGS" LDFLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX --disable-silent-rules && make && make install) || die "sndfile build failed"
basic_builder libsndfile
basic_builder libsamplerate
fi
@ -345,45 +337,3 @@ tar xf $MOD_lilv_local_tarball && \
tar xf $MOD_suil_local_tarball && \
(set -e && cd $MOD_suil_unpacked && CFLAGS="-I$PREFIX/include" ./waf configure --prefix=$PREFIX && ./waf && ./waf install && fix_install_name $PREFIX/lib/libsuil-0.dylib) || die "suil build failed"
# two post-install hacks
if uname -a | grep --silent arwin ; then
#
# this is only needed on OS X where some Carbon headers define nil
#
cat <<EOFA | patch -d $PREFIX -p1
--- ../include/sigc++-2.0/sigc++/functors/functor_trait.h~
+++ ../include/sigc++-2.0/sigc++/functors/functor_trait.h
@@ -24,6 +24,9 @@
#define _SIGC_FUNCTORS_MACROS_FUNCTOR_TRAITHM4_
#include <sigc++/type_traits.h>
+#ifdef nil
+#undef nil
+#endif
namespace sigc {
EOFA
fi
#
# libgnomecanvas has an incorrect pkg-config file. it has an implicit dependency on pangoft2.
#
cat <<EOFB | patch -d $PREFIX -p1
--- ../lib/pkgconfig/libgnomecanvas-2.0.pc~
+++ ../lib/pkgconfig/libgnomecanvas-2.0.pc
@@ -5,8 +5,8 @@
Name: libgnomecanvas-2.0
Description: libgnomecanvas
-Requires: libart-2.0 gtk+-2.0
-Requires.private: pango pangoft2 gail
+Requires: libart-2.0 gtk+-2.0 pangoft2
+Requires.private: pango gail
Version: 2.30.3
Libs: -L${libdir} -lgnomecanvas-2
Cflags: -I${includedir}/libgnomecanvas-2.0
EOFB

View File

@ -1,5 +1,17 @@
#!/bin/bash
#
# THIS SCRIPT EXISTS FOR THE PURPOSE OF BUILDING THE ENTIRE GTK STACK UP UPON WHICH ARDOUR DEPENDS
#
# Its use is not documented, and it is not intended to be used or useful to anyone attempting to build
# Ardour.
#
# The requirements for building Ardour are made clear in the documentation on building available
# via http://ardour.org/development. Once your system satisfies those requirements, you can build ardour
# using the instructions documented online. This script happens to be usable to satisfy those requirements,
# but there are other approaches that you can and probably should use to do so.
#
clean=
makespace=
parallel=2
@ -169,13 +181,20 @@ defmod 'gtkosxdocbook' 'gtk-osx-docbook' '1.0' 'http://downloads.sourceforge.net
defmod 'gobjectintrospection' 'gobject-introspection' '1.31.10' 'http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.31/' 'xz'
defmod 'gtkengines' 'gtk-engines' '2.21.0' 'http://ardour.org/files/' 'gz'
# modified source : fetch tarballs from ardour.org
defmod gtk gtk+ '2.24.18' http://ardour.org/files/deps/ bz2
if [ x$clean != x -o x$makespace != x ] ; then
if [ ! -d gtk+ ] ; then
#
# bison 2.5 is just used here because its unlikely to occur in
# a random non-source directory
#
if [ ! -d bison-2.5 ] ; then
echo "This doesn't appear to be your source directory. Don't run --clean or --space here."
exit 1
fi
rm -rf `find . -maxdepth 1 -type d | grep -v -e "gtk+" -e "^.$"`
# sudo required because of its use during the libxml2 install step
rm -rf `find . -maxdepth 1 -type d | grep -v -e "^.$"`
if [ $clean ] ; then
rm -rf $PREFIX
fi
@ -278,24 +297,16 @@ for m in $MODS ; do
eval "fetch_as \$MOD_${m}_local_tarball \$MOD_${m}_url || die \"downloading $m failed\""
done
# GTK is special since we use git
if [ ! -d gtk+ ] ; then
echo "GTK+ (2.24 branch)"
git clone git://git.gnome.org/gtk+
(cd gtk+ && git checkout --track -b gtk-2-24 origin/gtk-2-24)
fi
if [ x$patch != x ] ; then
cd gtk+
echo "Testing ($unpatch) patches ... "
if uname -a | grep --silent arwin ; then
# if uname -a | grep --silent arwin ; then
patches=`ls $this_script_dir/current-gtk-patches/*.patch`
else
patches="$this_script_dir/current-gtk-patches/gtkrelocation.patch"
fi
# else
# patches="$this_script_dir/current-gtk-patches/gtkrelocation.patch"
# fi
for patch in $patches ; do
if patch $unpatch --dry-run -p1 < "$patch" ; then
@ -456,8 +467,10 @@ if [ x$OSX = x ] ; then
# lets the user set an environment variable that will force a Cairo workaround
# to the issue.
#
# --enable-gtk-doc is required so that make dist will work, which we need to be able to run for GPL compliance
#
cairo_gradient_patch=$this_script_dir/misc-patches/cairo-gradients.patch
tar xf $MOD_cairo_local_tarball && (cd $MOD_cairo_unpacked && patch -p4 < $cairo_gradient_patch && CFLAGS=$GLOBAL_CFLAGS LDFLAGS="$GLOBAL_LDFLAGS" ./configure $GLOBAL_CONF $CAIRO_CONF && make && make install) || die "cairo build failed"
tar xf $MOD_cairo_local_tarball && (cd $MOD_cairo_unpacked && patch -p4 < $cairo_gradient_patch && CFLAGS=$GLOBAL_CFLAGS LDFLAGS="$GLOBAL_LDFLAGS" ./configure $GLOBAL_CONF $CAIRO_CONF --enable-gtk-doc && make && make install) || die "cairo build failed"
else
tar xf $MOD_cairo_local_tarball && (cd $MOD_cairo_unpacked && CFLAGS=$GLOBAL_CFLAGS LDFLAGS="$GLOBAL_LDFLAGS" ./configure $GLOBAL_CONF $CAIRO_CONF && make && make install) || die "cairo build failed"
fi
@ -483,10 +496,12 @@ fi
#
# now gtk itself
#
# --enable-gtk-doc is required so that make dist will work, which we need to be able to run for GPL compliance
#
(cd gtk+ && CFLAGS="$GLOBAL_CFLAGS" LDFLAGS="$GLOBAL_LDFLAGS" \
sh autogen.sh --enable-maintainer-mode --prefix=$PREFIX --libdir=$PREFIX/lib \
--disable-cups --disable-papi --disable-introspection --enable-relocation \
(tar xf $MOD_gtk_local_tarball &&
cd $MOD_gtk_unpacked && CFLAGS="$GLOBAL_CFLAGS" LDFLAGS="$GLOBAL_LDFLAGS" \
./configure --enable-maintainer-mode --prefix=$PREFIX --libdir=$PREFIX/lib \
--disable-cups --disable-papi --disable-introspection --enable-relocation --enable-gtk-doc \
--with-gdktarget=$GTK_BACKEND && make && make install) || die "GTK build failed"
#