Skip to content

Commit

Permalink
Move buildscripts.
Browse files Browse the repository at this point in the history
  • Loading branch information
codestation committed Nov 21, 2016
1 parent a8194e8 commit ae6c503
Show file tree
Hide file tree
Showing 10 changed files with 210 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
qcma.pro.user*
*.o
*.qm
*.bundle
org.qcma.*.xml

73 changes: 73 additions & 0 deletions buildscripts/build_macos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/bash

set -eu

show_usage() {
echo -e "Usage: $0 <host> <branch> [config]"
}

if [ $# -lt 1 ]
then
show_usage
exit 1
fi

SERVER_HOST=$1
BRANCH=$2

QT_VERSION=5.7
QT_REVISION=${QT_VERSION}.0
QCMA_SOURCES=~/projects/qcma

VERSION=$(git -C "${QCMA_SOURCES}" describe --tags --abbrev=8)
VERSION=${VERSION#v*}

if [ $# -ge 3 ]; then
CONFIG=$3
else
CONFIG=
fi

case "$CONFIG" in
*DISABLE_FFMPEG*)
BUILD_MODE=_noffmpeg
;;
*)
BUILD_MODE=
;;
esac

git -C "${QCMA_SOURCES}" bundle create qcma.bundle --all
scp "${QCMA_SOURCES}/qcma.bundle" $SERVER_HOST:qcma.bundle

ssh -T "${SERVER_HOST}" << EOSSH
#!/bin/bash
set -eu
QCMA_DIR="\$HOME/qcma"
rm -rf "\${QCMA_DIR}"
git clone -b ${BRANCH} qcma.bundle "\${QCMA_DIR}"
rm -rf qcma_build
mkdir qcma_build
pushd qcma_build
PATH=~/Qt${QT_REVISION}/${QT_VERSION}/clang_64/bin:/usr/local/bin:\$PATH
lrelease "\${QCMA_DIR}/qcma.pro"
qmake "\${QCMA_DIR}/qcma.pro" $CONFIG
make -j2
popd
rm -rf \${HOME}/qcma_output
mkdir \${HOME}/qcma_output
mv qcma_build/gui/qcma.app \${HOME}/qcma_output/Qcma.app
cp \${QCMA_DIR}/buildscripts/macos/* \${HOME}/qcma_output/
pushd \${HOME}/qcma_output/
macdeployqt Qcma.app -appstore-compliant
appdmg appdmg.json Qcma_${VERSION}${BUILD_MODE}.dmg
echo "Created Qcma_${VERSION}${BUILD_MODE}.dmg"
popd
EOSSH

scp ${SERVER_HOST}:qcma_output/Qcma_${VERSION}${BUILD_MODE}.dmg .
91 changes: 91 additions & 0 deletions buildscripts/build_windows.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
#!/bin/bash

set -ex

SERVER_HOST=$1

VERSION=$(git describe --tags --abbrev=8)

scp windows/driver/*.exe ${SERVER_HOST}:
scp windows/qcma.nsi ${SERVER_HOST}:qcma.nsi
scp COPYING ${SERVER_HOST}:COPYING.rtf
scp gui/resources/images/qcma.ico ${SERVER_HOST}:qcma.ico

ssh -T "${SERVER_HOST}" << EOSSH
#!/bin/bash
set -ex
for arch in i686 x86_64; do
if [ "\$arch" == "i686" ]; then
bits=32
seh=libgcc_s_dw2-1.dll
else
bits=64
seh=libgcc_s_seh-1.dll
fi
rm -rf win_\${arch}
mkdir win_\${arch}
OUT=\$(pwd)
pushd /cygdrive/c/ffmpeg-3.1.4-win\${bits}-shared/bin
cp avcodec-57.dll "\${OUT}/win_\${arch}/"
cp avformat-57.dll "\${OUT}/win_\${arch}/"
cp avutil-55.dll "\${OUT}/win_\${arch}/"
cp swscale-4.dll "\${OUT}/win_\${arch}/"
cp swresample-2.dll "\${OUT}/win_\${arch}/"
pushd /cygdrive/c/msys64/mingw\${bits}/bin
cp libfreetype-6.dll "\${OUT}/win_\${arch}/"
cp \${seh} "\${OUT}/win_\${arch}/"
cp libglib-2.0-0.dll "\${OUT}/win_\${arch}/"
cp libgraphite2.dll "\${OUT}/win_\${arch}/"
cp libharfbuzz-0.dll "\${OUT}/win_\${arch}/"
cp libiconv-2.dll "\${OUT}/win_\${arch}/"
cp libicudt57.dll "\${OUT}/win_\${arch}/"
cp libicuin57.dll "\${OUT}/win_\${arch}/"
cp libicuuc57.dll "\${OUT}/win_\${arch}/"
cp libjpeg-8.dll "\${OUT}/win_\${arch}/"
cp libpcre-1.dll "\${OUT}/win_\${arch}/"
cp libpcre16-0.dll "\${OUT}/win_\${arch}/"
cp libpng16-16.dll "\${OUT}/win_\${arch}/"
cp libsqlite3-0.dll "\${OUT}/win_\${arch}/"
cp libstdc++-6.dll "\${OUT}/win_\${arch}/"
cp libtiff-5.dll "\${OUT}/win_\${arch}/"
cp libusb-1.0.dll "\${OUT}/win_\${arch}/"
cp libvitamtp-5.dll "\${OUT}/win_\${arch}/"
cp libwinpthread-1.dll "\${OUT}/win_\${arch}/"
cp libxml2-2.dll "\${OUT}/win_\${arch}/"
cp Qt5Core.dll "\${OUT}/win_\${arch}/"
cp Qt5Gui.dll "\${OUT}/win_\${arch}/"
cp Qt5Sql.dll "\${OUT}/win_\${arch}/"
cp Qt5Network.dll "\${OUT}/win_\${arch}/"
cp Qt5Widgets.dll "\${OUT}/win_\${arch}/"
cp zlib1.dll "\${OUT}/win_\${arch}/"
cp liblzma-5.dll "\${OUT}/win_\${arch}/"
cp libbz2-1.dll "\${OUT}/win_\${arch}/"
cp libintl-8.dll "\${OUT}/win_\${arch}/"
cp qcma.exe "\${OUT}/win_\${arch}/"
cp qcma_console.exe "\${OUT}/win_\${arch}/"
pushd /cygdrive/c/msys64/mingw\${bits}/share/qt5/plugins
mkdir "\${OUT}/win_\${arch}/platforms"
mkdir "\${OUT}/win_\${arch}/imageformats"
mkdir "\${OUT}/win_\${arch}/sqldrivers"
cp platforms/qwindows.dll "\${OUT}/win_\${arch}/platforms"
cp imageformats/qgif.dll "\${OUT}/win_\${arch}/imageformats"
cp imageformats/qjpeg.dll "\${OUT}/win_\${arch}/imageformats"
cp imageformats/qtiff.dll "\${OUT}/win_\${arch}/imageformats"
cp sqldrivers/qsqlite.dll "\${OUT}/win_\${arch}/sqldrivers"
pushd /cygdrive/c/msys64/mingw\${bits}/share/qt5/translations
mkdir "\${OUT}/win_\${arch}/"translations
cp qt_*.qm "\${OUT}/win_\${arch}/"translations
popd
popd
popd
popd
done
"/cygdrive/c/Program Files (x86)/NSIS/makensis" qcma.nsi
EOSSH
scp ${SERVER_HOST}:Qcma_setup.exe Qcma_setup-${VERSION}.exe
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
43 changes: 43 additions & 0 deletions buildscripts/windows/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
_realname=qcma
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=v0.3.13.13.g5236770
pkgrel=1
pkgdesc="Content Manager Assistant for the PS Vita"
arch=(any)
url="https://github.com/codestation/qcma"
license=("GPL")
makedepends=(${MINGW_PACKAGE_PREFIX}-pkg-config)
depends=(${MINGW_PACKAGE_PREFIX}-crt ${MINGW_PACKAGE_PREFIX}-qt5 ${MINGW_PACKAGE_PREFIX}-ffmpeg ${MINGW_PACKAGE_PREFIX}-vitamtp)
options=(strip staticlibs)
source=('git+https://github.com/codestation/qcma.git#branch=testing')
sha256sums=('SKIP')

pkgver() {
cd qcma
echo "$(git describe --long --tags | tr - .)"
}

build() {
unset LDFLAGS

for opt in gui console; do
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}_${opt}
mkdir -p ${srcdir}/build-${MINGW_CHOST}_${opt} && cd ${srcdir}/build-${MINGW_CHOST}_${opt}
lrelease ../qcma/qcma.pro
qmake ../qcma/qcma.pro CONFIG+=${opt}
make
done
}

package() {

for opt in gui console; do
cd ${srcdir}/build-${MINGW_CHOST}_${opt}
if [ $opt == "console" ]; then
install -D gui/qcma.exe "${pkgdir}${MINGW_PREFIX}/bin/qcma_console.exe"
else
install -D gui/qcma.exe "${pkgdir}${MINGW_PREFIX}/bin/qcma.exe"
fi
done
}
2 changes: 1 addition & 1 deletion windows/qcma.nsi → buildscripts/windows/qcma.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ RequestExecutionLevel admin

# This will be in the installer/uninstaller title bar
Name "${PRODUCT_NAME}"
OutFile "${PRODUCT_NAME}_setup_${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.${PRODUCT_VERSION_BUILD}.exe"
OutFile "${PRODUCT_NAME}_setup.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"

!define MUI_LANGDLL_ALLLANGUAGES
Expand Down

0 comments on commit ae6c503

Please sign in to comment.