From 70be537d894f0f016363c2dedf9936645faccff1 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 4 May 2019 16:29:53 +0200 Subject: [PATCH] Update packages of own projects to next major releases --- c++utilities/android-aarch64/PKGBUILD | 24 +++-- c++utilities/android-armv7a-eabi/PKGBUILD | 24 +++-- c++utilities/apple-darwin/PKGBUILD | 70 +++++++++---- c++utilities/default/PKGBUILD | 10 +- c++utilities/doc/PKGBUILD | 10 +- c++utilities/mingw-w64/PKGBUILD | 71 ++++++++----- cmake/mingw-w64/PKGBUILD | 2 +- cmake/mingw-w64/mingw-cmake.sh | 21 +++- cmake/mingw-w64/mingw-wine.sh | 21 ---- dbus-soundrecorder/default/PKGBUILD | 10 +- devel/apply-versions.sh | 10 +- devel/own-projects/release-on-github.sh | 32 +++++- devel/own-projects/sync-android-variants.sh | 7 ++ .../upload-mingw-w64-to-github.sh | 63 ++++++++---- devel/sync-variants.sh | 2 + devel/versions.sh | 20 ++-- geocoordinatecalculator/default/PKGBUILD | 6 +- geocoordinatecalculator/mingw-w64/PKGBUILD | 47 +++++++-- passwordfile/android-aarch64/PKGBUILD | 11 +-- passwordfile/android-armv7a-eabi/PKGBUILD | 11 +-- passwordfile/default/PKGBUILD | 8 +- passwordfile/doc/PKGBUILD | 8 +- passwordfile/mingw-w64/PKGBUILD | 71 +++++++++---- passwordmanager/android-aarch64/PKGBUILD | 2 +- passwordmanager/android-armv7a-eabi/PKGBUILD | 3 +- passwordmanager/default/PKGBUILD | 2 +- passwordmanager/mingw-w64-static/PKGBUILD | 52 ---------- passwordmanager/mingw-w64/PKGBUILD | 63 +++++++++--- qtutilities/android-aarch64/PKGBUILD | 3 +- qtutilities/android-armv7a-eabi/PKGBUILD | 3 +- qtutilities/default/PKGBUILD | 8 +- qtutilities/doc/PKGBUILD | 8 +- qtutilities/mingw-w64/PKGBUILD | 64 ++++++++---- reflective-rapidjson/default/PKGBUILD | 8 +- reflective-rapidjson/doc/PKGBUILD | 8 +- reflective-rapidjson/mingw-w64/PKGBUILD | 75 +++++++++----- syncthingtray/default/PKGBUILD | 9 +- syncthingtray/mingw-w64-static/PKGBUILD | 70 ------------- syncthingtray/mingw-w64-webview/PKGBUILD | 61 ------------ syncthingtray/mingw-w64/PKGBUILD | 99 ++++++++++++++----- tageditor/default/PKGBUILD | 7 +- tageditor/mingw-w64-static/PKGBUILD | 73 -------------- tageditor/mingw-w64-webview/PKGBUILD | 66 ------------- tageditor/mingw-w64/PKGBUILD | 84 +++++++++++----- tagparser/android-aarch64/PKGBUILD | 7 +- tagparser/android-armv7a-eabi/PKGBUILD | 7 +- tagparser/default/PKGBUILD | 8 +- tagparser/doc/PKGBUILD | 8 +- tagparser/mingw-w64/PKGBUILD | 69 +++++++++---- videodownloader/default/PKGBUILD | 8 +- videodownloader/mingw-w64/PKGBUILD | 64 +++++++++--- 51 files changed, 821 insertions(+), 677 deletions(-) delete mode 100644 cmake/mingw-w64/mingw-wine.sh create mode 100755 devel/own-projects/sync-android-variants.sh delete mode 100644 passwordmanager/mingw-w64-static/PKGBUILD delete mode 100644 syncthingtray/mingw-w64-static/PKGBUILD delete mode 100644 syncthingtray/mingw-w64-webview/PKGBUILD delete mode 100644 tageditor/mingw-w64-static/PKGBUILD delete mode 100644 tageditor/mingw-w64-webview/PKGBUILD diff --git a/c++utilities/android-aarch64/PKGBUILD b/c++utilities/android-aarch64/PKGBUILD index aae9458f..e302f08d 100644 --- a/c++utilities/android-aarch64/PKGBUILD +++ b/c++utilities/android-aarch64/PKGBUILD @@ -6,12 +6,14 @@ _reponame=cpp-utilities _pkgname=c++utilities _android_arch=arm64-v8a +_android_cflags= +_android_ldflags= _pkg_arch=aarch64 _android_platform=22 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=4.17.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_pkg_arch)" @@ -26,7 +28,7 @@ conflicts=("android-$_pkgname-$_android_arch") replaces=("android-$_pkgname-$_android_arch") url="https://github.com/Martchus/${_reponame}" source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805') +sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4') options=(!buildflags staticlibs !strip !emptydirs) prepare() { @@ -41,25 +43,21 @@ build() { local include_dir=$_prefix/include cmake \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SYSTEM_NAME=Android \ -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_SDK="$android_sdk_path" \ -DCMAKE_ANDROID_NDK="$android_ndk_path" \ -DCMAKE_ANDROID_STL_TYPE=c++_shared \ - -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$_prefix \ -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ - -DUSE_NATIVE_FILE_BUFFER=ON \ - -DNO_DOXYGEN=ON \ - -Diconv_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Diconv_STATIC_INCLUDE_DIR="$include_dir" \ - -Dboost_iostreams_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dboost_iostreams_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_DYNAMIC_LIB="$_prefix/lib/libcppunit-1.14.so" \ - -Dcppunit_STATIC_LIB="$_prefix/lib/libcppunit.a" \ + -DCMAKE_CXX_FLAGS:STRING="$_android_cflags" \ + -DUSER_DEFINED_ADDITIONAL_LIBRARIES:STRING="$_android_ldflags" \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DUSE_NATIVE_FILE_BUFFER:BOOL=ON \ + -DUSE_STANDARD_FILESYSTEM:BOOL=OFF \ + -DNO_DOXYGEN:BOOL=ON \ . make VERBOSE=1 } diff --git a/c++utilities/android-armv7a-eabi/PKGBUILD b/c++utilities/android-armv7a-eabi/PKGBUILD index 68a0c9b3..9463feb9 100644 --- a/c++utilities/android-armv7a-eabi/PKGBUILD +++ b/c++utilities/android-armv7a-eabi/PKGBUILD @@ -6,12 +6,14 @@ _reponame=cpp-utilities _pkgname=c++utilities _android_arch=armeabi-v7a +_android_cflags= +_android_ldflags=-latomic _pkg_arch=armv7a-eabi _android_platform=21 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=4.17.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_pkg_arch)" @@ -26,7 +28,7 @@ conflicts=("android-$_pkgname-$_android_arch") replaces=("android-$_pkgname-$_android_arch") url="https://github.com/Martchus/${_reponame}" source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805') +sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4') options=(!buildflags staticlibs !strip !emptydirs) prepare() { @@ -41,25 +43,21 @@ build() { local include_dir=$_prefix/include cmake \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SYSTEM_NAME=Android \ -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_SDK="$android_sdk_path" \ -DCMAKE_ANDROID_NDK="$android_ndk_path" \ -DCMAKE_ANDROID_STL_TYPE=c++_shared \ - -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$_prefix \ -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ - -DUSE_NATIVE_FILE_BUFFER=ON \ - -DNO_DOXYGEN=ON \ - -Diconv_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Diconv_STATIC_INCLUDE_DIR="$include_dir" \ - -Dboost_iostreams_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dboost_iostreams_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_DYNAMIC_LIB="$_prefix/lib/libcppunit-1.14.so" \ - -Dcppunit_STATIC_LIB="$_prefix/lib/libcppunit.a" \ + -DCMAKE_CXX_FLAGS:STRING="$_android_cflags" \ + -DUSER_DEFINED_ADDITIONAL_LIBRARIES:STRING="$_android_ldflags" \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DUSE_NATIVE_FILE_BUFFER:BOOL=ON \ + -DUSE_STANDARD_FILESYSTEM:BOOL=OFF \ + -DNO_DOXYGEN:BOOL=ON \ . make VERBOSE=1 } diff --git a/c++utilities/apple-darwin/PKGBUILD b/c++utilities/apple-darwin/PKGBUILD index 284286a6..4687fc83 100644 --- a/c++utilities/apple-darwin/PKGBUILD +++ b/c++utilities/apple-darwin/PKGBUILD @@ -6,7 +6,7 @@ _reponame=cpp-utilities pkgname=apple-darwin-c++utilities _name=${pkgname#apple-darwin-} -pkgver=4.17.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (apple-darwin)' @@ -18,34 +18,64 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i386-apple-darwin15 x86_64-apple-darwin15' -# NOTE: can not build for x86_64h-apple-darwin15 because libstdc++ is (currently) only availabe for x86_64 -[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON' -[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON' + +_architectures=('x86_64-apple-darwin17') +[[ $APPLE_32_BIT ]] && _architectures+=('i386-apple-darwin17') +[[ $APPLE_HASWELL ]] && _architectures+=('x86_64h-apple-darwin17') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - /opt/osxcross/bin/${_arch}-cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS='-std=c++14 -foc-use-gcc-libstdc++ -fvisibility=hidden' \ + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + ' + ) + + export PATH="/opt/osxcross/bin:$PATH" + export LD_LIBRARY_PATH="/opt/osxcross/lib" + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ -DCMAKE_INSTALL_PREFIX:PATH="/opt/osxcross/${_arch}" \ - -Diconv_DYNAMIC_LIB:FILEPATH='/opt/osxcross/SDK/MacOSX10.11.sdk/usr/lib/libiconv.2.tbd' \ - -Diconv_DYNAMIC_INCLUDE_DIR='/opt/osxcross/SDK/MacOSX10.11.sdk/usr/include' \ - -DENABLE_THREAD_LOCAL=OFF \ - ${_configurations} \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DUSE_STANDARD_FILESYSTEM:BOOL=OFF \ + -DENABLE_THREAD_LOCAL:BOOL=OFF \ + ${_config_flags[$_cfg]} \ ../ - make - popd + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - make DESTDIR="${pkgdir}" install - make DESTDIR="${pkgdir}" install-binary-strip - popd + + export PATH="/opt/osxcross/bin:$PATH" + export LD_LIBRARY_PATH="/opt/osxcross/lib" + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" install-binary-strip + popd + done done } diff --git a/c++utilities/default/PKGBUILD b/c++utilities/default/PKGBUILD index 1dfa49e9..82a0b4e2 100644 --- a/c++utilities/default/PKGBUILD +++ b/c++utilities/default/PKGBUILD @@ -5,7 +5,7 @@ _reponame=cpp-utilities pkgname=c++utilities -pkgver=4.17.1 +pkgver=5.0.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities' @@ -16,7 +16,7 @@ makedepends=('cmake') checkdepends=('cppunit') url="https://github.com/Martchus/${_reponame}" source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805') +sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4') prepare() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" @@ -24,7 +24,11 @@ prepare() { build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/c++utilities/doc/PKGBUILD b/c++utilities/doc/PKGBUILD index 2d2b5ba6..b421ae8e 100644 --- a/c++utilities/doc/PKGBUILD +++ b/c++utilities/doc/PKGBUILD @@ -6,7 +6,7 @@ _name=c++utilities _reponame=cpp-utilities pkgname=$_name-doc -pkgver=4.17.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (API documentation)' @@ -14,11 +14,15 @@ license=('GPL') makedepends=('cmake' 'doxygen' 'dia' 'graphviz') url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805') +sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make c++utilities_apidoc } diff --git a/c++utilities/mingw-w64/PKGBUILD b/c++utilities/mingw-w64/PKGBUILD index 1f86fa65..ada6d244 100644 --- a/c++utilities/mingw-w64/PKGBUILD +++ b/c++utilities/mingw-w64/PKGBUILD @@ -6,7 +6,7 @@ _reponame=cpp-utilities pkgname=mingw-w64-c++utilities _name=${pkgname#mingw-w64-} -pkgver=4.17.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (mingw-w64)' @@ -17,43 +17,70 @@ checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine') makedepends=('mingw-w64-gcc' 'mingw-w64-cmake') url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805') +sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' -[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON' -[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release \ + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DUSE_NATIVE_FILE_BUFFER=ON \ - ${_configurations} \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DUSE_NATIVE_FILE_BUFFER:BOOL=ON \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ ../ - make - popd + make + popd + done done } check() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - export WINEPATH="/usr/${_arch}/bin" - export WINEDEBUG=-all - make check - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all check || test "$_cfg" = static + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/cmake/mingw-w64/PKGBUILD b/cmake/mingw-w64/PKGBUILD index 679eca63..7210f961 100644 --- a/cmake/mingw-w64/PKGBUILD +++ b/cmake/mingw-w64/PKGBUILD @@ -1,7 +1,7 @@ pkgname=mingw-w64-cmake pkgver=1 -pkgrel=23.2 +pkgrel=25.1 arch=('any') pkgdesc="CMake wrapper for MinGW (mingw-w64)" depends=('cmake' 'mingw-w64-gcc' 'mingw-w64-pkg-config') diff --git a/cmake/mingw-w64/mingw-cmake.sh b/cmake/mingw-w64/mingw-cmake.sh index 54ad8b62..e4a0ac10 100644 --- a/cmake/mingw-w64/mingw-cmake.sh +++ b/cmake/mingw-w64/mingw-cmake.sh @@ -12,6 +12,21 @@ export CFLAGS="${MINGW_CFLAGS:-$default_mingw_compiler_flags $CFLAGS}" export CXXFLAGS="${MINGW_CXXFLAGS:-$default_mingw_compiler_flags $CXXFLAGS}" export LDFLAGS="${MINGW_LDFLAGS:-$default_mingw_linker_flags $LDFLAGS}" +# allow overriding certain defaults +extra_args=() +declare -A variables_to_preserve=( + [CMAKE_BUILD_TYPE]=Release + [BUILD_SHARED_LIBS]=ON +) +variable_to_preserve_regex='-D(CMAKE_BUILD_TYPE|BUILD_SHARED_LIBS)(:.*)=(.*)' +for arg in "$@"; do + if [[ $arg =~ $variable_to_preserve_regex ]]; then + variables_to_preserve[${BASH_REMATCH[1]}]=${BASH_REMATCH[3]} + else + extra_args+=("$arg") + fi +done + PATH=${mingw_prefix}/bin:$PATH cmake \ -DCMAKE_INSTALL_PREFIX:PATH=${mingw_prefix} \ -DCMAKE_INSTALL_LIBDIR:PATH=${mingw_prefix}/lib \ @@ -21,12 +36,12 @@ PATH=${mingw_prefix}/bin:$PATH cmake \ -DSHARE_INSTALL_DIR:PATH=${mingw_prefix}/share \ -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \ -DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \ - -DBUILD_SHARED_LIBS:BOOL=ON \ + -DBUILD_SHARED_LIBS:BOOL="${variables_to_preserve[BUILD_SHARED_LIBS]}" \ -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-@TRIPLE@.cmake \ -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/@TRIPLE@-wine \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE="${variables_to_preserve[CMAKE_BUILD_TYPE]}" \ -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ -DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ - "$@" + "${extra_args[@]}" diff --git a/cmake/mingw-w64/mingw-wine.sh b/cmake/mingw-w64/mingw-wine.sh deleted file mode 100644 index 0f347f89..00000000 --- a/cmake/mingw-w64/mingw-wine.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -set -e - -mingw_prefix=/usr/@TRIPLE@ - -# run it in a custom WINEPREFIX to not mess with default ~/.wine -# also default prefix might be a 32 bits prefix, which will fail to run x86_64 exes -if ! test -d "${WINEPREFIX}" -then - export WINEPREFIX=~/.wine-@TRIPLE@ -fi - -# WINEPATH is used to find dlls, otherwise they should lie next to the exe -if test -z "${WINEPATH}" -then - export WINEPATH=${mingw_prefix}/bin -fi - -wine "$@" - diff --git a/dbus-soundrecorder/default/PKGBUILD b/dbus-soundrecorder/default/PKGBUILD index eee48170..cf165c1e 100644 --- a/dbus-soundrecorder/default/PKGBUILD +++ b/dbus-soundrecorder/default/PKGBUILD @@ -5,8 +5,8 @@ _reponame=dbus-soundrecorder pkgname=dbus-soundrecorder -pkgver=1.2.2 -pkgrel=2 +pkgver=1.2.3 +pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='Records sound from Pulse Audio using ffmpeg while watching D-Bus to determine tracks and meta data' license=('GPL') @@ -18,7 +18,11 @@ sha256sums=('641fe93f1d858d7e2b835dc5b47aef52673c5e8418302aea5725bb83963f3b37') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/devel/apply-versions.sh b/devel/apply-versions.sh index 272c41c0..fec43324 100755 --- a/devel/apply-versions.sh +++ b/devel/apply-versions.sh @@ -13,11 +13,11 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do [ ${variant##*-} == 'git' ] && continue # skip some of the qt5 packages - [[ $project_name == 'qt5-quick1' \ # removed from official releases - || $project_name == 'qt5-webkit' \ # even revived version is dead - || $project_name == 'qt5-webview' \ # does not build for Windows, would require qt5-webengine - || $project_name == 'qt5-canvas3d' \ # removed from official releases - || $variant == 'mingw-w64-test' \ # just our own 'test' package (not used anymore) + [[ $project_name == 'qt5-quick1' # removed from official releases + || $project_name == 'qt5-webkit' # even revived version is dead + || $project_name == 'qt5-webview' # does not build for Windows, would require qt5-webengine + || $project_name == 'qt5-canvas3d' # removed from official releases + || $variant == 'mingw-w64-test' # just our own 'test' package (not used anymore) ]] && continue # treat all qt5-* packages as qt5 diff --git a/devel/own-projects/release-on-github.sh b/devel/own-projects/release-on-github.sh index f5a83175..f55adc74 100755 --- a/devel/own-projects/release-on-github.sh +++ b/devel/own-projects/release-on-github.sh @@ -8,6 +8,8 @@ if ! [[ $GITHUB_TOKEN ]]; then exit -2 fi +gh_user=Martchus + # release latest version of my projects on GitHub (if not already released yet) for project in "${!versions[@]}" do @@ -18,8 +20,34 @@ do echo '------------------------------------------------------------------------' echo "NEXT: $project -> $version" + # check whether CMakeLists.txt has been updated + cmake_lists=$(wget -qO- "https://raw.githubusercontent.com/$gh_user/$gh_name/master/CMakeLists.txt") + major_version_regex='set\(META_VERSION_MAJOR ([^\)]*)\)' + minor_version_regex='set\(META_VERSION_MINOR ([^\)]*)\)' + patch_version_regex='set\(META_VERSION_PATCH ([^\)]*)\)' + cmake_version= + if ! [[ $cmake_lists =~ $major_version_regex ]]; then + echo "FAILURE: Unable to read major version from CMakeLists.txt:\n$cmake_lists" + continue + fi + cmake_version=${BASH_REMATCH[1]} + if ! [[ $cmake_lists =~ $minor_version_regex ]]; then + echo "FAILURE: Unable to read minor version from CMakeLists.txt:\n$cmake_lists" + continue + fi + cmake_version=$cmake_version.${BASH_REMATCH[1]} + if ! [[ $cmake_lists =~ $patch_version_regex ]]; then + echo "FAILURE: Unable to read patch version from CMakeLists.txt:\n$cmake_lists" + continue + fi + cmake_version=$cmake_version.${BASH_REMATCH[1]} + if [[ $version != $cmake_version ]]; then + echo "FAILURE: Unable to release $project -> v$version; CMake version is v$cmake_version" + continue + fi + # check whether release already exists - if github-release info --user martchus --repo "$gh_name" --tag "v$version"; then + if github-release info --user "$gh_user" --repo "$gh_name" --tag "v$version"; then echo "auto-skipping $project -> v$version; release already present" continue fi @@ -30,7 +58,7 @@ do [[ $REPLY =~ ^[Yy]$ ]] || continue # create release - if github-release release --user martchus --repo "$gh_name" --tag "v$version"; then + if github-release release --user "$gh_user" --repo "$gh_name" --tag "v$version"; then echo "SUCCESS: released $project -> $version" else echo "FAILURE: unable to create release $project -> $version" diff --git a/devel/own-projects/sync-android-variants.sh b/devel/own-projects/sync-android-variants.sh new file mode 100755 index 00000000..e3d4b76a --- /dev/null +++ b/devel/own-projects/sync-android-variants.sh @@ -0,0 +1,7 @@ +#!/usr/bin/bash -e +basedir=$(dirname "$0")/../.. +for project in c++utilities qtutilities passwordfile tagparser passwordmanager; do + pushd "$basedir/$project" > /dev/null + ../devel/sync-variants.sh . android-aarch64 android-* + popd > /dev/null +done diff --git a/devel/own-projects/upload-mingw-w64-to-github.sh b/devel/own-projects/upload-mingw-w64-to-github.sh index 92f98ba4..59e05b07 100755 --- a/devel/own-projects/upload-mingw-w64-to-github.sh +++ b/devel/own-projects/upload-mingw-w64-to-github.sh @@ -24,27 +24,56 @@ do echo '------------------------------------------------------------------------' echo "NEXT: $project/v$version" - # determine file path - files=("$repo_dir/mingw-w64-$project-static-$version"-*-*.pkg.tar.xz) - if [[ ${#files[@]} == 0 ]]; then - echo "no static mingw-w64 package for $project/v$version present" + # determine file path of arch linux package + pkg_files=("$repo_dir/mingw-w64-$project-$version"-*-*.pkg.tar.xz) + if [[ ${#pkg_files[@]} == 0 ]]; then + echo "no mingw-w64 package for $project/v$version present" continue fi - latest_file=${files[-1]} - file_name=${latest_file##*/} + latest_pkg_file=${pkg_files[-1]} - # check whether upload already exists - if github-release info --user martchus --repo "$gh_name" --tag "v$version" | grep "artifact: $file_name"; then - echo "auto-skipping $project/v$version; $latest_file already present" + # extract arch linux package + pkg_file_name=${latest_pkg_file##*/} + temp_dir=$(mktemp -d -t "$pkg_file_name-XXXXXXXXXX") + pushd "$temp_dir" + + # make a zip file for each statically linked binary + bsdtar xJf "$latest_pkg_file" + zip_files=() + for arch in i686-w64-mingw32 x86_64-w64-mingw32; do + binaries=(usr/$arch/bin/*-static.exe) + for binary in ${binaries[@]}; do + binary_name=${binary##*/} + binary_name=${binary_name%-static.exe}-$version-$arch + echo "zipping $binary to $binary_name.zip" + mv "$binary" "$binary_name.exe" + bsdtar acf "$binary_name.zip" "$binary_name.exe" + zip_files+=("$binary_name.zip") + done + done + + # upload created zip files + if [[ ${#zip_files[@]} == 0 ]]; then + echo "no zip files for $project/v$version could be created" continue fi + for zip_file in ${zip_files[@]}; do + # check whether upload already exists + if github-release info --user martchus --repo "$gh_name" --tag "v$version" | grep "artifact: $zip_file"; then + echo "auto-skipping $project/v$version; $zip_file already present" + continue + fi - # upload file - echo "uploading $project/v$version -> $latest_file" - if github-release upload --user martchus --repo "$gh_name" --tag "v$version" --file "$latest_file" --name "$file_name"; then - echo "SUCCESS: uploaded $project/v$version -> $latest_file" - else - echo "FAILURE: unable to upload $project/v$version -> $latest_file" - exit -1 - fi + # upload file + echo "uploading $project/v$version -> $zip_file" + if github-release upload --user martchus --repo "$gh_name" --tag "v$version" --file "$zip_file" --name "$zip_file"; then + echo "SUCCESS: uploaded $project/v$version -> $zip_file" + else + echo "FAILURE: unable to upload $project/v$version -> $zip_file" + exit -1 + fi + done + + popd + rm -r "$temp_dir" done diff --git a/devel/sync-variants.sh b/devel/sync-variants.sh index 4a3455a6..bc460934 100755 --- a/devel/sync-variants.sh +++ b/devel/sync-variants.sh @@ -16,6 +16,8 @@ variables_to_preserve=( pkgname _pkg_arch _android_arch + _android_cflags + _android_ldflags _android_platform _android_platform_arch _android_api_level diff --git a/devel/versions.sh b/devel/versions.sh index 2c53ba5f..c42a6b44 100755 --- a/devel/versions.sh +++ b/devel/versions.sh @@ -1,16 +1,16 @@ #!/bin/bash declare -A versions=( - [syncthingtray]=0.9.1 - [c++utilities]=4.17.1 - [qtutilities]=5.13.0 - [tagparser]=8.3.0 - [tageditor]=3.2.1 - [passwordfile]=4.0.1 - [passwordmanager]=4.0.2 - [videodownloader]=1.3.3 - [reflective-rapidjson]=0.0.8 + [syncthingtray]=0.10.0 + [c++utilities]=5.0.0 + [qtutilities]=6.0.0 + [tagparser]=9.0.0 + [tageditor]=3.3.0 + [passwordfile]=5.0.0 + [passwordmanager]=4.1.0 + [videodownloader]=1.3.4 + [reflective-rapidjson]=0.0.9 [blackwidowcontrol]=1.0.1 - [dbus-soundrecorder]=1.2.2 + [dbus-soundrecorder]=1.2.3 [qt5]=5.13.0 ) declare -A github_names=( diff --git a/geocoordinatecalculator/default/PKGBUILD b/geocoordinatecalculator/default/PKGBUILD index e7d65fec..0d8701e6 100644 --- a/geocoordinatecalculator/default/PKGBUILD +++ b/geocoordinatecalculator/default/PKGBUILD @@ -18,7 +18,11 @@ sha256sums=('190a95d7f0a86bc51b89a6cb3f42e9c77f0b2a60283491917f212bf2e919c93c') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/geocoordinatecalculator/mingw-w64/PKGBUILD b/geocoordinatecalculator/mingw-w64/PKGBUILD index 75e73958..5e08c59c 100644 --- a/geocoordinatecalculator/mingw-w64/PKGBUILD +++ b/geocoordinatecalculator/mingw-w64/PKGBUILD @@ -21,20 +21,47 @@ _architectures='i686-w64-mingw32 x86_64-w64-mingw32' build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - # build utilities for each architecture - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" ../ - make - popd + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + -DGEOCOORDINATECALCULATOR_CONFIGURATION_TARGET_SUFFIX:STRING=static + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip install-json-res + popd + done done } diff --git a/passwordfile/android-aarch64/PKGBUILD b/passwordfile/android-aarch64/PKGBUILD index 98c1c5dc..c0fcce48 100644 --- a/passwordfile/android-aarch64/PKGBUILD +++ b/passwordfile/android-aarch64/PKGBUILD @@ -11,7 +11,7 @@ _android_platform=22 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=4.0.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc="C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (Android, $_pkg_arch)" @@ -41,21 +41,18 @@ build() { local include_dir=$_prefix/include cmake \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SYSTEM_NAME=Android \ -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_SDK="$android_sdk_path" \ -DCMAKE_ANDROID_NDK="$android_ndk_path" \ -DCMAKE_ANDROID_STL_TYPE=c++_shared \ - -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$_prefix \ -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \ - -Dcrypto_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcrypto_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcrypto_DYNAMIC_LIB="$_prefix/lib/libcrypto.so" \ - -Dcrypto_STATIC_LIB="$_prefix/lib/libcrypto.a" \ - -DNO_DOXYGEN=ON \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DNO_DOXYGEN:BOOL=ON \ . make VERBOSE=1 } diff --git a/passwordfile/android-armv7a-eabi/PKGBUILD b/passwordfile/android-armv7a-eabi/PKGBUILD index 42b035d2..b733d282 100644 --- a/passwordfile/android-armv7a-eabi/PKGBUILD +++ b/passwordfile/android-armv7a-eabi/PKGBUILD @@ -11,7 +11,7 @@ _android_platform=21 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=4.0.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc="C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (Android, $_pkg_arch)" @@ -41,21 +41,18 @@ build() { local include_dir=$_prefix/include cmake \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SYSTEM_NAME=Android \ -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_SDK="$android_sdk_path" \ -DCMAKE_ANDROID_NDK="$android_ndk_path" \ -DCMAKE_ANDROID_STL_TYPE=c++_shared \ - -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$_prefix \ -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \ - -Dcrypto_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcrypto_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcrypto_DYNAMIC_LIB="$_prefix/lib/libcrypto.so" \ - -Dcrypto_STATIC_LIB="$_prefix/lib/libcrypto.a" \ - -DNO_DOXYGEN=ON \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DNO_DOXYGEN:BOOL=ON \ . make VERBOSE=1 } diff --git a/passwordfile/default/PKGBUILD b/passwordfile/default/PKGBUILD index 335cb2fa..fee20630 100644 --- a/passwordfile/default/PKGBUILD +++ b/passwordfile/default/PKGBUILD @@ -5,7 +5,7 @@ _reponame=passwordfile pkgname=passwordfile -pkgver=4.0.1 +pkgver=5.0.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL' @@ -22,7 +22,11 @@ sha256sums=('8bad5a214ce46670e48f1ba916a54319072c6b4bdf75e45f0ad64bdf57f61278') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/passwordfile/doc/PKGBUILD b/passwordfile/doc/PKGBUILD index 46c14419..f930ff94 100644 --- a/passwordfile/doc/PKGBUILD +++ b/passwordfile/doc/PKGBUILD @@ -6,7 +6,7 @@ _name=passwordfile _reponame=passwordfile pkgname=$_name-doc -pkgver=4.0.1 +pkgver=5.0.0 pkgrel=1 arch=('any') pkgdesc='C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (API documentation)' @@ -18,7 +18,11 @@ sha256sums=('8bad5a214ce46670e48f1ba916a54319072c6b4bdf75e45f0ad64bdf57f61278') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make ${_name}_apidoc } diff --git a/passwordfile/mingw-w64/PKGBUILD b/passwordfile/mingw-w64/PKGBUILD index fd84665b..a6146793 100644 --- a/passwordfile/mingw-w64/PKGBUILD +++ b/passwordfile/mingw-w64/PKGBUILD @@ -6,8 +6,8 @@ _reponame=passwordfile pkgname=mingw-w64-passwordfile _name=${pkgname#mingw-w64-} -pkgver=4.0.1 -pkgrel=2 +pkgver=5.0.0 +pkgrel=1 arch=('any') pkgdesc='C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (mingw-w64)' license=('GPL') @@ -19,36 +19,67 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('8bad5a214ce46670e48f1ba916a54319072c6b4bdf75e45f0ad64bdf57f61278') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' -[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON' -[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" ${_configurations} ../ - make - popd + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } check() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - export WINEPATH="/usr/${_arch}/bin" - export WINEDEBUG=-all - make check - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all check + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/passwordmanager/android-aarch64/PKGBUILD b/passwordmanager/android-aarch64/PKGBUILD index d196b66d..f6dd616d 100644 --- a/passwordmanager/android-aarch64/PKGBUILD +++ b/passwordmanager/android-aarch64/PKGBUILD @@ -12,7 +12,7 @@ _android_platform=22 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=4.0.2 +pkgver=4.1.0 pkgrel=1 arch=('any') pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_pkg_arch)" diff --git a/passwordmanager/android-armv7a-eabi/PKGBUILD b/passwordmanager/android-armv7a-eabi/PKGBUILD index b813d375..4b89a560 100644 --- a/passwordmanager/android-armv7a-eabi/PKGBUILD +++ b/passwordmanager/android-armv7a-eabi/PKGBUILD @@ -7,11 +7,12 @@ _reponame=passwordmanager _pkgname=passwordmanager _android_arch=armeabi-v7a _pkg_arch=armv7a-eabi +_android_toolchain= _android_platform=21 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=4.0.2 +pkgver=4.1.0 pkgrel=1 arch=('any') pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_pkg_arch)" diff --git a/passwordmanager/default/PKGBUILD b/passwordmanager/default/PKGBUILD index 14acf396..fcc9046b 100644 --- a/passwordmanager/default/PKGBUILD +++ b/passwordmanager/default/PKGBUILD @@ -8,7 +8,7 @@ _quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-ON} _reponame=passwordmanager pkgname=passwordmanager -pkgver=4.0.2 +pkgver=4.1.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL' diff --git a/passwordmanager/mingw-w64-static/PKGBUILD b/passwordmanager/mingw-w64-static/PKGBUILD deleted file mode 100644 index d83a7530..00000000 --- a/passwordmanager/mingw-w64-static/PKGBUILD +++ /dev/null @@ -1,52 +0,0 @@ -# Maintainer: Martchus - -# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where -# you also find the URL of a binary repository. - -_reponame=passwordmanager -pkgname=mingw-w64-passwordmanager-static -_name=${_reponame} -pkgver=4.0.2 -pkgrel=1 -arch=('any') -pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL (mingw-w64, static)' -license=('GPL') -depends=('mingw-w64-crt') -makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'mingw-w64-qt5-base-static' 'mingw-w64-qt5-svg' 'mingw-w64-qtutilities' 'mingw-w64-passwordfile' 'mingw-w64-openssl' 'ffmpeg' 'breeze-icons' 'numix-icon-theme-git') -conflicts=("${pkgname%-static}") -url="https://github.com/Martchus/${_reponame}" -source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('845e119ec24d073411c52b797c8b7a4e44fbce4c793aaf90a11a21f070fcd3fa') -options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' - -build() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DQUICK_GUI="no" \ - -DENABLE_STATIC_LIBS:BOOL=ON \ - -DDISABLE_SHARED_LIBS:BOOL=ON \ - -DSTATIC_LINKAGE:BOOL=ON \ - -DBUILTIN_TRANSLATIONS:BOOL=ON \ - -DBUILTIN_ICON_THEMES:STRING='breeze;breeze-dark;Numix' \ - -DIMAGE_FORMAT_SUPPORT:STRING='Gif;ICO;Jpeg' \ - -DSVG_SUPPORT:BOOL=ON \ - -DSVG_ICON_SUPPORT:BOOL=0N \ - ../ - make - popd - done -} - -package() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd - done -} diff --git a/passwordmanager/mingw-w64/PKGBUILD b/passwordmanager/mingw-w64/PKGBUILD index aba58911..0a213639 100644 --- a/passwordmanager/mingw-w64/PKGBUILD +++ b/passwordmanager/mingw-w64/PKGBUILD @@ -6,7 +6,7 @@ _reponame=passwordmanager pkgname=mingw-w64-passwordmanager _name=${pkgname#mingw-w64-} -pkgver=4.0.2 +pkgver=4.1.0 pkgrel=1 arch=('any') pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL (mingw-w64)' @@ -17,23 +17,64 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('845e119ec24d073411c52b797c8b7a4e44fbce4c793aaf90a11a21f070fcd3fa') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-translations' 'mingw-w64-qt5-svg' 'breeze-icons' 'numix-icon-theme-git') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" -DQUICK_GUI="no" ../ - make - popd + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + -DQT_PACKAGE_PREFIX=StaticQt5 + -DKF_PACKAGE_PREFIX=StaticKF5 + -DPASSWORD_MANAGER_CONFIGURATION_TARGET_SUFFIX:STRING=static + -DENABLE_QT_TRANSLATIONS:BOOL=ON + -DBUILTIN_TRANSLATIONS:BOOL=ON + -DBUILTIN_ICON_THEMES:STRING=breeze;breeze-dark;Numix + -DIMAGE_FORMAT_SUPPORT:STRING=Gif;ICO;Jpeg + -DSVG_SUPPORT:BOOL=ON + -DSVG_ICON_SUPPORT:BOOL=0N + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + -DQUICK_GUI:BOOL=OFF \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/qtutilities/android-aarch64/PKGBUILD b/qtutilities/android-aarch64/PKGBUILD index 8fc65219..aa7a12df 100644 --- a/qtutilities/android-aarch64/PKGBUILD +++ b/qtutilities/android-aarch64/PKGBUILD @@ -11,7 +11,7 @@ _android_platform=22 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=5.13.0 +pkgver=6.0.0 pkgrel=1 arch=('any') pkgdesc="Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (Android, $_pkg_arch)" @@ -42,6 +42,7 @@ build() { -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="$_prefix" \ -DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \ + -DBUILD_SHARED_LIBS:BOOL=ON \ -DNO_DOXYGEN=ON \ -DWIDGETS_GUI=OFF \ -DQUICK_GUI=ON \ diff --git a/qtutilities/android-armv7a-eabi/PKGBUILD b/qtutilities/android-armv7a-eabi/PKGBUILD index 76f836ec..96995b02 100644 --- a/qtutilities/android-armv7a-eabi/PKGBUILD +++ b/qtutilities/android-armv7a-eabi/PKGBUILD @@ -11,7 +11,7 @@ _android_platform=21 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=5.13.0 +pkgver=6.0.0 pkgrel=1 arch=('any') pkgdesc="Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (Android, $_pkg_arch)" @@ -42,6 +42,7 @@ build() { -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="$_prefix" \ -DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \ + -DBUILD_SHARED_LIBS:BOOL=ON \ -DNO_DOXYGEN=ON \ -DWIDGETS_GUI=OFF \ -DQUICK_GUI=ON \ diff --git a/qtutilities/default/PKGBUILD b/qtutilities/default/PKGBUILD index 2522ad7d..be55757b 100644 --- a/qtutilities/default/PKGBUILD +++ b/qtutilities/default/PKGBUILD @@ -5,7 +5,7 @@ _reponame=qtutilities pkgname=qtutilities -pkgver=5.13.0 +pkgver=6.0.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models' @@ -19,7 +19,11 @@ sha256sums=('f12204958d4181154fed7a9d027756cde6fe8a7b84f1c353b06c8c89abb542c5') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/qtutilities/doc/PKGBUILD b/qtutilities/doc/PKGBUILD index 2e36045f..ed31d316 100644 --- a/qtutilities/doc/PKGBUILD +++ b/qtutilities/doc/PKGBUILD @@ -6,7 +6,7 @@ _name=qtutilities _reponame=$_name pkgname=$_name-doc -pkgver=5.13.0 +pkgver=6.0.0 pkgrel=1 arch=('any') pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (API documentation)' @@ -18,7 +18,11 @@ sha256sums=('f12204958d4181154fed7a9d027756cde6fe8a7b84f1c353b06c8c89abb542c5') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make ${_name}_apidoc } diff --git a/qtutilities/mingw-w64/PKGBUILD b/qtutilities/mingw-w64/PKGBUILD index 5fcd59ae..e73af1bd 100644 --- a/qtutilities/mingw-w64/PKGBUILD +++ b/qtutilities/mingw-w64/PKGBUILD @@ -6,7 +6,7 @@ _reponame=qtutilities pkgname=mingw-w64-qtutilities _name=${pkgname#mingw-w64-} -pkgver=5.13.0 +pkgver=6.0.0 pkgrel=1 arch=('any') pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (mingw-w64)' @@ -18,34 +18,56 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('f12204958d4181154fed7a9d027756cde6fe8a7b84f1c353b06c8c89abb542c5') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' -[[ $NO_STATIC_LIBS ]] || - makedepends+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-svg') \ - optdepends+=('mingw-w64-qt5-base-static: use of static library' - 'mingw-w64-qt5-svg: use of static library') \ - _configurations='-DENABLE_STATIC_LIBS:BOOL=ON' -[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-qt5-base-static') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - export PREVENT_FORCING_SHARED_LIBS=ON - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + -DQT_PACKAGE_PREFIX=StaticQt5 + -DKF_PACKAGE_PREFIX=StaticKF5 + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DBUILTIN_TRANSLATIONS:BOOL=ON \ - ${_configurations} ../ - make - popd + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/reflective-rapidjson/default/PKGBUILD b/reflective-rapidjson/default/PKGBUILD index 3a85c883..059fd42a 100644 --- a/reflective-rapidjson/default/PKGBUILD +++ b/reflective-rapidjson/default/PKGBUILD @@ -6,7 +6,7 @@ _reponame=reflective-rapidjson _llvmver=8 pkgname=reflective-rapidjson -pkgver=0.0.8 +pkgver=0.0.9 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON' @@ -22,7 +22,11 @@ sha256sums=('18b99bd820e033eba5aa8b40eca3d3c6fe06722eafe6ea79c298d8b5bc7f434a') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/reflective-rapidjson/doc/PKGBUILD b/reflective-rapidjson/doc/PKGBUILD index 3a437d26..c5e80d45 100644 --- a/reflective-rapidjson/doc/PKGBUILD +++ b/reflective-rapidjson/doc/PKGBUILD @@ -6,7 +6,7 @@ _name=reflective-rapidjson _reponame=reflective-rapidjson pkgname=$_name-doc -pkgver=0.0.8 +pkgver=0.0.9 pkgrel=1 arch=('any') pkgdesc='Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON (API documentation)' @@ -18,7 +18,11 @@ sha256sums=('18b99bd820e033eba5aa8b40eca3d3c6fe06722eafe6ea79c298d8b5bc7f434a') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make reflective_rapidjson_apidoc } diff --git a/reflective-rapidjson/mingw-w64/PKGBUILD b/reflective-rapidjson/mingw-w64/PKGBUILD index bb3467db..158f5b44 100644 --- a/reflective-rapidjson/mingw-w64/PKGBUILD +++ b/reflective-rapidjson/mingw-w64/PKGBUILD @@ -6,7 +6,7 @@ _reponame=reflective-rapidjson pkgname=mingw-w64-reflective-rapidjson _name=${pkgname#mingw-w64-} -pkgver=0.0.8 +pkgver=0.0.9 pkgrel=1 arch=('any') pkgdesc='Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON (mingw-w64)' @@ -20,45 +20,68 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('18b99bd820e033eba5aa8b40eca3d3c6fe06722eafe6ea79c298d8b5bc7f434a') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' -[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON' -[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - # disable building the code generator since it is not useful for cross-compilation - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release \ + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DNO_GENERATOR=ON \ - ${_configurations} \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DNO_GENERATOR:BOOL=ON \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ ../ - - # workaround issue https://gitlab.kitware.com/cmake/cmake/issues/19095 - find -iname 'includes_CXX.rsp' -exec sed -i -e "s|-isystem /usr/$_arch/include ||" {} \; - - make - popd + make + popd + done done } check() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - export WINEPATH="/usr/${_arch}/bin" - export WINEDEBUG=-all - make check - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all check + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/syncthingtray/default/PKGBUILD b/syncthingtray/default/PKGBUILD index 5a4254b8..03452728 100644 --- a/syncthingtray/default/PKGBUILD +++ b/syncthingtray/default/PKGBUILD @@ -24,7 +24,7 @@ _enable_plasmoid=${SYNCTHING_TRAY_ENABLE_PLASMOID:-1} _reponame=syncthingtray pkgname=syncthingtray -pkgver=0.9.1 +pkgver=0.10.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='Tray application for Syncthing' @@ -51,12 +51,15 @@ ephemeral_port() { build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + local additional_args= [[ $_enable_kio_plugin ]] || additional_args+=' -DNO_FILE_ITEM_ACTION_PLUGIN=ON' [[ $_enable_plasmoid ]] || additional_args+=' -DNO_PLASMOID=ON' + cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ -DWEBVIEW_PROVIDER="${_webview_provider}" \ -DJS_PROVIDER="${_js_provider}" \ -DSYSTEMD_SUPPORT=ON \ diff --git a/syncthingtray/mingw-w64-static/PKGBUILD b/syncthingtray/mingw-w64-static/PKGBUILD deleted file mode 100644 index 9ba0ad99..00000000 --- a/syncthingtray/mingw-w64-static/PKGBUILD +++ /dev/null @@ -1,70 +0,0 @@ -# Maintainer: Martchus - -# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where -# you also find the URL of a binary repository. - -# set the web view provider: either webkit, webengine, auto or none -_webview_provider=${SYNCTHING_TRAY_WEBVIEW_PROVIDER:-none} - -# set the JavaScript provider: either script, qml, auto or none -_js_provider=${SYNCTHING_TRAY_JS_PROVIDER:-qml} - -_reponame=syncthingtray -pkgname=mingw-w64-syncthingtray-static -_name=${_reponame} -pkgver=0.9.1 -pkgrel=1 -arch=('any') -pkgdesc='Tray application for Syncthing (mingw-w64)' -license=('GPL') -depends=('mingw-w64-crt') -makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-base-static' 'mingw-w64-qt5-tools' 'mingw-w64-qt5-translations' 'mingw-w64-qt5-svg' 'mingw-w64-qtutilities' 'mingw-w64-openssl' 'breeze-icons' 'numix-icon-theme-git' 'ffmpeg') -[[ $_webview_provider == webkit ]] && makedepends+=('mingw-w64-qt5-webkit') -[[ $_webview_provider == webengine ]] && makedepends+=('mingw-w64-qt5-webengine') -[[ $_js_provider == script ]] && depends+=('mingw-w64-qt5-script') -[[ $_js_provider == qml ]] && depends+=('mingw-w64-qt5-declarative') -conflicts=("${pkgname%-static}") -url="https://github.com/Martchus/${_reponame}" -source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('7db8661a16af117dd7ad494bb3264911a7dc926bcbdea887b4def396cf7e019e') -options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' - -build() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DWEBVIEW_PROVIDER="${_webview_provider}" \ - -DJS_PROVIDER="${_js_provider}" \ - -DSYSTEMD_SUPPORT=OFF \ - -DNO_FILE_ITEM_ACTION_PLUGIN=ON \ - -DENABLE_STATIC_LIBS:BOOL=ON \ - -DDISABLE_SHARED_LIBS:BOOL=ON \ - -DSTATIC_LINKAGE:BOOL=ON \ - -DBUILTIN_TRANSLATIONS:BOOL=ON \ - -DENABLE_QT_TRANSLATIONS:BOOL=ON \ - -DBUILTIN_ICON_THEMES:STRING='breeze;breeze-dark;Numix' \ - -DIMAGE_FORMAT_SUPPORT:STRING='Gif;ICO;Jpeg' \ - -DSVG_SUPPORT:BOOL=ON \ - -DSVG_ICON_SUPPORT:BOOL=0N \ - ../ - - # workaround issue https://gitlab.kitware.com/cmake/cmake/issues/19095 - find -iname 'includes_CXX.rsp' -exec sed -i -e "s|-isystem /usr/$_arch/include ||" {} \; - - make VERBOSE=1 - popd - done -} - -package() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd - done -} diff --git a/syncthingtray/mingw-w64-webview/PKGBUILD b/syncthingtray/mingw-w64-webview/PKGBUILD deleted file mode 100644 index f6c05350..00000000 --- a/syncthingtray/mingw-w64-webview/PKGBUILD +++ /dev/null @@ -1,61 +0,0 @@ -# Maintainer: Martchus - -# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where -# you also find the URL of a binary repository. - -# set the web view provider: either webkit, webengine, auto or none -_webview_provider=${SYNCTHING_TRAY_WEBVIEW_PROVIDER:-webkit} - -# set the JavaScript provider: either script, qml, auto or none -_js_provider=${SYNCTHING_TRAY_JS_PROVIDER:-qml} - -_reponame=syncthingtray -pkgname=mingw-w64-syncthingtray-webview -provides=('mingw-w64-syncthingtray') -conflicts=('mingw-w64-syncthingtray') -pkgver=0.9.1 -pkgrel=1 -arch=('any') -pkgdesc='Tray application for Syncthing (mingw-w64)' -license=('GPL') -depends=('mingw-w64-crt' 'mingw-w64-qt5-svg' 'mingw-w64-qtutilities' 'mingw-w64-openssl') -[[ $_webview_provider == none ]] && depends+=('mingw-w64-qt5-base') -[[ $_webview_provider == webkit ]] && depends+=('mingw-w64-qt5-webkit') -[[ $_webview_provider == webengine ]] && depends+=('mingw-w64-qt5-webengine') -[[ $_js_provider == script ]] && depends+=('mingw-w64-qt5-script') -[[ $_js_provider == qml ]] && depends+=('mingw-w64-qt5-declarative') -makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'ffmpeg') -url="https://github.com/Martchus/${_reponame}" -source=("${_reponame}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('48e6f18302e820ae599c3028db246cec553d1a3c33b20a021a471273c84b30e9') -options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' - -build() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DWEBVIEW_PROVIDER="${_webview_provider}" \ - -DJS_PROVIDER="${_js_provider}" \ - -DSYSTEMD_SUPPORT=OFF \ - -DNO_FILE_ITEM_ACTION_PLUGIN=ON \ - -DENABLE_STATIC_LIBS:BOOL=OFF \ - -DDISABLE_SHARED_LIBS:BOOL=OFF \ - -DSTATIC_LINKAGE:BOOL=OFF \ - ../ - make - popd - done -} - -package() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd - done -} diff --git a/syncthingtray/mingw-w64/PKGBUILD b/syncthingtray/mingw-w64/PKGBUILD index f8b1373f..b26814d5 100644 --- a/syncthingtray/mingw-w64/PKGBUILD +++ b/syncthingtray/mingw-w64/PKGBUILD @@ -4,15 +4,18 @@ # you also find the URL of a binary repository. # set the web view provider: either webkit, webengine, auto or none -_webview_provider=${SYNCTHING_TRAY_WEBVIEW_PROVIDER:-none} +_webview_provider=${MINGW_W64_SYNCTHING_TRAY_WEBVIEW_PROVIDER:-none} # set the JavaScript provider: either script, qml, auto or none -_js_provider=${SYNCTHING_TRAY_JS_PROVIDER:-qml} +_js_provider=${MINGW_W64_SYNCTHING_TRAY_JS_PROVIDER:-qml} + +# set whether libsyncthing should be enabled: either ON or OFF +_enable_libsyncthing=${MINGW_W64_SYNCTHING_TRAY_JS_PROVIDER:-ON} _reponame=syncthingtray pkgname=mingw-w64-syncthingtray _name=${pkgname#mingw-w64-} -pkgver=0.9.1 +pkgver=0.10.0 pkgrel=1 arch=('any') pkgdesc='Tray application for Syncthing (mingw-w64)' @@ -24,37 +27,87 @@ depends=('mingw-w64-crt' 'mingw-w64-qt5-svg' 'mingw-w64-qtutilities' 'mingw-w64- [[ $_js_provider == script ]] && depends+=('mingw-w64-qt5-script') [[ $_js_provider == qml ]] && depends+=('mingw-w64-qt5-declarative') makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'ffmpeg') +[[ $_enable_libsyncthing == ON ]] && makedepends+=('git' 'go') url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") +[[ $_enable_libsyncthing == ON ]] && source+=("syncthing::git+https://github.com/Martchus/syncthing.git#branch=libsyncthing3") sha256sums=('7db8661a16af117dd7ad494bb3264911a7dc926bcbdea887b4def396cf7e019e') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-translations' 'breeze-icons' 'numix-icon-theme-git') +[[ $_enable_libsyncthing == ON ]] && _disable_libsyncthing=OFF || _disable_libsyncthing=ON + +prepare() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + mkdir -p 'libsyncthing/go/src/github.com/syncthing' + pushd 'libsyncthing/go/src/github.com/syncthing' + #[[ -d syncthing ]] && rm -r syncthing + ln -sf "$srcdir/syncthing" . + popd +} build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DWEBVIEW_PROVIDER="${_webview_provider}" \ - -DJS_PROVIDER="${_js_provider}" \ - -DSYSTEMD_SUPPORT=OFF \ - -DNO_FILE_ITEM_ACTION_PLUGIN=ON \ - -DENABLE_STATIC_LIBS:BOOL=OFF \ - -DDISABLE_SHARED_LIBS:BOOL=OFF \ - -DSTATIC_LINKAGE:BOOL=OFF \ - ../ - make - popd + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + -DQT_PACKAGE_PREFIX=StaticQt5 + -DKF_PACKAGE_PREFIX=StaticKF5 + -DSYNCTHINGCTL_CONFIGURATION_TARGET_SUFFIX:STRING=static + -DSYNCTHINGTRAY_CONFIGURATION_TARGET_SUFFIX:STRING=static + -DENABLE_QT_TRANSLATIONS:BOOL=ON + -DBUILTIN_TRANSLATIONS:BOOL=ON + -DBUILTIN_ICON_THEMES:STRING=breeze;breeze-dark;Numix + -DIMAGE_FORMAT_SUPPORT:STRING=Gif;ICO;Jpeg + -DSVG_SUPPORT:BOOL=ON + -DSVG_ICON_SUPPORT:BOOL=0N + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DWEBVIEW_PROVIDER:STRING="${_webview_provider}" \ + -DJS_PROVIDER:STRING="${_js_provider}" \ + -DSYSTEMD_SUPPORT=OFF \ + -DNO_FILE_ITEM_ACTION_PLUGIN=ON \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + -DNO_LIBSYNCTHING:BOOL="${_disable_libsyncthing}" \ + -DUSE_LIBSYNCTHING:BOOL="${_enable_libsyncthing}" \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/tageditor/default/PKGBUILD b/tageditor/default/PKGBUILD index e510cf10..f7cb1ab1 100644 --- a/tageditor/default/PKGBUILD +++ b/tageditor/default/PKGBUILD @@ -14,7 +14,7 @@ _json_export=${TAGEDITOR_JSON_EXPORT:-ON} _reponame=tageditor pkgname=tageditor -pkgver=3.2.1 +pkgver=3.3.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska' @@ -35,8 +35,9 @@ sha256sums=('c3b15d83adf92a4c36c2f1e092a12b79f4177664cbef2ca53e82d8dfe0dc36d6') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ -DWEBVIEW_PROVIDER="${_webview_provider}" \ -DJS_PROVIDER="${_js_provider}" \ -DENABLE_JSON_EXPORT="${_json_export}" \ diff --git a/tageditor/mingw-w64-static/PKGBUILD b/tageditor/mingw-w64-static/PKGBUILD deleted file mode 100644 index fb8aaeda..00000000 --- a/tageditor/mingw-w64-static/PKGBUILD +++ /dev/null @@ -1,73 +0,0 @@ -# Maintainer: Martchus - -# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where -# you also find the URL of a binary repository. - -# set the web view provider: either webkit, webengine, auto or none -_webview_provider=${TAGEDITOR_WEBVIEW_PROVIDER:-none} - -# set the JavaScript provider: either script, qml, auto or none -_js_provider=${TAGEDITOR_JS_PROVIDER:-qml} - -# whether the experimental JSON export is enabled: ON or OFF -_json_export=${TAGEDITOR_JSON_EXPORT:-ON} - -_reponame=tageditor -pkgname=mingw-w64-tageditor-static -_name=${_reponame} -pkgver=3.2.1 -pkgrel=1 -arch=('any') -pkgdesc='A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska' -license=('GPL') -depends=('mingw-w64-crt') -makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-base-static' 'mingw-w64-qt5-tools' 'mingw-w64-qt5-translations' 'mingw-w64-qt5-svg' 'mingw-w64-qtutilities' 'mingw-w64-tagparser' 'breeze-icons' 'numix-icon-theme-git' 'ffmpeg') -[[ $_webview_provider == webkit ]] && makedepends+=('mingw-w64-qt5-webkit') -[[ $_webview_provider == webengine ]] && makedepends+=('mingw-w64-qt5-webengine') -[[ $_js_provider == script ]] && makedepends+=('mingw-w64-qt5-script') -[[ $_js_provider == qml ]] && makedepends+=('mingw-w64-qt5-declarative') -[[ $_json_export == ON ]] && makedepends+=('mingw-w64-reflective-rapidjson') -conflicts=("${pkgname%-static}") -url="https://github.com/Martchus/${_reponame}" -source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('c3b15d83adf92a4c36c2f1e092a12b79f4177664cbef2ca53e82d8dfe0dc36d6') -options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' - -build() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - local gcc_version=$($_arch-gcc --version | grep "^$_arch-gcc" | sed 's/^.* //g') - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DWEBVIEW_PROVIDER="${_webview_provider}" \ - -DJS_PROVIDER="${_js_provider}" \ - -DENABLE_JSON_EXPORT:BOOL="${_json_export}" \ - -DREFLECTION_GENERATOR_EXECUTABLE:FILEPATH='/usr/bin/reflective_rapidjson_generator' \ - -DREFLECTION_GENERATOR_TRIPLE:STRING="${_arch}" \ - -DREFLECTION_GENERATOR_INCLUDE_DIRECTORIES="/usr/lib/gcc/${_arch}/${gcc_version}/include;/usr/${_arch}/include/c++/${gcc_version};/usr/${_arch}/include/c++/${gcc_version}/${_arch};/usr/${_arch}/include" \ - -DENABLE_STATIC_LIBS:BOOL=ON \ - -DDISABLE_SHARED_LIBS:BOOL=ON \ - -DSTATIC_LINKAGE:BOOL=ON \ - -DBUILTIN_TRANSLATIONS:BOOL=ON \ - -DENABLE_QT_TRANSLATIONS:BOOL=ON \ - -DBUILTIN_ICON_THEMES:STRING='breeze;breeze-dark;Numix' \ - -DIMAGE_FORMAT_SUPPORT:STRING='Gif;ICO;Jpeg' \ - -DSVG_SUPPORT:BOOL=ON \ - -DSVG_ICON_SUPPORT:BOOL=0N \ - ../ - make - popd - done -} - -package() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd - done -} diff --git a/tageditor/mingw-w64-webview/PKGBUILD b/tageditor/mingw-w64-webview/PKGBUILD deleted file mode 100644 index 7943ccee..00000000 --- a/tageditor/mingw-w64-webview/PKGBUILD +++ /dev/null @@ -1,66 +0,0 @@ -# Maintainer: Martchus - -# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where -# you also find the URL of a binary repository. - -# set the web view provider: either webkit, webengine, auto or none -_webview_provider=${TAGEDITOR_WEBVIEW_PROVIDER:-none} - -# set the JavaScript provider: either script, qml, auto or none -_js_provider=${TAGEDITOR_JS_PROVIDER:-qml} - -# whether the experimental JSON export is enabled: ON or OFF -_json_export=${TAGEDITOR_JSON_EXPORT:-ON} - -_reponame=tageditor -pkgname=mingw-w64-tageditor-webview -provides=('mingw-w64-tageditor') -conflicts=('mingw-w64-tageditor') -_name=${pkgname#mingw-w64-} -pkgver=3.2.1 -pkgrel=1 -arch=('any') -pkgdesc='A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska' -license=('GPL') -depends=('mingw-w64-crt' 'mingw-w64-qtutilities>=5.6.0' 'mingw-w64-tagparser>=6.2.0') -[[ $_webview_provider == none ]] && [[ $_js_provider == none ]] && depends+=('mingw-w64-qt5-base>=5.6') -[[ $_webview_provider == webkit ]] && depends+=('mingw-w64-qt5-webkit') -[[ $_webview_provider == webengine ]] && depends+=('mingw-w64-qt5-webengine>=5.6') -[[ $_js_provider == script ]] && depends+=('mingw-w64-qt5-script>=5.6') -[[ $_js_provider == qml ]] && depends+=('mingw-w64-qt5-declarative>=5.6') -makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'ffmpeg') -[[ $_json_export == ON ]] && makedepends+=('mingw-w64-reflective-rapidjson') -url="https://github.com/Martchus/${_reponame}" -source=("${_reponame}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('195781362419591f8e88f636a0fc3676389718ebc6ae96014d27a3123b2b8f0f') -options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' - -build() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - local gcc_version=$($_arch-gcc --version | grep "^$_arch-gcc" | sed 's/^.* //g') - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DWEBVIEW_PROVIDER="${_webview_provider}" \ - -DJS_PROVIDER="${_js_provider}" \ - -DENABLE_JSON_EXPORT:BOOL="${_json_export}" \ - -DREFLECTION_GENERATOR_EXECUTABLE:FILEPATH='/usr/bin/reflective_rapidjson_generator' \ - -DREFLECTION_GENERATOR_TRIPLE:STRING="${_arch}" \ - -DREFLECTION_GENERATOR_INCLUDE_DIRECTORIES="/usr/lib/gcc/${_arch}/${gcc_version}/include;/usr/${_arch}/include/c++/${gcc_version};/usr/${_arch}/include/c++/${gcc_version}/${_arch};/usr/${_arch}/include" \ - ../ - make - popd - done -} - -package() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd - done -} diff --git a/tageditor/mingw-w64/PKGBUILD b/tageditor/mingw-w64/PKGBUILD index 13775d32..1981ea15 100644 --- a/tageditor/mingw-w64/PKGBUILD +++ b/tageditor/mingw-w64/PKGBUILD @@ -4,18 +4,18 @@ # you also find the URL of a binary repository. # set the web view provider: either webkit, webengine, auto or none -_webview_provider=${TAGEDITOR_WEBVIEW_PROVIDER:-none} +_webview_provider=${MINGW_64_TAGEDITOR_WEBVIEW_PROVIDER:-none} # set the JavaScript provider: either script, qml, auto or none -_js_provider=${TAGEDITOR_JS_PROVIDER:-qml} +_js_provider=${MINGW_64_TAGEDITOR_JS_PROVIDER:-qml} # whether the experimental JSON export is enabled: ON or OFF -_json_export=${TAGEDITOR_JSON_EXPORT:-ON} +_json_export=${MINGW_64_TAGEDITOR_JSON_EXPORT:-ON} _reponame=tageditor pkgname=mingw-w64-tageditor _name=${pkgname#mingw-w64-} -pkgver=3.2.1 +pkgver=3.3.0 pkgrel=1 arch=('any') pkgdesc='A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska' @@ -32,33 +32,71 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('c3b15d83adf92a4c36c2f1e092a12b79f4177664cbef2ca53e82d8dfe0dc36d6') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-translations' 'mingw-w64-qt5-svg' 'breeze-icons' 'numix-icon-theme-git') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + -DQT_PACKAGE_PREFIX=StaticQt5 + -DKF_PACKAGE_PREFIX=StaticKF5 + -DTAGEDITOR_CONFIGURATION_TARGET_SUFFIX:STRING=static + -DENABLE_QT_TRANSLATIONS:BOOL=ON + -DBUILTIN_TRANSLATIONS:BOOL=ON + -DBUILTIN_ICON_THEMES:STRING=breeze;breeze-dark;Numix + -DIMAGE_FORMAT_SUPPORT:STRING=Gif;ICO;Jpeg + -DSVG_SUPPORT:BOOL=ON + -DSVG_ICON_SUPPORT:BOOL=0N + ' + ) + + for _arch in "${_architectures[@]}"; do local gcc_version=$($_arch-gcc --version | grep "^$_arch-gcc" | sed 's/^.* //g') - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ - -DWEBVIEW_PROVIDER="${_webview_provider}" \ - -DJS_PROVIDER="${_js_provider}" \ - -DENABLE_JSON_EXPORT:BOOL="${_json_export}" \ - -DREFLECTION_GENERATOR_EXECUTABLE:FILEPATH='/usr/bin/reflective_rapidjson_generator' \ - -DREFLECTION_GENERATOR_TRIPLE:STRING="${_arch}" \ - -DREFLECTION_GENERATOR_INCLUDE_DIRECTORIES="/usr/lib/gcc/${_arch}/${gcc_version}/include;/usr/${_arch}/include/c++/${gcc_version};/usr/${_arch}/include/c++/${gcc_version}/${_arch};/usr/${_arch}/include" \ - ../ - make - popd + + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DWEBVIEW_PROVIDER:STRING="${_webview_provider}" \ + -DJS_PROVIDER:STRING="${_js_provider}" \ + -DENABLE_JSON_EXPORT:BOOL="${_json_export}" \ + -DREFLECTION_GENERATOR_EXECUTABLE:FILEPATH='/usr/bin/reflective_rapidjson_generator' \ + -DREFLECTION_GENERATOR_TRIPLE:STRING="${_arch}" \ + -DREFLECTION_GENERATOR_INCLUDE_DIRECTORIES="/usr/lib/gcc/${_arch}/${gcc_version}/include;/usr/${_arch}/include/c++/${gcc_version};/usr/${_arch}/include/c++/${gcc_version}/${_arch};/usr/${_arch}/include" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/tagparser/android-aarch64/PKGBUILD b/tagparser/android-aarch64/PKGBUILD index 5e4d16fe..1d88b8d2 100644 --- a/tagparser/android-aarch64/PKGBUILD +++ b/tagparser/android-aarch64/PKGBUILD @@ -11,7 +11,7 @@ _android_platform=22 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=8.3.0 +pkgver=9.0.0 pkgrel=1 arch=('any') pkgdesc="C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags (Android, $_pkg_arch)" @@ -52,10 +52,7 @@ build() { -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \ -DNO_DOXYGEN=ON \ - -Dcppunit_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_DYNAMIC_LIB="$_prefix/lib/libcppunit-1.14.so" \ - -Dcppunit_STATIC_LIB="$_prefix/lib/libcppunit.a" \ + -DBUILD_SHARED_LIBS:BOOL=ON \ . make VERBOSE=1 } diff --git a/tagparser/android-armv7a-eabi/PKGBUILD b/tagparser/android-armv7a-eabi/PKGBUILD index 176ab5c4..021d376c 100644 --- a/tagparser/android-armv7a-eabi/PKGBUILD +++ b/tagparser/android-armv7a-eabi/PKGBUILD @@ -11,7 +11,7 @@ _android_platform=21 _prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkg_arch-$_pkgname -pkgver=8.3.0 +pkgver=9.0.0 pkgrel=1 arch=('any') pkgdesc="C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags (Android, $_pkg_arch)" @@ -52,10 +52,7 @@ build() { -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \ -DNO_DOXYGEN=ON \ - -Dcppunit_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcppunit_DYNAMIC_LIB="$_prefix/lib/libcppunit-1.14.so" \ - -Dcppunit_STATIC_LIB="$_prefix/lib/libcppunit.a" \ + -DBUILD_SHARED_LIBS:BOOL=ON \ . make VERBOSE=1 } diff --git a/tagparser/default/PKGBUILD b/tagparser/default/PKGBUILD index 0bf7f7f5..19ec645c 100644 --- a/tagparser/default/PKGBUILD +++ b/tagparser/default/PKGBUILD @@ -5,7 +5,7 @@ _reponame=tagparser pkgname=tagparser -pkgver=8.3.0 +pkgver=9.0.0 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags' @@ -20,7 +20,11 @@ sha256sums=('79915e782b319ffa1f21b3cc895826b6035c197baa003b9417d7574b039a5041') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/tagparser/doc/PKGBUILD b/tagparser/doc/PKGBUILD index e61f6d6e..e8950163 100644 --- a/tagparser/doc/PKGBUILD +++ b/tagparser/doc/PKGBUILD @@ -6,7 +6,7 @@ _name=tagparser _reponame=tagparser pkgname=$_name-doc -pkgver=8.3.0 +pkgver=9.0.0 pkgrel=1 arch=('any') pkgdesc='C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags (API documentation)' @@ -18,7 +18,11 @@ sha256sums=('79915e782b319ffa1f21b3cc895826b6035c197baa003b9417d7574b039a5041') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make ${_name}_apidoc } diff --git a/tagparser/mingw-w64/PKGBUILD b/tagparser/mingw-w64/PKGBUILD index 3bec2c8a..0f4afe01 100644 --- a/tagparser/mingw-w64/PKGBUILD +++ b/tagparser/mingw-w64/PKGBUILD @@ -6,7 +6,7 @@ _reponame=tagparser pkgname=mingw-w64-tagparser _name=${pkgname#mingw-w64-} -pkgver=8.3.0 +pkgver=9.0.0 pkgrel=1 arch=('any') pkgdesc='C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags (mingw-w64)' @@ -19,17 +19,42 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('79915e782b319ffa1f21b3cc895826b6035c197baa003b9417d7574b039a5041') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' -[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON' -[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" ${_configurations} ../ - make - popd + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } @@ -41,20 +66,26 @@ check() { return fi - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - export WINEPATH="/usr/${_arch}/bin" - export WINEDEBUG=-all - make check - popd + # note: Only testing the most important configuration here because executing the tests takes quite a while. + for _arch in 'x86_64-w64-mingw32'; do + for _cfg in 'static'; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all check + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p "build-${_arch}" && pushd "build-${_arch}" - make DESTDIR="${pkgdir}" install-mingw-w64-strip - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done } diff --git a/videodownloader/default/PKGBUILD b/videodownloader/default/PKGBUILD index c35321aa..3e8f6b6c 100644 --- a/videodownloader/default/PKGBUILD +++ b/videodownloader/default/PKGBUILD @@ -5,7 +5,7 @@ _reponame=videodownloader pkgname=videodownloader -pkgver=1.3.3 +pkgver=1.3.4 pkgrel=1 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='A video downloader with Qt GUI (currently only YouTube and Vimeo are maintained)' @@ -18,7 +18,11 @@ sha256sums=('60cb2e5e11a7665765dfe8904f51759bdef88b6d11cd93f9b83fab868f9c09e8') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" . + cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + . make } diff --git a/videodownloader/mingw-w64/PKGBUILD b/videodownloader/mingw-w64/PKGBUILD index d95c2b13..f80f9f0f 100644 --- a/videodownloader/mingw-w64/PKGBUILD +++ b/videodownloader/mingw-w64/PKGBUILD @@ -6,8 +6,8 @@ _reponame=videodownloader pkgname=mingw-w64-videodownloader _name=${pkgname#mingw-w64-} -pkgver=1.3.3 -pkgrel=2 +pkgver=1.3.4 +pkgrel=1 arch=('any') pkgdesc='A video downloader with Qt GUI (currently only YouTube and Vimeo are maintained, mingw-w64)' license=('GPL') @@ -17,23 +17,63 @@ url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('60cb2e5e11a7665765dfe8904f51759bdef88b6d11cd93f9b83fab868f9c09e8') options=(!buildflags staticlibs !strip !emptydirs) -_architectures='i686-w64-mingw32 x86_64-w64-mingw32' + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-translations' 'mingw-w64-qt5-svg' 'breeze-icons' 'numix-icon-theme-git') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" ../ - make - popd + + declare -A _config_flags=( + [shared]=' + -DBUILD_SHARED_LIBS:BOOL=ON + ' + [static]=' + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib + -DSTATIC_LINKAGE:BOOL=ON + -DSTATIC_LIBRARY_LINKAGE:BOOL=ON + -DQT_PACKAGE_PREFIX=StaticQt5 + -DKF_PACKAGE_PREFIX=StaticKF5 + -DVIDEODOWNLOADER_CONFIGURATION_TARGET_SUFFIX:STRING=static + -DENABLE_QT_TRANSLATIONS:BOOL=ON + -DBUILTIN_TRANSLATIONS:BOOL=ON + -DBUILTIN_ICON_THEMES:STRING=breeze;breeze-dark;Numix + -DIMAGE_FORMAT_SUPPORT:STRING=Gif;ICO;Jpeg + -DSVG_SUPPORT:BOOL=ON + -DSVG_ICON_SUPPORT:BOOL=0N + ' + ) + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}" + ${_arch}-cmake \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + ${_config_flags[$_cfg]} \ + ../ + make + popd + done done } package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - for _arch in ${_architectures}; do - pushd build-${_arch} - make DESTDIR="${pkgdir}" install-mingw-w64-strip install-json-res - popd + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + make DESTDIR="${pkgdir}" install-mingw-w64-strip + popd + done done }