Build OS X packages in GitLab

This commit is contained in:
Lukáš Lalinský
2017-01-20 12:25:37 +01:00
parent 2ff74bad2b
commit 979347ddca
3 changed files with 40 additions and 23 deletions

View File

@@ -10,11 +10,21 @@ variables:
package win:
stage: package
script:
- set PATCH_VERSION=1
- scripts/package-win.bat
- call "scripts\package-win.bat"
artifacts:
paths:
- picard-setup-*.exe
expire_in: 90d
tags:
- winxp
package osx:
stage: package
script:
- bash -xe ./scripts/package-osx.sh
artifacts:
paths:
- MusicBrainz-Picard-*.dmg
expire_in: 90d
tags:
- osx

View File

@@ -1,36 +1,43 @@
export PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH
curl -L -O https://github.com/acoustid/chromaprint/releases/download/v$CHROMAPRINT_FPCALC_VERSION/chromaprint-fpcalc-$CHROMAPRINT_FPCALC_VERSION-macos-x86_64.tar.gz
tar --strip-components 1 -xf chromaprint-fpcalc-$CHROMAPRINT_FPCALC_VERSION-macos-x86_64.tar.gz chromaprint-fpcalc-$CHROMAPRINT_FPCALC_VERSION-macos-x86_64/fpcalc
curl -L -O http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-$DISCID_VERSION-mac.zip
unzip -jx libdiscid-$DISCID_VERSION-mac.zip libdiscid-$DISCID_VERSION-mac/intel64/libdiscid.0.dylib
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
cd deps
tar xf chromaprint-fpcalc-*.tar.gz
rm chromaprint-fpcalc-*.tar.gz
export PATH=`pwd`/`ls | grep chromaprint-fpcalc`:$PATH
cd ..
if [ "$PATCH_VERSION" = "1" ]
then
python2.7 setup.py patch_version --platform=osx
fi
version=`python -c 'import picard; print picard.__version__'`
curl -L -o plugins.zip https://github.com/metabrainz/picard-plugins/archive/master.zip
unzip -x plugins.zip
mkdir contrib
mv picard-plugins-master/plugins contrib/plugins
rm -rf e
virtualenv -p python2.7 --system-site-packages e
. e/bin/activate
pip install mutagen==1.27
pip install https://github.com/JonnyJD/python-discid/archive/dmg.zip
pip install py2app==0.9
pip install mutagen==$MUTAGEN_VERSION
pip install https://github.com/JonnyJD/python-discid/archive/dmg.zip # XXX can't use $PYTHON_DISCID_VERSION
pip install py2app
perl -pi -e 's{plugin_dir = (.*)$}{plugin_dir = "/Developer/Applications/Qt/plugins"}' e/lib/python2.7/site-packages/py2app/recipes/sip.py
echo 'from __future__ import absolute_import' > e/lib/python2.7/site-packages/py2app/recipes/sip.py.new
cat e/lib/python2.7/site-packages/py2app/recipes/sip.py >> e/lib/python2.7/site-packages/py2app/recipes/sip.py.new
mv e/lib/python2.7/site-packages/py2app/recipes/sip.py.new e/lib/python2.7/site-packages/py2app/recipes/sip.py
if [ -z "$CI_BUILD_TAG" ]
then
python setup.py patch_version --platform=osx
fi
VERSION=`python -c 'import picard; print picard.__version__'`
rm -rf dist build locale
python2.7 setup.py clean
python2.7 setup.py build_ext -i
python2.7 setup.py build_locales -i
python2.7 setup.py py2app
python setup.py clean
python setup.py build_ext -i
python setup.py build_locales -i
python setup.py py2app
cd dist
ditto -rsrc --arch x86_64 'MusicBrainz Picard.app' 'MusicBrainz Picard.tmp'
rm -r 'MusicBrainz Picard.app'
mv 'MusicBrainz Picard.tmp' 'MusicBrainz Picard.app'
hdiutil create -volname "MusicBrainz Picard $version" -srcfolder 'MusicBrainz Picard.app' -ov -format UDBZ MusicBrainz-Picard-$version.dmg
hdiutil create -volname "MusicBrainz Picard $VERSION" -srcfolder 'MusicBrainz Picard.app' -ov -format UDBZ ../MusicBrainz-Picard-$VERSION.dmg

View File

@@ -26,7 +26,7 @@ set PATH=%CI_PROJECT_DIR%\e\scripts;%PATH%
pip install mutagen==%MUTAGEN_VERSION%
pip install discid==%PYTHON_DISCID_VERSION%
if "%PATCH_VERSION%" == "1" python setup.py patch_version --platform=win
if NOT "%CI_BUILD_TAG%" == "" python setup.py patch_version --platform=win
rmdir /S /Q dist build locale
python setup.py clean