diff --git a/devel/versions.sh b/devel/versions.sh index 9532995f..eeaefafe 100755 --- a/devel/versions.sh +++ b/devel/versions.sh @@ -3,6 +3,7 @@ declare -A versions=( [syncthingtray]=1.1.10 [c++utilities]=5.11.1 [qtutilities]=6.5.0 + [qtforkawesome]=0.0.1 [tagparser]=10.2.0 [tageditor]=3.5.0 [passwordfile]=5.0.6 diff --git a/qtforkawesome/default/PKGBUILD b/qtforkawesome/default/PKGBUILD new file mode 100644 index 00000000..2cf011ab --- /dev/null +++ b/qtforkawesome/default/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_reponame=qtforkawesome +_pkgver_forkawesome=1.2.0 +_reponame_forkawesome=Fork-Awesome-$_pkgver_forkawesome +pkgname=qtforkawesome +pkgver=0.0.1 +pkgrel=1 +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +pkgdesc='Library that bundles ForkAwesome for use within Qt applications' +license=('GPL') +depends=('qt5-base') +makedepends=('cmake' 'ninja' 'qtutilities' 'mesa' 'perl-yaml-libyaml') +optdepends=("$pkgname-doc: API documentation") +url="https://github.com/Martchus/${_reponame}" +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" + "${_reponame_forkawesome}::https://github.com/ForkAwesome/Fork-Awesome/archive/refs/tags/${_pkgver_forkawesome}.tar.gz") +sha256sums=('TODO' + 'TODO') + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DBUILTIN_TRANSLATIONS:BOOL=ON \ + -DFORK_AWESOME_FONT_FILE="$srcdir/${_reponame_forkawesome}/fonts/forkawesome-webfont.woff2" \ + -DFORK_AWESOME_ICON_DEFINITIONS="$srcdir/${_reponame_forkawesome}/src/icons/icons.yml" \ + . + ninja +} + +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + QT_QPA_PLATFORM=offscreen ninja check +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + DESTDIR="${pkgdir}" ninja install +} diff --git a/qtforkawesome/doc/PKGBUILD b/qtforkawesome/doc/PKGBUILD new file mode 100644 index 00000000..601b56eb --- /dev/null +++ b/qtforkawesome/doc/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_name=qtforkawesome +_reponame=$_name +pkgname=$_name-doc +pkgver=0.0.1 +pkgrel=1 +arch=('any') +pkgdesc='Library that bundles ForkAwesome for use within Qt applications (API documentation)' +license=('GPL') +makedepends=('cmake' 'ninja' 'doxygen' 'dia' 'graphviz' 'qtutilities' 'mesa') +url="https://github.com/Martchus/${_reponame}" +source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" + "${_reponame_forkawesome}::https://github.com/ForkAwesome/Fork-Awesome/archive/refs/tags/${_pkgver_forkawesome}.tar.gz") +sha256sums=('TODO' + 'TODO') + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DFORK_AWESOME_FONT_FILE="$srcdir/${_reponame_forkawesome}/fonts/forkawesome-webfont.woff2" \ + -DFORK_AWESOME_ICON_DEFINITIONS="$srcdir/${_reponame_forkawesome}/src/icons/icons.yml" \ + . + ninja ${_name}_apidoc +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + DESTDIR="${pkgdir}" ninja install-api-doc +} diff --git a/qtforkawesome/git/PKGBUILD b/qtforkawesome/git/PKGBUILD new file mode 100644 index 00000000..1bee1dd2 --- /dev/null +++ b/qtforkawesome/git/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_reponame=qtforkawesome +_pkgver_forkawesome=1.2.0 +_reponame_forkawesome=Fork-Awesome-$_pkgver_forkawesome +pkgname=qtforkawesome-git +_name=${pkgname%-git} +pkgver=1.xxxxxxx +pkgrel=1 +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +pkgdesc='Library that bundles ForkAwesome for use within Qt applications' +license=('GPL') +depends=('qt5-base' 'mesa') +optdepends=("$_name-doc: API documentation") +makedepends=('cmake' 'git' 'ninja' 'perl-yaml-libyaml' 'qtutilities-git') +#provides=("${_name}") +#conflicts=("${_name}") +url="https://github.com/Martchus/${_reponame}" +source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git" + "${_reponame_forkawesome}::https://github.com/ForkAwesome/Fork-Awesome/archive/refs/tags/${_pkgver_forkawesome}.tar.gz") +sha256sums=('SKIP' + 'TODO') + +pkgver() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}" + echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)" +} + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}" + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DCONFIGURATION_NAME:STRING='git' \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING='-git' \ + -DCONFIGURATION_TARGET_SUFFIX:STRING='git' \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DBUILTIN_TRANSLATIONS:BOOL=ON \ + -DFORK_AWESOME_FONT_FILE="$srcdir/${_reponame_forkawesome}/fonts/forkawesome-webfont.woff2" \ + -DFORK_AWESOME_ICON_DEFINITIONS="$srcdir/${_reponame_forkawesome}/src/icons/icons.yml" \ + . + ninja +} + +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}" + QT_QPA_PLATFORM=offscreen ninja check +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}" + DESTDIR="${pkgdir}" ninja install +} diff --git a/qtforkawesome/mingw-w64-qt6/PKGBUILD b/qtforkawesome/mingw-w64-qt6/PKGBUILD new file mode 100644 index 00000000..8d57d68f --- /dev/null +++ b/qtforkawesome/mingw-w64-qt6/PKGBUILD @@ -0,0 +1,104 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_reponame=qtforkawesome +_pkgver_forkawesome=1.2.0 +_reponame_forkawesome=Fork-Awesome-$_pkgver_forkawesome +pkgname=mingw-w64-qtforkawesome-qt6 +_name=${pkgname#mingw-w64-} +_name=${_name%-qt6} +pkgver=0.0.1 +pkgrel=1 +arch=('any') +pkgdesc='Library that bundles ForkAwesome for use within Qt applications (mingw-w64)' +license=('GPL') +depends=('mingw-w64-crt' 'mingw-w64-qt6-base') +optdepends=("$_name-doc: API documentation") +checkdepends=('mingw-w64-wine') +makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qtutilities-qt6' 'perl-yaml-libyaml' 'qt6-base' 'clang' 'ninja') +url="https://github.com/Martchus/${_reponame}" +source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" + "${_reponame_forkawesome}::https://github.com/ForkAwesome/Fork-Awesome/archive/refs/tags/${_pkgver_forkawesome}.tar.gz") +sha256sums=('TODO' + 'TODO') +options=(!buildflags staticlibs !strip !emptydirs) + +_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') +_configurations=() +[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') +[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-cmake-static' 'mingw-w64-qt6-base-static') + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + 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 + -DBUILTIN_TRANSLATIONS:BOOL=ON + ' + ) + declare -A _cfg_suffix=( + [static]='-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${_cfg_suffix[$_cfg]} \ + -G Ninja \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \ + -DCONFIGURATION_NAME:STRING="${_cfg}-qt6" \ + -DCONFIGURATION_DISPLAY_NAME="Qt 6" \ + -DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \ + -DCONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES:STRING="-${_cfg}-qt6" \ + -DCONFIGURATION_TARGET_SUFFIX:STRING="qt6" \ + -DQT_PACKAGE_PREFIX:STRING=Qt6 \ + -DKF_PACKAGE_PREFIX:STRING=KF6 \ + -DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \ + -DFORK_AWESOME_FONT_FILE="$srcdir/${_reponame_forkawesome}/fonts/forkawesome-webfont.woff2" \ + -DFORK_AWESOME_ICON_DEFINITIONS="$srcdir/${_reponame_forkawesome}/src/icons/icons.yml" \ + ${_config_flags[$_cfg]} \ + ../ + VERBOSE=1 ninja + popd + done + done +} + +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + export WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all + export QT_QPA_PLATFORM=offscreen + [[ $_cfg == shared ]] && ninja tests + popd + done + done +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + DESTDIR="${pkgdir}" ninja install-mingw-w64-strip + popd + done + done +} diff --git a/qtforkawesome/mingw-w64/PKGBUILD b/qtforkawesome/mingw-w64/PKGBUILD new file mode 100644 index 00000000..f85a094c --- /dev/null +++ b/qtforkawesome/mingw-w64/PKGBUILD @@ -0,0 +1,97 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_reponame=qtforkawesome +_pkgver_forkawesome=1.2.0 +_reponame_forkawesome=Fork-Awesome-$_pkgver_forkawesome +pkgname=mingw-w64-qtforkawesome +_name=${pkgname#mingw-w64-} +pkgver=0.0.1 +pkgrel=1 +arch=('any') +pkgdesc='Library that bundles ForkAwesome for use within Qt applications (mingw-w64)' +license=('GPL') +depends=('mingw-w64-crt' 'mingw-w64-qt5-base') +optdepends=("$_name-doc: API documentation") +checkdepends=('mingw-w64-wine') +makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qtutilities' 'ninja' 'perl-yaml-libyaml') +url="https://github.com/Martchus/${_reponame}" +source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" + "${_reponame_forkawesome}::https://github.com/ForkAwesome/Fork-Awesome/archive/refs/tags/${_pkgver_forkawesome}.tar.gz") +sha256sums=('TODO' + 'TODO') +options=(!buildflags staticlibs !strip !emptydirs) + +_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') + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + 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 + -DBUILTIN_TRANSLATIONS: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 \ + -G Ninja \ + -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 \ + -DFORK_AWESOME_FONT_FILE="$srcdir/${_reponame_forkawesome}/fonts/forkawesome-webfont.woff2" \ + -DFORK_AWESOME_ICON_DEFINITIONS="$srcdir/${_reponame_forkawesome}/src/icons/icons.yml" \ + ${_config_flags[$_cfg]} \ + ../ + ninja + popd + done + done +} + +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + export WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all + export QT_QPA_PLATFORM=offscreen + [[ $_cfg == shared ]] && ninja tests + popd + done + done +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + for _arch in "${_architectures[@]}"; do + for _cfg in "${_configurations[@]}"; do + msg2 "${_arch}-${_cfg}" + pushd "build-${_arch}-${_cfg}" + DESTDIR="${pkgdir}" ninja install-mingw-w64-strip + popd + done + done +} diff --git a/qtforkawesome/qt6/PKGBUILD b/qtforkawesome/qt6/PKGBUILD new file mode 100644 index 00000000..5b109a4a --- /dev/null +++ b/qtforkawesome/qt6/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_reponame=qtforkawesome +_pkgver_forkawesome=1.2.0 +_reponame_forkawesome=Fork-Awesome-$_pkgver_forkawesome +_cfg=qt6 +pkgname=qtforkawesome-$_cfg +_name=${pkgname%-$_cfg} +pkgver=0.0.1 +pkgrel=1 +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +pkgdesc='Library that bundles ForkAwesome for use within Qt applications (using Qt 6)' +license=('GPL') +depends=('qt6-base') +makedepends=('cmake' 'ninja' 'perl-yaml-libyaml' 'qtutilities-qt6' 'clang' 'mesa') +optdepends=("$_name-doc: API documentation") +url="https://github.com/Martchus/${_reponame}" +source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" + "${_reponame_forkawesome}::https://github.com/ForkAwesome/Fork-Awesome/archive/refs/tags/${_pkgver_forkawesome}.tar.gz") +sha256sums=('TODO' + 'TODO') + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE:STRING='Release' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DCONFIGURATION_NAME:STRING="$_cfg" \ + -DCONFIGURATION_DISPLAY_NAME="Qt 6" \ + -DCONFIGURATION_TARGET_SUFFIX:STRING="$_cfg" \ + -DCONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES:STRING="-$_cfg" \ + -DQT_PACKAGE_PREFIX:STRING='Qt6' \ + -DBUILTIN_TRANSLATIONS:BOOL=ON \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DFORK_AWESOME_FONT_FILE="$srcdir/${_reponame_forkawesome}/fonts/forkawesome-webfont.woff2" \ + -DFORK_AWESOME_ICON_DEFINITIONS="$srcdir/${_reponame_forkawesome}/src/icons/icons.yml" \ + . + ninja +} + +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + QT_QPA_PLATFORM=offscreen ninja check +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + DESTDIR="${pkgdir}" ninja install +}