Move buildscripts.

This commit is contained in:
codestation
2016-11-19 20:49:24 -04:00
parent a8194e88fc
commit ae6c503407
10 changed files with 210 additions and 1 deletions

2
.gitignore vendored
View File

@@ -1,4 +1,6 @@
qcma.pro.user*
*.o
*.qm
*.bundle
org.qcma.*.xml

73
buildscripts/build_macos.sh Executable file
View File

@@ -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
buildscripts/build_windows.sh Executable file
View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -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
}

View File

@@ -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