--- misc/trunk/mac_package_builder/make-tar-file.sh 2014/02/08 19:41:26 2520 +++ misc/trunk/mac_package_builder/make-tar-file.sh 2015/06/14 15:13:44 2776 @@ -9,6 +9,9 @@ P=/home/persson/mac D=linuxsampler_`date +%Y%m%d` +# command line tools shipped with libgig +gigtools_bins="akaidump akaiextract dlsdump gig2mono gig2stereo gigdump gigextract gigmerge korg2gig korgdump rifftree sf2dump" + createuniv () { $LIPO -create "$P/x86_64/$1" "$P/i686/$1" "$P/powerpc/$1" \ @@ -17,6 +20,9 @@ rm -rf linuxsampler_* +rm -rf components +rm -rf linuxsampler.prepkg +rm -rf LinuxSampler.pkg mkdir -p "$D/LinuxSampler" "$D/lib" @@ -28,7 +34,7 @@ createuniv lib/libFLAC.8.2.0.dylib ln -s libFLAC.8.2.0.dylib "$D/lib/libFLAC.8.dylib" createuniv lib/libsndfile.1.dylib -createuniv lib/libgig.6.dylib +createuniv lib/libgig/libgig.6.dylib lib/libgig.6.dylib createuniv lib/linuxsampler/liblinuxsampler.3.dylib lib/liblinuxsampler.3.dylib createuniv bin/linuxsampler LinuxSampler/linuxsampler createuniv bin/lscp LinuxSampler/lscp @@ -47,6 +53,14 @@ createuniv VST/LinuxSampler.vst/Contents/MacOS/LinuxSampler LinuxSampler.vst/Contents/MacOS/LinuxSampler +# gigtools + +for x in $gigtools_bins +do + createuniv "bin/$x" "LinuxSampler/$x" +done + + # Fantasia cp -r "$P/Fantasia.app" "$D/LinuxSampler" @@ -106,6 +120,115 @@ cp /home/persson/macgtk64/share/locale/sv/LC_MESSAGES/gtk20.mo "$D/lib/locale/sv/LC_MESSAGES" -# package +# generate OS X .pkg package / installer ... + +component="codecs" +dlib="components/$component.pkg/lib" +mkdir -p $dlib +for f in `ls $D/lib/libFLAC* $D/lib/libogg* $D/lib/libsndfile* $D/lib/libvorbis*`; do + cp $f $dlib +done + +component="fantasia" +dlib="components/$component.pkg/LinuxSampler" +mkdir -p $dlib +cp -r $D/LinuxSampler/Fantasia.app $dlib + +component="gigedit" +dlib="components/$component.pkg/LinuxSampler" +mkdir -p $dlib +cp -r $D/LinuxSampler/$component.app $dlib + +component="libgig" +dlib="components/$component.pkg/lib" +mkdir -p $dlib +for f in `ls $D/lib/libgig.*`; do + cp $f $dlib +done + +component="gigtools" +dlib="components/$component.pkg/bin" +mkdir -p $dlib +for f in $gigtools_bins; do + cp $D/LinuxSampler/$f $dlib +done + +component="libgigedit" +dlib="$PWD/components/$component.pkg/lib" +mkdir -p $dlib +( + cd $D/lib/ + for f in `ls -d linuxsampler libgigedit* locale/*/LC_MESSAGES/gigedit.mo`; do + cp -r --parents $f $dlib + done +) + +component="libgtk" +dlib="$PWD/components/$component.pkg/lib" +mkdir -p $dlib +( + cd $D/lib/ + for f in `ls -d gdk* gtk* locale/*/LC_MESSAGES/gtk20.mo pango libatk* libcairo* libffi* libfont* libfreetype* libgailutil* libgdk* libgio* libglib* libgmodule* libgobject* libgthread* libgtk* libintl* libjpeg* libpango* libpixman* libpng* libsigc* libtiff*`; do + cp -r --parents $f $dlib + done +) + +component="liblinuxsampler" +dlib="components/$component.pkg/lib" +mkdir -p $dlib +for f in `ls $D/lib/liblinuxsampler*`; do + cp $f $dlib +done +mkdir -p "$dlib/linuxsampler/plugins" + +component="linuxsampler" +dlib="components/$component.pkg/bin" +mkdir -p $dlib +for f in `ls $D/LinuxSampler/linuxsampler $D/LinuxSampler/lscp`; do + cp $f $dlib +done + +component="linuxsampler_au" +dlib="components/$component.pkg" +mkdir -p $dlib +cp -r $D/LinuxSamplerAU.component $dlib + +component="linuxsampler_vst" +dlib="components/$component.pkg" +mkdir -p $dlib +cp -r $D/LinuxSampler.vst $dlib + +component="qsampler" +dlib="components/$component.pkg/LinuxSampler" +mkdir -p $dlib +cp -r $D/LinuxSampler/$component.app $dlib + + +mkdir linuxsampler.prepkg +cp linuxsampler.unpkg/Distribution linuxsampler.prepkg +rsync -r --exclude='.svn' linuxsampler.unpkg/Resources linuxsampler.prepkg +( + cd components + for d in `ls -d *.pkg`; do + mkdir -p ../linuxsampler.prepkg/$d + ( + cd $d + find . | cpio -o --format odc --owner 0:80 | gzip -c + ) > ../linuxsampler.prepkg/$d/Payload + mkbom -u 0 -g 80 $d ../linuxsampler.prepkg/$d/Bom + size_kb=`du -sk $d | cut -f 1` + entries_count=`find . | wc -l` + cp ../linuxsampler.unpkg/$d/PackageInfo ../linuxsampler.prepkg/$d + xmltxt=`xmlstarlet ed -u '/pkg-info/payload/@numberOfFiles' -v $entries_count ../linuxsampler.prepkg/$d/PackageInfo | xmlstarlet ed -u '/pkg-info/payload/@installKBytes' -v $size_kb -` + echo $xmltxt > ../linuxsampler.prepkg/$d/PackageInfo + identifier=`xmlstarlet sel -t -v '/pkg-info/@identifier' ../linuxsampler.prepkg/$d/PackageInfo` + xmltxt=`xmlstarlet ed -u "/installer-gui-script/pkg-ref[@id='$identifier']/@installKBytes" -v $size_kb ../linuxsampler.prepkg/Distribution` + echo $xmltxt > ../linuxsampler.prepkg/Distribution + done +) +( + cd linuxsampler.prepkg + xar --compression none -cf ../LinuxSampler.pkg . +) -tar cjf "$D.tar.bz2" "$D" +tar cjf "$D.tar.bz2" README LinuxSampler.pkg