Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Martchus | e97a875c6c |
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
name: Issue with binary repository
|
||||
about: Report an issue about the binary repository mentioned in the README
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Before reporting and issue, make sure to have **followed the instructions** on
|
||||
https://martchus.no-ip.biz/repo/arch/ownstuff.
|
||||
|
||||
Note that packages are always built against the latest Arch Linux repository
|
||||
so other distributions such as Manjaro are *not* supported.
|
||||
|
||||
Please prefer the `ftp.f3l.de` mirror as `martchus.no-ip.biz` is self-hosted.
|
||||
|
||||
---
|
||||
|
||||
Affected package (name and version): …
|
||||
Used mirror: …
|
||||
|
||||
Brief description of the problem: …
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
name: General issue
|
||||
about: Ask a question or report a problem about a specific (set of) packages
|
||||
title: ''
|
||||
labels:
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Before reporting an issue**, check whether there are pinned/recent comments on
|
||||
the AUR and whether your request is really in-line with
|
||||
https://wiki.archlinux.org/title/PKGBUILD.
|
||||
|
||||
**For more general discussions and questions** about related topics such as
|
||||
mingw-w64 packaging in general, feel free to open or join a discussion on
|
||||
https://github.com/Martchus/PKGBUILDs/discussions.
|
||||
|
||||
**Note that I cannot help with AUR helpers.** Please report problems with AUR
|
||||
helpers to their vendors.
|
||||
|
||||
**Note that only Arch Linux is supported.** Packages may not build on other
|
||||
distributions such as Manjaro.
|
||||
|
||||
---
|
||||
|
||||
Relevant packages: …
|
||||
|
||||
Your modifications to the build environment (e.g. changes in `makepkg.conf`):
|
||||
…
|
||||
|
||||
Question/request or brief description of the problem:
|
||||
…
|
|
@ -1,19 +0,0 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- feature request
|
||||
- enhancement
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
253
README.md
253
README.md
|
@ -9,8 +9,7 @@ Contains PKGBUILD files for creating Arch Linux packages:
|
|||
* misc packages, eg. Subtitle Composer, openelec-dvb-firmware, Jangouts
|
||||
* `mingw-w64-*` packages which allow to build for Windows under Arch Linux,
|
||||
eg. FreeType 2, Qt 5 and Qt 6
|
||||
* `static-compat-*` packages containing static libraries to build self-contained
|
||||
applications running on older GNU/Linux distributions under Arch Linux
|
||||
* `*-static` packages containing static libraries
|
||||
* `android-*` packages which allow to build for Android under Arch Linux,
|
||||
eg. iconv, Boost, OpenSSL, CppUnit, Qt 5 and Kirigami
|
||||
* `apple-darwin-*` packages which allow to build for MaxOS X under Arch
|
||||
|
@ -44,154 +43,16 @@ The repository is focusing on x86_64 but some packages are also provided for
|
|||
i686 and aarch64.
|
||||
|
||||
Note that I can not assure that required rebuilds always happen fast enough
|
||||
(since the official developers obviously don't wait for me before releasing their
|
||||
(since the offical developers obviously don't wait for me before releasing their
|
||||
packages from staging).
|
||||
|
||||
Requests regarding binary packages can be tracked on the issue tracker of this
|
||||
GitHub project as well, e.g. within the [general discussion
|
||||
issue](https://github.com/Martchus/PKGBUILDs/issues/94).
|
||||
|
||||
## Container image, building packages within a container
|
||||
The directory `devel/container` contains the script `imagebuild` to build a
|
||||
container image suitable to run Arch Linux's `makepkg` script so you can build
|
||||
from PKGBUILDs on any environment where Docker, Podman or any other suitable
|
||||
container runtime is available.
|
||||
|
||||
It also contains a script called `makecontainerpkg` which behaves like
|
||||
`makechrootpkg` from Arch Linux's devtools but uses the previously mentioned
|
||||
container image. Therefore it does *not* require devtools, a chroot setup and
|
||||
systemd-nsapwn. Instead, any container runtime should be sufficient (tested with
|
||||
Docker and Podman).
|
||||
|
||||
The usage of `makecontainerpkg` is very similar to `makechrootpkg`. Simply run
|
||||
the script in a directory containing a `PKGBUILD` file. If the directory
|
||||
contains a file called `pacman.conf` and/or `makepkg.conf` those files are
|
||||
configured to be used during the build. The call syntax is the following:
|
||||
```
|
||||
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`:
|
||||
```
|
||||
makecontainerpkg -v /var/cache/pacman/pkg/ -v /run/media/devel/ccache:/ccache -- -f CCACHE_DIR=/ccache
|
||||
```
|
||||
|
||||
Example using podman on a non-Arch system:
|
||||
```
|
||||
CRE=podman ../../devel/container/makecontainerpkg -v /hdd/cache/pacman/pkg:/var/cache/pacman/pkg -v /hdd/chroot/remote-config-x86_64:/cfg
|
||||
```
|
||||
|
||||
It makes still sense to specify a cache directory, even though pacman is not
|
||||
used on the host system. Here also a directory containing a custom `pacman.conf`
|
||||
and `makepkg.conf` is mounted into the container.
|
||||
|
||||
### Podman-specific remarks
|
||||
To use podman (instead of Docker) simply set `export CRE=podman`.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
### 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
|
||||
enter the container for manual investigation. Set `DEBUG=on-failure` to only
|
||||
keep the container in case of a failure.
|
||||
|
||||
### Using Arch-packages on another distribution via a container
|
||||
If you want to cross-compile software on non-Arch distributions you can make use
|
||||
of the `android-*` and `mingw-w64-*` packages provided by this repository using
|
||||
an Arch Linux container. The container image mentioned before is also suitable
|
||||
for this purpose.
|
||||
|
||||
Here are some example commands how one might do that:
|
||||
```
|
||||
# do basic container setup
|
||||
containers/create-devel-container-example
|
||||
|
||||
# start interactive shell in container
|
||||
podman container exec -it archlinux-devel-container bash
|
||||
|
||||
# install stuff you want, e.g. mingw-w64 or android Qt packages
|
||||
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 \
|
||||
-G Ninja \
|
||||
-S /src/c++/cmake/PianoBooster \
|
||||
-B /build/pianobooster-x86_64-w64-mingw32-release \
|
||||
-DPKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/x86_64-w64-mingw32-pkg-config \
|
||||
-DQT_PACKAGE_NAME:STRING=Qt6
|
||||
|
||||
# conduct the build using mingw-w64 packages, e.g. invoke Ninja build system via CMake
|
||||
podman container exec -it archlinux-devel-container bash -c '
|
||||
source /usr/bin/mingw-env x86_64-w64-mingw32 && \
|
||||
cmake --build /build/pianobooster-x86_64-w64-mingw32-release --verbose'
|
||||
|
||||
# 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 \
|
||||
-S /src/c++/cmake/subdirs/passwordmanager \
|
||||
-B /build/passwordmanager-android-$android_arch-release \
|
||||
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" \
|
||||
-DANDROID_SDK_ROOT="${ANDROID_HOME}" \
|
||||
-DPKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/android-$android_arch-pkg-config \
|
||||
-DQT_PACKAGE_PREFIX:STRING=Qt6 \
|
||||
-DKF_PACKAGE_PREFIX:STRING=KF6'
|
||||
|
||||
# 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.
|
||||
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"
|
||||
podman container exec -it archlinux-devel-container \
|
||||
/opt/android-sdk/platform-tools/adb connect "$phone_ip:$connection_port"
|
||||
podman container exec -it archlinux-devel-container \
|
||||
/opt/android-sdk/platform-tools/adb logcat
|
||||
|
||||
# get rid of the container when no longer needed
|
||||
podman container stop archlinux-devel-container
|
||||
podman container rm archlinux-devel-container
|
||||
```
|
||||
|
||||
Note that these commands are intended to be run without root (see section
|
||||
"Podman-specific remarks" for details). In this case files that are created
|
||||
from within the container in the build and source directories will have your
|
||||
normal user/group outside the container which is quite convenient (within the
|
||||
container they will be owned by root).
|
||||
|
||||
### Other approaches
|
||||
There's also the 3rdparty repository
|
||||
[docker-mingw-qt5](https://github.com/mdimura/docker-mingw-qt5) which contains
|
||||
an image with many mingw-w64 package pre-installed.
|
||||
## Docker image
|
||||
Checkout the repository
|
||||
[docker-mingw-qt5](https://github.com/mdimura/docker-mingw-qt5).
|
||||
|
||||
## Structure
|
||||
Each package is in its own subdirectoy:
|
||||
|
@ -210,12 +71,6 @@ where `default-pkg-name` is the default package name (eg. `qt5-base`) and
|
|||
|
||||
The repository does not contain `.SRCINFO` files.
|
||||
|
||||
---
|
||||
|
||||
The subdirectoy `devel` contains additional files, mainly for development
|
||||
purposes. The subdirectoy `devel/archive` contains old packages that are no
|
||||
longer updated (at least not via this repository).
|
||||
|
||||
## Generated PKGBUILDs
|
||||
To avoid repetition some PKGBUILDs are generated. These PKGBUILDs are determined
|
||||
by the presence of the file `PKGBUILD.sh.ep` besides the actual `PKGBUILD` file.
|
||||
|
@ -243,7 +98,7 @@ usually preserve the original patches and create a new branch, eg.
|
|||
|
||||
So in this case it would make sense to contribute directly there. To fix an
|
||||
existing patch, just create a fixup commit. This (unusual) fixup workflow aims
|
||||
to keep the number of additional changes as small as possible.
|
||||
to keep the number of additional changes as small as possbile.
|
||||
|
||||
To get the patches into the PKGBUILD files, the script
|
||||
`devel/qt5/update-patches.sh` is used.
|
||||
|
@ -270,11 +125,11 @@ cause conflicts. However, the workflow is quite simple:
|
|||
## Brief documentation about mingw-w64-qt packages
|
||||
The Qt project does not support building Qt under GNU/Linux when targeting
|
||||
mingw-w64. With Qt 6 they also stopped 32-bit builds. They also don't provide
|
||||
static builds targeting mingw-w64. They are also relying a lot on their bundled
|
||||
static builds the mingw-w64 target. They are also relying a lot on their bundled
|
||||
libraries while my builds aim to build dependencies separately. So expect some
|
||||
rough edges when using my packaging.
|
||||
|
||||
Nevertheless it make sense to follow the official documentation. For concrete
|
||||
Neverthless it make sense to follow the official documentation. For concrete
|
||||
examples how to use this packaging with CMake, just checkout the mingw-w64
|
||||
variants of e.g. `syncthingtray` within this repository. The Arch Wiki also has
|
||||
a [section about mingw-w64
|
||||
|
@ -287,28 +142,25 @@ they would require `fxc.exe` to build.
|
|||
Currently, I test with qmake and CMake. With both build systems it is possible
|
||||
to use either the shared or the static libraries. Please read the comments in
|
||||
the PKGBUILD file itself and the pinned comments in [the
|
||||
AUR](https://aur.archlinux.org/packages/mingw-w64-qt5-base) for further
|
||||
AUR](https://aur.archlinux.org/packages/mingw-w64-qt5-base) for futher
|
||||
information.
|
||||
|
||||
There are also pkg-config files, but those aren't really tested.
|
||||
|
||||
`qbs` and `windeployqt` currently don't work very well (see issues). Using the
|
||||
static libraries or mxedeployqt might be an alternative to windeployqt.
|
||||
qbs and windeployqt currently don't work very well (see issues). Using the
|
||||
static libraries or mxedeployqt might be an alternative for windeployqt.
|
||||
|
||||
### Tested build and deployment tools for mingw-w64-qt6 packages
|
||||
In order to build a Qt-based project using mingw-w64-qt6 packages one also needs
|
||||
to install the regular `qt6-base` package for development tools such as `moc`.
|
||||
The packages `qt6-tools`, `qt6-declarative` and `qt6-shadertools` contain also
|
||||
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
|
||||
[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)
|
||||
one can specify `-DQT_NO_PACKAGE_VERSION_CHECK=TRUE` to ignore the strict
|
||||
versioning check.
|
||||
to install the regular `qt6-base` package for development tools such as moc. The
|
||||
packages `qt6-tools` and `qt6-declarative` contain also 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 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.
|
||||
|
||||
Currently, I test only CMake. It is possible to use either the shared or the
|
||||
static libraries. The static libraries are installed into a nested prefix
|
||||
|
@ -353,7 +205,7 @@ are a wrapper around the regular `wine` binary ensuring all the DLLs provided by
|
|||
a distinct `wine` prefix so your usual configuration (e.g. tailored to run
|
||||
certain games) does not go into the way and is also not messed with.
|
||||
|
||||
Here are nevertheless some useful hints to run WINE manually:
|
||||
Here are neverthless some useful hints to run WINE manually:
|
||||
|
||||
* Set the environment variable `WINEPREFIX` to use a distinct WINE-prefix if
|
||||
wanted.
|
||||
|
@ -377,50 +229,25 @@ Here are nevertheless some useful hints to run WINE manually:
|
|||
* See https://wiki.winehq.org/Wine_User's_Guide for more information
|
||||
|
||||
## Static GNU/Linux libraries
|
||||
This repository contains several `static-compat-*` packages providing static
|
||||
libraries intended to distribute "self-contained" executables. These libraries
|
||||
are built against an older version of glibc to be able to run on older
|
||||
distributions without having to link against glibc statically. The resulting
|
||||
binaries should run on distributions with glibc 2.26 or newer (or Linux 4.4 and
|
||||
newer when linking against glibc statically), e.g. openSUSE Leap 15.0, Fedora
|
||||
27, Debian 10 and Ubuntu 18.04. The packages might not be updated as regularly
|
||||
as their normal counterparts but the idea is to provide an environment with a
|
||||
recent version of GCC/libstdc++ and other libraries such as Qt and Boost but
|
||||
still be able to run the resulting executables on older distributions.
|
||||
This repository contains several `*-static` packages providing static libraries
|
||||
intended to distribute "self-contained" executables. These packages are still
|
||||
experimental and are not be regularily updated at this point.
|
||||
|
||||
To use the packages, simply invoke `/usr/static-compat/bin/g++` instead of
|
||||
`/usr/bin/g++`. The package `static-compat-environment` provides a script to set
|
||||
a few environment variables to make this easier. There are also packages
|
||||
providing build system wrappers such as `static-compat-cmake`.
|
||||
|
||||
It would be conceivable to make fully statically linked executables. However, it
|
||||
would not be possible to support OpenGL because glvnd and vendor provided OpenGL
|
||||
libraries are always dynamic libraries. It makes also no sense to link against
|
||||
glibc (and possibly other core libraries) statically as they might use `dlopen`.
|
||||
Therefore this setup aims for a partially statically linked build instead, where
|
||||
stable core libraries like glibc/pthreads/OpenGL/… are assumed to be provided by
|
||||
the GNU/Linux system but other libraries like libstdc++, Boost and Qt are linked
|
||||
against statically. This is similar to AppImage where a lot of libraries are
|
||||
bundled but certain core libraries are expected to be provided by the system.
|
||||
|
||||
Examples for resulting binaries can be found in the release sections of my
|
||||
projects [Tag Editor](https://github.com/Martchus/tageditor/releases) and
|
||||
[Syncthing Tray](https://github.com/Martchus/syncthingtray/releases). Those are
|
||||
Qt 6 applications and the resulting binaries run on the mentioned platforms
|
||||
supporting X11 and Wayland natively.
|
||||
It would conceivable to build even Qt as a static library and make even a fully
|
||||
statically linked executable. However, it would not be possible to support
|
||||
OpenGL because glvnd and vendor provided OpenGL libraries are always dynamic
|
||||
libraries. It is also not clear whether it makes sense to link against libc and
|
||||
X11/Wayland client libraries statically. Maybe it makes sense to aim for a
|
||||
partially statically linked build instead where libc/OpenGL/X11/Wayland are
|
||||
assumed to be provided by the GNU/Linux system but other libraries like Qt are
|
||||
linked against statically. This would be similar to AppImage where a lot of
|
||||
libraries are bundled but certain "core libraries" are expected to be provided
|
||||
by the system.
|
||||
|
||||
Note that I decided to let static libraries live within the subprefix
|
||||
`/usr/static-compat` (in contrast to `-static` packages found in the AUR). The
|
||||
main reason is that my packaging requires a custom glibc/GCC build for
|
||||
compatibility and I suppose that simply needs to live within its own prefix.
|
||||
Besides, the version might not be kept 100 % in sync with the shared
|
||||
counterpart. Hence it makes sense to make the static packages independent with
|
||||
their own headers and configuration files to avoid problems due to mismatching
|
||||
versions. Additionally, some projects (such as Qt) do not support installing
|
||||
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
|
||||
|
||||
All code is licensed under [GPL-2-or-later](LICENSE).
|
||||
`/usr/static` (in contrast to packages found in the AUR). The reason is that the
|
||||
version might not be kept 100 % in sync with the shared counterpart. Hence it
|
||||
makes sense to make the static packages independent with their own headers and
|
||||
configuration files to avoid problems due to mismatching versions. Besides, some
|
||||
projects (such as Qt) do not support installing shared and static libraries
|
||||
within the same prefix at the same time because the config files would clash.
|
||||
|
|
|
@ -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}
|
||||
}
|
|
@ -6,26 +6,21 @@
|
|||
_reponame=arch-repo-manager
|
||||
pkgname=arch-repo-manager-git
|
||||
_name=${pkgname%-git}
|
||||
_liburing=OFF
|
||||
pkgver=340.599185d
|
||||
pkgrel=3
|
||||
pkgver=78.d920368
|
||||
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=('c++utilities-git' 'boost-libs' 'libarchive')
|
||||
optdepends=('reflective-rapidjson-git: development with libpkg/librepomgr'
|
||||
"$_name-doc: API documentation")
|
||||
makedepends=('cmake' 'git' 'ninja' 'boost' 'catch2' 'rapidjson-git' 'reflective-rapidjson-git')
|
||||
makedepends=('cmake' 'git' 'ninja' 'boost' 'rapidjson-git' 'reflective-rapidjson-git')
|
||||
checkdepends=('cppunit')
|
||||
provides=(libpkg-git.so librepomgr-git.so)
|
||||
options=(debug)
|
||||
options=(!strip)
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git"
|
||||
"lmdb-safe::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/lmdb-safe.git"
|
||||
'tabulate::git+https://github.com/p-ranav/tabulate.git')
|
||||
sha256sums=('SKIP' 'SKIP' 'SKIP')
|
||||
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX_PRIVATE:-git://github.com/Martchus}/${_reponame}.git"
|
||||
'tabulate::git://github.com/p-ranav/tabulate.git')
|
||||
sha256sums=('SKIP' 'SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
|
@ -35,10 +30,8 @@ pkgver() {
|
|||
prepare() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
|
||||
for submodule in tabulate lmdb-safe ; do
|
||||
rm -r 3rdparty/$submodule
|
||||
ln -sr ../$submodule 3rdparty/$submodule
|
||||
done
|
||||
rm -r 3rdparty/tabulate
|
||||
ln -sr ../tabulate 3rdparty/tabulate
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -53,7 +46,6 @@ 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 \
|
||||
.
|
||||
VERBOSE=1 ninja
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Contributor: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
|
||||
|
||||
pkgname=baikal
|
||||
pkgver=0.9.5
|
||||
pkgver=0.8.0
|
||||
pkgrel=1
|
||||
pkgdesc='Lightweight CalDAV+CardDAV server'
|
||||
url='http://sabre.io/baikal/'
|
||||
|
@ -12,21 +12,17 @@ depends=('php')
|
|||
optdepends=('sqlite: Database' 'mariadb: Alternate database' 'php-sqlite: To use the sqlite backend')
|
||||
source=("https://github.com/fruux/Baikal/releases/download/$pkgver/baikal-$pkgver.zip"
|
||||
'baikal.install')
|
||||
sha512sums=('e544ed39047788bf001c81a44eb69a3db30a871253cb6bf12b54d5d476eaadc63d723192d41b67f2cf908a72d4c722def03d853df68b7fd464a4093e08ed0f19'
|
||||
'4e28980100ce9fc820a6c40a9cd528a90d62997ac18fb4ea353d8eaba58b320f9c653ba9b066036ff598f1d5a0aafb49ba444f9187c0d3616cbe6fa45222ca3f')
|
||||
sha1sums=('a3a9975e809f301e856b037ae56e21c77a9e99e3'
|
||||
'deb948e61c3cd8d6ad560321f78c0b288f7a6210')
|
||||
options=('!strip')
|
||||
install=baikal.install
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/baikal/vendor/sabre/dav"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/baikal"
|
||||
|
||||
install -dm 755 "$pkgdir"/usr/share/{webapps,doc}"/$pkgname"
|
||||
install -dm 700 "$pkgdir/var/lib/$pkgname"
|
||||
install -dm 700 "$pkgdir/var/lib/$pkgname/config"
|
||||
install -dm 700 -o http -g http "$pkgdir/var/lib/$pkgname"
|
||||
install -dm 700 -o http -g http "$pkgdir/var/lib/$pkgname/config"
|
||||
cp -R Core html vendor "$pkgdir/usr/share/webapps/$pkgname"
|
||||
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname"
|
||||
ln -s "/var/lib/$pkgname" "$pkgdir/usr/share/webapps/$pkgname/Specific"
|
||||
|
|
|
@ -12,7 +12,7 @@ makedepends=('git')
|
|||
provides=("$_pkgname")
|
||||
conflicts=("$_pkgname")
|
||||
install="$pkgname.install"
|
||||
source=("git+https://github.com/Martchus/${_pkgname}.git#branch=adjustments")
|
||||
source=("git://github.com/Martchus/${_pkgname}.git#branch=adjustments")
|
||||
md5sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
|
|
|
@ -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.637
|
||||
_pkgverstr=1-6-0-637
|
||||
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,34 +14,26 @@ license=('GPL')
|
|||
makedepends=('cmake')
|
||||
optdepends=('python')
|
||||
source=("http://zebulon.bok.net/Bento4/source/Bento4-SRC-${_pkgverstr}.zip")
|
||||
sha256sums=('8258faf0de7253f2aac016018f33d4a04c16d9060735e14ec8711f84aaedf0c8')
|
||||
sha1sums=('45b627e73253a3e03fa31af3b843f2c194f85793')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}"
|
||||
|
||||
sed -i "s/ STATIC / SHARED /" CMakeLists.txt
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_SKIP_BUILD_RPATH=ON
|
||||
cmake --build .
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"
|
||||
|
||||
# install manually (there's no install target)
|
||||
mkdir -p "${pkgdir}/usr/"{bin,lib,lib/bento4}
|
||||
find -iname '*.so' -exec cp --target-directory="${pkgdir}/usr/lib" {} \;
|
||||
find -maxdepth 1 -executable -type f -exec cp --target-directory="${pkgdir}/usr/bin" {} \;
|
||||
find Source/Python/utils -iname '*.py' -exec cp --target-directory="${pkgdir}/usr/lib/bento4" {} \;
|
||||
for file in mp4dash mp4dashclone mp4hls; do
|
||||
sed -e 's!/../utils/!/../lib/bento4/!' "Source/Python/wrappers/$file" > "${pkgdir}/usr/bin/$file"
|
||||
chmod 755 "${pkgdir}/usr/bin/$file"
|
||||
done
|
||||
|
||||
# prevent conflict with libmp4v2
|
||||
suffix=-bento4
|
||||
for conflicting_file in mp4extract mp4info; do
|
||||
mv "${pkgdir}/usr/bin/$conflicting_file" "${pkgdir}/usr/bin/$conflicting_file$suffix"
|
||||
find "${pkgdir}/usr/lib/bento4" -iname '*.py' -exec sed -i -e "s#\(Bento4Command(.*\)\b$conflicting_file\b#\1$conflicting_file$suffix#g" {} \;
|
||||
mv $conflicting_file $conflicting_file-bento4
|
||||
done
|
||||
|
||||
# install manually (there's no install target)
|
||||
mkdir -p "${pkgdir}/usr/"{lib,bin}
|
||||
find -iname '*.so' -exec mv --target-directory="${pkgdir}/usr/lib" {} \;
|
||||
find -maxdepth 1 -executable -type f -exec mv --target-directory="${pkgdir}/usr/bin" {} \;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
# you also find the URL of a binary repository.
|
||||
|
||||
pkgname=blackwidowcontrol
|
||||
pkgver=1.1.0
|
||||
pkgver=1.0.2
|
||||
pkgrel=1
|
||||
pkgdesc='Python script to enable macro keys of the Razer BlackWidow keyboard under GNU/Linux'
|
||||
url='https://github.com/Martchus/blackwidowcontrol'
|
||||
|
@ -12,7 +12,7 @@ arch=('any')
|
|||
license=('GPL')
|
||||
depends=('python-pyusb')
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${pkgname}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('bd679a4574de8a4d2b7ab4d56bf57559cf3bff130104636b82d083a62251c00d')
|
||||
sha256sums=('813a0726c78b8f057adf2d92a731c21e2afcd94d5b518625f4dc118db9d8216c')
|
||||
|
||||
package() {
|
||||
local _srcdir="${srcdir}/${PROJECT_DIR_NAME:-$pkgname-$pkgver}"
|
||||
|
|
|
@ -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
|
||||
_android_toolchain=$_pkg_arch-linux-android
|
||||
_andoird_toolchain_dir=$_android_toolchain
|
||||
_android_platform=24
|
||||
_android_target=$_android_toolchain$_android_platform
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_boost_arch=arm
|
||||
_boost_address_model=64
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.76.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')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
|
||||
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
|
||||
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
|
||||
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
# https://github.com/boostorg/phoenix/issues/111
|
||||
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
|
||||
|
||||
cd ${_srcname}
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
|
||||
|
||||
patch -i ../no-versioned-shlibs.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
|
||||
local target_flags=" \
|
||||
--target=$_android_target"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
|
||||
-fexceptions \
|
||||
-no-canonical-prefixes \
|
||||
-D__ANDROID_API__=$_android_platform \
|
||||
-O3 \
|
||||
-fPIC \
|
||||
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
|
||||
local ld_flags=" \
|
||||
$target_flags \
|
||||
-fexceptions \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
||||
# 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
|
||||
cd ${_srcname}
|
||||
|
||||
./bootstrap.sh -with-toolset=gcc
|
||||
./bootstrap.sh --with-toolset=gcc
|
||||
|
||||
# support for OpenMPI
|
||||
if [[ _boost_address_model == 64 ]]; then
|
||||
_boost_mpi='using mpi ;'
|
||||
else
|
||||
_boost_mpi=''
|
||||
fi
|
||||
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
|
||||
|
||||
userConfigs=$srcdir/$_srcname/user-config.jam
|
||||
# Support for OpenMPI
|
||||
echo "using mpi ;" >> project-config.jam
|
||||
|
||||
cat << EOF > "${userConfigs}"
|
||||
${_boost_mpi}
|
||||
using clang : android : ${ANDROID_CXX} :
|
||||
<archiver>${ANDROID_AR} \
|
||||
<assembler>${ANDROID_AS}
|
||||
;
|
||||
EOF
|
||||
# boostbook is needed by quickbook
|
||||
install -dm755 "${_stagedir}"/share/boostbook
|
||||
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
|
||||
|
||||
./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}"
|
||||
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
||||
|
||||
# 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
|
||||
"${_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="/opt/android-libs/$_pkg_arch" \
|
||||
cflags="$common_flags" \
|
||||
cxxflags="$common_flags -frtti -std=c++14" \
|
||||
linkflags="$ld_flags" \
|
||||
--layout=system \
|
||||
${jobs} \
|
||||
\
|
||||
--prefix="${_stagedir}" \
|
||||
install
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
|
||||
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
|
||||
local libdir="${pkgdir}"$_android_prefix/lib
|
||||
install -d "${libdir}"
|
||||
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
|
||||
|
||||
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}/"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
|
||||
|
||||
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
|
||||
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
|
||||
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
|
||||
|
||||
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
|
||||
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
|
||||
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
https://bugs.gentoo.org/887041
|
||||
https://github.com/boostorg/phoenix/issues/111
|
||||
--- a/boost/phoenix/stl.hpp
|
||||
+++ b/boost/phoenix/stl.hpp
|
||||
@@ -11,6 +11,5 @@
|
||||
|
||||
#include <boost/phoenix/stl/algorithm.hpp>
|
||||
#include <boost/phoenix/stl/container.hpp>
|
||||
-#include <boost/phoenix/stl/tuple.hpp>
|
||||
|
||||
#endif
|
|
@ -1,59 +0,0 @@
|
|||
From a31e5cffa85f58b64a39fa7c4a1bd3bd9228b069 Mon Sep 17 00:00:00 2001
|
||||
From: Conrad Poelman <cpgithub@stellarscience.com>
|
||||
Date: Tue, 4 Aug 2020 17:20:40 -0400
|
||||
Subject: [PATCH] Remove deprecated inheritance from std::iterator (#97)
|
||||
|
||||
std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them.
|
||||
---
|
||||
.../boost/numeric/ublas/detail/iterator.hpp | 24 ++++++++++++++-----
|
||||
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/boost/numeric/ublas/detail/iterator.hpp b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
index 1723a301c..7aebf2f9f 100644
|
||||
--- a/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
+++ b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct forward_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -145,8 +149,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment and post decrement operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct bidirectional_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct bidirectional_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
*/
|
||||
template<class IC, class I, class T, class D = std::ptrdiff_t>
|
||||
// ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect
|
||||
- struct random_access_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct random_access_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef D difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
typedef D derived_difference_type;
|
|
@ -1,33 +1,27 @@
|
|||
--- a/tools/build/src/tools/common.jam 2023-02-03 10:57:59.385098144 +0100
|
||||
+++ b/tools/build/src/tools/common.jam 2023-02-03 11:00:34.982146918 +0100
|
||||
@@ -1127,18 +1127,18 @@
|
||||
import $(toolset) ;
|
||||
local tool-version = [ $(toolset).get-full-version $(command) ] ;
|
||||
|
||||
- import version ;
|
||||
- if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
- : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
- {
|
||||
- errors.error toolset $(toolset) "initialization:"
|
||||
- : version '$(version)' requested but
|
||||
- '$(tool)-$(version)' not found and version
|
||||
- '$(tool-version:J=.)' of default '$(command)'
|
||||
- does not match
|
||||
- : initialized from [ errors.nearest-user-location ]
|
||||
- ;
|
||||
- }
|
||||
+ #import version ;
|
||||
+ #if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
+ # : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
+ #{
|
||||
+ # errors.error toolset $(toolset) "initialization:"
|
||||
+ # : version '$(version)' requested but
|
||||
+ # '$(tool)-$(version)' not found and version
|
||||
+ # '$(tool-version:J=.)' of default '$(command)'
|
||||
+ # does not match
|
||||
+ # : initialized from [ errors.nearest-user-location ]
|
||||
+ # ;
|
||||
+ #}
|
||||
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
|
||||
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
|
||||
@@ -974,16 +974,16 @@
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
||||
|
||||
# From GCC 5, versioning changes and minor becomes patch
|
||||
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# Ditto, from Clang 4
|
||||
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# On intel, version is not added, because it does not matter and it is the
|
||||
# version of vc used as backend that matters. Ideally, we should encode the
|
||||
|
|
|
@ -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) ;
|
|
@ -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
|
||||
_android_toolchain=arm-linux-androideabi
|
||||
_andoird_toolchain_dir=$_android_toolchain
|
||||
_android_platform=24 # https://developer.android.com/about/dashboards/
|
||||
_android_target=armv7a-linux-androideabi$_android_platform
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_boost_arch=arm
|
||||
_boost_address_model=32
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.76.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')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
|
||||
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
|
||||
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
|
||||
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
# https://github.com/boostorg/phoenix/issues/111
|
||||
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
|
||||
|
||||
cd ${_srcname}
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
|
||||
|
||||
patch -i ../no-versioned-shlibs.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
|
||||
local target_flags=" \
|
||||
--target=$_android_target"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
|
||||
-fexceptions \
|
||||
-no-canonical-prefixes \
|
||||
-D__ANDROID_API__=$_android_platform \
|
||||
-O3 \
|
||||
-fPIC \
|
||||
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
|
||||
local ld_flags=" \
|
||||
$target_flags \
|
||||
-fexceptions \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
||||
# 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
|
||||
cd ${_srcname}
|
||||
|
||||
./bootstrap.sh -with-toolset=gcc
|
||||
./bootstrap.sh --with-toolset=gcc
|
||||
|
||||
# support for OpenMPI
|
||||
if [[ _boost_address_model == 64 ]]; then
|
||||
_boost_mpi='using mpi ;'
|
||||
else
|
||||
_boost_mpi=''
|
||||
fi
|
||||
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
|
||||
|
||||
userConfigs=$srcdir/$_srcname/user-config.jam
|
||||
# Support for OpenMPI
|
||||
echo "using mpi ;" >> project-config.jam
|
||||
|
||||
cat << EOF > "${userConfigs}"
|
||||
${_boost_mpi}
|
||||
using clang : android : ${ANDROID_CXX} :
|
||||
<archiver>${ANDROID_AR} \
|
||||
<assembler>${ANDROID_AS}
|
||||
;
|
||||
EOF
|
||||
# boostbook is needed by quickbook
|
||||
install -dm755 "${_stagedir}"/share/boostbook
|
||||
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
|
||||
|
||||
./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}"
|
||||
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
||||
|
||||
# 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
|
||||
"${_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="/opt/android-libs/$_pkg_arch" \
|
||||
cflags="$common_flags" \
|
||||
cxxflags="$common_flags -frtti -std=c++14" \
|
||||
linkflags="$ld_flags" \
|
||||
--layout=system \
|
||||
${jobs} \
|
||||
\
|
||||
--prefix="${_stagedir}" \
|
||||
install
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
|
||||
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
|
||||
local libdir="${pkgdir}"$_android_prefix/lib
|
||||
install -d "${libdir}"
|
||||
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
|
||||
|
||||
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}/"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
|
||||
|
||||
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
|
||||
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
|
||||
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
|
||||
|
||||
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
|
||||
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
|
||||
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
https://bugs.gentoo.org/887041
|
||||
https://github.com/boostorg/phoenix/issues/111
|
||||
--- a/boost/phoenix/stl.hpp
|
||||
+++ b/boost/phoenix/stl.hpp
|
||||
@@ -11,6 +11,5 @@
|
||||
|
||||
#include <boost/phoenix/stl/algorithm.hpp>
|
||||
#include <boost/phoenix/stl/container.hpp>
|
||||
-#include <boost/phoenix/stl/tuple.hpp>
|
||||
|
||||
#endif
|
|
@ -1,59 +0,0 @@
|
|||
From a31e5cffa85f58b64a39fa7c4a1bd3bd9228b069 Mon Sep 17 00:00:00 2001
|
||||
From: Conrad Poelman <cpgithub@stellarscience.com>
|
||||
Date: Tue, 4 Aug 2020 17:20:40 -0400
|
||||
Subject: [PATCH] Remove deprecated inheritance from std::iterator (#97)
|
||||
|
||||
std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them.
|
||||
---
|
||||
.../boost/numeric/ublas/detail/iterator.hpp | 24 ++++++++++++++-----
|
||||
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/boost/numeric/ublas/detail/iterator.hpp b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
index 1723a301c..7aebf2f9f 100644
|
||||
--- a/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
+++ b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct forward_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -145,8 +149,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment and post decrement operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct bidirectional_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct bidirectional_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
*/
|
||||
template<class IC, class I, class T, class D = std::ptrdiff_t>
|
||||
// ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect
|
||||
- struct random_access_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct random_access_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef D difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
typedef D derived_difference_type;
|
|
@ -1,33 +1,27 @@
|
|||
--- a/tools/build/src/tools/common.jam 2023-02-03 10:57:59.385098144 +0100
|
||||
+++ b/tools/build/src/tools/common.jam 2023-02-03 11:00:34.982146918 +0100
|
||||
@@ -1127,18 +1127,18 @@
|
||||
import $(toolset) ;
|
||||
local tool-version = [ $(toolset).get-full-version $(command) ] ;
|
||||
|
||||
- import version ;
|
||||
- if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
- : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
- {
|
||||
- errors.error toolset $(toolset) "initialization:"
|
||||
- : version '$(version)' requested but
|
||||
- '$(tool)-$(version)' not found and version
|
||||
- '$(tool-version:J=.)' of default '$(command)'
|
||||
- does not match
|
||||
- : initialized from [ errors.nearest-user-location ]
|
||||
- ;
|
||||
- }
|
||||
+ #import version ;
|
||||
+ #if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
+ # : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
+ #{
|
||||
+ # errors.error toolset $(toolset) "initialization:"
|
||||
+ # : version '$(version)' requested but
|
||||
+ # '$(tool)-$(version)' not found and version
|
||||
+ # '$(tool-version:J=.)' of default '$(command)'
|
||||
+ # does not match
|
||||
+ # : initialized from [ errors.nearest-user-location ]
|
||||
+ # ;
|
||||
+ #}
|
||||
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
|
||||
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
|
||||
@@ -974,16 +974,16 @@
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
||||
|
||||
# From GCC 5, versioning changes and minor becomes patch
|
||||
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# Ditto, from Clang 4
|
||||
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# On intel, version is not added, because it does not matter and it is the
|
||||
# version of vc used as backend that matters. Ideally, we should encode the
|
||||
|
|
|
@ -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) ;
|
|
@ -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
|
||||
_android_toolchain=x86_64-linux-android$_android_platform
|
||||
_andoird_toolchain_dir=$_android_arch
|
||||
_android_platform=24 # https://developer.android.com/about/dashboards/
|
||||
_android_target=$_android_toolchain
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_boost_arch=x86
|
||||
_boost_address_model=64
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.76.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')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
|
||||
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
|
||||
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
|
||||
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
# https://github.com/boostorg/phoenix/issues/111
|
||||
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
|
||||
|
||||
cd ${_srcname}
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
|
||||
|
||||
patch -i ../no-versioned-shlibs.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
|
||||
local target_flags=" \
|
||||
--target=$_android_target"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
|
||||
-fexceptions \
|
||||
-no-canonical-prefixes \
|
||||
-D__ANDROID_API__=$_android_platform \
|
||||
-O3 \
|
||||
-fPIC \
|
||||
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
|
||||
local ld_flags=" \
|
||||
$target_flags \
|
||||
-fexceptions \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
||||
# 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
|
||||
cd ${_srcname}
|
||||
|
||||
./bootstrap.sh -with-toolset=gcc
|
||||
./bootstrap.sh --with-toolset=gcc
|
||||
|
||||
# support for OpenMPI
|
||||
if [[ _boost_address_model == 64 ]]; then
|
||||
_boost_mpi='using mpi ;'
|
||||
else
|
||||
_boost_mpi=''
|
||||
fi
|
||||
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
|
||||
|
||||
userConfigs=$srcdir/$_srcname/user-config.jam
|
||||
# Support for OpenMPI
|
||||
echo "using mpi ;" >> project-config.jam
|
||||
|
||||
cat << EOF > "${userConfigs}"
|
||||
${_boost_mpi}
|
||||
using clang : android : ${ANDROID_CXX} :
|
||||
<archiver>${ANDROID_AR} \
|
||||
<assembler>${ANDROID_AS}
|
||||
;
|
||||
EOF
|
||||
# boostbook is needed by quickbook
|
||||
install -dm755 "${_stagedir}"/share/boostbook
|
||||
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
|
||||
|
||||
./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}"
|
||||
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
||||
|
||||
# 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
|
||||
"${_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="/opt/android-libs/$_pkg_arch" \
|
||||
cflags="$common_flags" \
|
||||
cxxflags="$common_flags -frtti -std=c++14" \
|
||||
linkflags="$ld_flags" \
|
||||
--layout=system \
|
||||
${jobs} \
|
||||
\
|
||||
--prefix="${_stagedir}" \
|
||||
install
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
|
||||
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
|
||||
local libdir="${pkgdir}"$_android_prefix/lib
|
||||
install -d "${libdir}"
|
||||
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
|
||||
|
||||
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}/"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
|
||||
|
||||
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
|
||||
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
|
||||
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
|
||||
|
||||
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
|
||||
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
|
||||
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
https://bugs.gentoo.org/887041
|
||||
https://github.com/boostorg/phoenix/issues/111
|
||||
--- a/boost/phoenix/stl.hpp
|
||||
+++ b/boost/phoenix/stl.hpp
|
||||
@@ -11,6 +11,5 @@
|
||||
|
||||
#include <boost/phoenix/stl/algorithm.hpp>
|
||||
#include <boost/phoenix/stl/container.hpp>
|
||||
-#include <boost/phoenix/stl/tuple.hpp>
|
||||
|
||||
#endif
|
|
@ -1,59 +0,0 @@
|
|||
From a31e5cffa85f58b64a39fa7c4a1bd3bd9228b069 Mon Sep 17 00:00:00 2001
|
||||
From: Conrad Poelman <cpgithub@stellarscience.com>
|
||||
Date: Tue, 4 Aug 2020 17:20:40 -0400
|
||||
Subject: [PATCH] Remove deprecated inheritance from std::iterator (#97)
|
||||
|
||||
std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them.
|
||||
---
|
||||
.../boost/numeric/ublas/detail/iterator.hpp | 24 ++++++++++++++-----
|
||||
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/boost/numeric/ublas/detail/iterator.hpp b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
index 1723a301c..7aebf2f9f 100644
|
||||
--- a/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
+++ b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct forward_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -145,8 +149,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment and post decrement operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct bidirectional_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct bidirectional_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
*/
|
||||
template<class IC, class I, class T, class D = std::ptrdiff_t>
|
||||
// ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect
|
||||
- struct random_access_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct random_access_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef D difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
typedef D derived_difference_type;
|
|
@ -1,33 +1,27 @@
|
|||
--- a/tools/build/src/tools/common.jam 2023-02-03 10:57:59.385098144 +0100
|
||||
+++ b/tools/build/src/tools/common.jam 2023-02-03 11:00:34.982146918 +0100
|
||||
@@ -1127,18 +1127,18 @@
|
||||
import $(toolset) ;
|
||||
local tool-version = [ $(toolset).get-full-version $(command) ] ;
|
||||
|
||||
- import version ;
|
||||
- if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
- : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
- {
|
||||
- errors.error toolset $(toolset) "initialization:"
|
||||
- : version '$(version)' requested but
|
||||
- '$(tool)-$(version)' not found and version
|
||||
- '$(tool-version:J=.)' of default '$(command)'
|
||||
- does not match
|
||||
- : initialized from [ errors.nearest-user-location ]
|
||||
- ;
|
||||
- }
|
||||
+ #import version ;
|
||||
+ #if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
+ # : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
+ #{
|
||||
+ # errors.error toolset $(toolset) "initialization:"
|
||||
+ # : version '$(version)' requested but
|
||||
+ # '$(tool)-$(version)' not found and version
|
||||
+ # '$(tool-version:J=.)' of default '$(command)'
|
||||
+ # does not match
|
||||
+ # : initialized from [ errors.nearest-user-location ]
|
||||
+ # ;
|
||||
+ #}
|
||||
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
|
||||
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
|
||||
@@ -974,16 +974,16 @@
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
||||
|
||||
# From GCC 5, versioning changes and minor becomes patch
|
||||
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# Ditto, from Clang 4
|
||||
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# On intel, version is not added, because it does not matter and it is the
|
||||
# version of vc used as backend that matters. Ideally, we should encode the
|
||||
|
|
|
@ -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) ;
|
|
@ -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
|
||||
_android_toolchain=i686-linux-android$_android_platform
|
||||
_andoird_toolchain_dir=$_android_arch
|
||||
_android_platform=24 # https://developer.android.com/about/dashboards/
|
||||
_android_target=$_android_toolchain
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_boost_arch=x86
|
||||
_boost_address_model=32
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.76.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')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
|
||||
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
|
||||
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
|
||||
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
# https://github.com/boostorg/phoenix/issues/111
|
||||
patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch
|
||||
|
||||
cd ${_srcname}
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
|
||||
|
||||
patch -i ../no-versioned-shlibs.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
|
||||
local target_flags=" \
|
||||
--target=$_android_target"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
|
||||
-fexceptions \
|
||||
-no-canonical-prefixes \
|
||||
-D__ANDROID_API__=$_android_platform \
|
||||
-O3 \
|
||||
-fPIC \
|
||||
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
|
||||
local ld_flags=" \
|
||||
$target_flags \
|
||||
-fexceptions \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
||||
# 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
|
||||
cd ${_srcname}
|
||||
|
||||
./bootstrap.sh -with-toolset=gcc
|
||||
./bootstrap.sh --with-toolset=gcc
|
||||
|
||||
# support for OpenMPI
|
||||
if [[ _boost_address_model == 64 ]]; then
|
||||
_boost_mpi='using mpi ;'
|
||||
else
|
||||
_boost_mpi=''
|
||||
fi
|
||||
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
|
||||
|
||||
userConfigs=$srcdir/$_srcname/user-config.jam
|
||||
# Support for OpenMPI
|
||||
echo "using mpi ;" >> project-config.jam
|
||||
|
||||
cat << EOF > "${userConfigs}"
|
||||
${_boost_mpi}
|
||||
using clang : android : ${ANDROID_CXX} :
|
||||
<archiver>${ANDROID_AR} \
|
||||
<assembler>${ANDROID_AS}
|
||||
;
|
||||
EOF
|
||||
# boostbook is needed by quickbook
|
||||
install -dm755 "${_stagedir}"/share/boostbook
|
||||
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
|
||||
|
||||
./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}"
|
||||
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
||||
|
||||
# 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
|
||||
"${_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="/opt/android-libs/$_pkg_arch" \
|
||||
cflags="$common_flags" \
|
||||
cxxflags="$common_flags -frtti -std=c++14" \
|
||||
linkflags="$ld_flags" \
|
||||
--layout=system \
|
||||
${jobs} \
|
||||
\
|
||||
--prefix="${_stagedir}" \
|
||||
install
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
local _stagedir="${srcdir}/stagedir"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
|
||||
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
|
||||
local libdir="${pkgdir}"$_android_prefix/lib
|
||||
install -d "${libdir}"
|
||||
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
|
||||
|
||||
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}/"
|
||||
install -dm755 "${pkgdir}"$_android_prefix
|
||||
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
|
||||
|
||||
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
|
||||
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
|
||||
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
|
||||
|
||||
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
|
||||
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
|
||||
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
https://bugs.gentoo.org/887041
|
||||
https://github.com/boostorg/phoenix/issues/111
|
||||
--- a/boost/phoenix/stl.hpp
|
||||
+++ b/boost/phoenix/stl.hpp
|
||||
@@ -11,6 +11,5 @@
|
||||
|
||||
#include <boost/phoenix/stl/algorithm.hpp>
|
||||
#include <boost/phoenix/stl/container.hpp>
|
||||
-#include <boost/phoenix/stl/tuple.hpp>
|
||||
|
||||
#endif
|
|
@ -1,59 +0,0 @@
|
|||
From a31e5cffa85f58b64a39fa7c4a1bd3bd9228b069 Mon Sep 17 00:00:00 2001
|
||||
From: Conrad Poelman <cpgithub@stellarscience.com>
|
||||
Date: Tue, 4 Aug 2020 17:20:40 -0400
|
||||
Subject: [PATCH] Remove deprecated inheritance from std::iterator (#97)
|
||||
|
||||
std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them.
|
||||
---
|
||||
.../boost/numeric/ublas/detail/iterator.hpp | 24 ++++++++++++++-----
|
||||
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/boost/numeric/ublas/detail/iterator.hpp b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
index 1723a301c..7aebf2f9f 100644
|
||||
--- a/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
+++ b/include/boost/numeric/ublas/detail/iterator.hpp
|
||||
@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct forward_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -145,8 +149,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment and post decrement operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct bidirectional_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct bidirectional_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
*/
|
||||
template<class IC, class I, class T, class D = std::ptrdiff_t>
|
||||
// ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect
|
||||
- struct random_access_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct random_access_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef D difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
typedef D derived_difference_type;
|
|
@ -1,33 +1,27 @@
|
|||
--- a/tools/build/src/tools/common.jam 2023-02-03 10:57:59.385098144 +0100
|
||||
+++ b/tools/build/src/tools/common.jam 2023-02-03 11:00:34.982146918 +0100
|
||||
@@ -1127,18 +1127,18 @@
|
||||
import $(toolset) ;
|
||||
local tool-version = [ $(toolset).get-full-version $(command) ] ;
|
||||
|
||||
- import version ;
|
||||
- if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
- : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
- {
|
||||
- errors.error toolset $(toolset) "initialization:"
|
||||
- : version '$(version)' requested but
|
||||
- '$(tool)-$(version)' not found and version
|
||||
- '$(tool-version:J=.)' of default '$(command)'
|
||||
- does not match
|
||||
- : initialized from [ errors.nearest-user-location ]
|
||||
- ;
|
||||
- }
|
||||
+ #import version ;
|
||||
+ #if ! [ version.version-compatible [ SPLIT_BY_CHARACTERS $(version) : . ]
|
||||
+ # : [ SPLIT_BY_CHARACTERS $(tool-version) : . ] ]
|
||||
+ #{
|
||||
+ # errors.error toolset $(toolset) "initialization:"
|
||||
+ # : version '$(version)' requested but
|
||||
+ # '$(tool)-$(version)' not found and version
|
||||
+ # '$(tool-version:J=.)' of default '$(command)'
|
||||
+ # does not match
|
||||
+ # : initialized from [ errors.nearest-user-location ]
|
||||
+ # ;
|
||||
+ #}
|
||||
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
|
||||
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
|
||||
@@ -974,16 +974,16 @@
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
||||
|
||||
# From GCC 5, versioning changes and minor becomes patch
|
||||
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# Ditto, from Clang 4
|
||||
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
- {
|
||||
- version = $(version[1]) ;
|
||||
- }
|
||||
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
|
||||
+ #{
|
||||
+ # version = $(version[1]) ;
|
||||
+ #}
|
||||
|
||||
# On intel, version is not added, because it does not matter and it is the
|
||||
# version of vc used as backend that matters. Ideally, we should encode the
|
||||
|
|
|
@ -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) ;
|
|
@ -1,6 +1,6 @@
|
|||
_pkgbase=boost
|
||||
pkgname=boost-doc
|
||||
pkgver=1.81.0
|
||||
pkgver=1.76.0
|
||||
_srcname=boost_${pkgver//./_}
|
||||
pkgrel=1
|
||||
pkgdesc='Free peer-reviewed portable C++ source libraries (HTML documentation)'
|
||||
|
@ -8,8 +8,8 @@ url='https://www.boost.org/'
|
|||
arch=('x86_64')
|
||||
license=('custom')
|
||||
makedepends=()
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2)
|
||||
sha256sums=('71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa')
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz)
|
||||
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca')
|
||||
options=(!strip)
|
||||
|
||||
package() {
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
|
||||
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
|
||||
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
||||
# Contributor: Marius Knaust <marius.knaust@gmail.com>
|
||||
# Contributor: Ionut Biru <ibiru@archlinux.org>
|
||||
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
|
||||
# Contributor: kevin <kevin@archlinux.org>
|
||||
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
|
||||
# Contributor: Kritoke <kritoke@gamebox.net>
|
||||
# Contributor: Luca Roccia <little_rock@users.sourceforge.net>
|
||||
|
||||
_pkgname=boost
|
||||
pkgname=static-compat-$_pkgname
|
||||
pkgver=1.81.0
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
pkgdesc="Free peer-reviewed portable C++ source libraries"
|
||||
arch=('x86_64')
|
||||
url="https://www.boost.org/"
|
||||
license=('custom')
|
||||
options=('staticlibs')
|
||||
depends=('static-compat-zlib' 'static-compat-zstd' 'static-compat-bzip2')
|
||||
makedepends=('static-compat-environment')
|
||||
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2
|
||||
boost-1.81.0-phoenix-multiple-definitions.patch
|
||||
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch)
|
||||
sha256sums=('71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa'
|
||||
'3ebf428ef6be090a7b56a233330375539ac429333b83708e28fe5db049cfecdb'
|
||||
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee')
|
||||
|
||||
prepare() {
|
||||
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 ../$_pkgname-ublas-c++20-iterator.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
local JOBS="$(sed 's/.*\(-j *[0-9]\+\).*/\1/' <<<$MAKEFLAGS)"
|
||||
|
||||
pushd $_srcname/tools/build
|
||||
./bootstrap.sh --cxxflags="$CXXFLAGS $LDFLAGS"
|
||||
./b2 install --prefix="$srcdir"/fakeinstall
|
||||
ln -s b2 "$srcdir"/fakeinstall/bin/bjam
|
||||
popd
|
||||
|
||||
cd $_srcname
|
||||
./bootstrap.sh --with-toolset=gcc
|
||||
|
||||
# boostbook is needed by quickbook
|
||||
install -dm755 "$srcdir"/fakeinstall/share/boostbook
|
||||
cp -a tools/boostbook/{xsl,dtd} "$srcdir"/fakeinstall/share/boostbook/
|
||||
|
||||
# install to $srcdir/fakeinstall in preparation for split packaging
|
||||
./b2 install \
|
||||
variant=release \
|
||||
debug-symbols=off \
|
||||
threading=multi \
|
||||
runtime-link=static \
|
||||
link=static \
|
||||
toolset=gcc \
|
||||
--without-python --without-mpi --without-graph_parallel \
|
||||
cflags="$CPPFLAGS $CFLAGS -fPIC -O3 -ffat-lto-objects" \
|
||||
cxxflags="$CPPFLAGS $CXXFLAGS -fPIC -O3 -ffat-lto-objects" \
|
||||
linkflags="$LDFLAGS" \
|
||||
--layout=system \
|
||||
$JOBS \
|
||||
\
|
||||
--prefix="$srcdir"/fakeinstall
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
|
||||
install -d "$pkgdir/$static_compat_prefix"/lib
|
||||
cp -a fakeinstall/lib/*.a "$pkgdir/$static_compat_prefix"/lib/
|
||||
cp -a fakeinstall/lib/cmake "$pkgdir/$static_compat_prefix"/lib/
|
||||
cp -a fakeinstall/{bin,include} "$pkgdir/$static_compat_prefix"/
|
||||
|
||||
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" $_srcname/LICENSE_1_0.txt
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
../android-aarch64/boost-1.81.0-phoenix-multiple-definitions.patch
|
|
@ -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
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
# Contributor: Felix Yan <felixonmars@archlinux.org>
|
||||
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
|
||||
# Contributor: Lex Black <autumn-wind at web dot de>
|
||||
# Contributor: TingPing <tingping@tingping.se>
|
||||
# Contributor: Guillaume Horel <guillaume.horel@gmail.com>
|
||||
|
||||
pkgname=static-compat-brotli
|
||||
_gitcommit=ed738e842d2fbdf2d6459e39267a633c4a9b2f5d
|
||||
pkgver=1.1.0
|
||||
pkgrel=2
|
||||
pkgdesc='Generic-purpose lossless compression algorithm'
|
||||
url='https://github.com/google/brotli'
|
||||
arch=('x86_64')
|
||||
license=('MIT')
|
||||
depends=('gcc-libs-static-compat')
|
||||
makedepends=('static-compat-cmake' 'git')
|
||||
options=('staticlibs')
|
||||
source=(${pkgname}::"git+${url}#commit=${_gitcommit}")
|
||||
sha512sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd ${pkgbase}
|
||||
git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
|
||||
}
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
cd ${pkgbase}
|
||||
static-compat-cmake -B build \
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -v
|
||||
}
|
||||
|
||||
check() {
|
||||
source static-compat-environment
|
||||
cd ${pkgbase}
|
||||
cd build
|
||||
ctest --output-on-failure --stop-on-failure -j$(nproc)
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
cd ${pkgbase}
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
find "$pkgdir/$static_compat_prefix" -iname '*.so*' -delete
|
||||
install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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)
|
||||
}
|
|
@ -2,15 +2,14 @@
|
|||
# Contributor: Judd <jvinet@zeroflux.org>
|
||||
|
||||
_pkgname=bzip2
|
||||
pkgname=static-compat-$_pkgname
|
||||
pkgname=$_pkgname-static
|
||||
pkgver=1.0.8
|
||||
pkgrel=1
|
||||
pkgdesc="A high-quality data compression program"
|
||||
arch=('x86_64')
|
||||
license=('BSD')
|
||||
url="https://sourceware.org/bzip2/"
|
||||
depends=('glibc-static-compat')
|
||||
makedepends=('static-compat-environment')
|
||||
depends=('glibc' 'sh')
|
||||
options=(staticlibs)
|
||||
source=(https://sourceware.org/pub/bzip2/$_pkgname-$pkgver.tar.gz{,.sig}
|
||||
bzip2.pc)
|
||||
|
@ -26,25 +25,22 @@ prepare() {
|
|||
}
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
cd $_pkgname-$pkgver
|
||||
|
||||
make libbz2.a CC="$CC $CFLAGS $CPPFLAGS $LDFLAGS"
|
||||
make libbz2.a CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS"
|
||||
}
|
||||
|
||||
check() {
|
||||
source static-compat-environment
|
||||
cd $_pkgname-$pkgver
|
||||
make test
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
cd $_pkgname-$pkgver
|
||||
|
||||
install -dm755 "$pkgdir/$static_compat_prefix"/{lib,include}
|
||||
cp -a libbz2.a "$pkgdir/$static_compat_prefix"/lib
|
||||
install -m644 bzlib.h "$pkgdir/$static_compat_prefix"/include/
|
||||
install -Dm644 bzip2.pc -t "$pkgdir/$static_compat_prefix"/lib/pkgconfig
|
||||
install -dm755 "$pkgdir"/usr/static/{lib,include}
|
||||
cp -a libbz2.a "$pkgdir"/usr/static/lib
|
||||
install -m644 bzlib.h "$pkgdir"/usr/static/include/
|
||||
install -Dm644 bzip2.pc -t "$pkgdir"/usr/static/lib/pkgconfig
|
||||
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
_reponame=cpp-utilities
|
||||
pkgname=c++utilities
|
||||
pkgver=5.24.8
|
||||
pkgver=5.11.1
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
|
||||
|
@ -14,10 +14,13 @@ depends=('gcc-libs')
|
|||
optdepends=("$pkgname-doc: API documentation")
|
||||
makedepends=('cmake' 'ninja')
|
||||
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=('cd36c39b10f1884bcb7c49337891a4ade157e6bc12ee40526387a0f717c33bda')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
_name=c++utilities
|
||||
_reponame=cpp-utilities
|
||||
pkgname=$_name-doc
|
||||
pkgver=5.24.8
|
||||
pkgver=5.11.1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (API documentation)'
|
||||
license=('GPL')
|
||||
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz')
|
||||
makedepends=('cmake' 'ninja' 'doxygen' 'dia' 'graphviz')
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
|
||||
sha256sums=('cd36c39b10f1884bcb7c49337891a4ade157e6bc12ee40526387a0f717c33bda')
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
_reponame=cpp-utilities
|
||||
pkgname=c++utilities-git
|
||||
_name=${pkgname%-git}
|
||||
pkgver=989.6390182
|
||||
pkgver=917.e6e7a63
|
||||
pkgrel=2
|
||||
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
|
||||
|
@ -15,7 +15,8 @@ depends=('gcc-libs')
|
|||
optdepends=("$_name-doc: API documentation")
|
||||
makedepends=('cmake' 'git' 'ninja')
|
||||
checkdepends=('cppunit')
|
||||
provides=(libc++utilities-git.so)
|
||||
#provides=("${_name}")
|
||||
#conflicts=("${_name}")
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git")
|
||||
sha256sums=('SKIP')
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
_reponame=cpp-utilities
|
||||
pkgname=mingw-w64-c++utilities
|
||||
_name=${pkgname#mingw-w64-}
|
||||
pkgver=5.24.8
|
||||
pkgver=5.11.1
|
||||
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=('cd36c39b10f1884bcb7c49337891a4ade157e6bc12ee40526387a0f717c33bda')
|
||||
options=(!buildflags staticlibs !strip !emptydirs)
|
||||
|
||||
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
|
||||
|
|
|
@ -1,49 +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.
|
||||
|
||||
_reponame=cpp-utilities
|
||||
pkgname=static-compat-c++utilities
|
||||
_name=${pkgname#static-compat-}
|
||||
pkgver=5.24.8
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
|
||||
license=('GPL')
|
||||
depends=('gcc-libs-static-compat')
|
||||
optdepends=("$_name-doc: API documentation")
|
||||
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')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
}
|
||||
|
||||
build() {
|
||||
check_buildoption ccache y && ccache_args='
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache'
|
||||
source static-compat-environment
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
static-compat-cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
.
|
||||
ninja
|
||||
}
|
||||
|
||||
check() {
|
||||
source static-compat-environment
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
ninja check
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
}
|
|
@ -5,17 +5,14 @@
|
|||
|
||||
pkgname=cmake-format
|
||||
pkgver=0.6.13
|
||||
pkgrel=3
|
||||
pkgrel=1
|
||||
pkgdesc='Source code formatter for CMake listfiles'
|
||||
arch=('any')
|
||||
url='https://github.com/cheshirekow/cmake_format'
|
||||
license=('GPL3')
|
||||
depends=('python-six>=1.13.0')
|
||||
makedepends=('python-setuptools')
|
||||
optdepends=('python-yaml>=5.3: YAML config files' 'python-jinja>=2.10.3: complete HTML annotation' 'python-argcomplete: automatic shell completion')
|
||||
depends=('python-setuptools' 'python-six>=1.13.0')
|
||||
optdepends=('python-yaml>=5.3' 'python-jinja>=2.10.3' 'python-argcomplete: automatic shell completion')
|
||||
checkdepends=('cmake')
|
||||
provides=('python-cmakelang')
|
||||
conflicts=('python-cmakelang')
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/cheshirekow/cmake_format/archive/v${pkgver}.tar.gz")
|
||||
sha512sums=('eb7fde540860b6119d0bb528f22592fb4b507f9319aeda0999da10bcc89ee1348fd7d701fc49aa5dac7616e1577e436cbd73de94dbbab0cafdf28e1812612342')
|
||||
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
pkgname=static-compat-cmake
|
||||
pkgver=1
|
||||
pkgrel=2
|
||||
arch=('any')
|
||||
pkgdesc="CMake wrapper to use gcc-static-compat"
|
||||
depends=('cmake' 'static-compat-environment')
|
||||
license=('GPL')
|
||||
url="https://github.com/Martchus/PKGBUILDs"
|
||||
source=("static-compat-cmake.sh")
|
||||
# "toolchain-static-compat.cmake")
|
||||
sha256sums=('SKIP' 'SKIP')
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
#sed "s|@PREFIX@|$static_compat_prefix|g;s|@PROCESSOR@|$CARCH|g" toolchain-static-compat.cmake > "toolchain-static-compat-#$CARCH.cmake"
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
install -d "${pkgdir}"/usr/bin
|
||||
#install -d "${pkgdir}/$static_compat_prefix"/share/cmake-toolchain
|
||||
#install -m 644 "toolchain-static-compat-$CARCH.cmake" "${pkgdir}/$static_compat_prefix"/share/cmake-toolchain
|
||||
install -m 755 "static-compat-cmake.sh" "${pkgdir}"/usr/bin/static-compat-cmake
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
source static-compat-environment
|
||||
|
||||
cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH="$static_compat_prefix" \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DCMAKE_FIND_ROOT_PATH:PATH="$static_compat_prefix" \
|
||||
-DCMAKE_C_COMPILER:PATH="$static_compat_prefix/bin/gcc" \
|
||||
-DCMAKE_CXX_COMPILER:PATH="$static_compat_prefix/bin/g++" \
|
||||
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH="$static_compat_prefix"/include \
|
||||
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH="$static_compat_prefix"/include \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
"$@"
|
|
@ -1,17 +0,0 @@
|
|||
set (CMAKE_SYSTEM_NAME Linux)
|
||||
set (CMAKE_SYSTEM_PROCESSOR @PROCESSOR@)
|
||||
|
||||
# specify the cross compiler
|
||||
set (CMAKE_C_COMPILER @PREFIX@/bin/gcc)
|
||||
set (CMAKE_CXX_COMPILER @PREFIX@/bin/g++)
|
||||
|
||||
# specify the root path of 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)
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
pkgname=cmake-static
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='CMake wrapper for using static libraries and glibc compat header'
|
||||
depends=('cmake')
|
||||
license=("GPL")
|
||||
url='https://github.com/martchus/pkgbuilds'
|
||||
source=(cmake-static.sh
|
||||
toolchain-static.cmake
|
||||
glibc-2.17.h::https://raw.githubusercontent.com/billziss-gh/glibc-compat/master/glibc-2.17.h)
|
||||
sha256sums=('SKIP' 'SKIP' 'TODO')
|
||||
|
||||
package() {
|
||||
install -d "${pkgdir}"/usr/bin
|
||||
install -d "${pkgdir}"/usr/share/cmake-static
|
||||
install -d "${pkgdir}"/usr/static/{toolchain,include}
|
||||
install -m 644 toolchain-static.cmake "${pkgdir}"/usr/static/toolchain
|
||||
install -m 644 glibc-2.17.h "${pkgdir}"/usr/static/include
|
||||
install -m 755 cmake-static "${pkgdir}"/usr/bin/cmake-static
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
static_prefix=/usr/static
|
||||
|
||||
PATH=${static_prefix}/bin:$PATH cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH="${static_prefix}" \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/usr/share/static/toolchain/toolchain-static.cmake \
|
||||
"$@"
|
|
@ -0,0 +1,39 @@
|
|||
# This toolchain file helps building a mostly statically linked executable by
|
||||
# defining certain variables. It is mainly focusing on dependencies used by Qt.
|
||||
|
||||
# prefer libraries from "static" sub-prefix
|
||||
set(CMAKE_FIND_ROOT_PATH "/usr/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 after loading the toolchain
|
||||
# file. The project needs to make the actual override if enforcing static
|
||||
# libraries is required.
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE ".a;.so")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "$ENV{LDFLAGS} -static-libgcc -static-libstdc++" CACHE STRING "linker flags for static builds" FORCE)
|
||||
set(CMAKE_C_FLAGS "$ENV{CFLAGS} -include /usr/static/include/glibc-2.17.h" CACHE STRING "C flags for static builds" FORCE)
|
||||
set(CMAKE_CPP_FLAGS "$ENV{CPPFLAGS} -include /usr/static/include/glibc-2.17.h" CACHE STRING "Cpp flags for static builds" FORCE)
|
||||
set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -include /usr/static/include/glibc-2.17.h" CACHE STRING "C++ flags for static builds" FORCE)
|
||||
set(OPENSSL_USE_STATIC_LIBS ON)
|
||||
set(BOOST_USE_STATIC_LIBS ON)
|
||||
|
||||
# workaround limitations in upstream pkg-config files and CMake find modules
|
||||
set(pkgcfg_lib_libbrotlicommon_brotlicommon "/usr/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlicommon")
|
||||
set(pkgcfg_lib_libbrotlienc_brotlienc "/usr/lib/libbrotlienc-static.a;/usr/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotliend")
|
||||
set(pkgcfg_lib_libbrotlidec_brotlidec "/usr/lib/libbrotlidec-static.a;/usr/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")
|
||||
|
||||
# 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`).
|
||||
set(OPENSSL_DEPENDENCIES "-ldl;-pthread" CACHE INTERNAL "dependencies of static OpenSSL libraries")
|
||||
set(LIBPNG_DEPENDENCIES "-lz" CACHE INTERNAL "dependencies of static libpng")
|
||||
set(GLIB2_DEPENDENCIES "-pthread" CACHE INTERNAL "dependencies of static Glib2")
|
||||
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};-lm;-lfreetype;-lgraphite2" CACHE INTERNAL "dependencies of static HarfBuzz library")
|
||||
set(DBUS1_DEPENDENCIES "-pthread" CACHE INTERNAL "dependencies of static D-Bus1 library")
|
|
@ -1,17 +0,0 @@
|
|||
|
||||
pkgname=static-compat-configure
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc="configure wrapper for gcc-static-compat"
|
||||
depends=('static-compat-environment')
|
||||
license=('GPL')
|
||||
url="https://github.com/Martchus/PKGBUILDs"
|
||||
source=("static-compat-configure.sh")
|
||||
md5sums=('SKIP')
|
||||
|
||||
package() {
|
||||
install -d "${pkgdir}"/usr/bin
|
||||
install -m 755 static-compat-configure.sh "${pkgdir}"/usr/bin/static-compat-configure
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# check if last arg is a path to configure, else use parent
|
||||
for last; do true; done
|
||||
if test -x "${last}/configure"; then
|
||||
config_path="$last"
|
||||
elif [[ -e ./configure ]]; then
|
||||
config_path=.
|
||||
else
|
||||
config_path=..
|
||||
fi
|
||||
|
||||
source static-compat-environment
|
||||
|
||||
${config_path}/configure \
|
||||
--prefix="$static_compat_prefix" \
|
||||
--libdir="$static_compat_prefix/lib" \
|
||||
--includedir="$static_compat_prefix/include" \
|
||||
"$@"
|
|
@ -1,31 +0,0 @@
|
|||
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
|
||||
# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
|
||||
|
||||
pkgname=cppunit
|
||||
pkgver=1.15.1
|
||||
pkgrel=2
|
||||
pkgdesc="A C++ unit testing framework"
|
||||
arch=('x86_64')
|
||||
url="https://www.freedesktop.org/wiki/Software/cppunit"
|
||||
license=('LGPL')
|
||||
depends=('sh' 'gcc-libs')
|
||||
makedepends=('doxygen')
|
||||
options=('!emptydirs')
|
||||
source=(https://dev-www.libreoffice.org/src/${pkgname}-${pkgver}.tar.gz)
|
||||
sha256sums=('89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7')
|
||||
|
||||
build() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
./configure --prefix=/usr --disable-static
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
make check
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
make DESTDIR="${pkgdir}" install
|
||||
}
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
_name=cppunit
|
||||
pkgname=mingw-w64-cppunit
|
||||
pkgver=1.15.1
|
||||
pkgver=1.15.0
|
||||
pkgrel=1
|
||||
pkgdesc="A C++ unit testing framework (mingw-w64)"
|
||||
arch=('any')
|
||||
|
@ -17,7 +17,7 @@ depends=('mingw-w64-crt')
|
|||
makedepends=('mingw-w64-gcc' 'mingw-w64-configure')
|
||||
options=(!strip !buildflags !libtool staticlibs !emptydirs)
|
||||
source=("https://dev-www.libreoffice.org/src/${_name}-${pkgver}.tar.gz")
|
||||
sha256sums=('89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7')
|
||||
sha256sums=('1c61dfdb430e04ebb411e4b80fbd49fe7e63a1be0209a76d7c07501f02834922')
|
||||
|
||||
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
_pkgname=cppunit
|
||||
pkgname=static-compat-$_pkgname
|
||||
pkgver=1.15.1
|
||||
pkgrel=1
|
||||
pkgdesc="A C++ unit testing framework"
|
||||
arch=('x86_64')
|
||||
url="https://www.freedesktop.org/wiki/Software/cppunit"
|
||||
license=('LGPL')
|
||||
depends=('sh' 'gcc-libs-static-compat')
|
||||
makedepends=('static-compat-configure')
|
||||
options=('!emptydirs' 'staticlibs')
|
||||
source=(https://dev-www.libreoffice.org/src/${_pkgname}-${pkgver}.tar.gz)
|
||||
sha256sums=('89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7')
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
cd ${_pkgname}-${pkgver}
|
||||
static-compat-configure --disable-shared
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
source static-compat-environment
|
||||
cd ${_pkgname}-${pkgver}
|
||||
make check
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
cd ${_pkgname}-${pkgver}
|
||||
make DESTDIR="${pkgdir}" install
|
||||
rm -r "$pkgdir/$static_compat_prefix/share"
|
||||
}
|
|
@ -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"
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
# Maintainer: Zion Nimchuk <zionnimchuk@gmail.com>
|
||||
# Contributor: Martchus <martchus@gmx.net>
|
||||
|
||||
_pkgbase='cubeb'
|
||||
pkgname=$_pkgbase-git
|
||||
pkgver=r1534.dc511c6
|
||||
provides=("cubeb=$pkgver" 'libcubeb.so')
|
||||
conflicts=('cubeb')
|
||||
pkgrel=2
|
||||
pkgdesc="A cross platform audio library"
|
||||
arch=('i686' 'x86_64')
|
||||
url="https://github.com/mozilla/cubeb"
|
||||
license=('GPL2')
|
||||
depends=('sndio' 'alsa-lib' 'speexdsp')
|
||||
makedepends=('git' 'cmake' 'libpulse' 'alsa-lib' 'jack2' 'sndio')
|
||||
optdepends=('libpulse: for PulseAudio support'
|
||||
'jack2: for JACK support')
|
||||
source=("$_pkgbase::git+https://github.com/mozilla/cubeb"
|
||||
'git+https://github.com/arsenm/sanitizers-cmake')
|
||||
md5sums=('SKIP'
|
||||
'SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "$srcdir/$_pkgbase"
|
||||
echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/$_pkgbase"
|
||||
mkdir -p build
|
||||
|
||||
git submodule init
|
||||
git config submodule.cmake/sanitizers-cmake.url "$srcdir/sanitizers-cmake"
|
||||
git submodule update
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/$_pkgbase/build"
|
||||
cmake .. \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_TESTS=False \
|
||||
-DBUILD_SHARED_LIBS=true \
|
||||
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
|
||||
-DUSE_PULSE=true \
|
||||
-DUSE_ALSA=true \
|
||||
-DUSE_JACK=true \
|
||||
-DUSE_SNDIO=true \
|
||||
-DUSE_OPENSL=false \
|
||||
-DUSE_KAI=false
|
||||
# What even is kai?
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$_pkgbase/build"
|
||||
make DESTDIR="$pkgdir/" install
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||
# Contributor: Jan de Groot <jgc@archlinux.org>
|
||||
# Contributor: Tom Gundersen <teg@jklm.no>
|
||||
# Contributor: Link Dupont <link@subpop.net>
|
||||
|
||||
_pkgname=dbus
|
||||
pkgname=static-compat-$_pkgname
|
||||
pkgver=1.14.4
|
||||
pkgrel=1
|
||||
pkgdesc="Freedesktop.org message bus system"
|
||||
url="https://wiki.freedesktop.org/www/Software/dbus/"
|
||||
arch=(x86_64)
|
||||
license=(GPL custom)
|
||||
depends=(static-compat-expat)
|
||||
makedepends=(static-compat-configure xmlto python yelp-tools git autoconf-archive)
|
||||
options=(!emptydirs staticlibs)
|
||||
source=("git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#tag=dbus-$pkgver"
|
||||
no-fatal-warnings.diff)
|
||||
sha256sums=('SKIP'
|
||||
'c10395be67e1127a58d7173b587fbbf16f8a8b271c41293558fcf9e27c185478')
|
||||
validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') # Simon McVittie <simon.mcvittie@collabora.co.uk>
|
||||
|
||||
prepare() {
|
||||
source static-compat-environment
|
||||
cd dbus
|
||||
|
||||
# Allow us to enable checks without them being fatal
|
||||
git apply -3 ../no-fatal-warnings.diff
|
||||
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
cd dbus
|
||||
static-compat-configure \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libexecdir="$static_compat_prefix"/lib/dbus-1.0 \
|
||||
runstatedir=/run \
|
||||
--enable-inotify \
|
||||
--disable-audit \
|
||||
--disable-systemd \
|
||||
--enable-user-session \
|
||||
--disable-xml-docs \
|
||||
--disable-doxygen-docs \
|
||||
--disable-ducktype-docs \
|
||||
--disable-shared \
|
||||
--enable-static \
|
||||
--without-x
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
source static-compat-environment
|
||||
make -C dbus check
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
DESTDIR="$pkgdir" make -C dbus install
|
||||
rm -r "$pkgdir"/{etc,var}
|
||||
rm -r "$pkgdir/$static_compat_prefix"/{bin,share/doc}
|
||||
|
||||
# remove -DDBUS_STATIC_BUILD from pc file
|
||||
# note: Qt's build script adds this as compiler flag `-D-DDBUS_STATIC_BUILD` which breaks
|
||||
# compilation. There's a patch to cope with the missing define anyways (taken from
|
||||
# mingw-w64 variant) so this should be fine.
|
||||
sed -i 's|-DDBUS_STATIC_BUILD||g' "$pkgdir/$static_compat_prefix"/lib/pkgconfig/dbus-1.pc
|
||||
|
||||
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING
|
||||
}
|
||||
|
||||
# vim:set sw=2 sts=-1 et:
|
|
@ -0,0 +1,65 @@
|
|||
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||
# Contributor: Jan de Groot <jgc@archlinux.org>
|
||||
# Contributor: Tom Gundersen <teg@jklm.no>
|
||||
# Contributor: Link Dupont <link@subpop.net>
|
||||
|
||||
_pkgname=dbus
|
||||
pkgname=$_pkgname-static
|
||||
pkgver=1.12.20
|
||||
pkgrel=1
|
||||
pkgdesc="Freedesktop.org message bus system"
|
||||
url="https://wiki.freedesktop.org/www/Software/dbus/"
|
||||
arch=(x86_64)
|
||||
license=(GPL custom)
|
||||
depends=(expat-static)
|
||||
makedepends=(xmlto python yelp-tools git autoconf-archive)
|
||||
options=(!emptydirs staticlibs)
|
||||
#source=("git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#tag=dbus-$pkgver"
|
||||
source=("git+https://gitlab.freedesktop.org/dbus/dbus.git#tag=dbus-$pkgver"
|
||||
no-fatal-warnings.diff)
|
||||
sha256sums=('SKIP'
|
||||
'6958eeec07557b92a28419eb1702331ee2f0a6fd17285e37dfb6130b9fa4cf6e')
|
||||
#validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') # Simon McVittie <simon.mcvittie@collabora.co.uk>
|
||||
|
||||
prepare() {
|
||||
cd dbus
|
||||
|
||||
# Allow us to enable checks without them being fatal
|
||||
patch -Np1 -i ../no-fatal-warnings.diff
|
||||
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
cd dbus
|
||||
./configure \
|
||||
--prefix=/usr/static \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libexecdir=/usr/static/lib/dbus-1.0 \
|
||||
runstatedir=/run \
|
||||
--enable-inotify \
|
||||
--disable-audit \
|
||||
--disable-systemd \
|
||||
--enable-user-session \
|
||||
--disable-xml-docs \
|
||||
--disable-doxygen-docs \
|
||||
--disable-ducktype-docs \
|
||||
--disable-shared \
|
||||
--enable-static \
|
||||
--without-x
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
make -C dbus check
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" make -C dbus install
|
||||
rm -r "$pkgdir"/{etc,var,usr/lib,usr/static/bin,usr/static/share/doc}
|
||||
|
||||
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING
|
||||
}
|
||||
|
||||
# vim:set sw=2 et:
|
|
@ -1,10 +1,10 @@
|
|||
diff --git i/dbus/dbus-internals.c w/dbus/dbus-internals.c
|
||||
index ab498b15..cf86f4ae 100644
|
||||
index 267aef97..b1064e85 100644
|
||||
--- i/dbus/dbus-internals.c
|
||||
+++ w/dbus/dbus-internals.c
|
||||
@@ -193,7 +193,7 @@ static dbus_bool_t warn_initted = FALSE;
|
||||
* threads, the worst that will happen is that warnings get their default
|
||||
* fatal/non-fatal nature. */
|
||||
@@ -185,7 +185,7 @@ const char *_dbus_no_memory_message = "Not enough memory";
|
||||
|
||||
static dbus_bool_t warn_initted = FALSE;
|
||||
static dbus_bool_t fatal_warnings = FALSE;
|
||||
-static dbus_bool_t fatal_warnings_on_check_failed = TRUE;
|
||||
+static dbus_bool_t fatal_warnings_on_check_failed = FALSE;
|
|
@ -23,7 +23,7 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|
|||
|| $project_name == 'qt5-webkit' # even revived version is dead
|
||||
|| $project_name == 'qt5-webview' # does not build for Windows, would require qt5-webengine
|
||||
|| $project_name == 'qt5-canvas3d' # removed from official releases
|
||||
|| $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
|
||||
|
||||
|
@ -49,9 +49,7 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|
|||
|
||||
# check if template exists and modify template instead
|
||||
template=$pkgbuild_file.sh.ep
|
||||
layoutname=$pkgname
|
||||
[[ $layoutname =~ android-aarch64-.* ]] && layoutname=android-${pkgname##android-aarch64-}
|
||||
layout=$bindir/generator/templates/layouts/$layoutname.sh.ep
|
||||
layout=$bindir/generator/templates/layouts/$pkgname.sh.ep
|
||||
if [[ -f $layout ]]; then
|
||||
[[ $VERBOSE ]] && echo "Considering layout $pkgname.sh.ep for $trimmed_path"
|
||||
pkgbuild_file=$layout
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
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 && \
|
||||
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 && \
|
||||
rm -rf /usr/share/man/* /tmp/* /var/tmp/*
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
export LOGDEST=$PWD SRCPKGDEST=$PWD SRCDEST=$PWD PKGDEST=$PWD BUILDDIR=/build
|
||||
export BUILDTOOL=makecontainerbuild BUILDTOOLVER="0.0.1"
|
||||
exec
|
|
@ -1,8 +0,0 @@
|
|||
#!/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"
|
||||
done
|
||||
[[ -f PKGBUILD ]] && source PKGBUILD
|
||||
$sudo pacman -Syu --noconfirm --needed "${depends[@]}" "${makedepends[@]}" "${checkdepends[@]}"
|
|
@ -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")"
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
bindir=$(dirname "$0")
|
||||
${CRE:-docker} image pull archlinux
|
||||
${CRE:-docker} image build --no-cache --tag "${CRE_IMAGE:-archlinux-base-devel}" "$bindir/base-devel"
|
|
@ -1,102 +0,0 @@
|
|||
#!/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
|
||||
else
|
||||
if [[ $PKGNAME ]]; then
|
||||
pkgname=$PKGNAME
|
||||
else
|
||||
source PKGBUILD
|
||||
pkgname=$(echo "$pkgname" | tr '+' 'p')
|
||||
fi
|
||||
uuid=$(cat /proc/sys/kernel/random/uuid)
|
||||
name=$tool-$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=
|
||||
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
|
||||
if [[ $arg == '--' ]]; then
|
||||
read_script_args=1
|
||||
else
|
||||
cre_args+=("$arg")
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# add arguments from environment
|
||||
if [[ $PACMAN_PKG_CACHE_DIR ]]; then
|
||||
cre_args+=(-v "$PACMAN_PKG_CACHE_DIR":/var/cache/pacman/pkg)
|
||||
fi
|
||||
if [[ $CONTAINER_BUILD_CFG_DIR ]]; then
|
||||
cre_args+=(-v "$CONTAINER_BUILD_CFG_DIR":/cfg)
|
||||
fi
|
||||
if [[ $CONTAINER_BUILD_CCACHE_DIR ]]; then
|
||||
cre_args+=(-v "$CONTAINER_BUILD_CCACHE_DIR":/ccache)
|
||||
script_args+=' CCACHE_DIR=/ccache'
|
||||
fi
|
||||
|
||||
# load "containerbuild" and "containersync" script
|
||||
bindir=$(dirname "$0")
|
||||
script=$(cat "$bindir/containerbuild")
|
||||
if ! [[ $no_sync ]]; then
|
||||
script_sync=$(cat "$bindir/containersync")
|
||||
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 start "$name"
|
||||
fi
|
||||
"$cre" container exec "$name" bash \
|
||||
-c "$script_sync $script '$tool' $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"
|
||||
|
||||
# log message about commands to use for investigation
|
||||
[[ $ec != 0 ]] && [[ $DEBUG ]] && echo \
|
||||
"You may investigate the failure via:
|
||||
$cre exec -it '$name' bash
|
||||
$cre mount '$name'
|
||||
You may retry the build using the same container again via:
|
||||
CONTAINER='$name' DEBUG='$DEBUG' $0 $@"
|
||||
|
||||
exit $ec
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e # abort on first error
|
||||
shopt -s nullglob
|
||||
bindir=$(dirname "$0")
|
||||
source "$bindir/../versions.sh"
|
||||
expected_version=${versions[qt5]}.*
|
||||
|
||||
arch_pkgbuilds=$1
|
||||
[[ $arch_pkgbuilds ]] && cd "$arch_pkgbuilds"
|
||||
|
||||
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
|
||||
if [[ $pkgver == "${versions[qt5]}" ]]; then
|
||||
pkgver=0
|
||||
fi
|
||||
echo "${pkgname##qt5-} => [${pkgver##*+r}, '$_commit']",
|
||||
fi
|
||||
done
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use Encode 'encode';
|
||||
use FindBin;
|
||||
use Mojolicious;
|
||||
use Mojo::File 'path';
|
||||
|
@ -11,7 +12,7 @@ use strict;
|
|||
use utf8;
|
||||
|
||||
my @vcs_0_variant_suffixes = (qw(git svn hg));
|
||||
my @cfg_0_variant_suffixes = (qw(static static-compat));
|
||||
my @cfg_0_variant_suffixes = (qw(static));
|
||||
my @cfg_1_variant_suffixes = (qw(doc test cli angle dynamic opengl noopengl));
|
||||
my @variant_suffixes = (\@vcs_0_variant_suffixes, \@cfg_0_variant_suffixes, \@cfg_1_variant_suffixes);
|
||||
|
||||
|
@ -46,8 +47,7 @@ sub _render_deps {
|
|||
my ($package_prefix, $controller, @d) = @_;
|
||||
my $prefix = $controller->stash('package_name_prefix');
|
||||
my $suffix = $controller->stash('package_name_suffix');
|
||||
my $quote = $prefix =~ qr/^(mingw-w64|android)/ ? "'" : '';
|
||||
return join(' ', map { "${quote}${prefix}${package_prefix}-${_}${suffix}${quote}" } @d);
|
||||
return join(' ', map { "'${prefix}${package_prefix}-${_}${suffix}'" } @d);
|
||||
}
|
||||
sub _render_optdeps {
|
||||
my ($package_prefix, $controller, %d) = @_;
|
||||
|
@ -75,46 +75,13 @@ $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'],
|
||||
# module => [rev, 'commit on KDE fork', 'version bump to be reverted' ],
|
||||
base => [222, 'd2bd04d9fe03912097d3246b7d03ef14f425256b', '6344955d17e17e2398720fe60c34cfc2a4a95208'],
|
||||
declarative => [26, '4f08a2da5b0da675cf6a75683a43a106f5a1e7b8', '568763928a78b52373932b01be17e040f7c3fa50'],
|
||||
tools => [17, '33693a928986006d79c1ee743733cde5966ac402', 'dbe0567470db2b369a9fdb28d9fbac38be3e2d60'],
|
||||
svg => [7, 'cfc616978b52a396b2ef6900546f7fc086d7cab3', '9aac88424a1b76e0198b52437af58a6d94aff8e9'],
|
||||
wayland => [23, 'fcc2f57cefa66339c8cb6632f45a47fbb99bb60d', '30cb2a87fcc6265232cb5a3ffce9836da6e531d6'],
|
||||
);
|
||||
# $rev := git rev-list --count v5.15.2..$commit_on_kde_fork
|
||||
|
||||
# find templates; populate "pages" array
|
||||
my @pages;
|
||||
|
@ -264,5 +231,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));
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
android-qt6-base.sh.ep
|
|
@ -14,18 +14,18 @@
|
|||
|
||||
_android_arch=<%= $variant_prefix_part =~ s/android-// && $variant_prefix_part %>
|
||||
pkgname=<%= $package_name %>
|
||||
_qtver=6.7.0
|
||||
_qtver=6.1.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 (android)'
|
||||
depends=('java-runtime-headless-openjdk>=11' 'ant' 'android-ndk' 'android-sdk' 'android-sdk-build-tools'
|
||||
depends=('java-runtime-headless-openjdk=8' 'ant' 'android-ndk' 'android-sdk' 'android-sdk-build-tools'
|
||||
'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=8' '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) {
|
||||
|
@ -97,7 +96,7 @@ package() {
|
|||
source android-env ${_android_arch}
|
||||
DESTDIR="$pkgdir" cmake --install build-$_android_arch
|
||||
|
||||
install -Dm644 $_pkgfqn/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgname
|
||||
install -Dm644 $_pkgfqn/LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgname
|
||||
|
||||
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
|
||||
find "$pkgdir/${ANDROID_PREFIX}/<%== $static_variant ? 'static/' : '' %>" -type f -name '*.prl' \\
|
||||
|
|
|
@ -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 \\
|
||||
|
|
|
@ -31,10 +31,9 @@
|
|||
|
||||
_qt_module=qt<%== $qt_module %>
|
||||
pkgname=<%= $package_name %>
|
||||
pkgver=5.15.13<%== $kde_fork_revision ? "+kde+r$kde_fork_revision->[0]" : '' %>
|
||||
pkgver=5.15.2<%== $kde_fork_revision ? "+kde+r$kde_fork_revision->[0]" : '' %>
|
||||
pkgrel=1
|
||||
% if ($kde_fork_revision) {
|
||||
_basever=${pkgver%%+*}
|
||||
_commit=<%== $kde_fork_revision->[1] %>
|
||||
% }
|
||||
pkgdesc='A cross-platform application and UI framework, <%= $opengl_backend %> OpenGL backend (mingw-w64)'
|
||||
|
@ -43,7 +42,7 @@ url='https://www.qt.io/'
|
|||
license=('GPL3' 'LGPL3' 'FDL' 'custom')
|
||||
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-pcre2'<%== $static_variant ? " 'mingw-w64-zstd'" : "" %>)
|
||||
'mingw-w64-pcre2')
|
||||
% if ($static_variant) {
|
||||
depends+=(${pkgname%-static}) # the static version relies on the shared version for build tools and headers
|
||||
% }
|
||||
|
@ -88,14 +87,14 @@ _architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
|||
% if ($kde_fork_revision) {
|
||||
pkgver() {
|
||||
cd $_pkgfqn
|
||||
echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit`
|
||||
echo "5.15.2+kde+r"`git rev-list --count origin/5.15.2..$_commit`
|
||||
}
|
||||
|
||||
% }
|
||||
prepare() {
|
||||
cd "${srcdir}/${_pkgfqn}"
|
||||
|
||||
% if ($kde_fork_revision && defined $kde_fork_revision->[2]) {
|
||||
% if ($kde_fork_revision) {
|
||||
git revert -n <%== $kde_fork_revision->[2] %> # Revert version bump
|
||||
|
||||
% }
|
||||
|
|
|
@ -23,12 +23,7 @@ pkgname=mingw-w64-qt5-<%== $qt_module %><%== $static_variant ? '-static' : '' %>
|
|||
<%== content %>\
|
||||
% if ($kde_fork_revision) {
|
||||
_commit=<%== $kde_fork_revision->[1] %>
|
||||
_basever=${pkgver%%+*}
|
||||
% if ($kde_fork_revision->[0] > 0) {
|
||||
pkgver+=+kde+r<%== $kde_fork_revision->[0] %>
|
||||
% }
|
||||
makedepends+=('git')
|
||||
% } elsif (stash('is_lts')) {
|
||||
makedepends+=('git')
|
||||
% }
|
||||
options=('!strip' '!buildflags' 'staticlibs')
|
||||
|
@ -37,15 +32,12 @@ url='https://www.qt.io/'
|
|||
% if ($kde_fork_revision) {
|
||||
_pkgfqn=${_qt_module}
|
||||
source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit\
|
||||
% } elsif (stash('is_lts')) {
|
||||
_pkgfqn=${_qt_module}
|
||||
source=(git+https://code.qt.io/qt/$_pkgfqn.git#tag=v${pkgver}-lts\
|
||||
% } else {
|
||||
_pkgfqn="${_qt_module}-everywhere-src-${pkgver}"
|
||||
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"\
|
||||
% }
|
||||
<%== include 'fragments/source_file_list', relevant_files => $patch_files %>)
|
||||
% if ($kde_fork_revision || stash('is_lts')) {
|
||||
% if ($kde_fork_revision) {
|
||||
sha256sums=('SKIP'\
|
||||
% } else {
|
||||
sha256sums=('<%== $qt_module_sha256 %>'\
|
||||
|
@ -78,14 +70,14 @@ _configurations+=('CONFIG+=actually_a_shared_build <%== content_for 'shared_conf
|
|||
% if ($kde_fork_revision) {
|
||||
pkgver() {
|
||||
cd $_pkgfqn
|
||||
echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit`
|
||||
echo "5.15.2+kde+r"`git rev-list --count origin/5.15.2..$_commit`
|
||||
}
|
||||
|
||||
% }
|
||||
% if ($patch_files->size || content_for('prepare')->size || $kde_fork_revision) {
|
||||
prepare() {
|
||||
cd "${srcdir}/${_pkgfqn}"
|
||||
% if ($kde_fork_revision && defined $kde_fork_revision->[2]) {
|
||||
% if ($kde_fork_revision) {
|
||||
|
||||
git revert -n <%== $kde_fork_revision->[2] %> # Revert version bump
|
||||
% }
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
% }
|
||||
|
||||
pkgname=<%= $package_name %>
|
||||
_qtver=6.7.0
|
||||
_qtver=6.1.3
|
||||
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 \\
|
||||
|
@ -95,7 +85,7 @@ package() {
|
|||
for _arch in ${_architectures}; do
|
||||
DESTDIR="$pkgdir" cmake --install build-$_arch
|
||||
|
||||
install -Dm644 $_pkgfqn/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgname
|
||||
install -Dm644 $_pkgfqn/LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgname
|
||||
|
||||
% unless ($static_variant) {
|
||||
# Add symlinks of DLLs in usual bin directory
|
||||
|
|
|
@ -39,7 +39,6 @@ build() {
|
|||
$_arch-cmake<%== $static_suffix %> -G Ninja -B build-$_arch -S $_pkgfqn \\
|
||||
% if ($static_variant) {
|
||||
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \\
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_harfbuzz=TRUE \\
|
||||
-DFEATURE_static_runtime=ON \\
|
||||
% }
|
||||
-DFEATURE_pkg_config=ON<%== content_for 'additional_cmake_args' %>
|
||||
|
|
|
@ -1,112 +0,0 @@
|
|||
# Maintainer: Martchus <martchus@gmx.net>
|
||||
<%== content_for 'additional_contributors' %>\
|
||||
|
||||
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
|
||||
# you also find the URL of a binary repository.
|
||||
|
||||
# This file is created from PKGBUILD.sh.ep contained by the mentioned repository.
|
||||
# Do not edit it manually! See README.md in the repository's root directory
|
||||
# for more information.
|
||||
% if ($patch_files->size) {
|
||||
|
||||
# All patches are managed at https://github.com/Martchus/qt<%== $qt_module %>
|
||||
% }
|
||||
|
||||
pkgname=<%= $package_name %>
|
||||
_qtver=6.7.0
|
||||
pkgver=${_qtver/-/}
|
||||
pkgrel=1
|
||||
arch=(x86_64)
|
||||
url='https://www.qt.io'
|
||||
license=(GPL3 LGPL3 FDL custom)
|
||||
pkgdesc='A cross-platform application and UI framework'
|
||||
depends=(shared-mime-info
|
||||
static-compat-brotli static-compat-dbus static-compat-double-conversion
|
||||
static-compat-fontconfig static-compat-libb2 static-compat-libglvnd
|
||||
static-compat-libice static-compat-libinput static-compat-libjpeg-turbo
|
||||
static-compat-libxdamage static-compat-libxkbcommon static-compat-libxmu
|
||||
static-compat-libxxf86vm static-compat-md4c static-compat-pcre2
|
||||
static-compat-sqlite static-compat-xcb-util-image static-compat-xcb-util-keysyms
|
||||
static-compat-xcb-util-renderutil static-compat-xcb-util-cursor static-compat-vulkan-headers
|
||||
static-compat-xcb-util-wm static-compat-xorgproto static-compat-xtrans)
|
||||
makedepends=(static-compat-cmake xdg-utils ninja)
|
||||
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
|
||||
_pkgfqn="qt<%== $qt_module %>-everywhere-src-${_qtver}"
|
||||
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"\
|
||||
<%== include 'fragments/source_file_list', relevant_files => $patch_files %>)
|
||||
sha256sums=('<%== $qt_module_sha256 %>'\
|
||||
<%== include 'fragments/sha256_list', relevant_files => $patch_files %>)
|
||||
|
||||
% if ($patch_files->size || content_for('prepare')->size) {
|
||||
prepare () {
|
||||
cd $_pkgfqn
|
||||
|
||||
% if ($patch_files->size) {
|
||||
# apply patches; further descriptions can be found in patch files itself
|
||||
for patch in "$srcdir/"*.patch; do
|
||||
msg2 "Applying patch $patch"
|
||||
patch -p1 -i "$patch"
|
||||
done
|
||||
% }
|
||||
<%== content_for 'prepare' %>\
|
||||
}
|
||||
|
||||
% }
|
||||
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<%== $static_suffix %> -G Ninja -B build -S $_pkgfqn \\
|
||||
$ccache_args \\
|
||||
-DCMAKE_SKIP_INSTALL_RPATH=ON \\
|
||||
-DINSTALL_BINDIR=lib/qt6/bin \\
|
||||
-DINSTALL_DOCDIR=share/doc/qt6 \\
|
||||
-DINSTALL_ARCHDATADIR=lib/qt6 \\
|
||||
-DINSTALL_DATADIR=share/qt6 \\
|
||||
-DINSTALL_INCLUDEDIR=include/qt6 \\
|
||||
-DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \\
|
||||
-DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \\
|
||||
-DINPUT_openssl=linked \\
|
||||
-DQT_FEATURE_openssl_linked=ON \\
|
||||
-DQT_FEATURE_static_runtime=ON \\
|
||||
-DQT_FEATURE_system_sqlite=ON \\
|
||||
-DQT_FEATURE_system_xcb_xinput=ON \\
|
||||
-DQT_FEATURE_xcb=ON \\
|
||||
-DQT_FEATURE_xcb_sm=ON \\
|
||||
-DQT_FEATURE_icu=OFF \\
|
||||
-DQT_FEATURE_kms=OFF \\
|
||||
-DQT_FEATURE_eglfs=OFF \\
|
||||
-DQT_FEATURE_gbm=OFF \\
|
||||
-DQT_FEATURE_linuxfb=OFF \\
|
||||
-DQT_FEATURE_gssapi=OFF \\
|
||||
-DQT_FEATURE_fontconfig=ON \\
|
||||
-DQT_FEATURE_dynamicgl=OFF \\
|
||||
-DQT_FEATURE_opengl_dynamic=OFF \\
|
||||
-DGLIB2_USE_PKG_CONFIG=ON \\
|
||||
-DWAYLAND_USE_PKG_CONFIG=ON \\
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_harfbuzz=TRUE \\
|
||||
-DCMAKE_INSTALL_OLDINCLUDEDIR=$static_compat_prefix/include \\
|
||||
-DGSSAPI_INCLUDE_DIRS=$static_compat_prefix/include \\
|
||||
-DICU_INCLUDE_DIR=$static_compat_prefix/include \\
|
||||
-DLibdrm_INCLUDE_DIR=$static_compat_prefix/include \\
|
||||
-DGLESv2_INCLUDE_DIR=$static_compat_prefix/include \\
|
||||
-Dgbm_INCLUDE_DIR=$static_compat_prefix/include
|
||||
VERBOSE=1 cmake --build build
|
||||
}
|
||||
|
||||
package() {
|
||||
source static-compat-environment
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
|
||||
install -Dm644 $_pkgfqn/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgname
|
||||
|
||||
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
|
||||
find "$pkgdir" -type f -name '*.prl' \\
|
||||
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
|
||||
|
||||
rm -r "$pkgdir/$static_compat_prefix"/share/doc
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue