Compare commits

..

8 Commits

658 changed files with 3480 additions and 2825 deletions

View File

@ -127,11 +127,11 @@ containers/create-devel-container-example
# start interactive shell in container
podman container exec -it archlinux-devel-container bash
# install stuff you want, e.g. mingw-w64 or android Qt packages
# install stuff you want, e.g. mingw-w64 or android Qt package
podman container exec -it archlinux-devel-container \
pacman -Syu ninja git mingw-w64-cmake qt6-{base,tools} mingw-w64-qt6-{base,tools,translations,svg,5compat}
podman container exec -it archlinux-devel-container \
pacman -Syu clang ninja git extra-cmake-modules android-cmake qt6-{base,tools,declarative,shadertools} android-aarch64-qt6-{base,declarative,tools,translations,svg,5compat} android-aarch64-{boost,libiconv,qqc2-breeze-style}
pacman -Syu clang ninja git extra-cmake-modules android-cmake qt6-{base,tools,declarative,shadertools} android-aarch64-qt6-{base,declarative,tools,translations,svg,5compat} android-aarch64-{boost,libiconv,kirigami2}
# configure the build using mingw-w64 packages, e.g. run CMake
podman container exec -it archlinux-devel-container x86_64-w64-mingw32-cmake \

View File

@ -8,12 +8,11 @@ pkgname=arch-repo-manager-git
_name=${pkgname%-git}
_liburing=OFF
pkgver=340.599185d
pkgrel=3
pkgrel=2
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Tool for managing custom Arch Linux repositories'
license=('GPL')
depends=('libc++utilities-git.so' 'libpasswordfile-git.so' 'libboost_filesystem.so' 'libarchive.so' 'libcrypto.so' 'libssl.so' 'lmdb'
'devtools-custom>=1.1.1')
depends=('libc++utilities-git.so' 'libpasswordfile-git.so' 'libboost_filesystem.so' 'libarchive.so' 'libcrypto.so' 'libssl.so' 'lmdb')
[[ $_liburing != OFF ]] && depends+=('liburing.so')
optdepends=('reflective-rapidjson-git: development with libpkg/librepomgr'
"$_name-doc: API documentation")

View File

@ -2,7 +2,7 @@
# Contributor: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
pkgname=baikal
pkgver=0.9.5
pkgver=0.9.4
pkgrel=1
pkgdesc='Lightweight CalDAV+CardDAV server'
url='http://sabre.io/baikal/'
@ -12,7 +12,7 @@ depends=('php')
optdepends=('sqlite: Database' 'mariadb: Alternate database' 'php-sqlite: To use the sqlite backend')
source=("https://github.com/fruux/Baikal/releases/download/$pkgver/baikal-$pkgver.zip"
'baikal.install')
sha512sums=('e544ed39047788bf001c81a44eb69a3db30a871253cb6bf12b54d5d476eaadc63d723192d41b67f2cf908a72d4c722def03d853df68b7fd464a4093e08ed0f19'
sha512sums=('dd4b66d93e6d2d957db9fd53e9e27d1e1a7c8ea842ed330d0590280c57fcaa7882eea2cf612dcaaad79325605739ecc3adf5013299c95db805310e25a31db57c'
'4e28980100ce9fc820a6c40a9cd528a90d62997ac18fb4ea353d8eaba58b320f9c653ba9b066036ff598f1d5a0aafb49ba444f9187c0d3616cbe6fa45222ca3f')
options=('!strip')
install=baikal.install

View File

@ -1,71 +1,59 @@
# Maintainer of official package: Felix Yan <felixonmars@archlinux.org>
# $Id: PKGBUILD 182460 2016-07-07 13:03:56Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: rubenvb vanboxem <dottie> ruben <attie> gmail <dottie> com
# Same as official package but uses symlinks instead of hard links allowing
# installation when /usr/i686-w64-mingw32 and /usr/x86_64-w64-mingw32 are
# bound from another partition.
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
pkgname=mingw-w64-binutils-symlinks
pkgver=2.42
pkgver=2.32
pkgrel=1
pkgdesc="Cross binutils for the MinGW-w64 cross-compiler"
arch=('x86_64')
pkgdesc="Cross binutils for the MinGW-w64 cross-compiler (uses symlinks instead of hard links)"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils"
license=(GPL-2.0-or-later GPL-3.0-or-later LGPL-2.0-or-later LGPL-3.0-or-later GFDL-1.3 FSFAP)
license=('GPL')
groups=('mingw-w64-toolchain' 'mingw-w64')
depends=('zlib')
provides=('mingw-w64-binutils')
conflicts=('mingw-w64-binutils');
conflicts=('mingw-w64-binutils')
options=('!libtool' '!emptydirs')
validpgpkeys=('3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') # Nick Clifton (Chief Binutils Maintainer) <nickc@redhat.com>
validpgpkeys=('3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F')
source=("https://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.gz"{,.sig})
sha512sums=('1e4ee462513eadd3c540e4782f9661df62ecbcd4d6297d61dcc0845ae7d30243c57571787706af3bb4d561e4350609d7057307290e81d76290a301f159a6abc5'
sha256sums=('9b0d97b3d30df184d302bced12f976aa1e5fbf4b0be696cdebc6cca30411a46e'
'SKIP')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "$srcdir"/binutils-${pkgver}
cd ${srcdir}/binutils-${pkgver}
#do not install libiberty
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
}
build() {
# Fix the check for limits.h and certain other checks by dropping the fortify flag from CPPFLAGS
# note: Otherwise libiberty/config.h lacks HAVE_LIMITS_H and the compilation runs into errors like:
# /build/gcc-static-compat/src/gcc/libiberty/fibheap.c:38:25: error: LONG_MIN undeclared (first use in this function)
# 38 | #define FIBHEAPKEY_MIN LONG_MIN
# | ^~~~~~~~
# /build/gcc-static-compat/src/gcc/libiberty/fibheap.c:220:30: note: in expansion of macro FIBHEAPKEY_MIN
# 220 | if (okey == key && okey != FIBHEAPKEY_MIN)
# | ^~~~~~~~~~~~~~
# /build/gcc-static-compat/src/gcc/libiberty/fibheap.c:36:1: note: LONG_MIN is defined in header <limits.h>; did you forget to #include <limits.h>?
# 35 | #include "fibheap.h"
# +++ |+#include <limits.h>
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2}
for _target in $_targets; do
echo "Building ${_target} cross binutils"
mkdir -p "$srcdir"/binutils-${_target} && cd "${srcdir}/binutils-${_target}"
"$srcdir"/binutils-${pkgver}/configure --prefix=/usr \
msg "Building ${_target} cross binutils"
mkdir -p ${srcdir}/binutils-${_target} && cd "${srcdir}/binutils-${_target}"
$srcdir/binutils-${pkgver}/configure --prefix=/usr \
--target=${_target} \
--infodir=/usr/share/info/${_target} \
--enable-lto --enable-plugins \
--enable-deterministic-archives \
--disable-multilib --disable-nls \
--disable-werror
make -O
make
done
}
package() {
for _target in ${_targets}; do
echo "Installing ${_target} cross binutils"
cd "$srcdir"/binutils-${_target}
make DESTDIR="$pkgdir" install
rm "$pkgdir"/usr/lib/bfd-plugins/libdep.so
msg "Installing ${_target} cross binutils"
cd ${srcdir}/binutils-${_target}
make DESTDIR=${pkgdir} install
done
cd "${pkgdir}/usr/bin"
for file in *; do
if [[ ! -L $file ]] && [[ ! -d $file ]]; then

View File

@ -1,62 +0,0 @@
# Maintainer of official package: Felix Yan <felixonmars@archlinux.org>
pkgname=mingw-w64-binutils
pkgver=2.42
pkgrel=1
pkgdesc="Cross binutils for the MinGW-w64 cross-compiler"
arch=('x86_64')
url="http://www.gnu.org/software/binutils"
license=(GPL-2.0-or-later GPL-3.0-or-later LGPL-2.0-or-later LGPL-3.0-or-later GFDL-1.3 FSFAP)
groups=('mingw-w64-toolchain' 'mingw-w64')
depends=('zlib')
options=('!libtool' '!emptydirs')
validpgpkeys=('3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') # Nick Clifton (Chief Binutils Maintainer) <nickc@redhat.com>
source=("https://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.gz"{,.sig})
sha512sums=('1e4ee462513eadd3c540e4782f9661df62ecbcd4d6297d61dcc0845ae7d30243c57571787706af3bb4d561e4350609d7057307290e81d76290a301f159a6abc5'
'SKIP')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "$srcdir"/binutils-${pkgver}
#do not install libiberty
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
}
build() {
# Fix the check for limits.h and certain other checks by dropping the fortify flag from CPPFLAGS
# note: Otherwise libiberty/config.h lacks HAVE_LIMITS_H and the compilation runs into errors like:
# /build/gcc-static-compat/src/gcc/libiberty/fibheap.c:38:25: error: LONG_MIN undeclared (first use in this function)
# 38 | #define FIBHEAPKEY_MIN LONG_MIN
# | ^~~~~~~~
# /build/gcc-static-compat/src/gcc/libiberty/fibheap.c:220:30: note: in expansion of macro FIBHEAPKEY_MIN
# 220 | if (okey == key && okey != FIBHEAPKEY_MIN)
# | ^~~~~~~~~~~~~~
# /build/gcc-static-compat/src/gcc/libiberty/fibheap.c:36:1: note: LONG_MIN is defined in header <limits.h>; did you forget to #include <limits.h>?
# 35 | #include "fibheap.h"
# +++ |+#include <limits.h>
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2}
for _target in $_targets; do
echo "Building ${_target} cross binutils"
mkdir -p "$srcdir"/binutils-${_target} && cd "${srcdir}/binutils-${_target}"
"$srcdir"/binutils-${pkgver}/configure --prefix=/usr \
--target=${_target} \
--infodir=/usr/share/info/${_target} \
--enable-lto --enable-plugins \
--enable-deterministic-archives \
--disable-multilib --disable-nls \
--disable-werror
make -O
done
}
package() {
for _target in ${_targets}; do
echo "Installing ${_target} cross binutils"
cd "$srcdir"/binutils-${_target}
make DESTDIR="$pkgdir" install
rm "$pkgdir"/usr/lib/bfd-plugins/libdep.so
done
}

View File

@ -3,146 +3,153 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_android_arch=aarch64
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
_pkgname=boost
_pkg_arch=aarch64
_android_arch=arm64-v8a
_boost_arch=arm
_boost_address_model=64
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.81.0
_srcname=boost_${pkgver//./_}
pkgrel=1
url='https://www.boost.org/'
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
depends=("android-${_android_arch}-bzip2"
"android-${_android_arch}-icu"
"android-${_android_arch}-zlib"
"android-${_android_arch}-zstd")
makedepends=('android-environment')
if [[ $_android_arch == aarch64 ]] || [[ $_android_arch == x86-64 ]]; then
makedepends+=("android-${_android_arch}-openmpi")
optdepends+=("android-${_android_arch}-openmpi: for mpi support")
fi
options=(!strip !buildflags staticlibs !emptydirs)
source=("https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2"
"boost-1.81.0-phoenix-multiple-definitions.patch"
"boost-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch"
"disable-version-check.patch")
md5sums=('9dcd632441e4da04a461082ebbafd337'
'cb1c25777e9b85af62366e7c930244b8'
'326826bf610c63c23247e70e648ff104'
'6290eb4fa0cab451aac92e12e85ef073')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk' 'android-environment')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
boost-1.81.0-phoenix-multiple-definitions.patch
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch
disable-version-check.patch)
sha256sums=('205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'
'3ebf428ef6be090a7b56a233330375539ac429333b83708e28fe5db049cfecdb'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23'
'63d12e7d703b471882608b4225c489f6a35ab425602783a4f9c4ea99a10f9c4b')
prepare() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# https://github.com/boostorg/phoenix/issues/111
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
patch -i ../no-versioned-shlibs.patch
patch -p1 -i ../disable-version-check.patch
}
build() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
# Platform specific patches
case "$_android_arch" in
aarch64)
_boost_arch=arm
_boost_address_model=64
;;
armv7a-eabi)
_boost_arch=arm
_boost_address_model=32
;;
x86)
_boost_arch=x86
_boost_address_model=32
;;
x86-64)
_boost_arch=x86
_boost_address_model=64
;;
*)
;;
esac
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=${_pkg_arch}-linux-android$ANDROID_MINIMUM_PLATFORM --sysroot=$ANDROID_SYSROOT"
local common_flags=" \
$target_flags \
-fexceptions \
-DANDROID \
-O3 -DNDEBUG \
-D_FORTIFY_SOURCE=2 -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4 -fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions"
./bootstrap.sh -with-toolset=gcc
cd ${_srcname}
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
msg2 'Bootstrapping b2'
./bootstrap.sh --with-toolset=gcc
userConfigs=$srcdir/$_srcname/user-config.jam
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
./b2 install \
--prefix="$srcdir/fakeinstall" \
--user-config="${userConfigs}" \
--layout=system \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
-sICONV_PATH="${ANDROID_PREFIX}" \
variant=release \
debug-symbols=off \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
threading=multi \
address-model=$_boost_address_model \
cflags="${CXXFLAGS}" \
cxxflags="${CFLAGS}" \
linkflags="${LDFLAGS}"
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $ANDROID_PREFIX/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
msg2 'Invoking build via b2'
export PATH=$ANDROID_CROSS_PREFIX:$PATH
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="$ANDROID_PREFIX" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=gnu++17" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
}
package() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/{include,share} "${pkgdir}$ANDROID_PREFIX"
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
local libdir="${pkgdir}$ANDROID_PREFIX"/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/lib "${pkgdir}$ANDROID_PREFIX"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
find "${libdir}" -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${libdir}" -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
--- boostcpp.jam.old 2018-08-01 22:50:40.000000000 +0200
+++ boostcpp.jam 2018-10-07 01:48:30.175912524 +0200
@@ -154,7 +154,7 @@
# libFoo.1.2.3.dylib format. AIX linkers do not accept version suffixes
# either. Pgi compilers can not accept a library with version suffix.
if $(type) = SHARED_LIB &&
- ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix &&
+ ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix android &&
! [ $(property-set).get <toolset> ] in pgi
{
result = $(result).$(BOOST_VERSION) ;

View File

@ -3,146 +3,153 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_android_arch=armv7a-eabi
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
_pkgname=boost
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_boost_arch=arm
_boost_address_model=32
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.81.0
_srcname=boost_${pkgver//./_}
pkgrel=1
url='https://www.boost.org/'
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
depends=("android-${_android_arch}-bzip2"
"android-${_android_arch}-icu"
"android-${_android_arch}-zlib"
"android-${_android_arch}-zstd")
makedepends=('android-environment')
if [[ $_android_arch == aarch64 ]] || [[ $_android_arch == x86-64 ]]; then
makedepends+=("android-${_android_arch}-openmpi")
optdepends+=("android-${_android_arch}-openmpi: for mpi support")
fi
options=(!strip !buildflags staticlibs !emptydirs)
source=("https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2"
"boost-1.81.0-phoenix-multiple-definitions.patch"
"boost-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch"
"disable-version-check.patch")
md5sums=('9dcd632441e4da04a461082ebbafd337'
'cb1c25777e9b85af62366e7c930244b8'
'326826bf610c63c23247e70e648ff104'
'6290eb4fa0cab451aac92e12e85ef073')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk' 'android-environment')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
boost-1.81.0-phoenix-multiple-definitions.patch
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch
disable-version-check.patch)
sha256sums=('205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'
'3ebf428ef6be090a7b56a233330375539ac429333b83708e28fe5db049cfecdb'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23'
'63d12e7d703b471882608b4225c489f6a35ab425602783a4f9c4ea99a10f9c4b')
prepare() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# https://github.com/boostorg/phoenix/issues/111
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
patch -i ../no-versioned-shlibs.patch
patch -p1 -i ../disable-version-check.patch
}
build() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
# Platform specific patches
case "$_android_arch" in
aarch64)
_boost_arch=arm
_boost_address_model=64
;;
armv7a-eabi)
_boost_arch=arm
_boost_address_model=32
;;
x86)
_boost_arch=x86
_boost_address_model=32
;;
x86-64)
_boost_arch=x86
_boost_address_model=64
;;
*)
;;
esac
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=${_pkg_arch}-linux-android$ANDROID_MINIMUM_PLATFORM --sysroot=$ANDROID_SYSROOT"
local common_flags=" \
$target_flags \
-fexceptions \
-DANDROID \
-O3 -DNDEBUG \
-D_FORTIFY_SOURCE=2 -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4 -fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions"
./bootstrap.sh -with-toolset=gcc
cd ${_srcname}
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
msg2 'Bootstrapping b2'
./bootstrap.sh --with-toolset=gcc
userConfigs=$srcdir/$_srcname/user-config.jam
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
./b2 install \
--prefix="$srcdir/fakeinstall" \
--user-config="${userConfigs}" \
--layout=system \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
-sICONV_PATH="${ANDROID_PREFIX}" \
variant=release \
debug-symbols=off \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
threading=multi \
address-model=$_boost_address_model \
cflags="${CXXFLAGS}" \
cxxflags="${CFLAGS}" \
linkflags="${LDFLAGS}"
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $ANDROID_PREFIX/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
msg2 'Invoking build via b2'
export PATH=$ANDROID_CROSS_PREFIX:$PATH
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="$ANDROID_PREFIX" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=gnu++17" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
}
package() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/{include,share} "${pkgdir}$ANDROID_PREFIX"
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
local libdir="${pkgdir}$ANDROID_PREFIX"/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/lib "${pkgdir}$ANDROID_PREFIX"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
find "${libdir}" -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${libdir}" -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
--- boostcpp.jam.old 2018-08-01 22:50:40.000000000 +0200
+++ boostcpp.jam 2018-10-07 01:48:30.175912524 +0200
@@ -154,7 +154,7 @@
# libFoo.1.2.3.dylib format. AIX linkers do not accept version suffixes
# either. Pgi compilers can not accept a library with version suffix.
if $(type) = SHARED_LIB &&
- ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix &&
+ ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix android &&
! [ $(property-set).get <toolset> ] in pgi
{
result = $(result).$(BOOST_VERSION) ;

View File

@ -3,146 +3,153 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_android_arch=x86-64
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
_pkgname=boost
_pkg_arch=x86-64
_android_arch=x86_64
_boost_arch=x86
_boost_address_model=64
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.81.0
_srcname=boost_${pkgver//./_}
pkgrel=1
url='https://www.boost.org/'
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
depends=("android-${_android_arch}-bzip2"
"android-${_android_arch}-icu"
"android-${_android_arch}-zlib"
"android-${_android_arch}-zstd")
makedepends=('android-environment')
if [[ $_android_arch == aarch64 ]] || [[ $_android_arch == x86-64 ]]; then
makedepends+=("android-${_android_arch}-openmpi")
optdepends+=("android-${_android_arch}-openmpi: for mpi support")
fi
options=(!strip !buildflags staticlibs !emptydirs)
source=("https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2"
"boost-1.81.0-phoenix-multiple-definitions.patch"
"boost-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch"
"disable-version-check.patch")
md5sums=('9dcd632441e4da04a461082ebbafd337'
'cb1c25777e9b85af62366e7c930244b8'
'326826bf610c63c23247e70e648ff104'
'6290eb4fa0cab451aac92e12e85ef073')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk' 'android-environment')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
boost-1.81.0-phoenix-multiple-definitions.patch
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch
disable-version-check.patch)
sha256sums=('205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'
'3ebf428ef6be090a7b56a233330375539ac429333b83708e28fe5db049cfecdb'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23'
'63d12e7d703b471882608b4225c489f6a35ab425602783a4f9c4ea99a10f9c4b')
prepare() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# https://github.com/boostorg/phoenix/issues/111
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
patch -i ../no-versioned-shlibs.patch
patch -p1 -i ../disable-version-check.patch
}
build() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
# Platform specific patches
case "$_android_arch" in
aarch64)
_boost_arch=arm
_boost_address_model=64
;;
armv7a-eabi)
_boost_arch=arm
_boost_address_model=32
;;
x86)
_boost_arch=x86
_boost_address_model=32
;;
x86-64)
_boost_arch=x86
_boost_address_model=64
;;
*)
;;
esac
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=${_pkg_arch}-linux-android$ANDROID_MINIMUM_PLATFORM --sysroot=$ANDROID_SYSROOT"
local common_flags=" \
$target_flags \
-fexceptions \
-DANDROID \
-O3 -DNDEBUG \
-D_FORTIFY_SOURCE=2 -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4 -fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions"
./bootstrap.sh -with-toolset=gcc
cd ${_srcname}
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
msg2 'Bootstrapping b2'
./bootstrap.sh --with-toolset=gcc
userConfigs=$srcdir/$_srcname/user-config.jam
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
./b2 install \
--prefix="$srcdir/fakeinstall" \
--user-config="${userConfigs}" \
--layout=system \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
-sICONV_PATH="${ANDROID_PREFIX}" \
variant=release \
debug-symbols=off \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
threading=multi \
address-model=$_boost_address_model \
cflags="${CXXFLAGS}" \
cxxflags="${CFLAGS}" \
linkflags="${LDFLAGS}"
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $ANDROID_PREFIX/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
msg2 'Invoking build via b2'
export PATH=$ANDROID_CROSS_PREFIX:$PATH
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="$ANDROID_PREFIX" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=gnu++17" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
}
package() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/{include,share} "${pkgdir}$ANDROID_PREFIX"
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
local libdir="${pkgdir}$ANDROID_PREFIX"/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/lib "${pkgdir}$ANDROID_PREFIX"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
find "${libdir}" -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${libdir}" -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
--- boostcpp.jam.old 2018-08-01 22:50:40.000000000 +0200
+++ boostcpp.jam 2018-10-07 01:48:30.175912524 +0200
@@ -154,7 +154,7 @@
# libFoo.1.2.3.dylib format. AIX linkers do not accept version suffixes
# either. Pgi compilers can not accept a library with version suffix.
if $(type) = SHARED_LIB &&
- ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix &&
+ ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix android &&
! [ $(property-set).get <toolset> ] in pgi
{
result = $(result).$(BOOST_VERSION) ;

View File

@ -3,146 +3,153 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=boost
_pkg_arch=x86
_android_arch=x86
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
_boost_arch=x86
_boost_address_model=32
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.81.0
_srcname=boost_${pkgver//./_}
pkgrel=1
url='https://www.boost.org/'
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
depends=("android-${_android_arch}-bzip2"
"android-${_android_arch}-icu"
"android-${_android_arch}-zlib"
"android-${_android_arch}-zstd")
makedepends=('android-environment')
if [[ $_android_arch == aarch64 ]] || [[ $_android_arch == x86-64 ]]; then
makedepends+=("android-${_android_arch}-openmpi")
optdepends+=("android-${_android_arch}-openmpi: for mpi support")
fi
options=(!strip !buildflags staticlibs !emptydirs)
source=("https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2"
"boost-1.81.0-phoenix-multiple-definitions.patch"
"boost-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch"
"disable-version-check.patch")
md5sums=('9dcd632441e4da04a461082ebbafd337'
'cb1c25777e9b85af62366e7c930244b8'
'326826bf610c63c23247e70e648ff104'
'6290eb4fa0cab451aac92e12e85ef073')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk' 'android-environment')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
boost-1.81.0-phoenix-multiple-definitions.patch
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch
disable-version-check.patch)
sha256sums=('205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'
'3ebf428ef6be090a7b56a233330375539ac429333b83708e28fe5db049cfecdb'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23'
'63d12e7d703b471882608b4225c489f6a35ab425602783a4f9c4ea99a10f9c4b')
prepare() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# https://github.com/boostorg/phoenix/issues/111
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
patch -i ../no-versioned-shlibs.patch
patch -p1 -i ../disable-version-check.patch
}
build() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
# Platform specific patches
case "$_android_arch" in
aarch64)
_boost_arch=arm
_boost_address_model=64
;;
armv7a-eabi)
_boost_arch=arm
_boost_address_model=32
;;
x86)
_boost_arch=x86
_boost_address_model=32
;;
x86-64)
_boost_arch=x86
_boost_address_model=64
;;
*)
;;
esac
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=${_pkg_arch}-linux-android$ANDROID_MINIMUM_PLATFORM --sysroot=$ANDROID_SYSROOT"
local common_flags=" \
$target_flags \
-fexceptions \
-DANDROID \
-O3 -DNDEBUG \
-D_FORTIFY_SOURCE=2 -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4 -fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions"
./bootstrap.sh -with-toolset=gcc
cd ${_srcname}
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
msg2 'Bootstrapping b2'
./bootstrap.sh --with-toolset=gcc
userConfigs=$srcdir/$_srcname/user-config.jam
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
./b2 install \
--prefix="$srcdir/fakeinstall" \
--user-config="${userConfigs}" \
--layout=system \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
-sICONV_PATH="${ANDROID_PREFIX}" \
variant=release \
debug-symbols=off \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
threading=multi \
address-model=$_boost_address_model \
cflags="${CXXFLAGS}" \
cxxflags="${CFLAGS}" \
linkflags="${LDFLAGS}"
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $ANDROID_PREFIX/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
msg2 'Invoking build via b2'
export PATH=$ANDROID_CROSS_PREFIX:$PATH
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="$ANDROID_PREFIX" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=gnu++17" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
}
package() {
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
source android-env ${_pkg_arch}
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/{include,share} "${pkgdir}$ANDROID_PREFIX"
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
local libdir="${pkgdir}$ANDROID_PREFIX"/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
install -dm755 "${pkgdir}$ANDROID_PREFIX"
cp -a "${_stagedir}"/lib "${pkgdir}$ANDROID_PREFIX"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
find "${libdir}" -iname '*.a' -exec $ANDROID_STRIP -g {} \;
find "${libdir}" -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
--- boostcpp.jam.old 2018-08-01 22:50:40.000000000 +0200
+++ boostcpp.jam 2018-10-07 01:48:30.175912524 +0200
@@ -154,7 +154,7 @@
# libFoo.1.2.3.dylib format. AIX linkers do not accept version suffixes
# either. Pgi compilers can not accept a library with version suffix.
if $(type) = SHARED_LIB &&
- ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix &&
+ ! [ $(property-set).get <target-os> ] in windows cygwin darwin aix android &&
! [ $(property-set).get <toolset> ] in pgi
{
result = $(result).$(BOOST_VERSION) ;

View File

@ -1,18 +0,0 @@
pkgname=buildenv
pkgver=1
pkgrel=2
pkgdesc='Build environment for my Arch Linux package builds'
arch=('any')
license=('GPL-2.0-or-later')
url='https://github.com/Martchus/PKGBUILDs'
depends=('base-devel' 'multilib-devel')
source=(android.sh parallel.sh)
sha256sums=(SKIP SKIP)
package() {
cd "$srcdir"
mkdir -p "$pkgdir/usr/share/makepkg/buildenv"
for src in android parallel; do
cp -v "$src.sh" "$pkgdir/usr/share/makepkg/buildenv/$src.sh"
done
}

View File

@ -1,12 +0,0 @@
#!/usr/bin/bash
[[ -n "$LIBMAKEPKG_BUILDENV_ANDROID_SH" ]] && return
LIBMAKEPKG_BUILDENV_ANDROID_SH=1
buildenv_functions+=('buildenv_android')
buildenv_vars+=('ANDROID_MINIMUM_PLATFORM')
buildenv_android() {
# set minimum Android version to Android 7.0
ANDROID_MINIMUM_PLATFORM=24
}

View File

@ -1,10 +0,0 @@
#!/usr/bin/bash
[[ -n "$LIBMAKEPKG_BUILDENV_PARALLEL_SH" ]] && return
LIBMAKEPKG_BUILDENV_PARALLEL_SH=1
buildenv_functions+=('buildenv_parallel')
buildenv_parallel() {
[[ $MAKEFLAGS ]] || MAKEFLAGS=-j$(nproc)
}

View File

@ -5,7 +5,7 @@
_reponame=cpp-utilities
pkgname=c++utilities
pkgver=5.24.8
pkgver=5.24.6
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
@ -17,7 +17,7 @@ checkdepends=('cppunit')
provides=(libc++utilities.so)
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
sha256sums=('2a42a0595d7d36ebe4b3e24fb3347b8800bc82ab7abd113c753fd0f8cb4af6d8')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_name=c++utilities
_reponame=cpp-utilities
pkgname=$_name-doc
pkgver=5.24.8
pkgver=5.24.6
pkgrel=1
arch=('any')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (API documentation)'
@ -14,7 +14,7 @@ license=('GPL')
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
sha256sums=('2a42a0595d7d36ebe4b3e24fb3347b8800bc82ab7abd113c753fd0f8cb4af6d8')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_reponame=cpp-utilities
pkgname=mingw-w64-c++utilities
_name=${pkgname#mingw-w64-}
pkgver=5.24.8
pkgver=5.24.6
pkgrel=1
arch=('any')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (mingw-w64)'
@ -17,7 +17,7 @@ checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
sha256sums=('2a42a0595d7d36ebe4b3e24fb3347b8800bc82ab7abd113c753fd0f8cb4af6d8')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')

View File

@ -6,7 +6,7 @@
_reponame=cpp-utilities
pkgname=static-compat-c++utilities
_name=${pkgname#static-compat-}
pkgver=5.24.8
pkgver=5.24.6
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
@ -17,7 +17,7 @@ makedepends=('ninja' 'static-compat-cmake')
checkdepends=('static-compat-cppunit')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
sha256sums=('2a42a0595d7d36ebe4b3e24fb3347b8800bc82ab7abd113c753fd0f8cb4af6d8')
prepare() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -9,7 +9,7 @@ pkgrel=3
pkgdesc='Source code formatter for CMake listfiles'
arch=('any')
url='https://github.com/cheshirekow/cmake_format'
license=('GPL-3.0-or-later')
license=('GPL3')
depends=('python-six>=1.13.0')
makedepends=('python-setuptools')
optdepends=('python-yaml>=5.3: YAML config files' 'python-jinja>=2.10.3: complete HTML annotation' 'python-argcomplete: automatic shell completion')

View File

@ -47,7 +47,7 @@ build() {
else
echo "You need to provide metadata files usually found under C:/Windows/System32/WinMetadata on a
Windows system and point this build script to it via the WIN_METADATA environment variable.
Otherwise this package will not contain all headers that are required by e.g. Qt 6."
Otherwise this package will not container all headers that are required by e.g. Qt 6."
fi
# add rust metadata provided by https://github.com/microsoft/windows-rs

View File

@ -10,10 +10,6 @@ arch_pkgbuilds=$1
echo "expected version: $expected_version"
for pkgbuild in qt5-*/PKGBUILD ; do
git -C "${pkgbuild%/PKGBUILD}" pull --rebase origin main
done
for pkgbuild in qt5-*/PKGBUILD ; do
source "$pkgbuild"
if [[ $pkgname != qt5-doc ]] && [[ $pkgver =~ $expected_version ]] && [[ $_commit ]]; then

View File

@ -76,43 +76,35 @@ $mojolicious->helper(expand_libs => sub {
# define revisions of Qt modules from KDE fork
my %kde_fork_revisions = (
# module => [rev, 'commit on KDE fork', 'version bump to be reverted'],
activeqt => [0, '014285857ef1cfb2d9965cf7bad871bbc336ce60'],
winextras => [0, 'e6a85ae3306867400b8700600152949656eb21f7'],
'3d' => [0, '67bee4599a28e1cadc14ed9ea4adc7061e250b90'],
base => [138, 'b9906b5233a80cab372c95ac4dd68b25bdca0646'],
charts => [0, '3f3f14d69a509c3e8027bfb5d7ffca9b4f3ef003'],
connectivity => [4, '8024ef3d7269665ba104f528e5e284df9d9d8ae9'],
datavis3d => [0, '6ac6d23a8f558f36f1162b419858cc44dccd4d2b'],
declarative => [30, 'b99568135aa60de96ca2e121dc2e8d83fb1ca886'],
gamepad => [0, '44255e2ae53a14e9a3fb671da0782ec5d396220a'],
graphicaleffects => [0, '895f9753940156dda05aa83d3c7655571514407e'],
imageformats => [7, '63ec444cc7b30c45d4c8beb2c1071a1157d689eb'],
location => [6, 'c576985da4e6a4a0b85d5229263777e7197494e0'],
lottie => [0, '62f17bbc0ae8649178ac484afc434dbad16d6351'],
multimedia => [2, '7514352532f41d9f0f8b8d722e360b1854442731'],
networkauth => [0, 'ed2291d454fac207f6b1555d30b9227e51be611b'],
purchasing => [0, '7f4ead6f3e6431acee63987a0a1753ff140ac2d2'],
quick3d => [1, 'a0c37ca7615e95d69bcf6de8f19607bd46e8c37a'],
quickcontrols => [0, '77fbfa8d313bbdb8fb762f15dd6173a067be55e3'],
quickcontrols2 => [5, '1fc98160580fc7b791e20d34ba986c9992cae9c5'],
quicktimeline => [0, '29394e35db43acb20e7b4d5e978a733f5b4232a6'],
remoteobjects => [0, '18ef1cdce7bc4c93415f38f1c220ab697aa75908'],
scxml => [0, '6074956c2089dd0507d2930c638fa8c930f4e21c'],
sensors => [0, '7f8b55744f87155a4979dd8ba405bd7feec03042'],
serialbus => [0, '5efce7d821bad2f5db95ff3ada5eeddccbb58920'],
serialport => [0, 'fc0b6affe244e40366bd624d6e01c62712568eb8'],
speech => [1, '9b3738febbc751820ede496e8d619c5be56548dc'],
svg => [6, '080fed6443e9e7b2ad30e61f31163e9481dfad0f'],
tools => [4, 'ba4c633c4a4731ead0c376b908bf5449796f7de1'],
translations => [0, '40aabebd04a30ccef374bf20a7bfaa1d8d665b7f'],
virtualkeyboard => [0, '80565aa7fc37ecdb1c08e585d4ae3060618e3338'],
wayland => [60, '9c82b5461736f59a06923ab68c6f7584ecab4f77'],
webchannel => [3, 'c78ad286a90e3d7986292b4a6036a9927bbc155f'],
webglplugin => [0, '80257933d3bf3a026455d71106e6b3e70dead765'],
websockets => [2, '2c2b7691ae231f43129d7f2b43984c30883ca4b1'],
webview => [0, '3d9289d73c5c03ed5b2fe246589d0d81cfdaa22e'],
x11extras => [0, '415ac0d58521be2bb00ef4cecdb16f0b9001e88c'],
xmlpatterns => [0, 'eb59017f04b44667e0c6778aa3995f8e86c98e48'],
activeqt => [0, '4fc1cba4c415d84a5879da29f7c459b70fbc15e9'],
winextras => [0, 'ee931eba5d129284d5c33157cd7d0b9232fbee7b'],
'3d' => [0, 'e1b1a0d2970fd384bd52c734a72536d8452ad070'],
base => [147, '8907dedc858cc344d770a2e826d6acc516429540'],
charts => [0, '393a84ad5b16a9ec93d8a44bebf1ae86e881bc06'],
connectivity => [6, '70020cb64f71dcf2fd65a8a167cb785d2127e159'],
datavis3d => [0, 'c887477198cae44585fe9db371db0ddf4c3b205e'],
declarative => [31, '792a55bb701d233116c3731c7a53ffdb8c67e407'],
gamepad => [0, '8ed95136b3c265b01db6cc33869228f41878e173'],
graphicaleffects => [0, 'e33716bd6bb8926688fef20cb568e11618d08a35'],
imageformats => [10, '142040e8a652e708ff6e004361f6bcfe85fefdf9'],
location => [6, '5b27b8921f1f2de93573df903c47aee634209f80'],
multimedia => [2, '36603a39aa590c12cbe2b192b56b29edd09a7a6b'],
networkauth => [0, '3fccc9b8fdaff1252fb4a9c516868d0bbbd4384d'],
quickcontrols => [0, '1ca962198a703f591efc7c8f7540fc4120746a00'],
quickcontrols2 => [5, '134ca5dbef9d137a9c46faa79b0225bc650d9283'],
remoteobjects => [0, 'f64e34be9ac4b7e92c63e47235c04471a1d40c93'],
scxml => [0, '3f56c6b4bd1e3883581340243b4a7289807fffc9'],
sensors => [0, '3011b16d63cadbb473b6aa3a535b9f0e33170c09'],
serialport => [0, 'c3a7debff7a4c6ddaedb795290180dd99d7ac4be'],
speech => [1, 'c41437acf07c2c4703351b07925fce3ce0e6b75d'],
svg => [6, '5b1b4a99d6bc98c42a11b7a3f6c9f0b0f9e56f34'],
tools => [4, 'bd0ceb7de5d0c918ae596150e95b069dca8b9150'],
translations => [0, 'f7745c117041e7adf9705e1de8d71086c160dd9f'],
virtualkeyboard => [0, '8b885af5ad3c2f2ff500c060a41e312ea7276e50'],
webchannel => [3, '6d2f0c3a36d9b2cdcd759a464c608365a0afda98'],
webglplugin => [0, '8f879e6bcf941a612c568fbfe2b49ddb1bb409cd'],
websockets => [2, '9a7b9972a54137d5f2e0d49559fe58d07c90662e'],
xmlpatterns => [0, '6e0917d518e07f737cc663b8d632c8021634fd3b'],
);
# $rev := git rev-list --count v5.15.2..$commit_on_kde_fork

View File

@ -14,7 +14,7 @@
_android_arch=<%= $variant_prefix_part =~ s/android-// && $variant_prefix_part %>
pkgname=<%= $package_name %>
_qtver=6.7.0
_qtver=6.6.2
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)

View File

@ -31,7 +31,7 @@
_qt_module=qt<%== $qt_module %>
pkgname=<%= $package_name %>
pkgver=5.15.13<%== $kde_fork_revision ? "+kde+r$kde_fork_revision->[0]" : '' %>
pkgver=5.15.12<%== $kde_fork_revision ? "+kde+r$kde_fork_revision->[0]" : '' %>
pkgrel=1
% if ($kde_fork_revision) {
_basever=${pkgver%%+*}

View File

@ -14,9 +14,9 @@
% }
pkgname=<%= $package_name %>
_qtver=6.7.0
_qtver=6.6.2
pkgver=${_qtver/-/}
pkgrel=1
pkgrel=2
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
@ -38,13 +38,7 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/subm
sha256sums=('<%== $qt_module_sha256 %>'\
<%== include 'fragments/sha256_list', relevant_files => $patch_files %>)
# disable i686 build because 32-bit Windows is generally not supported by upstream and
# it does not build anymore as of GCC 14 (probably due to commit 9a19fa8b616f83474c35cc5b34a3865073ced829)
# remarks:
# - This is in-line with MSYS2's packaging of mingw-w64 Qt 6 packages.
# - You may override MINGW_W64_QT6_ARCHS by adding the variable to `/etc/makepkg.conf` in case you
# nevertheless want to attempt the i686 build.
_architectures=${MINGW_W64_QT6_ARCHS:-x86_64-w64-mingw32}
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
% if ($patch_files->size || content_for('prepare')->size) {
prepare () {

View File

@ -15,7 +15,7 @@ _pkgfqn="qt<%== $qt_module %>-everywhere-src-${_qtver}"
sha256sums=('<%== stash('git_commit') ? 'SKIP' : $qt_module_sha256 %>'\
<%== include 'fragments/sha256_list', relevant_files => $patch_files %>)
_architectures=${MINGW_W64_QT6_ARCHS:-x86_64-w64-mingw32}
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
% if ($patch_files->size || content_for('prepare')->size) {
prepare () {

View File

@ -13,7 +13,7 @@
% }
pkgname=<%= $package_name %>
_qtver=6.7.0
_qtver=6.6.2
pkgver=${_qtver/-/}
pkgrel=1
arch=(x86_64)

View File

@ -1,20 +1,20 @@
#!/bin/bash
declare -A versions=(
[syncthingtray]=1.5.3
[c++utilities]=5.24.8
[qtutilities]=6.14.0
[qtforkawesome]=0.2.0
[syncthingtray]=1.4.13
[c++utilities]=5.24.6
[qtutilities]=6.13.4
[qtforkawesome]=0.1.0
[tagparser]=12.1.0
[tageditor]=3.9.0
[passwordfile]=5.0.11
[passwordmanager]=4.2.0
[passwordfile]=5.0.10
[passwordmanager]=4.1.13
[videodownloader]=1.3.6
[reflective-rapidjson]=0.0.15
[blackwidowcontrol]=1.1.0
[dbus-soundrecorder]=1.2.3
[geocoordinatecalculator]=1.1.3
[qt5]=5.15.13
[qt6]=6.7.0
[qt5]=5.15.12
[qt6]=6.6.2
)
declare -A github_names=(
[c++utilities]=cpp-utilities

View File

@ -9,7 +9,7 @@
pkgname=devtools-custom
_pkgname=devtools
epoch=1
pkgver=1.1.1
pkgver=1.0.4
pkgrel=1
pkgdesc='Tools for Arch Linux package maintainers (patches from ALARM and custom ones)'
arch=('any')

View File

@ -1,20 +1,15 @@
pkgname=(static-compat-{environment,pkgconf})
pkgname=static-compat-environment
pkgver=1
pkgrel=2
pkgrel=1
arch=('any')
pkgdesc="Script providing common environment variables to use gcc-static-compat"
license=('GPL')
depends=('gcc-static-compat')
url="https://github.com/Martchus/PKGBUILDs"
source=(static-compat-environment.sh pkg-config.sh)
source=("static-compat-environment.sh")
sha256sums=('SKIP')
package_static-compat-environment() {
package() {
install -d "${pkgdir}"/usr/bin
install -m 755 static-compat-environment.sh "${pkgdir}"/usr/bin/static-compat-environment
}
package_static-compat-pkgconf() {
install -d "${pkgdir}"/usr/static-compat/bin/
install -m 755 pkg-config.sh "${pkgdir}"/usr/static-compat/bin/pkg-config
}

View File

@ -1,2 +0,0 @@
#!/usr/bin/bash
exec /usr/bin/pkg-config --static "$@"

View File

@ -153,8 +153,7 @@ prepare() {
# Fix bug in av_fft_end
git cherry-pick -n a562cfee2e214252f8b3f516527272ae32ef9532
git cherry-pick -n 250471ea1745fc703eb346a2a662304536a311b1
# Fix build with latest vulkan headers
git cherry-pick -n fef22c87ada4517441701e6e61e062c9f4399c8e
}
pkgver() {

View File

@ -1,319 +0,0 @@
2024-05-08 Jakub Jelinek <jakub@redhat.com>
PR target/114968
gcc/
* target.def (use_atexit_for_cxa_atexit): Remove spurious space
from comment.
(adjust_cdtor_callabi_fntype): New cxx target hook.
* targhooks.h (default_cxx_adjust_cdtor_callabi_fntype): Declare.
* targhooks.cc (default_cxx_adjust_cdtor_callabi_fntype): New
function.
* doc/tm.texi.in (TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE): Add.
* doc/tm.texi: Regenerate.
* config/i386/i386.cc (ix86_cxx_adjust_cdtor_callabi_fntype): New
function.
(TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE): Redefine.
gcc/cp/
* cp-tree.h (atexit_fn_ptr_type_node, cleanup_type): Adjust macro
comments.
(get_cxa_atexit_fn_ptr_type): Declare.
* decl.cc (get_atexit_fn_ptr_type): Adjust function comment, only
build type for atexit argument.
(get_cxa_atexit_fn_ptr_type): New function.
(get_atexit_node): Call get_cxa_atexit_fn_ptr_type rather than
get_atexit_fn_ptr_type when using __cxa_atexit.
(get_thread_atexit_node): Call get_cxa_atexit_fn_ptr_type
rather than get_atexit_fn_ptr_type.
(start_cleanup_fn): Add fntype argument, don't call
get_atexit_fn_ptr_type for it.
(register_dtor_fn): Adjust start_cleanup_fn caller, use
get_cxa_atexit_fn_ptr_type rather than get_atexit_fn_ptr_type
when ob_parm is true.
* except.cc (build_throw): Use get_cxa_atexit_fn_ptr_type ().
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -6498,7 +6498,7 @@ is in effect. The default is to return
hook_bool_void_false)
/* Returns true if target may use atexit in the same manner as
- __cxa_atexit to register static destructors. */
+ __cxa_atexit to register static destructors. */
DEFHOOK
(use_atexit_for_cxa_atexit,
"This hook returns true if the target @code{atexit} function can be used\n\
@@ -6509,6 +6509,17 @@ unloaded. The default is to return false
bool, (void),
hook_bool_void_false)
+/* Returns modified FUNCTION_TYPE for cdtor callabi. */
+DEFHOOK
+(adjust_cdtor_callabi_fntype,
+ "This hook returns a possibly modified @code{FUNCTION_TYPE} for arguments\n\
+to @code{__cxa_atexit}, @code{__cxa_thread_atexit} or @code{__cxa_throw}\n\
+function pointers. ABIs like mingw32 require special attributes to be added\n\
+to function types pointed to by arguments of these functions.\n\
+The default is to return the passed argument unmodified.",
+ tree, (tree fntype),
+ default_cxx_adjust_cdtor_callabi_fntype)
+
DEFHOOK
(adjust_class_at_definition,
"@var{type} is a C++ class (i.e., RECORD_TYPE or UNION_TYPE) that has just\n\
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -65,6 +65,7 @@ extern machine_mode default_mode_for_suf
extern tree default_cxx_guard_type (void);
extern tree default_cxx_get_cookie_size (tree);
+extern tree default_cxx_adjust_cdtor_callabi_fntype (tree);
extern bool hook_pass_by_reference_must_pass_in_stack
(cumulative_args_t, const function_arg_info &);
--- a/gcc/targhooks.cc
+++ b/gcc/targhooks.cc
@@ -329,6 +329,14 @@ default_cxx_get_cookie_size (tree type)
return cookie_size;
}
+/* Returns modified FUNCTION_TYPE for cdtor callabi. */
+
+tree
+default_cxx_adjust_cdtor_callabi_fntype (tree fntype)
+{
+ return fntype;
+}
+
/* Return true if a parameter must be passed by reference. This version
of the TARGET_PASS_BY_REFERENCE hook uses just MUST_PASS_IN_STACK. */
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -7223,6 +7223,8 @@ floating-point support; they are not inc
@hook TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT
+@hook TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE
+
@hook TARGET_CXX_ADJUST_CLASS_AT_DEFINITION
@hook TARGET_CXX_DECL_MANGLING_CONTEXT
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -11117,6 +11117,14 @@ shared libraries are run in the correct
unloaded. The default is to return false.
@end deftypefn
+@deftypefn {Target Hook} tree TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE (tree @var{fntype})
+This hook returns a possibly modified @code{FUNCTION_TYPE} for arguments
+to @code{__cxa_atexit}, @code{__cxa_thread_atexit} or @code{__cxa_throw}
+function pointers. ABIs like mingw32 require special attributes to be added
+to function types pointed to by arguments of these functions.
+The default is to return the passed argument unmodified.
+@end deftypefn
+
@deftypefn {Target Hook} void TARGET_CXX_ADJUST_CLASS_AT_DEFINITION (tree @var{type})
@var{type} is a C++ class (i.e., RECORD_TYPE or UNION_TYPE) that has just
been defined. Use this hook to make adjustments to the class (eg, tweak
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -25799,6 +25799,20 @@ ix86_bitint_type_info (int n, struct bit
return true;
}
+/* Returns modified FUNCTION_TYPE for cdtor callabi. */
+tree
+ix86_cxx_adjust_cdtor_callabi_fntype (tree fntype)
+{
+ if (TARGET_64BIT
+ || TARGET_RTD
+ || ix86_function_type_abi (fntype) != MS_ABI)
+ return fntype;
+ /* For 32-bit MS ABI add thiscall attribute. */
+ tree attribs = tree_cons (get_identifier ("thiscall"), NULL_TREE,
+ TYPE_ATTRIBUTES (fntype));
+ return build_type_attribute_variant (fntype, attribs);
+}
+
/* Implement PUSH_ROUNDING. On 386, we have pushw instruction that
decrements by exactly 2 no matter what the position was, there is no pushb.
@@ -26410,6 +26424,8 @@ static const scoped_attribute_specs *con
#define TARGET_C_EXCESS_PRECISION ix86_get_excess_precision
#undef TARGET_C_BITINT_TYPE_INFO
#define TARGET_C_BITINT_TYPE_INFO ix86_bitint_type_info
+#undef TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE
+#define TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE ix86_cxx_adjust_cdtor_callabi_fntype
#undef TARGET_PROMOTE_PROTOTYPES
#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true
#undef TARGET_PUSH_ARGUMENT
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -368,8 +368,7 @@ extern GTY(()) tree cp_global_trees[CPTI
#define throw_fn cp_global_trees[CPTI_THROW_FN]
#define rethrow_fn cp_global_trees[CPTI_RETHROW_FN]
-/* The type of the function-pointer argument to "__cxa_atexit" (or
- "std::atexit", if "__cxa_atexit" is not being used). */
+/* The type of the function-pointer argument to "std::atexit". */
#define atexit_fn_ptr_type_node cp_global_trees[CPTI_ATEXIT_FN_PTR_TYPE]
/* A pointer to `std::atexit'. */
@@ -384,7 +383,8 @@ extern GTY(()) tree cp_global_trees[CPTI
/* The declaration of the dynamic_cast runtime. */
#define dynamic_cast_node cp_global_trees[CPTI_DCAST]
-/* The type of a destructor. */
+/* The type of a destructor, passed to __cxa_atexit, __cxa_thread_atexit
+ or __cxa_throw. */
#define cleanup_type cp_global_trees[CPTI_CLEANUP_TYPE]
/* The type of the vtt parameter passed to subobject constructors and
@@ -7067,6 +7067,7 @@ extern tree check_default_argument (tre
extern int wrapup_namespace_globals ();
extern tree create_implicit_typedef (tree, tree);
extern int local_variable_p (const_tree);
+extern tree get_cxa_atexit_fn_ptr_type ();
extern tree register_dtor_fn (tree);
extern tmpl_spec_kind current_tmpl_spec_kind (int);
extern tree cxx_builtin_function (tree decl);
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -93,7 +93,7 @@ static void record_key_method_defined (t
static tree create_array_type_for_decl (tree, tree, tree, location_t);
static tree get_atexit_node (void);
static tree get_dso_handle_node (void);
-static tree start_cleanup_fn (void);
+static tree start_cleanup_fn (tree);
static void end_cleanup_fn (void);
static tree cp_make_fname_decl (location_t, tree, int);
static void initialize_predefined_identifiers (void);
@@ -9678,34 +9678,39 @@ declare_global_var (tree name, tree type
return decl;
}
-/* Returns the type for the argument to "__cxa_atexit" (or "atexit",
- if "__cxa_atexit" is not being used) corresponding to the function
+/* Returns the type for the argument to "atexit" corresponding to the function
to be called when the program exits. */
static tree
-get_atexit_fn_ptr_type (void)
+get_atexit_fn_ptr_type ()
{
- tree fn_type;
-
if (!atexit_fn_ptr_type_node)
{
- tree arg_type;
- if (flag_use_cxa_atexit
- && !targetm.cxx.use_atexit_for_cxa_atexit ())
- /* The parameter to "__cxa_atexit" is "void (*)(void *)". */
- arg_type = ptr_type_node;
- else
- /* The parameter to "atexit" is "void (*)(void)". */
- arg_type = NULL_TREE;
-
- fn_type = build_function_type_list (void_type_node,
- arg_type, NULL_TREE);
+ tree fn_type = build_function_type_list (void_type_node, NULL_TREE);
atexit_fn_ptr_type_node = build_pointer_type (fn_type);
}
return atexit_fn_ptr_type_node;
}
+/* Returns the type for the argument to "__cxa_atexit", "__cxa_thread_atexit"
+ or "__cxa_throw" corresponding to the destructor to be called when the
+ program exits. */
+
+tree
+get_cxa_atexit_fn_ptr_type ()
+{
+ if (!cleanup_type)
+ {
+ tree fntype = build_function_type_list (void_type_node,
+ ptr_type_node, NULL_TREE);
+ fntype = targetm.cxx.adjust_cdtor_callabi_fntype (fntype);
+ cleanup_type = build_pointer_type (fntype);
+ }
+
+ return cleanup_type;
+}
+
/* Returns a pointer to the `atexit' function. Note that if
FLAG_USE_CXA_ATEXIT is nonzero, then this will actually be the new
`__cxa_atexit' function specified in the IA64 C++ ABI. */
@@ -9736,7 +9741,7 @@ get_atexit_node (void)
use_aeabi_atexit = targetm.cxx.use_aeabi_atexit ();
/* First, build the pointer-to-function type for the first
argument. */
- fn_ptr_type = get_atexit_fn_ptr_type ();
+ fn_ptr_type = get_cxa_atexit_fn_ptr_type ();
/* Then, build the rest of the argument types. */
argtype2 = ptr_type_node;
if (use_aeabi_atexit)
@@ -9819,7 +9824,7 @@ get_thread_atexit_node (void)
int __cxa_thread_atexit (void (*)(void *), void *, void *) */
tree fn_type = build_function_type_list (integer_type_node,
- get_atexit_fn_ptr_type (),
+ get_cxa_atexit_fn_ptr_type (),
ptr_type_node, ptr_type_node,
NULL_TREE);
@@ -9866,7 +9871,7 @@ get_dso_handle_node (void)
static GTY(()) int start_cleanup_cnt;
static tree
-start_cleanup_fn (void)
+start_cleanup_fn (tree fntype)
{
char name[32];
@@ -9878,7 +9883,6 @@ start_cleanup_fn (void)
/* Build the name of the function. */
sprintf (name, "__tcf_%d", start_cleanup_cnt++);
/* Build the function declaration. */
- tree fntype = TREE_TYPE (get_atexit_fn_ptr_type ());
tree fndecl = build_lang_decl (FUNCTION_DECL, get_identifier (name), fntype);
DECL_CONTEXT (fndecl) = FROB_CONTEXT (current_namespace);
/* It's a function with internal linkage, generated by the
@@ -9968,8 +9972,10 @@ register_dtor_fn (tree decl)
build_cleanup (decl);
/* Now start the function. */
- cleanup = start_cleanup_fn ();
-
+ cleanup = start_cleanup_fn (TREE_TYPE (ob_parm
+ ? get_cxa_atexit_fn_ptr_type ()
+ : get_atexit_fn_ptr_type ()));
+
/* Now, recompute the cleanup. It may contain SAVE_EXPRs that refer
to the original function, rather than the anonymous one. That
will make the back end think that nested functions are in use,
@@ -9998,7 +10004,8 @@ register_dtor_fn (tree decl)
{
/* We must convert CLEANUP to the type that "__cxa_atexit"
expects. */
- cleanup = build_nop (get_atexit_fn_ptr_type (), cleanup);
+ cleanup = build_nop (ob_parm ? get_cxa_atexit_fn_ptr_type ()
+ : get_atexit_fn_ptr_type (), cleanup);
/* "__cxa_atexit" will pass the address of DECL to the
cleanup function. */
mark_used (decl);
--- a/gcc/cp/except.cc
+++ b/gcc/cp/except.cc
@@ -645,11 +645,7 @@ build_throw (location_t loc, tree exp, t
/* The CLEANUP_TYPE is the internal type of a destructor. */
if (!cleanup_type)
- {
- tree tmp = build_function_type_list (void_type_node,
- ptr_type_node, NULL_TREE);
- cleanup_type = build_pointer_type (tmp);
- }
+ cleanup_type = get_cxa_atexit_fn_ptr_type ();
if (!throw_fn)
{

View File

@ -1,8 +1,8 @@
# Maintainer of official package: Felix Yan <felixonmars@archlinux.org>
pkgname=mingw-w64-gcc
pkgver=14.1.1+r1+g43b730b9134
pkgrel=2
pkgver=13.2.1
pkgrel=1
pkgdesc="Cross GCC for the MinGW-w64 cross-compiler"
arch=('x86_64' 'aarch64')
url="https://gcc.gnu.org"
@ -12,15 +12,14 @@ depends=('zlib' 'libisl' 'libmpc' 'mingw-w64-crt' 'mingw-w64-binutils' 'mingw-w6
# gcc-d doesn't build as of 13.1.0
makedepends=("gcc-ada" "git")
options=('!strip' 'staticlibs' '!emptydirs' '!buildflags')
_commit=43b730b9134af60a8f1c5b107d625f7127ff23c5
source=(git+https://sourceware.org/git/gcc.git#commit=${_commit}
0001-missing-__thiscall-attribute-on-builtin-declaration-of-__cxa_thread_atexit.patch)
_commit=d8a0dcd146dd95e2b6b85cf82c445214d364cf3b
source=(git+https://sourceware.org/git/gcc.git#commit=${_commit})
#source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig})
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com
13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek <jakub@redhat.com>
sha512sums=('SKIP' 'SKIP')
sha512sums=('SKIP')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
@ -28,17 +27,11 @@ prepare() {
ln -sf gcc-${pkgver/+/-} gcc
cd gcc
patch -p1 -i "$srcdir/0001-missing-__thiscall-attribute-on-builtin-declaration-of-__cxa_thread_atexit.patch"
# mmapio.c:69:14: error: implicit declaration of function getpagesize
sed -i 's|\-Werror||g' libbacktrace/configure
}
build() {
# Avoid errors due to implicit function declarations and similar issues (which are treated as errors as of GCC 14,
# see https://gcc.gnu.org/gcc-14/porting_to.html)
export CFLAGS_FOR_TARGET=-fpermissive
for _arch in ${_architectures}; do
mkdir -p "$srcdir"/build-${_arch} && cd "$srcdir"/build-${_arch}
"$srcdir"/gcc/configure --prefix=/usr --libexecdir=/usr/lib \
@ -62,7 +55,7 @@ package() {
make DESTDIR="$pkgdir" install
${_arch}-strip "$pkgdir"/usr/${_arch}/lib/*.dll
strip "$pkgdir"/usr/bin/${_arch}-*
strip "$pkgdir"/usr/lib/gcc/${_arch}/*/{cc1*,collect2,gnat1,f951,lto*}
strip "$pkgdir"/usr/lib/gcc/${_arch}/${pkgver}/{cc1*,collect2,gnat1,f951,lto*}
ln -s ${_arch}-gcc "$pkgdir"/usr/bin/${_arch}-cc
# mv dlls
mkdir -p "$pkgdir"/usr/${_arch}/bin/

View File

@ -1,8 +1,8 @@
# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc
# NOTE: libtool requires rebuilt with each new gcc version
pkgname=({gcc,gcc-libs,lib32-gcc-libs,gcc-fortran}-static-compat)
pkgver=14.1.1+r1+g43b730b9134
pkgname=({gcc,gcc-libs,lib32-gcc-libs,gcc-ada,gcc-fortran}-static-compat)
pkgver=13.2.1
_majorver=${pkgver%%.*}
pkgrel=1
pkgdesc='The GNU Compiler Collection'
@ -32,10 +32,11 @@ checkdepends=(
options=(!emptydirs !lto debug)
_prefix=/usr/static-compat
_libdir=usr/static-compat/lib/gcc/$CHOST/${pkgver%%+*}
_commit=43b730b9134af60a8f1c5b107d625f7127ff23c5
source=(git+https://sourceware.org/git/gcc.git#commit=$_commit
_commit=d8a0dcd146dd95e2b6b85cf82c445214d364cf3b
source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit
#source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig}
c89 c99
gcc-ada-repro.patch
)
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com
@ -45,7 +46,8 @@ validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.
# 'SKIP'
sha256sums=('SKIP'
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a')
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
'1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f')
prepare() {
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
@ -59,6 +61,9 @@ prepare() {
sed -i 's|MULTILIB_DIRNAMES .*|MULTILIB_DIRNAMES = 64 32|' gcc/config/i386/t-linux64
sed -i 's|m32=.*|m32=../lib32\$\(call if_multiarch,:i386-linux-gnu\)|' gcc/config/i386/t-linux64
# Reproducible gcc-ada
patch -Np0 < "$srcdir/gcc-ada-repro.patch"
mkdir -p "$srcdir/gcc-build"
}
@ -118,9 +123,16 @@ build() {
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2}
"$srcdir/gcc/configure" \
--enable-languages=c,c++,fortran,lto \
--enable-languages=ada,c,c++,fortran,lto \
$_confflags
# link Ada host tools with host g++ - otherwise we run into linker errors because it would use the too old target glibc
# note: Since we don't need Ada anyways it maybe makes sense to just disable it in the future.
sed -i -r \
-e 's|\+\$\(GCC_LINK\)( .* \$\(TOOLS_LIBS\))|g++\1|g' \
-e 's|--LINK=\"\$\(GCC_LINK\)\"|--LINK=g++|g' \
gcc/ada/gcc-interface/Makefile
make
}
@ -155,6 +167,7 @@ package_gcc-libs-static-compat() {
make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
done
#make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
rm -rf "$pkgdir"/$_libdir/include/d/
@ -230,7 +243,7 @@ package_gcc-static-compat() {
make -C gcc DESTDIR="$pkgdir" install-man install-info
rm "$pkgdir"$_prefix/share/man/man1/gfortran.1
rm "$pkgdir"$_prefix/share/info/gfortran.info
rm "$pkgdir"$_prefix/share/info/{gfortran,gnat-style,gnat_rm,gnat_ugn}.info
rm -r "$pkgdir"$_prefix/share/info/dir
make -C libcpp DESTDIR="$pkgdir" install
@ -281,6 +294,44 @@ package_gcc-fortran-static-compat() {
"$pkgdir$_prefix/share/licenses/$pkgname/"
}
package_gcc-ada-static-compat() {
pkgdesc='Ada front-end for GCC (GNAT)'
depends=("gcc-static-compat=$pkgver-$pkgrel" libisl.so)
options=(!emptydirs staticlibs debug)
cd gcc-build/gcc
make DESTDIR="$pkgdir" ada.install-{common,info}
install -m755 gnat1 "$pkgdir/${_libdir}"
cd "$srcdir"/gcc-build/$CHOST/libada
make DESTDIR="${pkgdir}" INSTALL="install" \
INSTALL_DATA="install -m644" install-libada
cd "$srcdir"/gcc-build/$CHOST/32/libada
make DESTDIR="${pkgdir}" INSTALL="install" \
INSTALL_DATA="install -m644" install-libada
ln -s gcc "$pkgdir$_prefix/bin/gnatgcc"
# insist on dynamic linking, but keep static libraries because gnatmake complains
mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir$_prefix/lib"
ln -s libgnarl-${_majorver}.so "$pkgdir$_prefix/lib/libgnarl.so"
ln -s libgnat-${_majorver}.so "$pkgdir$_prefix/lib/libgnat.so"
rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so
rm -r "$pkgdir"$_prefix/share/info/dir
install -d "$pkgdir$_prefix/lib32/"
mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir$_prefix/lib32"
ln -s libgnarl-${_majorver}.so "$pkgdir$_prefix/lib32/libgnarl.so"
ln -s libgnat-${_majorver}.so "$pkgdir$_prefix/lib32/libgnat.so"
rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so
# Install Runtime Library Exception
install -d "$pkgdir$_prefix/share/licenses/$pkgname/"
ln -s $_prefix/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
"$pkgdir$_prefix/share/licenses/$pkgname/"
}
package_lib32-gcc-libs-static-compat() {
pkgdesc='32-bit runtime libraries shipped by GCC'
depends=('lib32-glibc>=2.26')

View File

@ -0,0 +1,843 @@
diff -crBN gettext-0.19.8.1/gettext-runtime/intl/bindtextdom.c{.orig,}
*** gettext-0.19.8.1/gettext-runtime/intl/bindtextdom.c.orig 2016-03-20 08:37:53.000000000 +0100
--- gettext-0.19.8.1/gettext-runtime/intl/bindtextdom.c 2016-08-12 19:01:05.714025915 +0200
***************
*** 21,26 ****
--- 21,27 ----
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
+ #include <unistd.h>
#include "gettextP.h"
#ifdef _LIBC
***************
*** 65,70 ****
--- 66,77 ----
# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset
#endif
+ #if ENABLE_RELOCATABLE
+ # include "relocatex.h"
+ #else
+ # define relocate(pathname) (pathname)
+ #endif
+
/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
to be used for the DOMAINNAME message catalog.
If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
***************
*** 317,350 ****
char *
BINDTEXTDOMAIN (const char *domainname, const char *dirname)
{
! #ifdef __EMX__
! const char *saved_dirname = dirname;
! char dirname_with_drive[_MAX_PATH];
!
! /* Resolve UNIXROOT into dirname if it is not resolved by os2compat.[ch]. */
! if (dirname && (dirname[0] == '/' || dirname[0] == '\\' ))
! {
! const char *unixroot = getenv ("UNIXROOT");
! size_t len = strlen (dirname) + 1;
!
! if (unixroot
! && unixroot[0] != '\0'
! && unixroot[1] == ':'
! && unixroot[2] == '\0'
! && 2 + len <= _MAX_PATH)
! {
! memcpy (dirname_with_drive, unixroot, 2);
! memcpy (dirname_with_drive + 2, dirname, len);
!
! dirname = dirname_with_drive;
! }
! }
! #endif
! set_binding_values (domainname, &dirname, NULL);
! #ifdef __EMX__
! dirname = saved_dirname;
! #endif
! return (char *) dirname;
}
/* Specify the character encoding in which the messages from the
--- 324,341 ----
char *
BINDTEXTDOMAIN (const char *domainname, const char *dirname)
{
! if (!access (dirname, R_OK)) {
! set_binding_values (domainname, &dirname, NULL);
! return (char *) dirname;
! } else {
! char *locale_dirname, *installdir = strdup (dirname), *s;
! if ((s = strrchr (installdir, '/'))) *s = '\0';
! if ((s = strrchr (installdir, '/'))) *s = '\0';
! locale_dirname = relocatex (installdir, dirname);
! set_binding_values (domainname, (const char **) &locale_dirname, NULL);
! if (installdir) free (installdir);
! return (char *) locale_dirname;
! }
}
/* Specify the character encoding in which the messages from the
diff -crBN gettext-0.18.3.1.orig/gettext-runtime/intl/canonicalize.c gettext-0.18.3.1/gettext-runtime/intl/canonicalize.c
*** gettext-0.18.3.1.orig/gettext-runtime/intl/canonicalize.c 1970-01-01 01:00:00.000000000 +0100
--- gettext-0.18.3.1/gettext-runtime/intl/canonicalize.c 2014-01-08 21:50:51.089192200 +0100
***************
*** 0 ****
--- 1,329 ----
+ /* Return the canonical absolute name of a given file.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <limits.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+ #include <stddef.h>
+ #include <malloc.h>
+ #ifdef __WIN32__
+ # include <stdio.h>
+ # include <windows.h>
+ //# include <gw32.h>
+ #endif /* __WIN32__ */
+
+ #ifndef MAXSYMLINKS
+ # define MAXSYMLINKS 20
+ #endif
+
+ #ifndef __set_errno
+ # define __set_errno(Val) errno = (Val)
+ #endif
+
+ # ifdef VMS
+ /* We want the directory in Unix syntax, not in VMS syntax. */
+ # define __getcwd(buf, max) getcwd (buf, max, 0)
+ # else
+ # define __getcwd getcwd
+ # endif
+
+ #define weak_alias(local, symbol)
+
+ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS */
+ # define ISDIRSEP(C) ((C) == '/' || (C) == '\\')
+ #else
+ /* Unix */
+ # define ISDIRSEP(C) ((C) == '/')
+ #endif
+
+ /* Return the canonical absolute name of file NAME. A canonical name
+ does not contain any `.', `..' components nor any repeated path
+ separators ('/') or symlinks. All path components must exist. If
+ RESOLVED is null, the result is malloc'd; otherwise, if the
+ canonical name is PATH_MAX chars or more, returns null with `errno'
+ set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
+ returns the name in RESOLVED. If the name cannot be resolved and
+ RESOLVED is non-NULL, it contains the path of the first component
+ that cannot be resolved. If the path can be resolved, RESOLVED
+ holds the same value as the value returned.
+ RESOLVED must be at least PATH_MAX long */
+
+ static char *
+ canonicalize (const char *name, char *resolved)
+ {
+ char *rpath, *dest, *extra_buf = NULL;
+ const char *start, *end, *rpath_limit;
+ long int path_max;
+ int num_links = 0, old_errno;
+
+ if (name == NULL)
+ {
+ /* As per Single Unix Specification V2 we must return an error if
+ either parameter is a null pointer. We extend this to allow
+ the RESOLVED parameter to be NULL in case the we are expected to
+ allocate the room for the return value. */
+ __set_errno (EINVAL);
+ return NULL;
+ }
+
+ if (name[0] == '\0')
+ {
+ /* As per Single Unix Specification V2 we must return an error if
+ the name argument points to an empty string. */
+ __set_errno (ENOENT);
+ return NULL;
+ }
+ #ifdef __WIN32__
+ {
+ char *lpFilePart;
+ int len;
+ // fprintf(stderr, "name: %s\n", name);
+ rpath = resolved ? __builtin_alloca (MAX_PATH) : malloc (MAX_PATH);
+ // unix2winpath (name);
+ // fprintf(stderr, "name: %s\n", name);
+ len = GetFullPathName(name, MAX_PATH, rpath, &lpFilePart);
+ /* GetFullPathName returns bogus paths for *nix-style paths, like
+ * /foo/bar - it just prepends current drive to them. Keep them
+ * intact (they need to be for relocation to work!).
+ */
+ if (name[0] == '/') {
+ strncpy (rpath, name, MAX_PATH - 1);
+ rpath[MAX_PATH - 1] = '\0';
+ len = strlen (rpath);
+ }
+ // fprintf(stderr, "rpath: %s\n", rpath);
+ if (len == 0) {
+ //set_werrno;
+ return NULL;
+ }
+ if (len > MAX_PATH) {
+ if (resolved)
+ __set_errno(ENAMETOOLONG);
+ else {
+ rpath = realloc(rpath, len + 2);
+ GetFullPathName(name, len, rpath, &lpFilePart);
+ // fprintf(stderr, "rpath: %s\n", rpath);
+ }
+ }
+ // if ( ISDIRSEP(name[strlen(name)]) && !ISDIRSEP(rpath[len]) ) {
+ // rpath[len] = '\\';
+ // rpath[len + 1] = 0;
+ // }
+ old_errno = errno;
+ //if (!access (rpath, D_OK) && !ISDIRSEP(rpath[len - 1]) ){
+ if (!access (rpath, R_OK) && !ISDIRSEP(rpath[len - 1]) ){
+ rpath[len] = '\\';
+ rpath[len + 1] = 0;
+ }
+ errno = old_errno;
+ win2unixpath (rpath);
+ // fprintf(stderr, "rpath: %s\n", rpath);
+ return resolved ? strcpy(resolved, rpath) : rpath ;
+ }
+ #else /* __WIN32__ */
+
+ #ifdef PATH_MAX
+ path_max = PATH_MAX;
+ #else
+ path_max = pathconf (name, _PC_PATH_MAX);
+ if (path_max <= 0)
+ path_max = 1024;
+ #endif
+
+ rpath = resolved ? __builtin_alloca (path_max) : malloc (path_max);
+ rpath_limit = rpath + path_max;
+
+ if (name[0] != '/')
+ {
+ if (!__getcwd (rpath, path_max))
+ {
+ rpath[0] = '\0';
+ goto error;
+ }
+ dest = strchr (rpath, '\0');
+ }
+ else
+ {
+ rpath[0] = '/';
+ dest = rpath + 1;
+ }
+
+ for (start = end = name; *start; start = end)
+ {
+ #ifdef _LIBC
+ struct stat64 st;
+ #else
+ struct stat st;
+ #endif
+ int n;
+
+ /* Skip sequence of multiple path-separators. */
+ while (*start == '/')
+ ++start;
+
+ /* Find end of path component. */
+ for (end = start; *end && *end != '/'; ++end)
+ /* Nothing. */;
+
+ if (end - start == 0)
+ break;
+ else if (end - start == 1 && start[0] == '.')
+ /* nothing */;
+ else if (end - start == 2 && start[0] == '.' && start[1] == '.')
+ {
+ /* Back up to previous component, ignore if at root already. */
+ if (dest > rpath + 1)
+ while ((--dest)[-1] != '/');
+ }
+ else
+ {
+ size_t new_size;
+
+ if (dest[-1] != '/')
+ *dest++ = '/';
+
+ if (dest + (end - start) >= rpath_limit)
+ {
+ ptrdiff_t dest_offset = dest - rpath;
+
+ if (resolved)
+ {
+ __set_errno (ENAMETOOLONG);
+ if (dest > rpath + 1)
+ dest--;
+ *dest = '\0';
+ goto error;
+ }
+ new_size = rpath_limit - rpath;
+ if (end - start + 1 > path_max)
+ new_size += end - start + 1;
+ else
+ new_size += path_max;
+ rpath = realloc (rpath, new_size);
+ rpath_limit = rpath + new_size;
+ if (rpath == NULL)
+ return NULL;
+
+ dest = rpath + dest_offset;
+ }
+
+ #ifdef _LIBC
+ dest = __mempcpy (dest, start, end - start);
+ #else
+ memcpy (dest, start, end - start);
+ dest += end - start;
+ #endif
+ *dest = '\0';
+
+ #ifdef _LIBC
+ if (__lxstat64 (_STAT_VER, rpath, &st) < 0)
+ #else
+ if (lstat (rpath, &st) < 0)
+ #endif
+ goto error;
+
+ #if HAVE_READLINK
+ if (S_ISLNK (st.st_mode))
+ {
+ char *buf = __builtin_alloca (path_max);
+ size_t len;
+
+ if (++num_links > MAXSYMLINKS)
+ {
+ __set_errno (ELOOP);
+ goto error;
+ }
+
+ n = __readlink (rpath, buf, path_max);
+ if (n < 0)
+ goto error;
+ buf[n] = '\0';
+
+ if (!extra_buf)
+ extra_buf = __builtin_alloca (path_max);
+
+ len = strlen (end);
+ if ((long int) (n + len) >= path_max)
+ {
+ __set_errno (ENAMETOOLONG);
+ goto error;
+ }
+
+ /* Careful here, end may be a pointer into extra_buf... */
+ memmove (&extra_buf[n], end, len + 1);
+ name = end = memcpy (extra_buf, buf, n);
+
+ if (buf[0] == '/')
+ dest = rpath + 1; /* It's an absolute symlink */
+ else
+ /* Back up to previous component, ignore if at root already: */
+ if (dest > rpath + 1)
+ while ((--dest)[-1] != '/');
+ }
+ #endif
+ }
+ }
+ if (dest > rpath + 1 && dest[-1] == '/')
+ --dest;
+ *dest = '\0';
+
+ return resolved ? memcpy (resolved, rpath, dest - rpath + 1) : rpath;
+
+ error:
+ if (resolved)
+ strcpy (resolved, rpath);
+ else
+ free (rpath);
+ return NULL;
+
+ #endif /* __WIN32__ */
+ }
+
+
+ char *
+ __realpath (const char *name, char *resolved)
+ {
+ if (resolved == NULL)
+ {
+ __set_errno (EINVAL);
+ return NULL;
+ }
+
+ return canonicalize (name, resolved);
+ }
+ weak_alias (__realpath, realpath)
+
+
+ char *
+ __canonicalize_file_name (const char *name)
+ {
+ return canonicalize (name, NULL);
+ }
+ weak_alias (__canonicalize_file_name, canonicalize_file_name)
+
+ char *
+ canonicalize_file_name (const char *name)
+ {
+ return canonicalize (name, NULL);
+ }
diff -crBN gettext-0.18.3.1.orig/gettext-runtime/intl/Makefile.in gettext-0.18.3.1/gettext-runtime/intl/Makefile.in
*** gettext-0.18.3.1.orig/gettext-runtime/intl/Makefile.in 2013-07-29 13:35:59.000000000 +0200
--- gettext-0.18.3.1/gettext-runtime/intl/Makefile.in 2014-01-08 21:52:05.080559000 +0100
***************
*** 122,127 ****
--- 122,128 ----
localcharset.h \
lock.h \
relocatable.h \
+ relocatex.h \
tsearch.h tsearch.c \
verify.h \
xsize.h \
***************
*** 152,157 ****
--- 153,160 ----
threadlib.c \
lock.c \
relocatable.c \
+ relocatex.c \
+ canonicalize.c \
langprefs.c \
localename.c \
log.c \
***************
*** 185,190 ****
--- 188,195 ----
threadlib.$lo \
lock.$lo \
relocatable.$lo \
+ relocatex.$lo \
+ canonicalize.$lo \
langprefs.$lo \
localename.$lo \
log.$lo \
***************
*** 287,292 ****
--- 292,301 ----
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/threadlib.c
lock.lo: $(srcdir)/lock.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/lock.c
+ relocatex.lo: $(srcdir)/relocatex.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/relocatex.c
+ canonicalize.lo: $(srcdir)/canonicalize.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/canonicalize.c
relocatable.lo: $(srcdir)/relocatable.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC --mode=compile $(COMPILE) $(srcdir)/relocatable.c
langprefs.lo: $(srcdir)/langprefs.c
diff -crBN gettext-0.18.3.1.orig/gettext-runtime/intl/relocatex.c gettext-0.18.3.1/gettext-runtime/intl/relocatex.c
*** gettext-0.18.3.1.orig/gettext-runtime/intl/relocatex.c 1970-01-01 01:00:00.000000000 +0100
--- gettext-0.18.3.1/gettext-runtime/intl/relocatex.c 2014-01-08 21:50:51.136095000 +0100
***************
*** 0 ****
--- 1,295 ----
+ /* Provide relocatable packages.
+ Copyright (C) 2003 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+
+ /* Specification. */
+ #include <errno.h>
+ #define _GNU_SOURCE
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ /* #include <path.h> */
+ #include "relocatex.h"
+ //#include "canonicalize.h"
+ /* #include <gw32.h> */
+
+
+ #if defined _WIN32 || defined __WIN32__
+ # define WIN32_LEAN_AND_MEAN
+ # include <windows.h>
+ //# define __GW32__
+ //# include <winx/errnox.h>
+ #endif
+ #define set_werrno
+
+ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS */
+ # define ISDIRSEP(C) ((C) == '/' || (C) == '\\')
+ #else
+ /* Unix */
+ # define ISDIRSEP(C) ((C) == '/')
+ #endif
+
+ /* Original installation prefix. */
+ static char *orig_prefix = NULL;
+ static size_t orig_prefix_len = 0;
+ /* Current installation prefix. */
+ static char *curr_prefix = NULL;
+ static size_t curr_prefix_len = 0;
+ /* These prefixes do not end in a slash. Anything that will be concatenated
+ to them must start with a slash. */
+
+
+ char *win2unixpath (char *FileName)
+ {
+ char *s = FileName;
+ while (*s) {
+ if (*s == '\\')
+ *s = '/';
+ *s++;
+ }
+ return FileName;
+ }
+
+ int win2posixpath (const char *winpath, char *posixpath)
+ {
+ strcpy (posixpath, winpath);
+ win2unixpath (posixpath);
+ return 0;
+ }
+
+
+ /* Sets the original and the current installation prefix of this module.
+ Relocation simply replaces a pathname starting with the original prefix
+ by the corresponding pathname with the current prefix instead. Both
+ prefixes should be directory names without trailing slash (i.e. use ""
+ instead of "/"). */
+ static char *
+ set_orig_prefix (const char *orig_prefix_arg)
+ {
+ char *memory;
+ // printf ("orig_prefix_arg: %s\n", orig_prefix_arg);
+ if (!orig_prefix_arg) {
+ orig_prefix = NULL;
+ orig_prefix_len = 0;
+ return NULL;
+ }
+ if (orig_prefix)
+ free (orig_prefix);
+
+ memory = canonicalize_file_name (orig_prefix_arg);
+ // printf ("memory: %s\n", memory);
+ // memory = (char *) malloc (orig_prefix_len + 1);
+ if (!memory) {
+ set_werrno;
+ orig_prefix = NULL;
+ orig_prefix_len = 0;
+ return NULL;
+ }
+ win2unixpath (memory);
+ // win2posixpath (orig_prefix_arg, memory);
+ orig_prefix = memory;
+ orig_prefix_len = strlen (orig_prefix);
+ // printf ("orig_prefix: %s\n", orig_prefix);
+ if (ISDIRSEP (orig_prefix[orig_prefix_len-1])) {
+ orig_prefix[orig_prefix_len-1] = '\0';
+ orig_prefix_len--;
+ }
+ // printf ("orig_prefix: %s\n", orig_prefix);
+ // printf ("orig_prefix_len: %d\n", orig_prefix_len);
+ return orig_prefix;
+ }
+
+ #if defined __WIN32__
+ static char *
+ set_current_prefix (const char *ModuleName)
+ {
+ LPTSTR curr_prefix_arg, q, lpFilePart;
+ DWORD len;
+ int nDIRSEP = 0;
+
+ if (curr_prefix)
+ free (curr_prefix);
+ curr_prefix_arg = malloc (MAX_PATH * sizeof (TCHAR));
+ if (!curr_prefix_arg) {
+ set_werrno;
+ curr_prefix = NULL;
+ curr_prefix_len = 0;
+ return NULL;
+ }
+ if (ModuleName) {
+ // printf ("ModuleName: %s\n", ModuleName);
+ len = SearchPath (NULL, ModuleName, ".DLL", MAX_PATH, curr_prefix_arg, &lpFilePart);
+ if (len) {
+ // printf ("ModulePath: %s\n", curr_prefix_arg);
+ // printf ("FilePart: %s\n", lpFilePart);
+ }
+ }
+ if (!ModuleName || !len) {
+ len = GetModuleFileName (NULL, curr_prefix_arg, MAX_PATH);
+ if (!len) {
+ set_werrno;
+ curr_prefix = NULL;
+ curr_prefix_len = 0;
+ return NULL;
+ }
+ }
+ // strncpy (curr_prefix_arg, ModuleName, MAX_PATH);
+ // printf ("curr_prefix_arg: %s\n", curr_prefix_arg);
+ win2posixpath (curr_prefix_arg, curr_prefix_arg);
+ curr_prefix = curr_prefix_arg;
+ q = curr_prefix_arg + len - 1;
+ /* strip name of executable and its directory */
+ while (!ISDIRSEP (*q) && (q > curr_prefix_arg) && nDIRSEP < 2) {
+ q--;
+ if (ISDIRSEP (*q)) {
+ *q = '\0';
+ nDIRSEP++;
+ }
+ }
+ curr_prefix_len = q - curr_prefix_arg;
+ // printf ("curr_prefix: %s\n", curr_prefix);
+ // printf ("curr_prefix_len: %d\n", curr_prefix_len);
+ return curr_prefix;
+ }
+
+ char *getshortpath (const char *longpath)
+ {
+ char *shortpath = NULL;
+ DWORD len, res;
+
+ // printf ("longpath: %s\n", longpath);
+ len = GetShortPathName(longpath, shortpath, 0);
+ // printf ("len: %ld\n", len);
+ if (!len) {
+ // WinErr ("getshortpath: len = 0");
+ set_werrno;
+ return (char *) longpath;
+ }
+ shortpath = (char *) malloc (len + 1);
+ if (!shortpath) {
+ // WinErr ("getshortpath: malloc");
+ set_werrno;
+ return (char *) longpath;
+ }
+ res = GetShortPathName(longpath, shortpath, len);
+ // printf ("res: %ld\n", res);
+ if (!res) {
+ // WinErr ("getshortpath: res = 0");
+ free (shortpath);
+ set_werrno;
+ return (char *) longpath;
+ }
+ // printf ("shortpath: %s\n", shortpath);
+ return shortpath;
+ }
+
+ char *relocaten (const char *ModuleName, const char *path)
+ {
+ char *relative_path, *relocated_path, *relocated_short_path;
+ int relative_path_len;
+
+ if (!curr_prefix)
+ set_current_prefix (ModuleName);
+ // printf ("path: %s\n", path);
+ // printf ("orig_prefix: %s\n", orig_prefix);
+ // printf ("curr_prefix: %s\n", curr_prefix);
+ // if (strncmp (orig_prefix, path, orig_prefix_len))
+ // if (strcmp (orig_prefix, path))
+ // return (char *) path;
+ relative_path = (char *) path + orig_prefix_len;
+ // printf ("relative_path: %s\n", relative_path);
+ relative_path_len = strlen (relative_path);
+ relocated_path = malloc (curr_prefix_len + relative_path_len + 1);
+ strcpy (relocated_path, curr_prefix);
+ strcat (relocated_path, relative_path);
+ // printf ("relocated_path: %s\n", relocated_path);
+ relocated_short_path = getshortpath (relocated_path);
+ // printf ("relocated_short_path: %s\n", relocated_short_path);
+ if (relocated_short_path) {
+ if (relocated_short_path != relocated_path)
+ free (relocated_path);
+ return relocated_short_path;
+ } else
+ return relocated_path;
+ }
+
+ #else // __WIN32__
+ char *relocaten (const char *ModuleName, const char *path)
+ {
+ // dummy function for Unix/Linux
+ return (char *)path;
+ }
+ #endif
+
+ char *relocaten2 (const char *ModuleName, const char *installdir, const char *path)
+ {
+ set_orig_prefix (installdir);
+ return relocaten (ModuleName, path);
+ }
+
+ char *relocatenx (const char *ModuleName, const char *installdir, const char *path)
+ {
+ char *p;
+
+ set_orig_prefix (installdir);
+ if (access (path, R_OK))
+ p = relocaten (ModuleName, path);
+ else
+ p = (char *) path;
+ // printf ("relocatenx: %s\n", p);
+ return p;
+ }
+
+ char *relocate2 (const char *installdir, const char *path)
+ {
+ return relocaten2 (NULL, installdir, path);
+ }
+
+ char *relocatex (const char *installdir, const char *path)
+ {
+ return relocatenx (NULL, installdir, path);
+ }
+
+ char *relocatepx (const char *cprefix, const char *installdir, const char *path)
+ {
+ if (curr_prefix)
+ free (curr_prefix);
+ curr_prefix = strdup (cprefix);
+ return relocatex (installdir, path);
+ }
+
+ static char *get_orig_prefix (void)
+ {
+ return orig_prefix;
+ }
+
+ static char *get_curr_prefix (void)
+ {
+ return curr_prefix;
+ }
+
+ static char *set_curr_prefix (const char *ModuleName)
+ {
+ if (curr_prefix)
+ free (curr_prefix);
+ set_current_prefix (ModuleName);
+ return curr_prefix;
+ }
diff -crBN gettext-0.18.3.1.orig/gettext-runtime/intl/relocatex.h gettext-0.18.3.1/gettext-runtime/intl/relocatex.h
*** gettext-0.18.3.1.orig/gettext-runtime/intl/relocatex.h 1970-01-01 01:00:00.000000000 +0100
--- gettext-0.18.3.1/gettext-runtime/intl/relocatex.h 2014-01-08 21:50:51.136095000 +0100
***************
*** 0 ****
--- 1,41 ----
+ /*
+ Copyright (C) 2006 Free Software Foundation, Inc.
+ This file is part of the GnuWin C Library.
+
+ The GnuWin C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GnuWin C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GnuWin32 C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+ #ifndef __RELOCATE_H__
+ #define __RELOCATE_H__ 1
+
+ /* #include <libc-dll.h> */
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+ char *relocaten (const char *ModuleName, const char *path);
+ char *relocaten2 (const char *ModuleName, const char *installdir, const char *path);
+ char *relocatenx (const char *ModuleName, const char *installdir, const char *path);
+ char *relocate2 (const char *installdir, const char *path);
+ char *relocatex (const char *installdir, const char *path);
+
+ #ifdef __cplusplus
+ }
+ #endif
+
+ //#endif /* __GW32__ */
+
+ #endif /* __RELOCATE_H__ */
diff -crBN gettext-0.18.3.1.orig/MINGW-PATCHES/README-relocatex-libintl.txt gettext-0.18.3.1/MINGW-PATCHES/README-relocatex-libintl.txt
*** gettext-0.18.3.1.orig/MINGW-PATCHES/README-relocatex-libintl.txt 1970-01-01 01:00:00.000000000 +0100
--- gettext-0.18.3.1/MINGW-PATCHES/README-relocatex-libintl.txt 2014-01-08 21:50:51.151701000 +0100
***************
*** 0 ****
--- 1,23 ----
+ The relocatex-libintl patch adds builtin relocation for executables to the
+ libintl dll. With this patch the programs are automatically relocatable. There
+ is no need anymore to add relocation code to your program when you use this
+ libintl DLL.
+
+ The patch was ported from the GnuWin32 port of libintl, which has also builtin
+ relacation support.
+
+ At the moment the relocation support is only active if you compile with MinGW
+ for Windows. If you compile for Unix/Linux/Cygwin the functionality is
+ unchanged.
+
+ See also:
+ http://waterlan.home.xs4all.nl/libintl.html
+ http://sourceforge.net/tracker/?func=detail&atid=302435&aid=3003879&group_id=2435
+ GnuWin32: http://gnuwin32.sourceforge.net/
+
+ Great thanks to GnuWin32 maintainer Kees Zeelenberg.
+
+ Erwin Waterlander
+ waterlan@xs4all.nl
+ http://waterlan.home.xs4all.nl/
+

View File

@ -0,0 +1,11 @@
--- gettext-runtime/intl/printf.c.orig 2012-09-22 16:23:24 +0400
+++ gettext-runtime/intl/printf.c 2012-09-22 23:45:29 +0400
@@ -209,7 +209,7 @@
int
libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args)
{
- if (strchr (format, '$') == NULL)
+ if (0 && (strchr (format, '$') == NULL))
return system_vsnprintf (resultbuf, length, format, args);
else
{

View File

@ -0,0 +1,44 @@
--- gettext-tools/gnulib-lib/libxml/parser.c.orig 2013-01-18 10:24:37 +0400
+++ gettext-tools/gnulib-lib/libxml/parser.c 2013-01-18 10:36:35 +0400
@@ -42,6 +42,9 @@
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+#endif
#include <libxml/xmlmemory.h>
#include <libxml/threads.h>
#include <libxml/globals.h>
@@ -61,9 +64,6 @@
#include <libxml/xmlschemastypes.h>
#include <libxml/relaxng.h>
#endif
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
--- gettext-tools/gnulib-lib/libxml/threads.c.orig 2013-01-18 10:38:24 +0400
+++ gettext-tools/gnulib-lib/libxml/threads.c 2013-01-18 10:41:11 +0400
@@ -12,15 +12,16 @@
#include <string.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
#include <libxml/threads.h>
#include <libxml/globals.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif

View File

@ -0,0 +1,63 @@
--- gettext-runtime/libasprintf/vasnprintf.h.orig 2013-01-17 09:09:12 +0400
+++ gettext-runtime/libasprintf/vasnprintf.h 2013-05-01 17:33:31 +0400
@@ -40,6 +40,8 @@
extern "C" {
#endif
+#if !defined(__USE_MINGW_ANSI_STDIO) && defined(__MINGW64_VERSION_MAJOR)
+
/* Write formatted output to a string dynamically allocated with malloc().
You can pass a preallocated buffer for the result in RESULTBUF and its
size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
@@ -64,11 +66,14 @@
free (output);
}
*/
+
extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
__attribute__ ((__format__ (__printf__, 3, 0)));
+#endif /* !defined(__USE_MINGW_ANSI_STDIO) && defined(__MINGW64_VERSION_MAJOR) */
+
#ifdef __cplusplus
}
#endif
--- gettext-runtime/libasprintf/vasprintf.h.orig 2013-04-30 09:03:19 +0400
+++ gettext-runtime/libasprintf/vasprintf.h 2013-05-01 17:32:04 +0400
@@ -37,6 +37,8 @@
extern "C" {
#endif
+#if !defined(__USE_MINGW_ANSI_STDIO) && defined(__MINGW64_VERSION_MAJOR)
+
/* Write formatted output to a string dynamically allocated with malloc().
If the memory allocation succeeds, store the address of the string in
*RESULT and return the number of resulting bytes, excluding the trailing
@@ -46,6 +48,8 @@
extern int vasprintf (char **result, const char *format, va_list args)
__attribute__ ((__format__ (__printf__, 2, 0)));
+#endif /* !defined(__USE_MINGW_ANSI_STDIO) && defined(__MINGW64_VERSION_MAJOR) */
+
#ifdef __cplusplus
}
#endif
--- gettext-runtime/libasprintf/vasnprintf.c.orig 2013-05-01 18:07:02 +0400
+++ gettext-runtime/libasprintf/vasnprintf.c 2013-05-01 18:42:46 +0400
@@ -67,7 +67,14 @@
#endif
#include <locale.h> /* localeconv() */
+#if defined(__MINGW64_VERSION_MAJOR) && defined(__USE_MINGW_ANSI_STDIO)
+# define REMOVED__USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
#include <stdio.h> /* snprintf(), sprintf() */
+#if defined(__MINGW64_VERSION_MAJOR) && defined(REMOVED__USE_MINGW_ANSI_STDIO)
+# define __USE_MINGW_ANSI_STDIO
+#endif
#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
#include <string.h> /* memcpy(), strlen() */
#include <errno.h> /* errno */

View File

@ -0,0 +1,11 @@
--- gettext-runtime/intl/libgnuintl.in.h.old 2015-06-15 10:40:11.594942600 +0200
+++ gettext-runtime/intl/libgnuintl.in.h 2015-06-15 10:40:50.579345400 +0200
@@ -336,7 +336,7 @@ extern int vfprintf (FILE *, const char
#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */
#undef printf
-#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
+#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ || defined _MSC_VER
/* Don't break __attribute__((format(printf,M,N))).
This redefinition is only possible because the libc in NetBSD, Cygwin,
mingw does not have a function __printf__.

View File

@ -0,0 +1,11 @@
--- gettext-tools/gnulib-m4/asm-underscore.m4.orig 2016-08-12 19:58:41.845742375 +0200
+++ gettext-tools/gnulib-m4/asm-underscore.m4 2016-08-12 19:55:53.967056822 +0200
@@ -29,7 +29,7 @@
EOF
# Look for the assembly language name in the .s file.
AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
- if LC_ALL=C grep -E '(^|[^a-zA-Z0-9_])_foo([^a-zA-Z0-9_]|$)' conftest.$gl_asmext >/dev/null; then
+ if LC_ALL=C grep -E '(^|[[^a-zA-Z0-9_]])_foo([[^a-zA-Z0-9_]]|$)' conftest.$gl_asmext >/dev/null; then
gl_cv_prog_as_underscore=yes
else
gl_cv_prog_as_underscore=no

View File

@ -1,17 +1,21 @@
pkgname=mingw-w64-gettext
pkgver=0.22.5
pkgver=0.21
pkgrel=1
arch=('any')
pkgdesc='GNU internationalization library (mingw-w64)'
depends=('mingw-w64-termcap' 'mingw-w64-libunistring')
makedepends=('gettext' 'mingw-w64-configure')
options=(!strip !buildflags staticlibs)
license=('GPL-2.0-only' 'LGPL-2.0-only' 'GFDL-1.2-only' 'GPL-2.0-or-later')
license=("GPL")
url="http://www.gnu.org/software/gettext/"
source=(http://ftp.gnu.org/pub/gnu/gettext/gettext-${pkgver}.tar.gz{,.sig}
gettext-printf_collision.patch
gettext_formatstring-ruby.patch
intl.pc)
sha256sums=('ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'
sha256sums=('c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12'
'SKIP'
'7da6794550b0704a58ed9984913ebf671d98ab3178dbc58dd88337c35c8cdadb'
'380910da75c5aa62524acb18fc54415b2c0ad391f6385ea4369bbd1e6e0d29ef'
'0dc8a3e2c95d79aacaeaacd3c90e41c0f5d6ba9cfbc949a0ca55f4b0fd389d9c')
validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno
'68D94D8AAEEAD48AE7DC5B904F494A942E4616C2'
@ -21,6 +25,8 @@ _architectures='i686-w64-mingw32 x86_64-w64-mingw32'
prepare() {
cd gettext-$pkgver
patch -p1 -i "${srcdir}"/gettext-printf_collision.patch
patch -p1 -i "${srcdir}"/gettext_formatstring-ruby.patch
}
build() {

View File

@ -0,0 +1,20 @@
diff -rupN --no-dereference gettext-0.21/gettext-runtime/intl/libgnuintl.in.h gettext-0.21-new/gettext-runtime/intl/libgnuintl.in.h
--- gettext-0.21/gettext-runtime/intl/libgnuintl.in.h 2020-07-26 22:13:34.000000000 +0200
+++ gettext-0.21-new/gettext-runtime/intl/libgnuintl.in.h 2020-08-03 11:57:20.495613456 +0200
@@ -431,6 +431,7 @@ extern int vasprintf (char **, const cha
#endif
#if @HAVE_WPRINTF@
+#ifndef __cplusplus
#undef fwprintf
#define fwprintf libintl_fwprintf
@@ -455,6 +456,8 @@ extern int vswprintf (wchar_t *, size_t,
#endif
+#endif
+
#endif

View File

@ -0,0 +1,11 @@
diff -rupN gettext-0.21/gettext-tools/woe32dll/gettextsrc-exports.c gettext-0.21-new/gettext-tools/woe32dll/gettextsrc-exports.c
--- gettext-0.21/gettext-tools/woe32dll/gettextsrc-exports.c 2019-12-23 12:21:12.000000000 +0100
+++ gettext-0.21-new/gettext-tools/woe32dll/gettextsrc-exports.c 2020-08-03 14:22:17.096473605 +0200
@@ -50,6 +50,7 @@ VARIABLE(formatstring_python)
VARIABLE(formatstring_python_brace)
VARIABLE(formatstring_qt)
VARIABLE(formatstring_qt_plural)
+VARIABLE(formatstring_ruby)
VARIABLE(formatstring_scheme)
VARIABLE(formatstring_sh)
VARIABLE(formatstring_smalltalk)

View File

@ -1,70 +1,77 @@
# Maintainer: pingplug < aur at pingplug dot me >
# Contributor: Schala Zeal < schalaalexiazeal at gmail dot com >
_commit=9aa6f8a93f035dd0a1e3978da495d830049480c8 # tags/2.9.0
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
pkgbase=mingw-w64-harfbuzz
pkgname=('mingw-w64-harfbuzz' 'mingw-w64-harfbuzz-icu')
pkgver=8.4.0
pkgrel=2
pkgver=2.9.0
pkgrel=1
pkgdesc="OpenType text shaping engine (mingw-w64)"
arch=('any')
url="https://harfbuzz.github.io/"
url="https://www.freedesktop.org/wiki/Software/HarfBuzz"
license=('MIT')
depends=('mingw-w64-crt'
'mingw-w64-glib2'
'mingw-w64-graphite'
'mingw-w64-freetype2')
makedepends=('mingw-w64-meson'
makedepends=('mingw-w64-configure'
'mingw-w64-cairo'
'mingw-w64-icu'
'python'
'gtk-doc'
'ragel'
'git')
options=('!strip' 'staticlibs' '!buildflags')
source=("git+https://github.com/harfbuzz/harfbuzz?signed#tag=$pkgver")
b2sums=('19f25dbf2ba6d90fdbb4ecb1039c8d0d72c55cff3dc3b30d6b75b626c15bf28a2118495837d80b7f622f0929dd7d4a07b5526963e1204bb9c90bc9f976c26977')
validpgpkeys=(
053D20F17CCCA9651B2C6FCB9AB24930C0B997A2 # Khaled Hosny <khaled@aliftype.com> (@khaledhosny)
9F377DDB6D3153A48EB3EB1E63CC496475267693 # Caleb Maclennan <caleb@alerque.com> (@alerque)
2277650A4E8BDFE4B7F6BE419FEE04E5D3531115 # Ebrahim Byagowi <ebrahim@gnu.org> (@ebraminio)
EACF64F53455E2771BA661A4803B21859F015E4E # Behdad Esfahbod <behdad@behdad.org> (@behdad)
)
source=("git+https://github.com/harfbuzz/harfbuzz.git#commit=${_commit}")
sha256sums=('SKIP')
pkgver() {
cd harfbuzz
git describe --tags | sed 's/-/+/g'
}
prepare() {
cd harfbuzz
# disable tests (thanks to chenxiaolong)
sed -i '/SUBDIRS/s/test//' Makefile.am
NOCONFIGURE=1 ./autogen.sh
}
build() {
cd harfbuzz
for _arch in ${_architectures}; do
mkdir -p build-${_arch}-shared && pushd build-${_arch}-shared
${_arch}-meson \
-D b_lto=false \
-D graphite=enabled \
-D tests=disabled \
-D docs=disabled \
-D cpp_std=c++17 \
..
# fix linker selection error
sed -i 's|: c_LINKER|: cpp_LINKER|g' build.ninja
ninja
popd
# Build static and shared libs separately due to necessity of defining DGRAPHITE2_STATIC
# manually when building static version
# static build
mkdir -p build-${_arch}-static && pushd build-${_arch}-static
${_arch}-meson \
--default-library static \
-D c_args=-DGRAPHITE2_STATIC \
-D cpp_args=-DGRAPHITE2_STATIC \
-D b_lto=false \
-D graphite=enabled \
-D tests=disabled \
-D docs=disabled \
-D cpp_std=c++17 \
..
# fix linker selection error
sed -i 's|: c_LINKER|: cpp_LINKER|g' build.ninja
ninja
CFLAGS="${CFLAGS} -DGRAPHITE2_STATIC" \
CXXFLAGS="${CXXFLAGS} -DGRAPHITE2_STATIC" \
${_arch}-configure \
--with-glib \
--with-freetype \
--with-cairo \
--with-icu \
--with-gobject \
--with-graphite2 \
--enable-static=yes \
--enable-shared=no
make
popd
# shared build
mkdir -p build-${_arch}-shared && pushd build-${_arch}-shared
LDFLAGS=-lssp ${_arch}-configure \
--with-glib \
--with-freetype \
--with-cairo \
--with-icu \
--with-gobject \
--with-graphite2 \
--enable-static=no \
--enable-shared=yes
make
popd
done
}
@ -72,13 +79,12 @@ build() {
package_mingw-w64-harfbuzz() {
for _arch in ${_architectures}; do
cd "${srcdir}/harfbuzz/build-${_arch}-static"
DESTDIR="${pkgdir}" ninja install
make DESTDIR="${pkgdir}" install
cd "${srcdir}/harfbuzz/build-${_arch}-shared"
DESTDIR="${pkgdir}" ninja install
cp "${srcdir}/harfbuzz/src/hb-ft.h" "${pkgdir}/usr/${_arch}/include/harfbuzz/"
make DESTDIR="${pkgdir}" install
find "${pkgdir}/usr/${_arch}" -name '*.exe' -exec rm {} \;
find "${pkgdir}/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name '*.a' | xargs ${_arch}-strip -g
find "${pkgdir}/usr/${_arch}" -name '*.a' -o -name '*.dll' | xargs ${_arch}-strip -g
mkdir -p hb-icu/usr/${_arch}/{bin,include/harfbuzz,lib/pkgconfig}; cd hb-icu
mv "${pkgdir}"/usr/${_arch}/bin/libharfbuzz-icu* ./usr/${_arch}/bin

View File

@ -3,24 +3,19 @@
_pkgname=harfbuzz
pkgname=static-compat-$_pkgname
pkgver=8.4.0
pkgver=8.1.1
pkgrel=1
pkgdesc="OpenType text shaping engine"
url="https://harfbuzz.github.io/"
url="https://www.freedesktop.org/wiki/Software/HarfBuzz"
arch=(x86_64)
license=(MIT)
depends=(static-compat-glib2 static-compat-freetype2 static-compat-graphite)
makedepends=(gobject-introspection ragel git python static-compat-meson)
checkdepends=(python-fonttools python-setuptools)
options=(!emptydirs !docs staticlibs)
source=("git+https://github.com/harfbuzz/harfbuzz?signed#tag=$pkgver")
b2sums=('19f25dbf2ba6d90fdbb4ecb1039c8d0d72c55cff3dc3b30d6b75b626c15bf28a2118495837d80b7f622f0929dd7d4a07b5526963e1204bb9c90bc9f976c26977')
validpgpkeys=(
053D20F17CCCA9651B2C6FCB9AB24930C0B997A2 # Khaled Hosny <khaled@aliftype.com> (@khaledhosny)
9F377DDB6D3153A48EB3EB1E63CC496475267693 # Caleb Maclennan <caleb@alerque.com> (@alerque)
2277650A4E8BDFE4B7F6BE419FEE04E5D3531115 # Ebrahim Byagowi <ebrahim@gnu.org> (@ebraminio)
EACF64F53455E2771BA661A4803B21859F015E4E # Behdad Esfahbod <behdad@behdad.org> (@behdad)
)
_commit=1d665c2b521512cdd56964138fc601debd1f1177 # tags/8.1.1^0
source=("git+https://github.com/harfbuzz/harfbuzz#commit=$_commit")
sha256sums=('SKIP')
pkgver() {
cd harfbuzz

View File

@ -1,23 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor: Eric Engestrom <aur [at] engestrom [dot] ch>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=hw-probe
pkgver=1.6.5
pkgrel=2
pkgdesc="Probe for hardware, check its operability and upload result to https://linux-hardware.org"
arch=('any')
url="https://github.com/linuxhw/hw-probe"
license=('LGPL-2.1-or-later OR BSD-4-Clause')
source=("$url/archive/$pkgver.tar.gz")
sha256sums=('42030ba2fb3f6fb0772ab34744fbb91a89b1b6a9b0ed99e861fa05ff86968fb1')
depends=('perl' 'hwinfo' 'curl' 'dmidecode' 'pciutils' 'usbutils' 'net-tools' 'edid-decode' 'ddcutil' 'acpica')
optdepends=('hdparm' 'smartmontools' 'inxi' 'pnputils' 'efibootmgr')
package() {
cd "$srcdir"/hw-probe-$pkgver
install -dm755 "$pkgdir"/usr
DESTDIR="$pkgdir" make install prefix=/usr
}

View File

@ -1,39 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kcolorscheme
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.0
pkgrel=1
pkgdesc="Classes to read and interact with KColorScheme (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch"-{qt6-base,qt6-tools,kconfig,kguiaddons,ki18n})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-tools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('20af58ab639ea99df09acbd74af0c867f22f1d9f91595623ab44fba5834eaa62'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -1,39 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kconfig
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.0
pkgrel=1
pkgdesc="Configuration system (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch-qt6"-{base,declarative,tools})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('3f7c1e6b048df4ab3d67fbef01a5ad1dd0289c9b158644668fba0225c050c050'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -1,39 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kcoreaddons
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.0
pkgrel=1
pkgdesc="Addons to QtCore (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch-qt6"-{base,declarative,tools})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('eab838201b45ac98c412f64d234e89d62357f275ae9ae966d073a64c67a526ef'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -1,39 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kguiaddons
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.0
pkgrel=1
pkgdesc="Addons to QtGui (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch-qt6"-{base,tools})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-tools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('20af58ab639ea99df09acbd74af0c867f22f1d9f91595623ab44fba5834eaa62'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -1,44 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=ki18n
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.0
pkgrel=1
pkgdesc="Advanced internationalization framework (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=('iso-codes' "android-$_android_arch"-{qt6-base,qt6-declarative,qt6-tools,gettext})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('15cbfb73ef1d3954d6206755b6e6a9c86ea27be4b4db0c843d38494851bcc354'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
prepare() {
cd $_pkgname-$pkgver
sed -i -e '/loadMessageCatalogFile/d' src/i18n/kcatalog.cpp
}
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -1,4 +1,5 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor (maintains regular package): Antonio Rojas <arojas@archlinux.org>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
@ -8,23 +9,31 @@ _android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}2
pkgver=6.0.0
pkgrel=2
pkgrel=1
pkgdesc="A QtQuick based components set (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
license=(LGPL)
depends=("android-$_android_arch-qt6"-{declarative,shadertools,svg,5compat})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('3f7c1e6b048df4ab3d67fbef01a5ad1dd0289c9b158644668fba0225c050c050'
'SKIP')
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'git' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
#source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
#sha256sums=('ed0f56c89249fb92a9af99a94fd13542abbae4a8f1613aaaa2bfab87914b601a'
# 'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
_commit=05626819a0ed2f5b3db65191803b237992cbf17d
source=(git+https://invent.kde.org/frameworks/kirigami.git#commit=$_commit)
sha256sums=(SKIP)
options=(!buildflags staticlibs !strip !emptydirs)
#pkgver() {
# cd kirigami
# echo "$pkgver.r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
#}
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
@ -36,6 +45,4 @@ build() {
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
mkdir -p "$pkgdir/$ANDROID_PREFIX/qml/org"
ln -rs "$pkgdir/$ANDROID_PREFIX/lib/qml/org/kde" "$pkgdir/$ANDROID_PREFIX/qml/org/kde"
}

View File

@ -1,30 +1,39 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor (maintains regular package): Antonio Rojas <arojas@archlinux.org>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kirigami
_android_arch=armv7a-eabi
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}2
pkgver=6.0.0
pkgrel=2
pkgrel=1
pkgdesc="A QtQuick based components set (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
license=(LGPL)
depends=("android-$_android_arch-qt6"-{declarative,shadertools,svg,5compat})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('3f7c1e6b048df4ab3d67fbef01a5ad1dd0289c9b158644668fba0225c050c050'
'SKIP')
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'git' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
#source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
#sha256sums=('ed0f56c89249fb92a9af99a94fd13542abbae4a8f1613aaaa2bfab87914b601a'
# 'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
_commit=05626819a0ed2f5b3db65191803b237992cbf17d
source=(git+https://invent.kde.org/frameworks/kirigami.git#commit=$_commit)
sha256sums=(SKIP)
options=(!buildflags staticlibs !strip !emptydirs)
#pkgver() {
# cd kirigami
# echo "$pkgver.r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
#}
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
@ -36,6 +45,4 @@ build() {
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
mkdir -p "$pkgdir/$ANDROID_PREFIX/qml/org"
ln -rs "$pkgdir/$ANDROID_PREFIX/lib/qml/org/kde" "$pkgdir/$ANDROID_PREFIX/qml/org/kde"
}

View File

@ -1,41 +1,62 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor (maintains regular package): Antonio Rojas <arojas@archlinux.org>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kirigami
_pkgname=kirigami2
_android_arch=x86_64
_pkg_arch=x86-64
_android_toolchain=$_pkg_arch-linux-android
_android_platform=24
_prefix=/opt/android-libs/$_pkg_arch
pkgname=android-${_android_arch}-${_pkgname}2
pkgver=6.0.0
pkgrel=2
pkgdesc="A QtQuick based components set (Android, $_android_arch)"
pkgname=android-$_pkg_arch-$_pkgname
pkgver=5.74.0
pkgrel=1
pkgdesc="A QtQuick based components set (Android, $_pkg_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch-qt6"-{declarative,shadertools,svg,5compat})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('3f7c1e6b048df4ab3d67fbef01a5ad1dd0289c9b158644668fba0225c050c050'
license=(LGPL)
depends=("android-$_pkg_arch-qt5")
makedepends=('cmake' 'android-ndk' 'android-sdk' 'extra-cmake-modules')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=("https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"{,.sig})
sha256sums=('9706915f219ef9394b030dbb24974d4fddef091008954cf75cf97cc97586e35f'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
validpgpkeys=('53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB') # David Faure <faure@kde.org>
options=(!buildflags staticlibs !strip !emptydirs)
prepare() {
mkdir -p build
}
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
cd build
# note: needs workaround for https://gitlab.kitware.com/cmake/cmake/issues/18739 (currently provided outside of the PKGBUILD itself)
cmake ../$_pkgname-$pkgver \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=$_android_platform \
-DANDROID_ABI=$_android_arch \
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
-DCMAKE_ANDROID_NDK=/opt/android-ndk \
-DCMAKE_ANDROID_SDK=/opt/android-sdk \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$_prefix" \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \
-DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \
-DECM_DIR=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
make VERBOSE=1
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
mkdir -p "$pkgdir/$ANDROID_PREFIX/qml/org"
ln -rs "$pkgdir/$ANDROID_PREFIX/lib/qml/org/kde" "$pkgdir/$ANDROID_PREFIX/qml/org/kde"
cd build
make DESTDIR="$pkgdir" install
}

View File

@ -1,41 +1,62 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor (maintains regular package): Antonio Rojas <arojas@archlinux.org>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kirigami
_pkgname=kirigami2
_android_arch=x86
_pkg_arch=x86
_android_toolchain=$_pkg_arch-linux-android
_android_platform=24
_prefix=/opt/android-libs/$_pkg_arch
pkgname=android-${_android_arch}-${_pkgname}2
pkgver=6.0.0
pkgrel=2
pkgdesc="A QtQuick based components set (Android, $_android_arch)"
pkgname=android-$_pkg_arch-$_pkgname
pkgver=5.74.0
pkgrel=1
pkgdesc="A QtQuick based components set (Android, $_pkg_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch-qt6"-{declarative,shadertools,svg,5compat})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('3f7c1e6b048df4ab3d67fbef01a5ad1dd0289c9b158644668fba0225c050c050'
license=(LGPL)
depends=("android-$_pkg_arch-qt5")
makedepends=('cmake' 'android-ndk' 'android-sdk' 'extra-cmake-modules')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=("https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"{,.sig})
sha256sums=('9706915f219ef9394b030dbb24974d4fddef091008954cf75cf97cc97586e35f'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
validpgpkeys=('53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB') # David Faure <faure@kde.org>
options=(!buildflags staticlibs !strip !emptydirs)
prepare() {
mkdir -p build
}
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
cd build
# note: needs workaround for https://gitlab.kitware.com/cmake/cmake/issues/18739 (currently provided outside of the PKGBUILD itself)
cmake ../$_pkgname-$pkgver \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=$_android_platform \
-DANDROID_ABI=$_android_arch \
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
-DCMAKE_ANDROID_NDK=/opt/android-ndk \
-DCMAKE_ANDROID_SDK=/opt/android-sdk \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$_prefix" \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \
-DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \
-DECM_DIR=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
make VERBOSE=1
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
mkdir -p "$pkgdir/$ANDROID_PREFIX/qml/org"
ln -rs "$pkgdir/$ANDROID_PREFIX/lib/qml/org/kde" "$pkgdir/$ANDROID_PREFIX/qml/org/kde"
cd build
make DESTDIR="$pkgdir" install
}

View File

@ -1,39 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kquickcharts
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.0
pkgrel=1
pkgdesc="A QtQuick plugin providing high-performance charts (Android, $_android_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL-2.0-only LGPL-3.0-only)
depends=("android-$_android_arch"-{qt6-base,qt6-declarative,qt6-tools,kirigami2})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools')
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('ebd9a8f501b80e72a12f50d984847a698f7283be389644f7e24133484076a6a5'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -3,9 +3,9 @@
pkgname=nginx-mod-accesskey
pkgver=2.0.5
pkgrel=13
pkgrel=12
_dirname="nginx-accesskey-$pkgver"
_nginxver=1.26.0
_nginxver=1.24.0
pkgdesc='Accesskey module for NGINX'
arch=('x86_64')

View File

@ -3,9 +3,9 @@
pkgname=nginx-mod-cache-purge
pkgver=2.3
pkgrel=13
pkgrel=12
_dirname="ngx_cache_purge-${pkgver}"
_nginxver=1.26.0
_nginxver=1.24.0
pkgdesc='NGINX module that adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches'
arch=('x86_64')

View File

@ -3,9 +3,9 @@
pkgname=nginx-mod-dav-ext
pkgver=3.0.0
pkgrel=11
pkgrel=10
_dirname="nginx-dav-ext-module-$pkgver"
_nginxver=1.26.0
_nginxver=1.24.0
pkgdesc='NGINX WebDAV missing commands support'
arch=('x86_64')

View File

@ -3,9 +3,9 @@
pkgname=nginx-mod-fancyindex
pkgver=0.5.2
pkgrel=6
pkgrel=5
_dirname="ngx-fancyindex-${pkgver}"
_nginxver=1.26.0
_nginxver=1.24.0
pkgdesc='Fancy indexes module for the Nginx web server'
arch=('x86_64')

View File

@ -5,9 +5,9 @@
pkgname=nginx-mod-rtmp
pkgver=1.2.2
pkgrel=6
pkgrel=5
_dirname="nginx-rtmp-module-$pkgver"
_nginxver=1.26.0
_nginxver=1.24.0
pkgdesc='Module for nginx that adds RTMP support'
arch=('x86_64')

View File

@ -3,9 +3,9 @@
pkgname=nginx-mod-slowfs-cache
pkgver=1.10
pkgrel=13
pkgrel=12
_dirname="ngx_slowfs_cache-${pkgver}"
_nginxver=1.26.0
_nginxver=1.24.0
pkgdesc='NGINX module that adds ability to cache static files'
arch=('x86_64')

View File

@ -5,7 +5,7 @@ pkgname=nginx-mod-substitutions-filter
pkgver=0.6.4.115.e12e965
pkgrel=2
_dirname="$pkgname"
_nginxver=1.26.0 # FIXME: fix build against NGINX 1.20.0
_nginxver=1.24.0 # FIXME: fix build against NGINX 1.20.0
pkgdesc='NGINX filter module which can do both regular expression and fixed string substitutions'
arch=('x86_64')

View File

@ -5,7 +5,7 @@ pkgname=nginx-mod-upload-progress
pkgver=0.9.2
pkgrel=12
_dirname="nginx-upload-progress-module-$pkgver"
_nginxver=1.26.0 # FIXME: fix build against NGINX 1.24.0
_nginxver=1.24.0 # FIXME: fix build against NGINX 1.24.0
pkgdesc='NGINX module implementing an upload progress system, that monitors RFC1867 POST uploads'
arch=('x86_64')

View File

@ -5,7 +5,7 @@ pkgname=nginx-mod-upstream-fair
pkgver=0.1.3
pkgrel=11
_dirname="nginx-upstream-fair-$pkgver"
_nginxver=1.26.0 # FIXME: fix build against NGINX 1.20.0
_nginxver=1.24.0 # FIXME: fix build against NGINX 1.20.0
pkgdesc='Fair load balancer module for nginx'
arch=('x86_64')

View File

@ -5,7 +5,7 @@ _pkg_arch=aarch64
_android_arch=arm64-v8a
_android_platform_arch=arch-arm64
_pkgname=openssl
_pkgver=3.3.0
_pkgver=3.2.1
pkgname=android-$_pkg_arch-$_pkgname
# use a pacman compatible version scheme
@ -21,7 +21,7 @@ makedepends=('android-environment' 'android-sdk-build-tools')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=("https://www.openssl.org/source/openssl-${_pkgver}.tar.gz"{,.asc})
sha256sums=('53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02'
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C'

View File

@ -5,7 +5,7 @@ _pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_platform_arch=arch-arm
_pkgname=openssl
_pkgver=3.3.0
_pkgver=3.2.1
pkgname=android-$_pkg_arch-$_pkgname
# use a pacman compatible version scheme
@ -21,7 +21,7 @@ makedepends=('android-environment' 'android-sdk-build-tools')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=("https://www.openssl.org/source/openssl-${_pkgver}.tar.gz"{,.asc})
sha256sums=('53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02'
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C'

View File

@ -5,7 +5,7 @@ _pkg_arch=x86-64
_android_arch=x86_64
_android_platform_arch=arch-x86_64
_pkgname=openssl
_pkgver=3.3.0
_pkgver=3.2.1
pkgname=android-$_pkg_arch-$_pkgname
# use a pacman compatible version scheme
@ -21,7 +21,7 @@ makedepends=('android-environment' 'android-sdk-build-tools')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=("https://www.openssl.org/source/openssl-${_pkgver}.tar.gz"{,.asc})
sha256sums=('53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02'
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C'

View File

@ -5,7 +5,7 @@ _pkg_arch=x86
_android_arch=x86
_android_platform_arch=arch-x86
_pkgname=openssl
_pkgver=3.3.0
_pkgver=3.2.1
pkgname=android-$_pkg_arch-$_pkgname
# use a pacman compatible version scheme
@ -21,7 +21,7 @@ makedepends=('android-environment' 'android-sdk-build-tools')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=("https://www.openssl.org/source/openssl-${_pkgver}.tar.gz"{,.asc})
sha256sums=('53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02'
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C'

View File

@ -4,7 +4,7 @@
# Contributor: Filip Brcic < brcha at gna dot org >
# Contributor: Martchus < martchus at gmx dot net >
_pkgver=3.3.0
_pkgver=3.2.1
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
pkgname=mingw-w64-openssl
@ -20,7 +20,7 @@ makedepends=('mingw-w64-gcc'
'perl')
options=('!strip' 'staticlibs' '!buildflags' '!lto')
source=("https://www.openssl.org/source/openssl-${_pkgver}.tar.gz"{,.asc})
sha256sums=('53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02'
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C'

View File

@ -2,7 +2,7 @@
_pkgname=openssl
pkgname=static-compat-$_pkgname
_ver=3.3.0
_ver=3.2.1
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
pkgrel=1
@ -16,7 +16,7 @@ optdepends=('ca-certificates')
options=(!emptydirs staticlibs)
source=("https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz"{,.asc}
'ca-dir.patch')
sha256sums=('53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02'
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
'SKIP'
'0a32d9ca68e8d985ce0bfef6a4c20b46675e06178cc2d0bf6d91bd6865d648b7')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'

View File

@ -5,7 +5,7 @@
_reponame=passwordfile
pkgname=passwordfile
pkgver=5.0.11
pkgver=5.0.10
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'
@ -18,7 +18,7 @@ provides=(libpasswordfile.so)
install=
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('b9a47be7669eb46c7951e928dbbfe17b6d818b8a438e8549da87d692440344da')
sha256sums=('7d4b8095c172ae48e19651ef561aa3b461b4f008fc1c4b378368532f4009a472')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_name=passwordfile
_reponame=passwordfile
pkgname=$_name-doc
pkgver=5.0.11
pkgver=5.0.10
pkgrel=1
arch=('any')
pkgdesc='C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (API documentation)'
@ -14,7 +14,7 @@ license=('GPL')
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz' 'c++utilities')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('b9a47be7669eb46c7951e928dbbfe17b6d818b8a438e8549da87d692440344da')
sha256sums=('7d4b8095c172ae48e19651ef561aa3b461b4f008fc1c4b378368532f4009a472')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_reponame=passwordfile
pkgname=mingw-w64-passwordfile
_name=${pkgname#mingw-w64-}
pkgver=5.0.11
pkgver=5.0.10
pkgrel=1
arch=('any')
pkgdesc='C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (mingw-w64)'
@ -17,7 +17,7 @@ checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('b9a47be7669eb46c7951e928dbbfe17b6d818b8a438e8549da87d692440344da')
sha256sums=('7d4b8095c172ae48e19651ef561aa3b461b4f008fc1c4b378368532f4009a472')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')

View File

@ -6,7 +6,7 @@
_reponame=passwordfile
pkgname=static-compat-passwordfile
_name=${pkgname#static-compat-}
pkgver=5.0.11
pkgver=5.0.10
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'
@ -18,7 +18,7 @@ checkdepends=('static-compat-cppunit')
install=
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('b9a47be7669eb46c7951e928dbbfe17b6d818b8a438e8549da87d692440344da')
sha256sums=('7d4b8095c172ae48e19651ef561aa3b461b4f008fc1c4b378368532f4009a472')
build() {
check_buildoption ccache y && ccache_args='

View File

@ -4,21 +4,21 @@
# you also find the URL of a binary repository.
# set whether the Qt Quick GUI should be enabled: set to either ON or OFF
_quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-OFF}
_quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-ON}
_reponame=passwordmanager
pkgname=passwordmanager
pkgver=4.2.0
pkgver=4.1.13
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL'
license=('GPL')
depends=('qt5-base' 'libqtutilities.so' 'libpasswordfile.so' 'libc++utilities.so' 'openssl'
'desktop-file-utils')
'libxkbcommon-x11' 'desktop-file-utils' 'xdg-utils')
makedepends=('cmake' 'ninja' 'qt5-tools' 'kirigami2')
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('018dc831794182a66f4820ede7e399cee7633107542451206062bb01500541e0')
sha256sums=('68e44195cfbebef3df3404f0f552880e41e43dc16380d50c85052dff1d870e7c')
# add further dependencies for the Qt Quick GUI (only kirigami2 is "pluggable")
if [[ $_quick_gui == ON ]]; then

View File

@ -9,21 +9,27 @@ _quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-ON}
_reponame=passwordmanager
pkgname=passwordmanager-git
_name=${pkgname%-git}
pkgver=350.4bf6a91
pkgrel=1
pkgver=300.3a01f2d
pkgrel=2
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL'
license=('GPL')
depends=('qt6-base' 'libqtutilities-git.so' 'libpasswordfile-git.so' 'libc++utilities-git.so' 'openssl'
'desktop-file-utils')
makedepends=('cmake' 'ninja' 'qt6-tools' 'git' 'clang' 'qt6-declarative')
[[ $_quick_gui == ON ]] && depends+=('qt6-declarative' 'kirigami')
depends=('qt5-base' 'libqtutilities-git.so' 'libpasswordfile-git.so' 'libc++utilities-git.so' 'openssl'
'libxkbcommon-x11' 'desktop-file-utils' 'xdg-utils')
makedepends=('cmake' 'ninja' 'qt5-tools' 'git' 'kirigami2')
optdepends=('kirigami2: Qt Quick GUI')
provides=("${_name}")
conflicts=("${_name}")
url="https://github.com/Martchus/${_reponame}"
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git")
sha256sums=('SKIP')
# add further dependencies for the Qt Quick GUI (only kirigami2 is "pluggable")
if [[ $_quick_gui == ON ]]; then
depends+=('qt5-quickcontrols2')
optdepends+=('kirigami2: Qt Quick GUI')
fi
pkgver() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
@ -37,8 +43,6 @@ build() {
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
-DCONFIGURATION_NAME:STRING='git' \
-DCONFIGURATION_PACKAGE_SUFFIX:STRING='-git' \
-DQT_PACKAGE_PREFIX:STRING='Qt6' \
-DKF_PACKAGE_PREFIX:STRING='KF6' \
-DQUICK_GUI="$_quick_gui" \
-DBUILTIN_TRANSLATIONS:BOOL=ON \
-DBUILTIN_TRANSLATIONS_OF_QT:BOOL=OFF \

View File

@ -7,7 +7,7 @@ _reponame=passwordmanager
pkgname=mingw-w64-passwordmanager-qt6
_name=${pkgname#mingw-w64-}
_name=${_name%-qt6}
pkgver=4.2.0
pkgver=4.1.13
pkgrel=1
arch=('any')
pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL (mingw-w64)'
@ -16,10 +16,10 @@ depends=('mingw-w64-crt' 'mingw-w64-qt6-base' 'mingw-w64-qtutilities-qt6' 'mingw
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt6-tools' 'qt6-tools' 'qt6-declarative' 'clang' 'ffmpeg' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('018dc831794182a66f4820ede7e399cee7633107542451206062bb01500541e0')
sha256sums=('68e44195cfbebef3df3404f0f552880e41e43dc16380d50c85052dff1d870e7c')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=(${MINGW_W64_QT6_ARCHS:-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-cmake-static' 'mingw-w64-qt6-base-static' 'mingw-w64-qt6-translations' 'mingw-w64-qt6-svg-static' 'breeze-icons' 'numix-icon-theme-git')

View File

@ -6,7 +6,7 @@
_reponame=passwordmanager
pkgname=mingw-w64-passwordmanager
_name=${pkgname#mingw-w64-}
pkgver=4.2.0
pkgver=4.1.13
pkgrel=1
arch=('any')
pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL (mingw-w64)'
@ -15,12 +15,12 @@ depends=('mingw-w64-crt' 'mingw-w64-qt5-base' 'mingw-w64-qtutilities' 'mingw-w64
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'ffmpeg' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('018dc831794182a66f4820ede7e399cee7633107542451206062bb01500541e0')
sha256sums=('68e44195cfbebef3df3404f0f552880e41e43dc16380d50c85052dff1d870e7c')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
_configurations=()
[[ $NO_SHARED_LIBS ]] || _configurations+=('shared')
[[ $NO_SHARED_LIBS ]] || _configurations+=('shared') depends+=('mingw-w64-kirigami2')
[[ $NO_STATIC_LIBS ]] || _configurations+=('static') makedepends+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-translations' 'mingw-w64-qt5-svg-static' 'breeze-icons' 'numix-icon-theme-git')
build() {
@ -29,6 +29,7 @@ build() {
declare -A _config_flags=(
[shared]='
-DBUILD_SHARED_LIBS:BOOL=ON
-DQUICK_GUI:BOOL=ON
'
[static]='
-DBUILD_SHARED_LIBS:BOOL=OFF

View File

@ -4,29 +4,29 @@
# you also find the URL of a binary repository.
# set whether the Qt Quick GUI should be enabled: set to either ON or OFF
_quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-ON}
_quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-OFF}
_reponame=passwordmanager
_cfg=qt6
pkgname=passwordmanager-$_cfg
_name=${pkgname%-$_cfg}
pkgver=4.2.0
pkgver=4.1.13
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL'
license=('GPL')
depends=('qt6-base' 'libqtutilities-qt6.so' 'libpasswordfile.so' 'libc++utilities.so' 'openssl'
'desktop-file-utils')
'libxkbcommon-x11' 'desktop-file-utils' 'xdg-utils')
makedepends=('cmake' 'ninja' 'qt6-tools' 'clang')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('018dc831794182a66f4820ede7e399cee7633107542451206062bb01500541e0')
sha256sums=('68e44195cfbebef3df3404f0f552880e41e43dc16380d50c85052dff1d870e7c')
# add further dependencies for the Qt Quick GUI (only kirigami2 is "pluggable")
if [[ $_quick_gui == ON ]]; then
depends+=('qt6-declarative')
makedepends+=('kirigami')
optdepends+=('kirigami: Qt Quick GUI')
makedepends+=('kirigami2')
optdepends+=('kirigami2: Qt Quick GUI')
else
makedepends+=('qt6-declarative')
fi
@ -37,11 +37,10 @@ build() {
-DCMAKE_BUILD_TYPE:STRING='Release' \
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
-DCONFIGURATION_NAME:STRING="$_cfg" \
-DCONFIGURATION_DISPLAY_NAME="" \
-DCONFIGURATION_DISPLAY_NAME="Qt 6" \
-DCONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES:STRING="-$_cfg" \
-DPASSWORD_MANAGER_CONFIGURATION_TARGET_SUFFIX:STRING="$_cfg" \
-DQT_PACKAGE_PREFIX:STRING='Qt6' \
-DKF_PACKAGE_PREFIX:STRING='KF6' \
-DBUILTIN_TRANSLATIONS:BOOL=ON \
-DBUILTIN_TRANSLATIONS_OF_QT:BOOL=OFF \
-DQUICK_GUI="$_quick_gui" .

View File

@ -9,7 +9,7 @@ _quick_gui=${PASSWORD_MANAGER_QUICK_GUI:-OFF}
_reponame=passwordmanager
pkgname=static-compat-passwordmanager
_name=${pkgname#static-compat-}
pkgver=4.2.0
pkgver=4.1.13
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='A simple password store using AES-256-CBC encryption via OpenSSL'
@ -18,7 +18,7 @@ depends=('static-compat-qt6-base' 'static-compat-qtutilities' 'static-compat-pas
makedepends=('static-compat-cmake' 'ninja' 'static-compat-qt6-svg' 'static-compat-qt6-wayland' 'static-compat-qt6-tools' 'static-compat-qt6-translations' 'breeze-icons' 'numix-icon-theme-git' 'clang')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('018dc831794182a66f4820ede7e399cee7633107542451206062bb01500541e0')
sha256sums=('68e44195cfbebef3df3404f0f552880e41e43dc16380d50c85052dff1d870e7c')
# add further dependencies for the Qt Quick GUI (only kirigami2 is "pluggable")
if [[ $_quick_gui == ON ]]; then

View File

@ -1,9 +1,9 @@
_pkgname=pianobooster
pkgname=pianobooster-custom
pkgdesc='A MIDI file player that teaches you how to play the piano (with custom, experimental patches)'
pkgver=1391.dfc69f1
pkgver=1.0.1
pkgrel=1
depends=('ftgl' 'hicolor-icon-theme' 'qt6-base' 'libfluidsynth.so' 'librtmidi.so' 'libqtutilities-git.so')
depends=('ftgl' 'hicolor-icon-theme' 'qt6-base' 'libfluidsynth.so' 'librtmidi.so' 'libqtutilities-qt6-git.so')
makedepends=('git' 'cmake' 'clang' 'qt6-tools' 'qt6-declarative' 'ninja')
optdepends=('qt6-translations')
conflicts=('pianobooster')
@ -26,7 +26,7 @@ build () {
-DUSE_JACK=ON \
-DWITH_INTERNAL_FLUIDSYNTH=ON \
-DCONFIGURATION_PACKAGE_SUFFIX=-git \
-DCONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES=-git \
-DCONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES=-qt6-git \
-DBUILTIN_TRANSLATIONS:BOOL=ON \
-DQT_PACKAGE_PREFIX=Qt6 \
-DWITH_MAN=ON

View File

@ -1,8 +1,8 @@
_pkgname='pianobooster'
pkgname='mingw-w64-pianobooster-custom'
pkgdesc='A MIDI file player that teaches you how to play the piano (mingw-w64, with custom and experimental patches, statically linked)'
pkgver=1392.86ce9b0
pkgrel=2
pkgver=1.0.1
pkgrel=1
depends=()
makedepends=('mingw-w64-qt6-base-static' 'mingw-w64-ftgl' 'mingw-w64-fluidsynth' 'mingw-w64-qtutilities-qt6' 'mingw-w64-c++utilities'
'git' 'clang' 'qt6-declarative' 'qt6-tools' 'mingw-w64-cmake-static' 'mingw-w64-qt6-tools-static' 'mingw-w64-qt6-svg-static'
@ -15,7 +15,7 @@ source=("${_pkgname}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus
sha256sums=(SKIP)
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=(${MINGW_W64_QT6_ARCHS:-x86_64-w64-mingw32})
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
pkgver() {
cd "${srcdir}/${_pkgname}"

View File

@ -2,7 +2,7 @@
# Contributor: ant32 <antreimer@gmail.com>
pkgname=mingw-w64-postgresql
pkgver=16.2
pkgver=16.1
pkgrel=1
pkgdesc='Sophisticated object-relational DBMS (mingw-w64)'
arch=('any')
@ -17,7 +17,7 @@ replaces=('mingw-w64-postgresql-libs')
source=("http://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2"
'0001-Use-.dll.a-as-extension-for-import-libraries.patch'
'0002-Use-pthread-library-from-MinGW.patch')
sha256sums=('446e88294dbc2c9085ab4b7061a646fa604b4bec03521d5ea671c2e5ad9b2952'
sha256sums=('ce3c4d85d19b0121fe0d3f8ef1fa601f71989e86f8a66f7dc3ad546dd5564fec'
'44b1cceb0f5ef792acc00e9415dc2f7f777747199078ce4c8704d3420de52cf5'
'72e627524dd4994d85db43ea02d71b2c9983037306a85822f744e76b40f40f2f')

View File

@ -1,42 +0,0 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=qqc2-breeze-style
_android_arch=aarch64
pkgname=android-${_android_arch}-${_pkgname}
pkgver=6.0.2
_dirver=$(echo $pkgver | cut -d. -f1-3)
pkgrel=1
pkgdesc="Applications useful for Plasma development (Android, $_android_arch)"
arch=('any')
url='https://kde.org/plasma-desktop/'
license=(LGPL-2.0-or-later)
depends=("android-$_android_arch"-{qt6-declarative,kcoreaddons,kguiaddons,kconfig,kirigami2,kcolorscheme,kquickcharts})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'android-cmake' 'extra-cmake-modules' 'ninja' 'qt6-base' 'qt6-declarative' 'qt6-tools')
source=(https://download.kde.org/stable/plasma/$_dirver/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('904e6398aee2ad31291c027ab096a197c942eb4a73eef7f4de4282cbca6b325d'
'SKIP')
validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell <jr@jriddell.org>
'0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah <bshah@kde.org>
'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson <davidedmundson@kde.org>
'1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin <notmart@gmail.com>
options=(!buildflags staticlibs !strip !emptydirs)
build() {
source android-env ${_android_arch}
android-${_android_arch}-cmake -G Ninja -B build-$_android_arch -S $_pkgname-$pkgver \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
}
package() {
source android-env ${_android_arch}
DESTDIR="$pkgdir" VERBOSE=1 cmake --install build-$_android_arch
}

View File

@ -10,14 +10,14 @@
_qt_module=qt3d
pkgname=mingw-w64-qt5-3d-static
pkgver=5.15.13
pkgver=5.15.12
pkgrel=1
arch=('any')
pkgdesc="C++ and QML APIs for easy inclusion of 3D graphics (mingw-w64)"
depends=('mingw-w64-qt5-declarative-static' 'mingw-w64-assimp')
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'mingw-w64-vulkan-headers' 'assimp')
license=('GPL3' 'LGPL3' 'FDL' 'custom')
_commit=67bee4599a28e1cadc14ed9ea4adc7061e250b90
_commit=e1b1a0d2970fd384bd52c734a72536d8452ad070
_basever=${pkgver%%+*}
makedepends+=('git')
options=('!strip' '!buildflags' 'staticlibs')

View File

@ -1 +1 @@
cf08bc14ebdf811643a0d07e1d7168fdc2d46d40d95041d27707ddf51fcc6783
SKIP

View File

@ -10,14 +10,14 @@
_qt_module=qt3d
pkgname=mingw-w64-qt5-3d
pkgver=5.15.13
pkgver=5.15.12
pkgrel=1
arch=('i686' 'x86_64')
pkgdesc="C++ and QML APIs for easy inclusion of 3D graphics (mingw-w64)"
depends=('mingw-w64-qt5-declarative' 'mingw-w64-assimp')
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'mingw-w64-vulkan-headers' 'assimp')
license=('GPL3' 'LGPL3' 'FDL' 'custom')
_commit=67bee4599a28e1cadc14ed9ea4adc7061e250b90
_commit=e1b1a0d2970fd384bd52c734a72536d8452ad070
_basever=${pkgver%%+*}
makedepends+=('git')
options=('!strip' '!buildflags' 'staticlibs')

View File

@ -4,7 +4,7 @@
# Contributor: ant32 <antreimer@gmail.com>
% end
\
pkgver=5.15.13
pkgver=5.15.12
pkgrel=1
arch=(<%== include 'fragments/mingw-w64-qt5-non_any_archs' %>)
pkgdesc="C++ and QML APIs for easy inclusion of 3D graphics (mingw-w64)"

View File

@ -1 +1 @@
cf08bc14ebdf811643a0d07e1d7168fdc2d46d40d95041d27707ddf51fcc6783
SKIP

View File

@ -15,14 +15,14 @@
_qt_module=qtactiveqt
pkgname=mingw-w64-qt5-activeqt
pkgver=5.15.13
pkgver=5.15.12
pkgrel=1
arch=('any')
pkgdesc="ActiveX integration framework (mingw-w64)"
depends=('mingw-w64-qt5-base')
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'python')
license=('GPL3' 'LGPL3' 'LGPL2.1' 'FDL' 'custom')
_commit=014285857ef1cfb2d9965cf7bad871bbc336ce60
_commit=4fc1cba4c415d84a5879da29f7c459b70fbc15e9
_basever=${pkgver%%+*}
makedepends+=('git')
options=('!strip' '!buildflags' 'staticlibs')

View File

@ -10,7 +10,7 @@
% end
\
pkgver=5.15.13
pkgver=5.15.12
pkgrel=1
arch=('any')
pkgdesc="ActiveX integration framework (mingw-w64)"

View File

@ -1 +1 @@
c5a635be320e3ba9cbc20e04901f660d46541e4943a98cf2e5d42d0f09562c17
SKIP

View File

@ -17,10 +17,10 @@
_qt_module=qtbase
pkgname=mingw-w64-qt5-base-static
pkgver=5.15.13+kde+r138
pkgver=5.15.12+kde+r147
pkgrel=1
_basever=${pkgver%%+*}
_commit=b9906b5233a80cab372c95ac4dd68b25bdca0646
_commit=8907dedc858cc344d770a2e826d6acc516429540
pkgdesc='A cross-platform application and UI framework, native OpenGL backend (mingw-w64)'
arch=('any')
url='https://www.qt.io/'
@ -71,38 +71,38 @@ source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit
'0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch'
'0032-Fix-crashes-in-rasterization-code-using-setjmp.patch')
sha256sums=('SKIP'
'11c2b54df2b5ea031c2103366d0b27d0786c3420b29cca391cc0015fd35264d7'
'2b00e98c8c8acb1a453191be77a2f7a9188e030480864e58ac39b517bb63ffb5'
'5131dff4db6f63e36ea364ce59b2fdb047fbb6d55e6543316054f6ebcd76711b'
'3147a21ccad3026a06d8b622db96949d51f32b6a1d25c8aae5fe5a95c3e95625'
'4bd74cc1d78da412faac71b5357fd86fea3f1781d0b554f8f7fd3684c833e8ce'
'e566e5cdd5bc077c35054be1465148acd5ee209e609690c670b78df88cc9295b'
'7fe1dc6c1251c16c4236924cb5a03ac55d1dca051bd9d99fbf7b35f91454fda3'
'c054851c46036710ff6f025a48d4b5b2d6e5d5d54c74b73c2cb81b00bdfa029a'
'a2702d6ca3f696ca3c77b00df7bb512f5f3430fce109048c62c97d294758efd8'
'395339c3dde4115283db948899980e536a355422190bc90850efdc3438c527d8'
'c386790a879e68b9d00bfe9f14afa67d8a374de57bdea164a5252499ec34cbcb'
'576177950e99f62d05bee487dd5ae1b731fe4acf438553c74e7c48631dd8789b'
'02bc0ce27d7835829d4e84580fb0a0b864b36b14331a166dba88f1942a6414a3'
'736de6cd28c8efb1729f926c1fa42c963c7f1d3a9e4b56b098906b570473320f'
'294f3ab13a546a1bfeae472cf7342e2bce6c058a6867d19038ba1c194fb33b8d'
'8f202adf905ebce78dd2942d17c0d935f0de7014ffa75840310edc0bd790ff03'
'129b4667c5e3cfe68040cbae2fce487e2d016bcbe2380a5ba410b225279f71b9'
'fbd8cd4680e10074f90bf79d9d08ad787b483cf7c21250d1db1c8a5c829a1d83'
'05a29084b9bc3324beefb9ae6d00ea68c3b3c51a0b4595c024300949c906d7fd'
'7843f5be44b9b367cb81c143c6d670e6a5be40510848c09a1448d921c3437639'
'7002db8f819bf34cafda04dc4d288fef58aec9e409230dc68fcb542cb48f09bb'
'57607c662e6d68f2ca856617c8d7cfaa05ba8332ea70b67ab628a8f0cf2ca032'
'5910c4567348101d0a87197b2e52e59673467247ca4ffc89cba5701d98373435'
'0181986547b7c70bf2bc8de31198240f99a92e4cfdb1db81c7b99b849c416c1f'
'9e692f956dffa5c936a2911d8418746b19197962111b4f0f45b33972ed3890f2'
'1d5e09034c9c903653d10c3983e4dcb710ebe8f08694e5e55199a3e4acb8f629'
'5379cea6fd54a16e7f67b617bf3582c08f8934ae8d699e85ad21f20dcf192424'
'82d1db9d4536350fe2549c400487018a8477a15da83a568240a013a6d82dfe92'
'01413344603a8e99f7b0280e7f297de4ea415e0c5011b1dac116eaf25082220b'
'4f88801a586c35515fd982f8e465fb4546ef38765c6a2abe1e8ca69e3700d799'
'b4dad74bbe2731aaa8711408fe509344e7e6049def897389f7e2a86423f3377e'
'17f251d456713c920c6581659c54b9c372e1a329081b2ed9d9826e9e0ddd317a')
'6abea753da212719c065ba5001380257098fcb78ebfb1743d511c827f470a636'
'19b2918d73c1fe63c284602e9315e22d0c9b3240705b8a6459f2b0967933c969'
'23d6ace78834c831ea97e19b443a88291e4d103fd85da920e1cf430047a73d41'
'66924a2642debb2a76ff085c1c2c4a6912993d313efea392308859edc825672c'
'306cc84dbb13f1315b6d060dffbca4d4a9637f9672e43c58a3d01bf766ae3f71'
'167a7c2cece750b7da922ec25e47eed618feaca92897d085a0c635f828b1a9b9'
'9667d35f3beb5c9042bd7190342f8e86bc9ff62f0bcbb438e25450025c1cf597'
'09c6de90337c1a8d42e695fdea53bdea9800e9d7fc8d12578e9fb1fd564988cc'
'b5442e2b87f39defa6e38793b2fd26c1e0f3610ae02b3d14a4b680e687ca2ccc'
'c3c3c0f651da11e3b78cf71399a0d95519e9dc0361e9732adc7f36d60c9e45c1'
'561c0ec6fce7f61166097ea7037020b657dc21abb3fbbf136318f0d43940c396'
'e80f2dedaf91bd3302c27244451a510ba3a576bb60d6e96a0f3c8ad8bd0fbd68'
'0d77c5d3f9e84fa2dff90c5faf32b51b1b19f110a503fa9630cdc5e33bc6d72e'
'c49304f8c99bc4213dc62a65f7f8d1089b72c7ec49d8895afaf5d059da7b905f'
'3eb93b2fb1b6eb5e6f5d4fff8e75e5b0cfab96503b077c121e4bc405eda08f42'
'16cc6c9c49d91e2a6c8c6e53a7305db868f4080affd387ec3d932fa474b5841c'
'06fb708234c783bc1aa9e0bf1f9db6f16b3fe62ee8a94300252796de841fd56d'
'1ab92232b3a94446c391c822a82aab767f4b1b077c73e839b316473163887ad4'
'b174ddca0726fadf191176336f8fbddf18ab95f2967e1e0bebdb8e0425d4223f'
'376aebad348858696a4f8ecaf9668cf4b12687ef2213706e768d8aa11a01e631'
'f266866a8f01cb95a1d686b1a5ce3ec46ab8fa0ddec268b0e2eb53ddbf53aae3'
'91730e65dee6d4a3b1c36e2153c0608e9fb419060ccb57800452895cfe5e08c3'
'575c14e7ff04515a934491fcfd0328316f734045a419581b356db9e9dbd69d20'
'a1c8251c4d9747fdfb2fa319cbef604bec6f3826ca4b0d2277b3e56b24e1d44a'
'40419107bdd48d47c8d5c8cbee3624fd14c32e2daa42993ff08ea9d5eae21d0f'
'af7f4c80119c33607d142a591dcf86463796526333a964f7dee5813eab7a2705'
'1684c496c58ecff4fc5e21335a96824ee07282479d0d5f7edf52e844264ce76e'
'f610d74cffc6c2d089eedde8f31624da25172cc9825a24c085ff6e9c80cb3352'
'30decf5cf1c862c183350ac9af71263ecd45a9701d9e85bc765af8e74ddd0df6'
'811ad201d74106dea202ce28806dc1eca091139da5a71d2dd8656c592ec721ed'
'8a154c511e6e3e35a64338890edbbc2a12d6a7079fff9a14491146a4b66e5b59'
'c2a61b245c312b71c043ee274d7beba0daf213d7a6f6ba748c2965e4dc27ff0a')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -1 +1 @@
06e49a14145574834d4d04f73e6baf662ee5e72e78973e1d7d0fe614472a80a4
SKIP

View File

@ -1,4 +1,4 @@
From c134da249ee5459358292e1665b69aede5035c5b Mon Sep 17 00:00:00 2001
From b6ccf3e66d2a7988a4ffe3407feb56ad782ed586 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 3 Feb 2017 18:30:51 +0100
Subject: [PATCH 01/32] Adjust win32-g++ profile for cross compilation with
@ -21,7 +21,7 @@ Change-Id: I94f5a6c44c112bd44a84f802712077bc14782b4c
3 files changed, 38 insertions(+), 21 deletions(-)
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
index c3a1f3a3732..0cc6e93c93e 100644
index c3a1f3a373..0cc6e93c93 100644
--- a/mkspecs/common/g++-win32.conf
+++ b/mkspecs/common/g++-win32.conf
@@ -8,18 +8,24 @@
@ -126,7 +126,7 @@ index c3a1f3a3732..0cc6e93c93e 100644
-include(angle.conf)
-include(windows-vulkan.conf)
diff --git a/mkspecs/win32-clang-g++/qmake.conf b/mkspecs/win32-clang-g++/qmake.conf
index 59d42176f03..f8cb9859f28 100644
index 59d42176f0..f8cb9859f2 100644
--- a/mkspecs/win32-clang-g++/qmake.conf
+++ b/mkspecs/win32-clang-g++/qmake.conf
@@ -14,11 +14,11 @@ include(../common/g++-win32.conf)
@ -144,7 +144,7 @@ index 59d42176f03..f8cb9859f28 100644
QMAKE_LINK = $${CROSS_COMPILE}clang++
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 5de482f23b5..3c3d22c6993 100644
index 5de482f23b..3c3d22c699 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -13,11 +13,11 @@ include(../common/windows-desktop.conf)
@ -162,5 +162,5 @@ index 5de482f23b5..3c3d22c6993 100644
QMAKE_LINK = $${CROSS_COMPILE}g++
--
2.44.0
2.43.0

View File

@ -1,4 +1,4 @@
From acadba49c80804a908477f9a367c645fdf4300cc Mon Sep 17 00:00:00 2001
From ff91032556f863a8c7211cd874fd3b703622b2f3 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:36:53 +0200
Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL
@ -9,7 +9,7 @@ FIXME: Not sure whether this is still required
1 file changed, 2 deletions(-)
diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h
index 4554291bbd9..23d55bddebd 100644
index 4554291bbd..23d55bddeb 100644
--- a/src/gui/opengl/qopenglfunctions.h
+++ b/src/gui/opengl/qopenglfunctions.h
@@ -56,9 +56,7 @@
@ -23,5 +23,5 @@ index 4554291bbd9..23d55bddebd 100644
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
#include <stdio.h>
--
2.44.0
2.43.0

Some files were not shown because too many files have changed in this diff Show More