Compare commits

..

1 Commits

Author SHA1 Message Date
Martchus b0bcddf250 WIP: Update mingw-w64-gettext to 0.22 2023-07-30 01:09:08 +02:00
712 changed files with 4412 additions and 4690 deletions

View File

@ -74,10 +74,6 @@ makecontainerpkg [cre args] --- [makepkg args]
Set the environment variable `CRE` to the container runtime executable (by
default `docker`) and set `CRE_IMAGE` to use a different container image.
Note that you can also set the environment variable `TOOL` to invoke a different
tool instead of `makepkg`, e.g. `TOOL=updpkgsums makecontainerpkg` can be used
to update checksums.
Example where the host pacman cache and ccache directories are mounted into the
container and a package rebuild is forced via `makepkg`'s flag `-f`:
```
@ -100,13 +96,15 @@ To be able to run podman without root, you need to ensure user/group IDs can be
mapped. The mapping is configured in the files `/etc/subuid` and `/etc/subgid`.
Use `sudo usermod --add-subuids 200000-265536 --add-subgids 200000-265536 $USER`
to configure it for the current user and verify the configuration via
`grep $USER /etc/sub{u,g}id`. Finally, run `podman system migrate` to apply.
`grep $USER /etc/sub{u,g}id`.
To change storage paths so e.g. containers are stored at a different location,
edit `~/.config/containers/storage.conf` (or `/etc/containers/storage.conf` for
system-wide configuration) to set `runroot` and `graphroot` to different
locations.
Finally, run `podman system migrate` to apply.
### Investigation of build failures
By default, `makecontainerpkg` removes the container in the end. Set `DEBUG=1`
to prevent that. Then one can use e.g. `podman container exec -it … bash` to
@ -121,17 +119,26 @@ for this purpose.
Here are some example commands how one might do that:
```
# do basic container setup
containers/create-devel-container-example
# create a directory to store builds and new container and start it
mkdir -p /hdd/build/container
podman container create -it \
--name archlinux-devel-container \ # give container a meaningful name
-v /hdd/cache/pacman/pkg:/var/cache/pacman/pkg \ # share pacman cache accross different containers
-v /hdd/build/container:/build \ # expose build directory to host
-v /hdd/projects:/src \ # access source files from host
-v /hdd/chroot/remote-config-x86_64:/cfg \ # mount directory containing pacman.conf/makepkg.conf
archlinux-base-devel
podman container start archlinux-devel-container
# configure pacman to use config from mounted directory
podman container exec archlinux-devel-container bash -c "$(cat devel/container/containersync)"
# 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
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}
# configure the build using mingw-w64 packages, e.g. run CMake
podman container exec -it archlinux-devel-container x86_64-w64-mingw32-cmake \
@ -149,7 +156,6 @@ podman container exec -it archlinux-devel-container bash -c '
# configure the build using android packages, e.g. run CMake
podman container exec -it archlinux-devel-container bash -c '
android_arch=aarch64
export PATH=/usr/lib/jvm/java-17-openjdk/bin:$PATH
source /usr/bin/android-env $android_arch && \
android-$android_arch-cmake \
-G Ninja \
@ -163,12 +169,11 @@ podman container exec -it archlinux-devel-container bash -c '
# conduct the build using android packages, e.g. invoke Ninja build system via CMake
podman container exec -it archlinux-devel-container bash -c '
export PATH=/usr/lib/jvm/java-17-openjdk/bin:$PATH
source /usr/bin/android-env aarch64 && \
cmake --build /build/passwordmanager-android-aarch64-release --verbose'
# use additional Android-related tooling from container
# note: These are just example values. The ports for pairing and connection are distinct.
# note: These are just example values. The ports for pairing and connection distinct.
phone_ip=192.168.178.42 pairing_port=34765 pairing_code=922102 connection_port=32991
podman container exec -it archlinux-devel-container \
/opt/android-sdk/platform-tools/adb pair "$phone_ip:$pairing_port" "$pairing_code"
@ -303,7 +308,7 @@ native binaries which might be required by some projects. At this point the
setup can break if the version of regular packages and the versions of the
mingw-w64 packages differ. I cannot do anything about it except trying to
upgrade the mingw-w64 packages as fast as possible. There's actually a lengthy
discussion about this topic on the
discussion about this topi on the
[Qt development mailinglist](https://lists.qt-project.org/pipermail/development/2021-September/041732.html)
so the situation might improve in the future. Note that as of
qtbase commit `5ffc744b791a114a3180a425dd26e298f7399955` (requires Qt > 6.2.1)
@ -421,6 +426,6 @@ shared and static libraries within the same prefix at the same time because the
config files would clash.
## Copyright notice and license
Copyright © 2015-2024 Marius Kittler
Copyright © 2015-2023 Marius Kittler
All code is licensed under [GPL-2-or-later](LICENSE).

View File

@ -1,52 +0,0 @@
_pkgname=alsa-lib
pkgname=static-compat-$_pkgname
pkgver=1.2.10
pkgrel=3
pkgdesc="An alternative implementation of Linux sound support"
arch=(x86_64)
url="https://www.alsa-project.org"
license=(LGPL-2.1-or-later)
depends=('gcc-libs-static-compat')
makedepends=('static-compat-configure')
source=(
https://www.alsa-project.org/files/pub/lib/$_pkgname-$pkgver.tar.bz2{,.sig}
$_pkgname-1.2.10-config_header.patch::https://github.com/alsa-project/alsa-lib/commit/0e3dfb9f705ca78be34cd70fd59d67c431e29cc7.patch
)
sha512sums=('4ccbd1dc5a612044571c26290923009e4c3f7959b30a5d0bed47daa68bbefaff9059c4f0fa3bc16f22c1eed2d36f079139369f40243da5921ae4de02a4541939'
'SKIP'
'4c10050fb92da9c61e08eb742b60245314362bf8b7f5c34d5edade2f0bcaa0930c1d30267db0a95de2391c01a4aa59f5565423a1c41e42471f3dc9614b4d9b8a')
b2sums=('b2e4f8431e61f5bb56b2b5d124e67d5a68bbca3c647bebfa93f5e5ff092ec9ef3f6cb6315801fcd93e21151784814ff238d357313b8b44f32d4e7c9ee565388f'
'SKIP'
'73ce802cfcefed592d3820e4e8fdc2cfcb0666e60e07ede87f5581acf751e2c7552bc9347c1075552337047ec4c2cb64dbc92433d4e4b2e52cf6cad36f2679f2')
validpgpkeys=('F04DF50737AC1A884C4B3D718380596DA6E59C91') # ALSA Release Team (Package Signing Key v1) <release@alsa-project.org>
prepare() {
source static-compat-environment
# fix crashes with 32bit applications: https://bugs.archlinux.org/task/79628
patch -Np1 -d $_pkgname-$pkgver -i ../$_pkgname-1.2.10-config_header.patch
cd $_pkgname-$pkgver
autoreconf -fiv
}
build() {
source static-compat-environment
# -flto=auto is not supported: https://github.com/alsa-project/alsa-lib/issues/110
CFLAGS+=" -flto-partition=none"
cd $_pkgname-$pkgver
static-compat-configure --prefix=/usr --disable-shared --enable-static --without-debug
# prevent excessive overlinking due to libtool
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
source static-compat-environment
export LD_LIBRARY_PATH="$_pkgname-$pkgver/src/.libs/:$LD_LIBRARY_PATH"
make -k check -C $_pkgname-$pkgver || true
}
package() {
source static-compat-environment
make DESTDIR="$pkgdir" install -C $_pkgname-$pkgver
rm -r $pkgdir/usr/{bin,share/alsa,share/aclocal}
}

View File

@ -6,15 +6,12 @@
_reponame=arch-repo-manager
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')
[[ $_liburing != OFF ]] && depends+=('liburing.so')
depends=('libc++utilities-git.so' 'libpasswordfile-git.so' 'libboost_filesystem.so' 'libarchive.so' 'lmdb' 'liburing')
optdepends=('reflective-rapidjson-git: development with libpkg/librepomgr'
"$_name-doc: API documentation")
makedepends=('cmake' 'git' 'ninja' 'boost' 'catch2' 'rapidjson-git' 'reflective-rapidjson-git')
@ -53,7 +50,7 @@ build() {
-DBUILD_SHARED_LIBS:BOOL=ON \
-DDUMMY_BUILD_ACTION_ENABLED:BOOL=ON \
-DREFLECTION_GENERATOR_EXECUTABLE:FILEPATH='/usr/bin/reflective_rapidjson_generator-git' \
-DBOOST_ASIO_IO_URING:BOOL=$_liburing \
-DBOOST_ASIO_IO_URING:BOOL=OFF \
.
VERBOSE=1 ninja
}

View File

@ -0,0 +1,39 @@
From 906bbb8969c8712e108bd6a721114cc199bb684c Mon Sep 17 00:00:00 2001
From: Phil Davis <phil@jankaritech.com>
Date: Mon, 30 Jan 2023 12:39:44 +0545
Subject: [PATCH] declare addressDataProperties to avoid PHP 8.2 deprecation
notice
---
lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php | 9 ++++++++-
...ultiGetTest.php => AddressBookMultiGetReportTest.php} | 6 +++---
2 files changed, 11 insertions(+), 4 deletions(-)
rename tests/Sabre/CardDAV/Xml/Request/{AddressBookMultiGetTest.php => AddressBookMultiGetReportTest.php} (93%)
diff --git a/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php b/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
index c11d2dd736..491f969088 100644
--- a/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
+++ b/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
@@ -38,7 +38,7 @@ class AddressBookMultiGetReport implements XmlDeserializable
public $hrefs;
/**
- * The mimetype of the content that should be returend. Usually
+ * The mimetype of the content that should be returned. Usually
* text/vcard.
*
* @var string
@@ -53,6 +53,13 @@ class AddressBookMultiGetReport implements XmlDeserializable
*/
public $version = null;
+ /**
+ * An array with requested vcard properties.
+ *
+ * @var array
+ */
+ public $addressDataProperties;
+
/**
* The deserialize method is called during xml parsing.
*

View File

@ -2,8 +2,8 @@
# Contributor: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
pkgname=baikal
pkgver=0.9.5
pkgrel=1
pkgver=0.9.3
pkgrel=2
pkgdesc='Lightweight CalDAV+CardDAV server'
url='http://sabre.io/baikal/'
arch=('any')
@ -11,14 +11,17 @@ license=('GPL')
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"
"906bbb8969c8712e108bd6a721114cc199bb684c.patch"
'baikal.install')
sha512sums=('e544ed39047788bf001c81a44eb69a3db30a871253cb6bf12b54d5d476eaadc63d723192d41b67f2cf908a72d4c722def03d853df68b7fd464a4093e08ed0f19'
sha512sums=('bdcd3848ba7c99f94a1f20c9fee48f24bb9e004a325f482d6b5324eff1f0aa2fddd284ff5f9ae6dd0b67455852aa82e434174358c58d76b6009945bc3395768c'
'bad0002fe73330b0991dc448dc59fcf4257c7c1bfacaa0042ea552ea0fe316e6bf157afed75df7361e707c9bfa258135d8b01dad273adceac0127cb44d4f84d0'
'4e28980100ce9fc820a6c40a9cd528a90d62997ac18fb4ea353d8eaba58b320f9c653ba9b066036ff598f1d5a0aafb49ba444f9187c0d3616cbe6fa45222ca3f')
options=('!strip')
install=baikal.install
prepare() {
cd "${srcdir}/baikal/vendor/sabre/dav"
patch -p1 -i ../../../../906bbb8969c8712e108bd6a721114cc199bb684c.patch
}
package() {

View File

@ -4,8 +4,8 @@
# you also find the URL of a binary repository.
pkgname=bento4
pkgver=1.6.0.641
_pkgverstr=1-6-0-641
pkgver=1.6.0.639
_pkgverstr=1-6-0-639
pkgrel=1
pkgdesc='C++ class library and tools designed to read and write ISO-MP4 files'
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
@ -14,7 +14,7 @@ license=('GPL')
makedepends=('cmake')
optdepends=('python')
source=("http://zebulon.bok.net/Bento4/source/Bento4-SRC-${_pkgverstr}.zip")
sha256sums=('8258faf0de7253f2aac016018f33d4a04c16d9060735e14ec8711f84aaedf0c8')
sha1sums=('d3351ffb425aadc698227ba84f5ec3401cad795a')
build() {
cd "${srcdir}"

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,17 +1,17 @@
# Maintainer in AUR: drakkan <nicola.murino at gmail dot com>
# Maintainer of AUR version: drakkan <nicola.murino at gmail dot com>
# This version includes the static library as well (in contrast
# to the version found in the AUR).
# This version removes the -R flag from the pkg-config file (required to build Qt 6
# which relies on the pkg-config file).
pkgname=mingw-w64-brotli
_pkgname=brotli
_gitcommit=ed738e842d2fbdf2d6459e39267a633c4a9b2f5d
pkgver=1.1.0
_gitcommit=e61745a6b7add50d380cfd7d3883dd6c62fc2c71
pkgver=1.0.9
pkgrel=2
pkgdesc='Brotli compression library (mingw-w64)'
arch=('any')
license=('MIT')
url='https://github.com/google/brotli.git'
url='https://github.com/google/brotli'
depends=('mingw-w64-gcc')
makedepends=('mingw-w64-cmake' 'git')
options=('!buildflags' '!strip' 'staticlibs')
@ -29,11 +29,7 @@ build() {
for _arch in ${_architectures}; do
cd "$srcdir"/${_pkgname}
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-cmake -DBUILD_SHARED_LIBS=ON ..
make
popd
mkdir -p build-${_arch}-static && pushd build-${_arch}-static
${_arch}-cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/$_arch/static ..
${_arch}-cmake ..
make
popd
done
@ -41,9 +37,8 @@ build() {
package() {
for _arch in ${_architectures}; do
make -C "${srcdir}/${_pkgname}/build-${_arch}-static" DESTDIR="${pkgdir}" install
make -C "${srcdir}/${_pkgname}/build-${_arch}" DESTDIR="${pkgdir}" install
ln -s --verbose --relative --target-directory="$pkgdir"/usr/${_arch}/lib "$pkgdir"/usr/${_arch}/static/lib/*.a
cd "${srcdir}/${_pkgname}/build-${_arch}"
make DESTDIR="${pkgdir}" install
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a

View File

@ -5,9 +5,9 @@
# Contributor: Guillaume Horel <guillaume.horel@gmail.com>
pkgname=static-compat-brotli
_gitcommit=ed738e842d2fbdf2d6459e39267a633c4a9b2f5d
pkgver=1.1.0
pkgrel=2
_gitcommit=e61745a6b7add50d380cfd7d3883dd6c62fc2c71
pkgver=1.0.9
pkgrel=1
pkgdesc='Generic-purpose lossless compression algorithm'
url='https://github.com/google/brotli'
arch=('x86_64')
@ -18,6 +18,11 @@ options=('staticlibs')
source=(${pkgname}::"git+${url}#commit=${_gitcommit}")
sha512sums=('SKIP')
prepare() {
cd ${pkgbase}
git cherry-pick -n 09b0992b6acb7faa6fd3b23f9bc036ea117230fc # Fix broken Libs: in pc file
}
pkgver() {
cd ${pkgbase}
git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
@ -28,20 +33,22 @@ build() {
cd ${pkgbase}
static-compat-cmake -B build \
-DCMAKE_BUILD_TYPE=Release
cmake --build build -v
make -C build VERBOSE=1
}
check() {
source static-compat-environment
cd ${pkgbase}
cd build
ctest --output-on-failure --stop-on-failure -j$(nproc)
make test
}
package() {
source static-compat-environment
cd ${pkgbase}
DESTDIR="$pkgdir" cmake --install build
make -C build DESTDIR="$pkgdir" install
find "$pkgdir/$static_compat_prefix" -iname '*.so*' -delete
for file in "$pkgdir/$static_compat_prefix"/lib/pkgconfig/*.pc; do
sed -i -E 's/-lbrotli(enc|dec|common)/\0-static/g' "$file"
done
install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}

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.0
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=('959e9884bdab1a2afe67937611b6b168fb60dc0cf0acf236b3a342cc0479e57d')
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.0
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=('959e9884bdab1a2afe67937611b6b168fb60dc0cf0acf236b3a342cc0479e57d')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,18 +6,18 @@
_reponame=cpp-utilities
pkgname=mingw-w64-c++utilities
_name=${pkgname#mingw-w64-}
pkgver=5.24.8
pkgver=5.24.0
pkgrel=1
arch=('any')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (mingw-w64)'
license=('GPL')
depends=('mingw-w64-crt' 'mingw-w64-libiconv' 'mingw-w64-boost')
depends=('mingw-w64-crt' 'mingw-w64-libiconv')
optdepends=("$_name-doc: API documentation")
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=('959e9884bdab1a2afe67937611b6b168fb60dc0cf0acf236b3a342cc0479e57d')
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.0
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=('959e9884bdab1a2afe67937611b6b168fb60dc0cf0acf236b3a342cc0479e57d')
prepare() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -1,6 +1,6 @@
pkgname=mingw-w64-cmake-static
pkgver=1
pkgrel=4
pkgrel=2
arch=('any')
pkgdesc='CMake wrapper for MinGW (mingw-w64, static)'
depends=('mingw-w64-cmake')

View File

@ -5,8 +5,7 @@
include("/usr/share/mingw/toolchain-@TRIPLE@.cmake")
# prefer libraries from "static" sub-prefix
set(CMAKE_STATIC_PREFIX "/usr/@TRIPLE@/static")
set(CMAKE_FIND_ROOT_PATH "${CMAKE_STATIC_PREFIX};${CMAKE_FIND_ROOT_PATH}")
set(CMAKE_FIND_ROOT_PATH "/usr/@TRIPLE@/static;${CMAKE_FIND_ROOT_PATH}")
# prefer static libraries
# note: It is of no use to set the real variable CMAKE_FIND_LIBRARY_SUFFIXES here because it gets overridden by CMake
@ -22,16 +21,13 @@ set(BOOST_USE_STATIC_LIBS ON)
set(Vulkan_LIBRARY "/usr/@TRIPLE@/lib/libvulkan.dll.a" CACHE FILEPATH "shared Vulkan IDC library")
# workaround limitations in upstream pkg-config files and CMake find modules
set(pkgcfg_lib_libbrotlicommon_brotlicommon "${CMAKE_STATIC_PREFIX}/lib/libbrotlicommon.a" CACHE INTERNAL "static libbrotlicommon")
set(pkgcfg_lib_libbrotlienc_brotlienc "${CMAKE_STATIC_PREFIX}/lib/libbrotlienc.a;${CMAKE_STATIC_PREFIX}/lib/libbrotlicommon.a" CACHE INTERNAL "static libbrotliend")
set(pkgcfg_lib_libbrotlidec_brotlidec "${CMAKE_STATIC_PREFIX}/lib/libbrotlidec.a;${CMAKE_STATIC_PREFIX}/lib/libbrotlicommon.a" CACHE INTERNAL "static libbrotlidec")
set(pkgcfg_lib_libbrotlicommon_brotlicommon "/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlicommon")
set(pkgcfg_lib_libbrotlienc_brotlienc "/usr/@TRIPLE@/lib/libbrotlienc-static.a;/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotliend")
set(pkgcfg_lib_libbrotlidec_brotlidec "/usr/@TRIPLE@/lib/libbrotlidec-static.a;/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlidec")
set(libbrotlicommon_STATIC_LDFLAGS "${pkgcfg_lib_libbrotlicommon_brotlicommon}" CACHE INTERNAL "static libbrotlicommon")
set(libbrotlienc_STATIC_LDFLAGS "${pkgcfg_lib_libbrotlienc_brotlienc}" CACHE INTERNAL "static libbrotliend")
set(libbrotlidec_STATIC_LDFLAGS "${pkgcfg_lib_libbrotlidec_brotlidec}" CACHE INTERNAL "static libbrotlidec")
# disable use of find modules that don't work for static libraries
set(CMAKE_DISABLE_FIND_PACKAGE_harfbuzz TRUE)
# define dependencies of various static libraries as CMake doesn't pull them reliably automatically
# note: It would be possible to deduce the dependencies via pkg-config. However, for simplicity I'm hard-coding the dependencies for now.
# In some cases the pkg-config file wouldn't work anyways because it is only covering the shared version (despite use of `-static`).
@ -40,6 +36,6 @@ set(POSTGRESQL_DEPENDENCIES "-lpgcommon;-lpgport;-lintl;-lssl;-lcrypto;-lshell32
set(MYSQL_DEPENDENCIES "-lssl;-lcrypto;-lshlwapi;-lgdi32;-lws2_32;-lpthread;-lz;-lm" CACHE INTERNAL "dependencies of static MySQL/MariaDB libraries")
set(LIBPNG_DEPENDENCIES "-lz" CACHE INTERNAL "dependencies of static libpng")
set(GLIB2_DEPENDENCIES "-lintl;-lws2_32;-lole32;-lwinmm;-lshlwapi;-lm" CACHE INTERNAL "dependencies of static Glib2")
set(FREETYPE_DEPENDENCIES "-lbz2;-lharfbuzz;-lfreetype;-lbrotlidec;-lbrotlicommon" CACHE INTERNAL "dependencies of static FreeType2 library")
set(FREETYPE_DEPENDENCIES "-lbz2;-lharfbuzz;-lfreetype;-lbrotlidec-static;-lbrotlicommon-static" CACHE INTERNAL "dependencies of static FreeType2 library")
set(HARFBUZZ_DEPENDENCIES "-lglib-2.0;${GLIB2_DEPENDENCIES};-lintl;-lm;-lfreetype;-lgraphite2" CACHE INTERNAL "dependencies of static HarfBuzz library")
set(DBUS1_DEPENDENCIES "-lws2_32;-liphlpapi;-ldbghelp" CACHE INTERNAL "dependencies of static D-Bus1 library")

View File

@ -1,6 +1,6 @@
pkgname=static-compat-cmake
pkgver=1
pkgrel=2
pkgrel=1
arch=('any')
pkgdesc="CMake wrapper to use gcc-static-compat"
depends=('cmake' 'static-compat-environment')

View File

@ -5,13 +5,9 @@ set (CMAKE_SYSTEM_PROCESSOR @PROCESSOR@)
set (CMAKE_C_COMPILER @PREFIX@/bin/gcc)
set (CMAKE_CXX_COMPILER @PREFIX@/bin/g++)
# specify the root path of the target environment
# where is the target environment
set (CMAKE_FIND_ROOT_PATH @PREFIX@)
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
# disable use of find modules that don't work for static libraries
set(CMAKE_DISABLE_FIND_PACKAGE_harfbuzz TRUE)

View File

@ -1,80 +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.
_realname=cppwinrt
pkgname=mingw-w64-${_realname}
pkgver=2.0.240111.5
_windows_rs_ver=0.52.0
pkgrel=1
arch=('any')
pkgdesc='C++ language projection for Windows Runtime (WinRT) APIs (mingw-w64)'
url='https://aka.ms/cppwinrt'
license=('spdx:MIT')
depends=('mingw-w64-crt')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-wine' 'ninja' 'git')
source=("https://github.com/microsoft/cppwinrt/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
"https://github.com/microsoft/windows-rs/archive/${_windows_rs_ver}/windows-rs-${_windows_rs_ver}.tar.gz")
sha256sums=('5ec49e9de3467161ef93185f0c627be6ed37200f19e18ac79e29e47fbeb69d0d'
'fa6f1ad3677ee46ded34ad8811fc365a783d9aa414206a60b52dff261db85ef3')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
build() {
cd ${_realname}-${pkgver}
for _arch in "${_architectures[@]}"; do
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
# build cppwinrt.exe
${_arch}-cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE:STRING='Release' \
-DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \
-DCPPWINRT_BUILD_VERSION="${pkgver}" \
-DBUILD_TESTING=OFF \
../
cmake --build .
# add Windows metadata
# note: The metadata comes from https://github.com/microsoft/win32metadata. However, at this point
# this build script cannot make use of that. Instead, one has to just point it to the metadata files
# usually found under C:/Windows/System32/WinMetadata via the WIN_METADATA environment variable.
input=()
if [[ -d $WIN_METADATA ]]; then
ln -s "$WIN_METADATA" win-metadata
input+=(-input win-metadata)
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."
fi
# add rust metadata provided by https://github.com/microsoft/windows-rs
echo "SPDX-License-Identifier: MIT OR Apache-2.0
SPDX-FileCopyrightText: Copyright (c) Microsoft Corporation
Generated using .winmd files from https://github.com/microsoft/windows-rs
" > license.txt
ln -s "${srcdir}/windows-rs-${_windows_rs_ver}/crates/libs/bindgen/default" rust-metadata
input+=(-license license.txt -input rust-metadata)
# generate headers using cppwinrt.exe
${_arch}-wine cppwinrt.exe "${input[@]}" -output "output"
popd
done
}
package() {
cd ${_realname}-${pkgver}
for _arch in "${_architectures[@]}"; do
pushd "build-${_arch}"
DESTDIR="${pkgdir}" cmake --install .
mkdir "${pkgdir}/usr/${_arch}/include"
cp -vr --target-directory="${pkgdir}/usr/${_arch}/include" output/*
${_arch}-strip --strip-all "$pkgdir"/usr/${_arch}/bin/*.exe
popd
done
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}/share/licenses/${pkgname}/LICENSE"
}

View File

@ -24,6 +24,7 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|| $project_name == 'qt5-webview' # does not build for Windows, would require qt5-webengine
|| $project_name == 'qt5-canvas3d' # removed from official releases
|| $project_name == 'qt5-script' # extra case (still released, not on KDE branch)
|| $project_name == 'qt6-3d' # removed in beta1
|| $variant == 'mingw-w64-test' # just our own 'test' package (not used anymore)
]] && continue

View File

@ -2,15 +2,12 @@ FROM archlinux:base as base
MAINTAINER Martchus <martchus@gmx.net>
RUN mkdir -p /startdir /build && \
groupadd -g 1000 builduser && \
useradd -m -d /build -u 1000 -g 1000 -s /bin/bash builduser && \
chown -R builduser:builduser /startdir /build && \
echo 'builduser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
useradd -m -d /build -u 1000 -U -s /bin/bash builduser && \
chown -R builduser:builduser /build && \
pacman-key --init && \
pacman-key --recv-keys B9E36A7275FC61B464B67907E06FE8F53CDC6A4C && \
pacman-key --finger B9E36A7275FC61B464B67907E06FE8F53CDC6A4C && \
pacman-key --lsign-key B9E36A7275FC61B464B67907E06FE8F53CDC6A4C && \
pacman -Sy --verbose --noconfirm --needed archlinux-keyring && \
pacman -Syu --verbose --noconfirm --needed base-devel pacman-contrib ccache && \
pacman -Scc --noconfirm && \
paccache -r -k0 && \

View File

@ -2,4 +2,5 @@
set -e
export LOGDEST=$PWD SRCPKGDEST=$PWD SRCDEST=$PWD PKGDEST=$PWD BUILDDIR=/build
export BUILDTOOL=makecontainerbuild BUILDTOOLVER="0.0.1"
exec
chown builduser:builduser "$PWD"
sudo --preserve-env=LOGDEST,SRCPKGDEST,SRCDEST,PKGDEST,BUILDDIR,BUILDTOOL,BUILDTOOLVER --user builduser makepkg

View File

@ -1,8 +1,7 @@
#!/bin/bash
set -e
[ "$(whoami)" == root ] && sudo= || sudo=sudo
for config_file in {/cfg/,}{makepkg,pacman}.conf; do
[[ -f $config_file ]] && $sudo cp --target-directory=/etc "$config_file"
[[ -f $config_file ]] && cp --target-directory=/etc "$config_file"
done
[[ -f PKGBUILD ]] && source PKGBUILD
$sudo pacman -Syu --noconfirm --needed "${depends[@]}" "${makedepends[@]}" "${checkdepends[@]}"
pacman -Syu --noconfirm --needed "${depends[@]}" "${makedepends[@]}" "${checkdepends[@]}"

View File

@ -1,19 +0,0 @@
#!/bin/bash
dev_dir=/hdd
bindir=$(dirname "$0")
# create a directory to store builds and new container and start it
mkdir -p "$dev_dir/build/container"
# create container sharing pacman cache, chroot directory and build and source directory with host
podman container create -it \
--name archlinux-devel-container \
-v "$dev_dir/cache/pacman/pkg:/var/cache/pacman/pkg" \
-v "$dev_dir/build/container:/build" \
-v "$dev_dir/projects:/src" \
-v "$dev_dir/chroot/remote-config-x86_64:/cfg" \
archlinux-base-devel
# configure pacman to use config from mounted directory
podman container start archlinux-devel-container
podman container exec archlinux-devel-container bash -c "$(cat "$bindir/containersync")"

View File

@ -1,11 +1,6 @@
#!/bin/bash
set -e
# make tool to invoke configurable via environment variable to be able to invoke
# other tools like `repo-add` or `updpkgsums` as well
tool=${TOOL:-makepkg}
[[ $tool == 'makepkg' ]] && single_run= no_sync= || single_run=1 no_sync=1
# make basic arguments for cre
if [[ $CONTAINER ]]; then
name=$CONTAINER
@ -17,31 +12,16 @@ else
pkgname=$(echo "$pkgname" | tr '+' 'p')
fi
uuid=$(cat /proc/sys/kernel/random/uuid)
name=$tool-$pkgname-$uuid
name=makechrootpkg-$pkgname-$uuid
fi
cre_args=(--name "$name" --workdir "/startdir" -v "$PWD":/startdir -it)
cre_rm_args=(--force)
# use "builduser" that has been created via the Dockerfile
uid=1000 gid=1000
if [[ $CRE == 'podman' ]]; then
cre_args+=(--userns="keep-id:uid=$uid,gid=$gid")
cre_rm_args+=(--time 0)
else
cre_args+=(--user="$uid:$gid")
# caveat: In contrast to Podman this gives a wrong gid for newly created files by
# default. Maybe it would help to pass `--userns-remap=…` to `dockerd`.
fi
# parse arguments
script_args= read_script_args=
script_args= read_script_args= no_sync=
for arg in "$@"; do
if [[ $read_script_args ]]; then
if [[ $arg == '--nodeps' ]] || [[ $arg == '-d' ]]; then
no_sync=1
elif [[ $arg == '--printsrcinfo' ]] || [[ $arg == '--help' ]] || [[ $arg == '-h' ]]; then
no_sync=1
single_run=1
fi
script_args+=" '$arg'"
else
@ -75,21 +55,15 @@ fi
# invoke containerized build
ec=0 cre=${CRE:-docker}
if ! [[ $CONTAINER ]]; then
image=${CRE_IMAGE:-archlinux-base-devel}
if [[ $single_run ]]; then
"$cre" container run "${cre_args[@]}" "$image" bash \
-c "$script_sync $script '$tool' $script_args" || ec=$?
exit $ec
fi
"$cre" container create "${cre_args[@]}" "$image"
"$cre" container create "${cre_args[@]}" "${CRE_IMAGE:-archlinux-base-devel}"
"$cre" container start "$name"
fi
"$cre" container exec "$name" bash \
-c "$script_sync $script '$tool' $script_args" || ec=$?
-c "$script_sync $script $script_args" || ec=$?
# stop and remove container unless we want to keep it for debugging
[[ $ec == 0 && $DEBUG == on-failure || -z $DEBUG ]] && \
"$cre" container rm "${cre_rm_args[@]}" "$name"
"$cre" container rm --force --time 0 "$name"
# log message about commands to use for investigation
[[ $ec != 0 ]] && [[ $DEBUG ]] && echo \

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

@ -1,5 +1,6 @@
#!/usr/bin/perl
use Encode 'encode';
use FindBin;
use Mojolicious;
use Mojo::File 'path';
@ -76,43 +77,43 @@ $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, '7a04a93e97390de2d91e89dc907e8240dd5a0c4f'],
winextras => [0, '5afc77f5347113b607ca0262505f3406e1be5bf4'],
'3d' => [0, '01aa0a9cb22ce5ed2b7ead03ed9cbeb5f978e897'],
base => [129, 'e8d9e68d25f4bf305f8b3ca5d678594ee4681baa'],
charts => [0, '7ce22b0633eb9d1eb59854fee4f2f545e1b842e0'],
connectivity => [4, 'eeaf42bccd49e8161fbae82d110026d25a5a9a7f'],
datavis3d => [0, 'd366b0aad8454355acac79eddbab445c1108b1e9'],
declarative => [26, '5352f113b3c7a5af2ad2741d593c6e6a758eb93e'],
gamepad => [0, 'f90bd729eb70d4a0770efed3f9bb1b6dbe67d37c'],
graphicaleffects => [0, '500ae59f809877e0ada9a68601564882f2733145'],
imageformats => [9, '5aa33ec870977863c400103db94da452edbaf414'],
location => [4, '664701dc3acfca37500bc84ba03eed4953b684e9'],
lottie => [0, 'f65b6a268832fc86e1263a6597f2e369aefecd19'],
multimedia => [3, '78d05cfcec57a9e890cb5ddbea604f194e04315d'],
networkauth => [0, 'a0f23c6a1f11bd7c6a8e4fd34f10bdb0a35789fa'],
purchasing => [0, 'a3e675872e4b323f89b94b90b66caa945b576b2e'],
quick3d => [1, '353f50a9851518eb637181c00302cd354e0ae98b'],
quickcontrols => [0, '0ea7cfdfbfa72d467fe542cc48ab3206c177a387'],
quickcontrols2 => [6, '0472a07a8f39587052216d85a7ed235c531eba2c'],
quicktimeline => [0, '4956b556ccb021e4691f314ab907ea2ebb1ca8a6'],
remoteobjects => [0, 'd10e7673218fa2b00191a82ad20cd3304a711fa6'],
scxml => [0, '7f276be586be79d41213a8dd05ef31144313d440'],
sensors => [0, '45c04582b15a9bb4be01ae99aa7fda1bbba7d0df'],
serialbus => [0, 'b3081c36baee48b43b6285b4811dc6da451e2390'],
serialport => [0, 'af58a4c62415fbfd997c43422acf93e2e6ab5155'],
speech => [1, '75142c77cda8ef3a5c1cae69863e963797c667b5'],
svg => [8, '37b2c764fb599c96fc415049208e871c729217c8'],
tools => [3, '9f7af2d08eea7c2a2a2bfe7e6a9b73d1b99f5123'],
translations => [0, 'a680686754d84b91d4cc4252a2fb8af0c58f5f49'],
virtualkeyboard => [0, '72373522141dd3206183eb5fa56ae1c36a6d4c2b'],
wayland => [51, 'aabaa4efd1d284f07c3cb5b8a7d62a9143701bc4'],
webchannel => [3, '74c0625337c8a8de0a465878c7e7d238e8d979ed'],
webglplugin => [0, '13202e8a8c0c6d39026344b5a19a0148592160bc'],
websockets => [2, '89fbe461e7091ae6a4689b7791293a06c9167776'],
webview => [0, '7e941648610ff4033ae8f9709077edd0595364f0'],
x11extras => [0, '74f81f0bfe17e5aabcebafcb0cf36f739133554c'],
xmlpatterns => [0, '0c1dcfe344c03d48d753aeb58f139bc990f2611c'],
);
# $rev := git rev-list --count v5.15.2..$commit_on_kde_fork
@ -264,5 +265,5 @@ for my $page (@pages) {
$controller->stash($template_stash_variables) if defined $template_stash_variables;
my $output = $controller->render_to_string(%$template_params);
$log->debug($output);
$output_file->spew($output, 'UTF-8');
$output_file->spurt(encode('UTF-8', $output));
}

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.5.2
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
@ -25,7 +25,7 @@ depends=('java-runtime-headless-openjdk>=11' 'ant' 'android-ndk' 'android-sdk' '
'android-sdk-platform-tools' 'android-platform' "android-${_android_arch}-libjpeg-turbo"
"android-${_android_arch}-libpng" "android-${_android_arch}-openssl" "android-${_android_arch}-zlib")
makedepends=('android-cmake<%= $static_suffix %>' 'android-pkg-config'
'java-environment-openjdk=17' 'qt6-base' 'ninja')
'java-environment-openjdk>=11' 'qt6-base' 'ninja')
optdepends=('qt6-base: development tools')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(android-${_android_arch}-qt6)
@ -51,7 +51,6 @@ prepare () {
% }
build() {
export PATH=/usr/lib/jvm/java-17-openjdk/bin:$PATH
source android-env ${_android_arch}
android-${_android_arch}-cmake<%== $static_suffix %> -G Ninja -B build-$_android_arch -S $_pkgfqn \\
% if ($static_variant) {

View File

@ -32,7 +32,6 @@ prepare () {
% }
build() {
export PATH=/usr/lib/jvm/java-17-openjdk/bin:$PATH
source android-env ${_android_arch}
<%== content_for 'before_build_config' %>\
android-${_android_arch}-cmake<%== $static_suffix %> -G Ninja -B build-$_android_arch -S $_pkgfqn \\

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.10<%== $kde_fork_revision ? "+kde+r$kde_fork_revision->[0]" : '' %>
pkgrel=1
% if ($kde_fork_revision) {
_basever=${pkgver%%+*}

View File

@ -23,7 +23,7 @@ pkgname=mingw-w64-qt5-<%== $qt_module %><%== $static_variant ? '-static' : '' %>
<%== content %>\
% if ($kde_fork_revision) {
_commit=<%== $kde_fork_revision->[1] %>
_basever=${pkgver%%+*}
_basever=$pkgver
% if ($kde_fork_revision->[0] > 0) {
pkgver+=+kde+r<%== $kde_fork_revision->[0] %>
% }

View File

@ -14,14 +14,14 @@
% }
pkgname=<%= $package_name %>
_qtver=6.7.0
_qtver=6.5.2
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='A cross-platform application and UI framework (mingw-w64)'
depends=('mingw-w64-crt' 'mingw-w64-cppwinrt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz'
'mingw-w64-brotli' 'mingw-w64-pcre2' 'mingw-w64-zstd')
makedepends=('mingw-w64-cmake<%= $static_suffix %>' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
@ -58,22 +58,12 @@ prepare () {
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
local _enable_winrt_support=ON
if [[ ! -e /usr/${_arch}/include/winrt/Windows.Foundation.h ]]; then
echo "cppwinrt headers seem incomplete, disabling FEATURE_cpp_winrt"
_enable_winrt_support=OFF
fi
$_arch-cmake<%== $static_suffix %> -G Ninja -B build-$_arch -S $_pkgfqn \\
-DCMAKE_CXX_STANDARD=20 \\
-DCMAKE_CXX_FLAGS="$CXX_FLAGS -std=c++20" \\
% if ($static_variant) {
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \\
-DFEATURE_static_runtime=ON \\
-DFEATURE_openssl_linked=ON \\
% }
-DFEATURE_cpp_winrt=$_enable_winrt_support \\
-DFEATURE_pkg_config=ON \\
-DFEATURE_system_pcre2=ON \\
-DFEATURE_system_freetype=ON \\

View File

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

View File

@ -11,7 +11,6 @@ fi
for spec_file in "$OSC_DIR"/*/*/*.spec; do
trimmed_path=${spec_file#$OSC_DIR/*/*/}
project_name=${trimmed_path%*.spec}
project_name=${project_name%-qt6}
spec_dir=${spec_file%/*}
# skip packages with unknown version

View File

@ -21,8 +21,7 @@ do
echo "NEXT: $project -> $version"
# check whether CMakeLists.txt has been updated
echo "checking https://raw.githubusercontent.com/$gh_user/$gh_name/master/CMakeLists.txt"
cmake_lists=$(wget --no-cache -qO- "https://raw.githubusercontent.com/$gh_user/$gh_name/master/CMakeLists.txt" || echo -n '')
cmake_lists=$(wget -qO- "https://raw.githubusercontent.com/$gh_user/$gh_name/master/CMakeLists.txt" || echo -n '')
major_version_regex='set\(META_VERSION_MAJOR ([^\)]*)\)'
minor_version_regex='set\(META_VERSION_MINOR ([^\)]*)\)'
patch_version_regex='set\(META_VERSION_PATCH ([^\)]*)\)'

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
[tagparser]=12.1.0
[tageditor]=3.9.0
[passwordfile]=5.0.11
[passwordmanager]=4.2.0
[syncthingtray]=1.4.4
[c++utilities]=5.24.0
[qtutilities]=6.13.0
[qtforkawesome]=0.1.0
[tagparser]=12.0.0
[tageditor]=3.8.1
[passwordfile]=5.0.8
[passwordmanager]=4.1.12
[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.10
[qt6]=6.5.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.1
pkgrel=1
pkgdesc='Tools for Arch Linux package maintainers (patches from ALARM and custom ones)'
arch=('any')
@ -24,7 +24,6 @@ depends=(
binutils
coreutils
diffutils
fakeroot
findutils
grep
jq
@ -34,7 +33,7 @@ depends=(
sed
util-linux
breezy
bzr
git
mercurial
subversion

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

@ -1,6 +1,5 @@
_pkgname=extra-cmake-modules
pkgname=mingw-w64-$_pkgname
pkgver=6.0.0
pkgname=mingw-w64-extra-cmake-modules
pkgver=5.102.0
pkgrel=1
arch=(any)
pkgdesc="Extra modules and scripts for CMake (mingw-w64)"
@ -9,12 +8,14 @@ license=("LGPL")
depends=(mingw-w64-cmake)
options=(staticlibs !strip !buildflags)
url="https://community.kde.org/Frameworks"
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('23992bf19db717156b7d6dd13118caa79fd57f090beb062e8308db3c09f70d0c'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
options=(!buildflags staticlibs !strip !emptydirs)
source=("http://download.kde.org/stable/frameworks/${pkgver%.*}/extra-cmake-modules-${pkgver}.tar.xz"{,.sig}
"set-AUTOSTATICPLUGINS.patch"
"05aa27dc0e14dab407379a4d22f895e9eff13cc0.patch")
sha256sums=('f259aeb5a8e046ee2a0e658645f3af6d3e42145d3ae576f305b2b6e24a297f9b'
'SKIP'
'30bdcedab402c69ea0db3460f5a23cbd226a5cd1e12b13926b8a65df773e14a0'
'7e44cf56a8274c8166eaf02e60c2d34e5048992a7e3c8309b998b762a394e909')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB) # David Faure <faure@kde.org>
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"

View File

@ -9,8 +9,8 @@
_name=ffmpeg
pkgname=ffmpeg-custom
pkgver=6.1.1
pkgrel=1
pkgver=6.0
pkgrel=2
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video (with more features enabled than regular ffmpeg)'
arch=('x86_64')
@ -20,11 +20,8 @@ depends=(
alsa-lib
aom
bzip2
cairo
fontconfig
fribidi
glib2
glibc
gmp
gnutls
gsm
@ -38,17 +35,15 @@ depends=(
libdrm
libfreetype.so
libgl
libharfbuzz.so
libiec61883
libjxl.so
libmfx
libmodplug
libopenmpt.so
libplacebo.so
libpulse
librav1e.so
libraw1394
librsvg-2.so
librubberband.so
libsoxr
libssh
libtheora
@ -60,6 +55,7 @@ depends=(
libvorbis.so
libvorbisenc.so
libvpx.so
libvulkan.so
libwebp
libx11
libx264.so
@ -71,18 +67,15 @@ depends=(
libxvidcore.so
libzimg.so
ocl-icd
onevpl
opencore-amr
openjpeg2
opus
sdl2
snappy
speex
srt
svt-av1
v4l-utils
vmaf
vulkan-icd-loader
xz
zlib
@ -94,7 +87,6 @@ makedepends=(
avisynthplus
clang
ffnvcodec-headers
frei0r-plugins
git
ladspa
mesa
@ -106,12 +98,9 @@ makedepends=(
)
optdepends=(
'avisynthplus: AviSynthPlus support'
'frei0r-plugins: Frei0r video effects support'
'intel-media-sdk: Intel QuickSync support (legacy)'
'onevpl-intel-gpu: Intel QuickSync support'
'intel-media-sdk: Intel QuickSync support'
'ladspa: LADSPA filters'
'nvidia-utils: Nvidia NVDEC/NVENC support'
'onevpl-intel-gpu: Intel QuickSync support'
)
provides=(
libavcodec.so
@ -129,7 +118,7 @@ conflicts=("$_name")
options=(
debug
)
_tag=6f4048827982a8f48f71f551a6e1ed2362816eec
_tag=3949db4d261748a9f34358a388ee255ad1a7f0c0
source=(
git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}
add-av_stream_get_first_dts-for-chromium.patch
@ -140,21 +129,7 @@ validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer <m
prepare() {
cd ffmpeg
# FS#79281: fix assembling with binutil as >= 2.41
git cherry-pick -n effadce6c756247ea8bae32dc13bb3e6f464f0eb
# FS#77813: fix playing ogg files with mplayer
git cherry-pick -n cbcc817353a019da4332ad43deb7bbc4e695d02a
patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779
# use non-deprecated nvenc GUID for conftest
git cherry-pick -n 03823ac0c6a38bd6ba972539e3203a592579792f
git cherry-pick -n d2b46c1ef768bc31ba9180f6d469d5b8be677500
# Fix VDPAU vo
git cherry-pick -n e9c93009fc34ca9dfcf0c6f2ed90ef1df298abf7
# 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() {
@ -175,7 +150,6 @@ build() {
--enable-cuda-llvm \
--enable-lto \
--enable-fontconfig \
--enable-frei0r \
--enable-gmp \
--enable-gnutls \
--enable-gpl \
@ -190,21 +164,18 @@ build() {
--enable-libiec61883 \
--enable-libjack \
--enable-libjxl \
--enable-libmfx \
--enable-libmodplug \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libmp3lame \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \
--enable-libplacebo \
--enable-libpulse \
--enable-librav1e \
--enable-librsvg \
--enable-librubberband \
--enable-libsnappy \
--enable-libsoxr \
--enable-libspeex \
--enable-libsrt \
@ -215,7 +186,6 @@ build() {
--enable-libvidstab \
--enable-libvmaf \
--enable-libvorbis \
--enable-libvpl \
--enable-libvpx \
--enable-libwebp \
--enable-libx264 \

View File

@ -2,7 +2,7 @@
_realname=fluidsynth
pkgname=mingw-w64-fluidsynth
pkgver=2.3.4
pkgver=2.3.3
pkgrel=1
pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications (mingw-w64)"
url="http://www.fluidsynth.org/"
@ -13,7 +13,7 @@ depends=('mingw-w64-sdl2' 'mingw-w64-glib2' 'mingw-w64-libsndfile' 'mingw-w64-po
makedepends=('mingw-w64-cmake' 'mingw-w64-pkg-config' 'ninja')
options=('staticlibs' '!buildflags' '!strip')
source=("${_realname}-${pkgver}.tar.gz::https://github.com/FluidSynth/${_realname}/archive/v${pkgver}.tar.gz")
sha256sums=('1529ef5bc3b9ef3adc2a7964505912f7305103e269e50cc0316f500b22053ac9')
sha256sums=('321f7d3f72206b2522f30a1cb8ad1936fd4533ffc4d29dd335b1953c9fb371e6')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"

View File

@ -1,39 +0,0 @@
_pkgname=fluidsynth
pkgname=static-compat-$_pkgname
pkgver=2.3.4
pkgrel=2
pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications"
arch=(x86_64)
url="https://www.fluidsynth.org/"
license=(LGPL-2.1-or-later)
depends=(static-compat-glib2 static-compat-alsa-lib)
makedepends=(static-compat-cmake ninja)
source=($_pkgname-$pkgver.tar.gz::https://github.com/$_pkgname/$_pkgname/archive/v$pkgver.tar.gz)
sha512sums=('79891116d78b9be1c38bce9e5759b9bb732c3d8ee31c6e57d1a3e2b5548879b91d19582e73ee7fb0fd243beba3bf1bbc341a26aab0b6440eef36fc55dce3e8b0')
b2sums=('5146c1f0243ac1fcc3d4f29ea65bb03b326c59bf9de1f53def447f4a924c7fdde31f8b33300051d2e7765087fb8bbdba3643b03c537e3366b02ca42b3b9d4311')
build() {
export CFLAGS+=' -ldl'
source static-compat-environment
local cmake_options=(
-G Ninja
-B build
-D LIB_SUFFIX=""
-S $_pkgname-$pkgver
-W no-dev
-Denable-aufile=0 -Denable-dbus=0 -Denable-ipv6=0 -Denable-jack=0 -Denable-ladspa=0 -Denable-midishare=0 -Denable-opensles=0 -Denable-oboe=0 -Denable-oss=0 -Denable-readline=0 -Denable-winmidi=1 -Denable-waveout=0 -Denable-network=0 -Denable-pulseaudio=0 -Denable-dsound=0 -Denable-alsa=1 -Denable-libinstpatch=0 -Denable-portaudio=0 -Denable-wasapi=0 -Denable-openmp=1 -Denable-libsndfile=0 -Denable-sdl2=0
)
static-compat-cmake "${cmake_options[@]}"
cmake --build build --verbose
}
check() {
source static-compat-environment
ctest build
}
package() {
source static-compat-environment
DESTDIR="$pkgdir" cmake --install build
}

View File

@ -4,7 +4,7 @@
# you also find the URL of a binary repository.
pkgname=mingw-w64-freetype2-bootstrap
pkgver=2.13.2
pkgver=2.13.1
pkgrel=1
pkgdesc='Font rasterization library (mingw-w64)'
arch=('any')
@ -19,7 +19,7 @@ source=(
0002-Enable-subpixel-rendering.patch
0003-Enable-long-PCF-family-names.patch
)
b2sums=('cebc82180d9afaeb112a65ba78903d7bf7a9295a803166a033585ad2325add6023f05066852240c4665e56285345ba503b01ecd461d48f0478a8f3f56136988e'
b2sums=('edadf2cdd8eb17362239cc5ab7fdff7cb1ca398908d3a9fa0547c3922b098df331cc87e939cee62ce20a78b01f14372c952c823c30af9ac227fc7da10000d37b'
'SKIP'
'2c148694e150b3faae9dc46ead824ae6d94cfe34f2918bc9066f45bab7e6b6f77b4d4b2fee00c3d466d866e1985132cea4a774dcf1bab95409b7cf55efff01e1'
'9598d13eae0411878c1af8e5d875c3b1fc09f4e6649edfbbf3b0a819c4c585648521f0b30ffd1318f5106cfde9c899d3db70c8ffe36dac59f3f98b5fd7dab115'

View File

@ -4,7 +4,7 @@
# you also find the URL of a binary repository.
pkgname=mingw-w64-freetype2
pkgver=2.13.2
pkgver=2.13.1
pkgrel=1
pkgdesc='Font rasterization library (mingw-w64)'
arch=('any')
@ -19,7 +19,7 @@ source=(
0002-Enable-subpixel-rendering.patch
0003-Enable-long-PCF-family-names.patch
)
b2sums=('cebc82180d9afaeb112a65ba78903d7bf7a9295a803166a033585ad2325add6023f05066852240c4665e56285345ba503b01ecd461d48f0478a8f3f56136988e'
b2sums=('edadf2cdd8eb17362239cc5ab7fdff7cb1ca398908d3a9fa0547c3922b098df331cc87e939cee62ce20a78b01f14372c952c823c30af9ac227fc7da10000d37b'
'SKIP'
'2c148694e150b3faae9dc46ead824ae6d94cfe34f2918bc9066f45bab7e6b6f77b4d4b2fee00c3d466d866e1985132cea4a774dcf1bab95409b7cf55efff01e1'
'9598d13eae0411878c1af8e5d875c3b1fc09f4e6649edfbbf3b0a819c4c585648521f0b30ffd1318f5106cfde9c899d3db70c8ffe36dac59f3f98b5fd7dab115'

View File

@ -3,7 +3,7 @@
_pkgname=freetype2
pkgname=static-compat-$_pkgname
pkgver=2.13.2
pkgver=2.13.1
pkgrel=1
pkgdesc="Font rasterization library"
url="https://www.freetype.org/"
@ -29,7 +29,7 @@ source=(
0002-Enable-subpixel-rendering.patch
0003-Enable-long-PCF-family-names.patch
)
b2sums=('cebc82180d9afaeb112a65ba78903d7bf7a9295a803166a033585ad2325add6023f05066852240c4665e56285345ba503b01ecd461d48f0478a8f3f56136988e'
b2sums=('edadf2cdd8eb17362239cc5ab7fdff7cb1ca398908d3a9fa0547c3922b098df331cc87e939cee62ce20a78b01f14372c952c823c30af9ac227fc7da10000d37b'
'SKIP'
'2c148694e150b3faae9dc46ead824ae6d94cfe34f2918bc9066f45bab7e6b6f77b4d4b2fee00c3d466d866e1985132cea4a774dcf1bab95409b7cf55efff01e1'
'9598d13eae0411878c1af8e5d875c3b1fc09f4e6649edfbbf3b0a819c4c585648521f0b30ffd1318f5106cfde9c899d3db70c8ffe36dac59f3f98b5fd7dab115'

View File

@ -1,49 +0,0 @@
_pkgname=ftgl
pkgname=static-compat-$_pkgname
pkgver=2.4.0
pkgrel=1
pkgdesc="OpenGL library to use arbitrary fonts"
arch=(x86_64)
url="https://github.com/frankheckenbach/ftgl"
license=(MIT)
depends=(static-compat-freetype2 static-compat-glu)
makedepends=(static-compat-cmake git ninja)
_commit=483639219095ad080538e07ceb5996de901d4e74 # tags/v2.4.0
source=("git+https://github.com/frankheckenbach/ftgl#commit=$_commit")
sha256sums=('SKIP')
pkgver() {
cd $_pkgname
git describe --tags | sed 's/^v//;s/-/+/g'
}
prepare() {
source static-compat-environment
cd $_pkgname
git cherry-pick -n 835f2ba7911a6c15a1a314d5e3267fa089b5a319
}
build() {
check_buildoption ccache y && ccache_args='
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache'
source static-compat-environment
export PATH=$PWD:$PATH
printf '#!/usr/bin/bash\nexec /usr/bin/pkg-config --static "$@"\n' > pkg-config
chmod +x pkg-config
static-compat-cmake -G Ninja -B build -S "${srcdir}/${_pkgname}"
VERBOSE=1 cmake --build build
}
package() {
source static-compat-environment
DESTDIR="$pkgdir" cmake --install build
# FS#23283: install missing headers for OpenCascade
#install -Dt "$pkgdir/$static_compat_prefix/include/FTGL" -m644 src/FT{Face,Size}.h
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $_pkgname/COPYING
}
# vim:set sw=2 et:

View File

@ -1,68 +0,0 @@
# Maintainer of official package: Felix Yan <felixonmars@archlinux.org>
pkgname=mingw-w64-gcc
pkgver=13.2.1
pkgrel=1
pkgdesc="Cross GCC for the MinGW-w64 cross-compiler"
arch=('x86_64' 'aarch64')
url="https://gcc.gnu.org"
license=('GPL' 'LGPL' 'FDL' 'custom')
groups=('mingw-w64-toolchain' 'mingw-w64')
depends=('zlib' 'libisl' 'libmpc' 'mingw-w64-crt' 'mingw-w64-binutils' 'mingw-w64-winpthreads' 'mingw-w64-headers')
# gcc-d doesn't build as of 13.1.0
makedepends=("gcc-ada" "git")
options=('!strip' 'staticlibs' '!emptydirs' '!buildflags')
_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')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
ln -sf gcc-${pkgver/+/-} gcc
cd gcc
# mmapio.c:69:14: error: implicit declaration of function getpagesize
sed -i 's|\-Werror||g' libbacktrace/configure
}
build() {
for _arch in ${_architectures}; do
mkdir -p "$srcdir"/build-${_arch} && cd "$srcdir"/build-${_arch}
"$srcdir"/gcc/configure --prefix=/usr --libexecdir=/usr/lib \
--target=${_arch} \
--with-bugurl=https://bugs.archlinux.org/ \
--enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ \
--enable-shared --enable-static \
--enable-threads=posix --enable-fully-dynamic-string \
--enable-libstdcxx-time=yes --enable-libstdcxx-filesystem-ts=yes \
--with-system-zlib --enable-cloog-backend=isl \
--enable-lto --enable-libgomp \
--disable-multilib --enable-checking=release \
--disable-sjlj-exceptions --with-dwarf2
make
done
}
package() {
for _arch in ${_architectures}; do
cd "$srcdir"/build-${_arch}
make DESTDIR="$pkgdir" install
${_arch}-strip "$pkgdir"/usr/${_arch}/lib/*.dll
strip "$pkgdir"/usr/bin/${_arch}-*
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/
mv "$pkgdir"/usr/${_arch}/lib/*.dll "$pkgdir"/usr/${_arch}/bin/
done
strip "$pkgdir"/usr/bin/*
# remove unnecessary files
rm -r "$pkgdir"/usr/share
rm "$pkgdir"/usr/lib/libcc1.*
}

View File

@ -2,7 +2,7 @@
# NOTE: libtool requires rebuilt with each new gcc version
pkgname=({gcc,gcc-libs,lib32-gcc-libs,gcc-ada,gcc-fortran}-static-compat)
pkgver=13.2.1
pkgver=13.1.1
_majorver=${pkgver%%.*}
pkgrel=1
pkgdesc='The GNU Compiler Collection'
@ -32,7 +32,7 @@ checkdepends=(
options=(!emptydirs !lto debug)
_prefix=/usr/static-compat
_libdir=usr/static-compat/lib/gcc/$CHOST/${pkgver%%+*}
_commit=d8a0dcd146dd95e2b6b85cf82c445214d364cf3b
_commit=9a167ee2f8b9a0859fbab6cfdc276cf1f272effe
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
@ -125,14 +125,6 @@ build() {
"$srcdir/gcc/configure" \
--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
}

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.22
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=('49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab'
'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

@ -15,10 +15,10 @@ warnings we want users to see.
1 file changed, 13 deletions(-)
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
index 04ef40457eba..e791ce254454 100644
index efe6f8e77eb2..c3e5664e4f2f 100644
--- a/gio/glib-compile-schemas.c
+++ b/gio/glib-compile-schemas.c
@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state,
@@ -1231,19 +1231,6 @@ parse_state_start_schema (ParseState *state,
return;
}

View File

@ -0,0 +1,68 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Thu, 23 Mar 2023 02:24:30 +0000
Subject: [PATCH] glocalfile: Sum apparent size only for files and symlinks
Since GNU Coreutils 9.2 (commit 110bcd28386b1f47a4cd876098acb708fdcbbb25),
`du --apparent-size` (including `du --bytes`) no longer counts all kinds of
files (directories, FIFOs, etc.), but only those for which `st_size` in
`struct stat` is defined by POSIX, namely regular files and symlinks
(and also rarely supported memory objects).
This aligns the behaviour of GLib's `G_FILE_MEASURE_APPARENT_SIZE` flag
with the new GNU Coreutils `du` and correct POSIX use.
Note that this may be a breaking change for some uses.
Link: https://lists.gnu.org/archive/html/bug-coreutils/2023-03/msg00007.html
Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/2965
---
gio/glocalfile.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gio/glocalfile.c b/gio/glocalfile.c
index 67d4b99fb741..e53216962faf 100644
--- a/gio/glocalfile.c
+++ b/gio/glocalfile.c
@@ -86,6 +86,9 @@
#define FILE_READ_ONLY_VOLUME 0x00080000
#endif
+#ifndef S_ISREG
+#define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
+#endif
#ifndef S_ISDIR
#define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
#endif
@@ -2777,6 +2780,23 @@ g_local_file_measure_size_of_contents (gint fd,
MeasureState *state,
GError **error);
+inline static gboolean _g_stat_is_size_usable (const GLocalFileStat *buf)
+{
+#ifndef HAVE_STATX
+ // Memory objects are defined by POSIX, but are not supported by statx nor Windows
+#ifdef S_TYPEISSHM
+ if (S_TYPEISSHM (buf))
+ return TRUE;
+#endif
+#ifdef S_TYPEISTMO
+ if (S_TYPEISTMO (buf))
+ return TRUE;
+#endif
+#endif
+
+ return S_ISREG (_g_stat_mode (buf)) || S_ISLNK (_g_stat_mode (buf));
+}
+
static gboolean
g_local_file_measure_size_of_file (gint parent_fd,
GSList *name,
@@ -2836,6 +2856,7 @@ g_local_file_measure_size_of_file (gint parent_fd,
state->disk_usage += _g_stat_blocks (&buf) * G_GUINT64_CONSTANT (512);
else
#endif
+ if (_g_stat_is_size_usable (&buf))
state->disk_usage += _g_stat_size (&buf);
if (S_ISDIR (_g_stat_mode (&buf)))

View File

@ -0,0 +1,160 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Thu, 23 Mar 2023 02:19:03 +0000
Subject: [PATCH] tests/file: Do not rely on du --bytes behaviour
As explained in the previous commit, GNU Coreutils 9.2 changes the behaviour
of `du --bytes` to only count regular files and symlinks.
The previous commit makes the test pass with GNU Coreutils >=9.2, but the
machine running the tests may have an older version, or perhaps even a
reimplementation such as uutils. So we can't rely on the size returned by `du`
to be the consistent across systems any more.
However, the plus side of the new behaviour is that the size reported by `du`
/ `G_FILE_MEASURE_APPARENT_SIZE` is now well-defined across filesystems
(as the sum of the sizes of regular files & symlinks), so we can hardcode it.
Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/2965
---
gio/tests/file.c | 85 ++----------------------------------------------
1 file changed, 3 insertions(+), 82 deletions(-)
diff --git a/gio/tests/file.c b/gio/tests/file.c
index d16eda5c0b8c..ad2f945f9397 100644
--- a/gio/tests/file.c
+++ b/gio/tests/file.c
@@ -2515,105 +2515,33 @@ test_copy_preserve_mode (void)
#endif
}
-static gchar *
-splice_to_string (GInputStream *stream,
- GError **error)
-{
- GMemoryOutputStream *buffer = NULL;
- char *ret = NULL;
-
- buffer = (GMemoryOutputStream*)g_memory_output_stream_new (NULL, 0, g_realloc, g_free);
- if (g_output_stream_splice ((GOutputStream*)buffer, stream, 0, NULL, error) < 0)
- goto out;
-
- if (!g_output_stream_write ((GOutputStream*)buffer, "\0", 1, NULL, error))
- goto out;
-
- if (!g_output_stream_close ((GOutputStream*)buffer, NULL, error))
- goto out;
-
- ret = g_memory_output_stream_steal_data (buffer);
- out:
- g_clear_object (&buffer);
- return ret;
-}
-
-static gboolean
-get_size_from_du (const gchar *path, guint64 *size)
-{
- GSubprocess *du;
- gboolean ok;
- gchar *result;
- gchar *endptr;
- GError *error = NULL;
- gchar *du_path = NULL;
-
-#ifndef __APPLE__
- du_path = g_find_program_in_path ("du");
-#endif
-
- /* If we cant find du, dont try and run the test. */
- if (du_path == NULL)
- return FALSE;
-
- g_free (du_path);
-
- du = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE,
- &error,
- "du", "--bytes", "-s", path, NULL);
- g_assert_no_error (error);
-
- result = splice_to_string (g_subprocess_get_stdout_pipe (du), &error);
- g_assert_no_error (error);
-
- *size = g_ascii_strtoll (result, &endptr, 10);
-
- g_subprocess_wait (du, NULL, &error);
- g_assert_no_error (error);
-
- ok = g_subprocess_get_successful (du);
-
- g_object_unref (du);
- g_free (result);
-
- return ok;
-}
-
static void
test_measure (void)
{
GFile *file;
- guint64 size;
guint64 num_bytes;
guint64 num_dirs;
guint64 num_files;
GError *error = NULL;
gboolean ok;
gchar *path;
path = g_test_build_filename (G_TEST_DIST, "desktop-files", NULL);
file = g_file_new_for_path (path);
- if (!get_size_from_du (path, &size))
- {
- g_test_message ("du not found or fail to run, skipping byte measurement");
- size = 0;
- }
-
ok = g_file_measure_disk_usage (file,
G_FILE_MEASURE_APPARENT_SIZE,
NULL,
NULL,
NULL,
&num_bytes,
&num_dirs,
&num_files,
&error);
g_assert_true (ok);
g_assert_no_error (error);
- if (size > 0)
- g_assert_cmpuint (num_bytes, ==, size);
+ g_assert_cmpuint (num_bytes, ==, 74478);
g_assert_cmpuint (num_dirs, ==, 6);
g_assert_cmpuint (num_files, ==, 32);
@@ -2665,8 +2593,7 @@ measure_done (GObject *source,
g_assert_true (ok);
g_assert_no_error (error);
- if (data->expected_bytes > 0)
- g_assert_cmpuint (data->expected_bytes, ==, num_bytes);
+ g_assert_cmpuint (data->expected_bytes, ==, num_bytes);
g_assert_cmpuint (data->expected_dirs, ==, num_dirs);
g_assert_cmpuint (data->expected_files, ==, num_files);
@@ -2695,15 +2622,9 @@ test_measure_async (void)
path = g_test_build_filename (G_TEST_DIST, "desktop-files", NULL);
file = g_file_new_for_path (path);
-
- if (!get_size_from_du (path, &data->expected_bytes))
- {
- g_test_message ("du not found or fail to run, skipping byte measurement");
- data->expected_bytes = 0;
- }
-
g_free (path);
+ data->expected_bytes = 74478;
data->expected_dirs = 6;
data->expected_files = 32;

View File

@ -3,25 +3,29 @@
_pkgname=glib2
pkgname=static-compat-$_pkgname
pkgver=2.78.3
pkgver=2.76.3
pkgrel=1
pkgdesc="Low level core library"
url="https://gitlab.gnome.org/GNOME/glib"
url="https://wiki.gnome.org/Projects/GLib"
license=(LGPL)
arch=(x86_64)
depends=(static-compat-pcre2 static-compat-libffi static-compat-util-linux static-compat-zlib)
makedepends=(gettext shared-mime-info python libelf git static-compat-meson)
checkdepends=(desktop-file-utils)
options=(!strip !emptydirs staticlibs)
_commit=03f7c1fbf3a3784cb4c3604f83ca3645e9225577 # tags/2.78.3^0
_commit=69e209764bcfef599a21b32f82f88f1906bf197c # tags/2.76.3^0
source=(
"git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
"git+https://gitlab.gnome.org/GNOME/gvdb.git"
0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch
0002-glocalfile-Sum-apparent-size-only-for-files-and-syml.patch
0003-tests-file-Do-not-rely-on-du-bytes-behaviour.patch
)
b2sums=('SKIP'
'SKIP'
'94c73ca7070c239494873dd52d6ee09382bbb5b1201f7afd737cfa140b1a2fb0744b2c2831baf3943d1d072550c35888d21ce6f19f89481ff9d1a60d9a0b30e0')
'bd7f881ae6054c363783bf45b1add5eef5e8347554e23b9fece526701469d07cdcb9871fa73dee473796a219e8aa513796a96da769949097ea207db038578d07'
'6bcbcba60208162f7221701d6a642eabfc92c2fc6a476bcb42da5967577f8f0c75b688d149be01c9c48cd644aafa7fbdd63d9086385b8f7607fc981756d71a68'
'257bf37d304cc161dedcde0a2c4d01e297f8263cde48b49d3ee47ca95a8fb9ad44bbb9bf99da51ec766ffb6f9d502e0a8fdc6b86346e6755373ee515e23b9419')
pkgver() {
cd glib
@ -34,6 +38,11 @@ prepare() {
# Suppress noise from glib-compile-schemas.hook
git apply -3 ../0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch
# fix test suite issues with coreutils >=9.2
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3358
git apply -3 ../0002-glocalfile-Sum-apparent-size-only-for-files-and-syml.patch
git apply -3 ../0003-tests-file-Do-not-rely-on-du-bytes-behaviour.patch
git submodule init
git submodule set-url subprojects/gvdb "$srcdir/gvdb"
git -c protocol.file.allow=always submodule update

View File

@ -1,39 +0,0 @@
_pkgname=glu
pkgname=static-compat-$_pkgname
pkgver=9.0.3
pkgrel=1
pkgdesc="Mesa OpenGL utility library"
arch=('x86_64')
url="https://gitlab.freedesktop.org/mesa/glu"
license=('LGPL')
depends=('static-compat-libglvnd')
makedepends=('static-compat-meson')
source=(https://mesa.freedesktop.org/archive/glu/glu-$pkgver.tar.xz{,.sig})
sha512sums=('b2781059c0e176192c3fc0d7244645020937a463311171efddb9f35fb94ee43faabcf627fa7f429d48fceaf6dd9c5adb69c86c7a21ec4ea490f4ab143d52e3ba'
'SKIP')
#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner <mattst88@gmail.com>"
validpgpkeys=('57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
build() {
source static-compat-environment
export PKG_CONFIG_PATH=$PWD:$PKG_CONFIG_PATH
cp $static_compat_prefix/lib/pkgconfig/libglvnd.pc opengl.pc
static-compat-meson glu-$pkgver build
# Print config
meson configure build
meson compile -C build
}
check() {
source static-compat-environment
meson test -C build --print-errorlogs
}
package() {
source static-compat-environment
meson install -C build --destdir "$pkgdir"
}

View File

@ -1,12 +1,12 @@
# Maintainer: Martchus <martchus@gmx.net>
pkgname=mingw-w64-gnutls
pkgver=3.8.3
pkgver=3.7.8
pkgrel=1
pkgdesc='A library which provides a secure layer over a reliable transport layer (mingw-w64)'
arch=('any')
url="https://www.gnutls.org/"
license=('GPL-3.0-or-later AND LGPL-2.1-or-later')
url="http://www.gnu.org/software/gnutls"
license=('GPL3' 'LGPL2.1')
makedepends=('mingw-w64-configure' 'autogen')
checkdepends=('mingw-w64-wine')
depends=('mingw-w64-crt' 'mingw-w64-libtasn1' 'mingw-w64-readline' 'mingw-w64-zlib' 'mingw-w64-nettle' 'mingw-w64-p11-kit' 'mingw-w64-libunistring')
@ -14,11 +14,11 @@ options=(staticlibs !strip !buildflags)
optdepends=("mingw-w64-openssl: libgnutls-openssl")
source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v${pkgver%.*}/${pkgname#mingw-w64-}-${pkgver}.tar.xz{,.sig}
gnutls-fix-external-libtasn1-detection.patch)
sha256sums=('f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e'
sha256sums=('c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'
'SKIP'
'8525da75852a516be0cb05df0a770daf19ce0583033260d6cac03a1e40fd2072')
validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno <ueno@unixuser.org>"
#validpgpkeys=('5D46CB0F763405A7053556F47A75A648B3F9220C') # "Zoltan Fridrich <zfridric@redhat.com>"
#validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno <ueno@unixuser.org>"
validpgpkeys=('5D46CB0F763405A7053556F47A75A648B3F9220C') # "Zoltan Fridrich <zfridric@redhat.com>"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
@ -28,7 +28,6 @@ prepare() {
sed 's/gnutls_srp.c//g' -i lib/Makefile.in
sed 's/gnutls_srp.lo//g' -i lib/Makefile.in
rm -f lib/minitasn1/*.c lib/minitasn1/*.h
sed -i 's/gettime(/benchmark_gettime(/' 'src/benchmark.'{h,c}
}
build() {
@ -43,10 +42,13 @@ build() {
--disable-rpath \
--disable-non-suiteb-curves \
--disable-gtk-doc \
--disable-guile \
--disable-full-test-suite \
--with-libiconv-prefix=/usr/$_arch \
--with-regex-libs=-lsystre \
--enable-nls \
--enable-cxx \
--enable-local-libopts \
--without-tpm
make
popd

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.0.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=d160d9389cb4c5b15ebea9b41eb74018c4358924 # tags/8.0.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,7 +1,7 @@
From e5ddfa21a008708e12eedadbb1d7b0b377fd2680 Mon Sep 17 00:00:00 2001
From 4f15088f82a2a001f064cee1ef9cfe23d281e957 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 14 Jun 2022 23:12:32 +0200
Subject: [PATCH 1/2] Fix exports
Subject: [PATCH 1/3] Fix exports
---
src/libjasper/jp2/jp2_cod.h | 10 +++++-----
@ -35,5 +35,5 @@ index 81d3b7e..4f22fa3 100644
#endif
--
2.43.0
2.36.1

View File

@ -1,7 +1,7 @@
From ea00c0d8c5a78a86724c2da2c86cc204f745009c Mon Sep 17 00:00:00 2001
From f783c72a35b0cbf8d04b9d9472e267c72c52e1ff Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 14 Jun 2022 23:13:06 +0200
Subject: [PATCH 2/2] Fix building for mingw-w64 target
Subject: [PATCH 2/3] Fix building for mingw-w64 target
---
CMakeLists.txt | 2 ++
@ -9,10 +9,10 @@ Subject: [PATCH 2/2] Fix building for mingw-w64 target
2 files changed, 10 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eaaef9a..1ed6723 100644
index 52ad5a8..72257ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -789,10 +789,12 @@ message("JAS_INCLUDE_HEIC_CODEC: ${JAS_INCLUDE_HEIC_CODEC}")
@@ -723,10 +723,12 @@ message("JAS_INCLUDE_HEIC_CODEC: ${JAS_INCLUDE_HEIC_CODEC}")
# Check for the Math library.
################################################################################
@ -45,5 +45,5 @@ index c0b19b3..9fab05f 100644
target_compile_definitions(libjasper PRIVATE _CRT_SECURE_NO_WARNINGS)
target_compile_definitions(libjasper PRIVATE _CRT_SECURE_NO_DEPRECATE)
--
2.43.0
2.36.1

View File

@ -0,0 +1,46 @@
From 5e697686ff137496f5ede4b1ee21d67ea682186a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 14 Jun 2022 23:14:10 +0200
Subject: [PATCH 3/3] Fix filename buffer overflow
---
src/libjasper/include/jasper/jas_stream.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/libjasper/include/jasper/jas_stream.h b/src/libjasper/include/jasper/jas_stream.h
index d8938d1..61a6e66 100644
--- a/src/libjasper/include/jasper/jas_stream.h
+++ b/src/libjasper/include/jasper/jas_stream.h
@@ -77,6 +77,7 @@
#include <jasper/jas_config.h> /* IWYU pragma: export */
#include <stdio.h>
+#include <limits.h>
#if defined(JAS_HAVE_FCNTL_H)
#include <fcntl.h>
#endif
@@ -100,6 +101,12 @@ extern "C" {
#define O_BINARY 0
#endif
+#ifdef PATH_MAX
+#define JAS_PATH_MAX PATH_MAX
+#else
+#define JAS_PATH_MAX 4096
+#endif
+
/*
* Stream open flags.
*/
@@ -258,7 +265,7 @@ typedef struct {
typedef struct {
int fd;
int flags;
- char pathname[L_tmpnam + 1];
+ char pathname[JAS_PATH_MAX + 1];
} jas_stream_fileobj_t;
/* Delete underlying file object upon stream close. */
--
2.36.1

View File

@ -2,7 +2,7 @@
# Contributor: drakkan <nicola.murino at gmail dot com>
pkgname=mingw-w64-jasper
pkgver=4.2.0
pkgver=4.0.0
pkgrel=1
pkgdesc="A software-based implementation of the codec specified in the emerging JPEG-2000 Part-1 standard (mingw-w64)"
arch=(any)
@ -13,10 +13,12 @@ depends=('mingw-w64-libjpeg-turbo')
options=(staticlibs !strip !buildflags)
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/mdadams/jasper/archive/version-${pkgver}.tar.gz
0001-Fix-exports.patch
0002-Fix-building-for-mingw-w64-target.patch)
sha512sums=('31da8f49cec3ba2a3bb9ba40fa54fe64c97d1e564631c980619f0b3ffca36814adc6c2cb8dc1ead774a15546f308e7a33990821538d1e7b6c885b14ed4e1f711'
'ffa3b51509c626ba7e93375161c2d8d80fe27b54601a1f66bd93032f7c5d2125d8f3d7f8a48701ee9c7422c79035f769f8dd032242475d3628bbf2da27cdcf00'
'643020a9f930d4bff0ea73f24c0801910b9bf34e5cc2feb9adbaf4b74965dd38739b957153393468f7d1d87c88232364ae5d3087e17c99b0f7c194febc825355')
0002-Fix-building-for-mingw-w64-target.patch
0003-Fix-filename-buffer-overflow.patch)
sha512sums=('dc03434870e85b1fdbdf41a3e07ce5a8044c8d225717d3d7a5969d45e3bd716bfb2abc4b4e0b8cec2f4071a7520c5d3e48939dba0cabe6d192eacd593de0c563'
'0eb2588a54e154ca93977088a63b7261bed605047e51ae0e9d537b0abbb5846a94f47f3e5df7cfd753d12c80273b922c74a752578938d3ba4da81f3b756b0ffb'
'bd61f586bc910fd698d5f3e66a7892a63ee85eabc6c2802672d607d1b7b3fda6e412973f5bcc7b47db2c80b3c627f679dd45cbe2d13b08f8520314d4d29e2468'
'31d900b6c160205151cbfac9f36fa0e5243dc87b0b8eab159cfa0b6935d87dd08119a52a0f853e6c2f3f754ca6c0030ec229379deb68ba16befd5f99983112ad')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
@ -24,9 +26,11 @@ prepare() {
cd "$srcdir/jasper-version-$pkgver"
patch -p1 -i "${srcdir}"/0001-Fix-exports.patch
patch -p1 -i "${srcdir}"/0002-Fix-building-for-mingw-w64-target.patch
patch -p1 -i "${srcdir}"/0003-Fix-filename-buffer-overflow.patch
}
build() {
cd "$srcdir/jasper-version-$pkgver"
local options=(
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_BUILD_TYPE=Release
@ -39,11 +43,11 @@ build() {
)
for _arch in ${_architectures}; do
mkdir -p build-${_arch}-static && pushd build-${_arch}-static
${_arch}-cmake ${options[@]} -DJAS_ENABLE_SHARED=OFF "$srcdir/jasper-version-$pkgver"
${_arch}-cmake ${options[@]} -DJAS_ENABLE_SHARED=OFF ..
make
popd
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-cmake ${options[@]} -DJAS_ENABLE_SHARED=ON "$srcdir/jasper-version-$pkgver"
${_arch}-cmake ${options[@]} -DJAS_ENABLE_SHARED=ON ..
make
popd
done
@ -51,9 +55,9 @@ build() {
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/build-${_arch}-static"
cd "${srcdir}/jasper-version-${pkgver}/build-${_arch}-static"
make DESTDIR="$pkgdir" install
cd "${srcdir}/build-${_arch}"
cd "${srcdir}/jasper-version-${pkgver}/build-${_arch}"
make DESTDIR="$pkgdir" install
rm -r "$pkgdir/usr/${_arch}/share"
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll

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,41 +1,65 @@
# 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=aarch64
_pkgname=kirigami2
_android_arch=arm64-v8a
_pkg_arch=aarch64
_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.240.0alpha1
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'
'SKIP')
validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure <faure@kde.org>
E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell <jr@jriddell.org>
license=(LGPL)
depends=("android-$_pkg_arch-qt6"-{declarative,shadertools,svg})
makedepends=('cmake' 'android-ndk' 'android-sdk' 'extra-cmake-modules-git' 'ninja' 'git' 'qt6-base' 'qt6-declarative' 'qt6-tools' 'qt6-shadertools')
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')
source=(git+https://invent.kde.org/frameworks/kirigami.git)
sha256sums=(SKIP)
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}" \
cd build
# note: needs workaround for https://gitlab.kitware.com/cmake/cmake/issues/18739 (currently provided outside of the PKGBUILD itself)
#cmake ../$_pkgname-$pkgver \
cmake ../kirigami \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=$_android_platform \
-DANDROID_ABI=$_android_arch \
-DECM_DIR:PATH=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
VERBOSE=1 cmake --build build-$_android_arch
-DBUILD_QCH=OFF \
-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"
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
_android_arch=armv7a-eabi
_pkgname=kirigami2
_android_arch=armeabi-v7a
_pkg_arch=armv7a-eabi
_android_toolchain=arm-linux-androideabi
_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_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

@ -4,9 +4,9 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kirigami
pkgname=mingw-w64-${_pkgname}2
pkgver=6.0.0
_pkgname=kirigami2
pkgname=mingw-w64-$_pkgname
pkgver=5.94.0
pkgrel=1
pkgdesc="A QtQuick based components set (mingw-w64)"
arch=('any')
@ -14,14 +14,10 @@ url='https://community.kde.org/Frameworks'
license=(LGPL)
depends=(mingw-w64-crt mingw-w64-qt5-quickcontrols mingw-w64-qt5-quickcontrols2 mingw-w64-qt5-graphicaleffects)
makedepends=(mingw-w64-gcc mingw-w64-cmake mingw-w64-extra-cmake-modules mingw-w64-qt5-tools mingw-w64-qt5-svg kpackage)
source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('ed0f56c89249fb92a9af99a94fd13542abbae4a8f1613aaaa2bfab87914b601a'
source=("https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"{,.sig})
sha256sums=('d7f27da3325feb339f4e1a3db78df44f05e4f505f36e15c7caeac04da0428e39'
'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)
validpgpkeys=('53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB') # David Faure <faure@kde.org>
options=(!buildflags staticlibs !strip !emptydirs)
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

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

@ -4,7 +4,7 @@
_android_arch=aarch64
pkgname=android-${_android_arch}-libpng
pkgver=1.6.42
pkgver=1.6.40
pkgrel=1
pkgdesc="A collection of routines used to create PNG format graphics (android)"
arch=('any')
@ -14,7 +14,7 @@ depends=("android-${_android_arch}-zlib")
options=(!strip !buildflags staticlibs !emptydirs)
makedepends=('android-configure')
source=("http://downloads.sourceforge.net/sourceforge/libpng/libpng-$pkgver.tar.xz")
sha256sums=('c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450')
sha256sums=('535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1')
build() {
cd "$srcdir/libpng-$pkgver"

View File

@ -1,40 +0,0 @@
# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
# Contributor: Daniel Kirchner <daniel AT ekpyron DOT org>
_android_arch=armv7a-eabi
pkgname=android-${_android_arch}-libpng
pkgver=1.6.42
pkgrel=2
pkgdesc="A collection of routines used to create PNG format graphics (android)"
arch=('any')
url="http://www.libpng.org/pub/png/libpng.html"
license=('custom')
depends=("android-${_android_arch}-zlib")
options=(!strip !buildflags staticlibs !emptydirs)
makedepends=('android-configure')
source=("http://downloads.sourceforge.net/sourceforge/libpng/libpng-$pkgver.tar.xz")
sha256sums=('c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450')
build() {
cd "$srcdir/libpng-$pkgver"
source android-env ${_android_arch}
android-${_android_arch}-configure \
--enable-unversioned-links \
--enable-unversioned-libpng-pc\
--enable-unversioned-libpng-config \
--enable-hardware-optimizations
make $MAKEFLAGS
}
package () {
cd "${srcdir}/libpng-${pkgver}"
source android-env ${_android_arch}
make DESTDIR="$pkgdir" install
rm -r "${pkgdir}"/${ANDROID_PREFIX_SHARE}
${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}"/${ANDROID_PREFIX_LIB}/*.so
${ANDROID_STRIP} -g "$pkgdir"/${ANDROID_PREFIX_LIB}/*.a
}

View File

@ -5,7 +5,7 @@
_pkgname=libpng
pkgname=static-compat-$_pkgname
pkgver=1.6.42
pkgver=1.6.40
pkgrel=1
pkgdesc='A collection of routines used to create PNG format graphics files'
arch=('x86_64')
@ -16,7 +16,7 @@ makedepends=('static-compat-configure')
options=(!emptydirs staticlibs)
validpgpkeys=('8048643BA2C840F4F92A195FF54984BFA16C640F') # Glenn Randers-Pehrson (mozilla) <glennrp@gmail.com>
source=("https://downloads.sourceforge.net/sourceforge/$_pkgname/$_pkgname-$pkgver.tar.xz")
sha256sums=('c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450')
sha256sums=('535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1')
build() {
source static-compat-environment

View File

@ -17,7 +17,7 @@ replaces=('mingw-w64-libmariadbclient')
conflicts=('mingw-w64-libmariadbclient')
provides=("mingw-w64-libmariadbclient=$pkgver")
depends=('mingw-w64-crt' 'mingw-w64-openssl' 'mingw-w64-zlib' 'mingw-w64-curl')
makedepends=('mingw-w64-cmake' 'ninja')
makedepends=('mingw-w64-cmake')
options=('!strip' '!buildflags' 'staticlibs')
source=(
"https://github.com/mariadb-corporation/mariadb-connector-c/archive/refs/tags/v$pkgver.tar.gz"
@ -42,15 +42,14 @@ build() {
cd "$srcdir/mariadb-connector-c-${pkgver}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DWARNING_AS_ERROR=OFF \
${_arch}-cmake \
-DCMAKE_BUILD_TYPE=RELEASE \
-DWITH_EXTERNAL_ZLIB=ON \
-DWITH_SSL=OPENSSL \
-DWITH_MYSQLCOMPAT=ON \
-DWITH_UNIT_TESTS=OFF \
..
cmake --build .
make
popd
done
}
@ -58,7 +57,7 @@ build() {
package() {
for _arch in ${_architectures}; do
cd "$srcdir/mariadb-connector-c-${pkgver}/build-${_arch}"
DESTDIR="${pkgdir}" cmake --install .
make DESTDIR="${pkgdir}" install
ln -s mariadb "$pkgdir"/usr/${_arch}/include/mysql
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/lib/plugin/*.dll

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')

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