Compare commits
1 Commits
master
...
own-projec
Author | SHA1 | Date |
---|---|---|
Martchus | de76ea4e68 |
|
@ -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
|
411
README.md
411
README.md
|
@ -1,28 +1,20 @@
|
|||
# PKGBUILDs
|
||||
Contains PKGBUILD files for creating Arch Linux packages:
|
||||
|
||||
* Packages for my own applications and libraries such as
|
||||
[Syncthing Tray](https://github.com/Martchus/syncthingtray),
|
||||
[Tag Editor](https://github.com/Martchus/tageditor),
|
||||
[Password Manager](https://github.com/Martchus/passwordmanager), ...
|
||||
* Packages for my own applications and libraries such as [Syncthing Tray](https://github.com/Martchus/syncthingtray),
|
||||
[Tag Editor](https://github.com/Martchus/tageditor), [Password Manager](https://github.com/Martchus/passwordmanager), ...
|
||||
* Packages [I maintain in the AUR](https://aur.archlinux.org/packages/?O=0&SeB=M&K=Martchus&outdated=&SB=v&SO=d&PP=50&do_Search=Go):
|
||||
* 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
|
||||
* `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
|
||||
Linux, eg. osxcross and Qt 5 (still experimental)
|
||||
* mingw-w64 packages which allow to build for Windows under Arch Linux, eg. FreeType 2 and Qt 5
|
||||
* 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 Linux, eg. osxcross and Qt 5 (still experimental)
|
||||
* Other packages imported from the AUR to build with slight modifications
|
||||
|
||||
So if you like to improve one of my AUR packages, just create a PR here.
|
||||
|
||||
## Binary repository
|
||||
I also provide a [binary repository](https://martchus.no-ip.biz/repo/arch/ownstuff/os)
|
||||
containing the packages found in this repository and a lot of packages found in
|
||||
the AUR:
|
||||
I also provide a [binary repository](https://martchus.no-ip.biz/repo/arch/ownstuff/os) containing the packages found
|
||||
in this repository and a lot of packages found in the AUR:
|
||||
|
||||
```
|
||||
[ownstuff-testing]
|
||||
|
@ -36,195 +28,38 @@ Server = https://martchus.no-ip.biz/repo/arch/$repo/os/$arch
|
|||
Server = https://ftp.f3l.de/~martchus/$repo/os/$arch
|
||||
```
|
||||
|
||||
The testing repository is required if you have the official testing repository
|
||||
enabled. (Packages contained by ownstuff-testing are linked against packages
|
||||
found in the official testing repository.)
|
||||
The testing repository is required if you have also enabled the official testing repository. (Packages contained by ownstuff-testing
|
||||
are linked against packages found in the official testing repository.)
|
||||
|
||||
The repository is focusing on x86_64 but some packages are also provided for
|
||||
i686 and aarch64.
|
||||
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
|
||||
packages from staging).
|
||||
Note that I can not assure that required rebuilds always happen fast enough (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:
|
||||
```
|
||||
default-pkg-name/variant
|
||||
```
|
||||
where `default-pkg-name` is the default package name (eg. `qt5-base`) and
|
||||
`variant` usually one of:
|
||||
where `default-pkg-name` is the default package name (eg. `qt5-base`) and `variant` usually one of:
|
||||
|
||||
* `default`: the regular package
|
||||
* `git`/`svn`/`hg`: the development version
|
||||
* `mingw-w64`: the Windows version (i686/dw2 and x86_64/SEH)
|
||||
* `android-{aarch64,armv7a-eabi,x86-64,x86}`: the Android version (currently
|
||||
only aarch64 actively maintained/tested)
|
||||
* `mingw-w64`: the Windows version (i686/SJLJ and x86_64/SEH)
|
||||
* `android-{aarch64,armv7a-eabi,x86-64,x86}`: the Android version (currently only aarch64 actively maintained/tested)
|
||||
* `apple-darwin`: the MacOS X version (still experimental)
|
||||
|
||||
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.
|
||||
The `PKGBUILD` file is only present for read-only purposes in this case - do
|
||||
*not* edit it manually. Instead, edit the `PKGBUILD.sh.ep` file and invoke
|
||||
`devel/generator/generate.pl`. This requires the `perl-Mojolicious` package to
|
||||
be installed. Set the environment variable `LOG_LEVEL` to adjust the log level
|
||||
(e.g. `debug`/`info`/`warn`/`error`). Template layouts/fragments are stored
|
||||
within `generator/templates`.
|
||||
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. The `PKGBUILD` file is only present for read-only purposes in
|
||||
this case - do *not* edit it manually. Instead, edit the `PKGBUILD.sh.ep` file and invoke `devel/generator/generate.pl`.
|
||||
This requires the `perl-Mojolicious` package to be installed. Set the environment variable `LOG_LEVEL` to adjust the
|
||||
log level (e.g. `debug`/`info`/`warn`/`error`). Template layouts/fragments are stored within `generator/templates`.
|
||||
|
||||
### Documentation about the used templating system
|
||||
* [Syntax](https://mojolicious.org/perldoc/Mojo/Template#SYNTAX)
|
||||
|
@ -232,195 +67,37 @@ within `generator/templates`.
|
|||
* [Utilities](https://mojolicious.org/perldoc/Mojo/Util)
|
||||
|
||||
## Contributing to patches
|
||||
Patches for most packages are managed in a fork of the project under my GitHub
|
||||
profile. For instance, patches for `mingw-w64-qt5-base` are managed at
|
||||
[github.com/Martchus/qtbase](https://github.com/Martchus/qtbase).
|
||||
Patches for most packages are managed in a fork of the project under my GitHub profile. For instance,
|
||||
patches for `mingw-w64-qt5-base` are managed at [github.com/Martchus/qtbase](https://github.com/Martchus/qtbase).
|
||||
|
||||
I usually create a dedicated branch for each version, eg. `5.10.1-mingw-w64`. It
|
||||
contains all the patches based on Qt 5.10.1. When doing fixes later on, I
|
||||
usually preserve the original patches and create a new branch, eg.
|
||||
I usually create a dedicated branch for each version, eg. `5.10.1-mingw-w64`. It contains all the patches based on
|
||||
Qt 5.10.1. When doing fixes later on, I usually preserve the original patches and create a new branch, eg.
|
||||
`5.10.1-mingw-w64-fixes`.
|
||||
|
||||
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.
|
||||
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 possbile.
|
||||
|
||||
To get the patches into the PKGBUILD files, the script
|
||||
`devel/qt5/update-patches.sh` is used.
|
||||
To get the patches into the PKGBUILD files, the script `devel/qt5/update-patches.sh` is used.
|
||||
|
||||
### Mass rebasing of Qt patches
|
||||
This is always done by me. Please don't try to help here because it will only
|
||||
cause conflicts. However, the workflow is quite simple:
|
||||
This is always done by me. Please don't try to help here because it will only cause conflicts. However, the
|
||||
workflow is quite simple:
|
||||
|
||||
1. Run `devel/qt5/rebase-patches.sh` on all Qt repository forks or just
|
||||
`devel/qt5/rebase-all-patches.sh`
|
||||
* eg. `rebase-patches.sh 5.11.0 5.10.1 mingw-w64-fixes` to create branch
|
||||
`5.11.0-mingw-w64` based on `5.10.1-mingw-w64-fixes`
|
||||
* after fixing possible conflicts, run
|
||||
`devel/qt5/continue-rebase-patches.sh`
|
||||
1. Run `devel/qt5/rebase-patches.sh` on all Qt repository forks or just `devel/qt5/rebase-all-patches.sh`
|
||||
* eg. `rebase-patches.sh 5.11.0 5.10.1 fixes` to create branch `5.11.0-mingw-w64` based on `5.10.1-mingw-w64-fixes`
|
||||
* after fixing possible conflicts, run `devel/qt5/continue-rebase-patches.sh`
|
||||
* otherwise, that's it
|
||||
* all scripts need to run in the Git repository directory of the Qt module
|
||||
except `rebase-all-patches.sh` which needs the environment variable
|
||||
`QT_GIT_REPOS_DIR` to be set
|
||||
2. Run `devel/qt5/update-patches.sh` or `devel/qt5/update-all-patches.sh` to
|
||||
update PKGBUILDs
|
||||
* eg. `devel/qt5/update-all-patches.sh "" mingw-w64 qt6` to consider all
|
||||
mingw-w64-qt6-\* packages
|
||||
* all scripts need to run in the Git repository directory of the Qt module except `rebase-all-patches.sh` which needs
|
||||
the environment variable `QT_GIT_REPOS_DIR` to be set
|
||||
2. Run `devel/qt5/update-patches.sh` or `devel/qt5/update-all-patches.sh` to update PKGBUILDs
|
||||
|
||||
## 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
|
||||
libraries while my builds aim to build dependencies separately. So expect some
|
||||
rough edges when using my packaging.
|
||||
## Supported build and deployment tools for mingw-w64-qt5 packages
|
||||
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 futher information.
|
||||
|
||||
Nevertheless 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
|
||||
packaging](https://wiki.archlinux.org/index.php/MinGW_package_guidelines).
|
||||
There are also pkgconfig files, but those aren't really tested.
|
||||
|
||||
Note that the ANGLE and "dynamic" variants of Qt 5 packages do not work because
|
||||
they would require `fxc.exe` to build.
|
||||
qbs and windeployqt currently don't work very well (see issues). Using mxedeployqt might be an alternative for
|
||||
windeployqt.
|
||||
|
||||
### Tested build and deployment tools for mingw-w64-qt5 packages
|
||||
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
|
||||
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.
|
||||
|
||||
### 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.
|
||||
|
||||
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
|
||||
(`/usr/i686-w64-mingw32/static` and `/usr/x86_64-w64-mingw32/static`) so this
|
||||
prefix needs to be prepended to `CMAKE_FIND_ROOT_PATH` for using the static
|
||||
libraries. To generally prefer static libraries one might use the helper scripts
|
||||
provided by the `mingw-w64-cmake-static` package.
|
||||
|
||||
The build systems qbs and qmake are not tested. It looks like Qt's build system
|
||||
does not install pkg-config files anymore and so far no effort has been taken to
|
||||
enable them.
|
||||
|
||||
Note that windeployqt needed to be enabled by the official/regular `qt6-tools`
|
||||
package but would likely not work very well anyways. Using the static libraries
|
||||
or mxdeployqt might be an alternative for windeployqt.
|
||||
|
||||
### Static plugins and CMake
|
||||
Qt 5 initially didn't support it so I added patches to make it work. After Qt 5
|
||||
added support I still kept my own version because I didn't want to risk any
|
||||
regressions (which would be tedious to deal with). So the [official
|
||||
documentation](https://doc.qt.io/qt-5/qtcore-cmake-qt-import-plugins.html) does
|
||||
**not** apply to my packages. One simply has to link against the targets of the
|
||||
wanted static plugins manually.
|
||||
|
||||
However, for Qt 6 I dropped my patches and the official documentation applies. I
|
||||
would still recommended to set the target property `QT_DEFAULT_PLUGINS` of
|
||||
relevant targets to `0` and link against wanted plugin targets manually. At
|
||||
least in my cases the list of plugins selected by default seemed needlessly
|
||||
long. I would also recommended to set the CMake variable
|
||||
`QT_SKIP_AUTO_QML_PLUGIN_INCLUSION` to a falsy value because this pulls in a lot
|
||||
of dependencies which are likely not needed.
|
||||
|
||||
### Further documentation
|
||||
The directory `qt5-base/mingw-w64` contains also a README with more Qt 5
|
||||
specific information.
|
||||
|
||||
## Running Windows executables built using mingw-w64 packages with WINE
|
||||
It is recommended to use the scripts `x86_64-w64-mingw32-wine` and
|
||||
`i686-w64-mingw32-wine` provided by the `mingw-w64-wine` package. These scripts
|
||||
are a wrapper around the regular `wine` binary ensuring all the DLLs provided by
|
||||
`mingw-w64-*`-packages of the relevant architecture can be located. It also uses
|
||||
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:
|
||||
|
||||
* Set the environment variable `WINEPREFIX` to use a distinct WINE-prefix if
|
||||
wanted.
|
||||
* Set `WINEPATH` for the search directories of needed DLLs, e.g.
|
||||
`WINEPATH=$builds/libfoo;$builds/libbar;/usr/x86_64-w64-mingw32`.
|
||||
* Set `WINEARCH` to `win32` for a 32-bit environment (`win64` is the default
|
||||
which will get you a 64-bit environment)
|
||||
* Set `WINEDLLOVERRIDES` to control loading DLLs, e.g.
|
||||
`WINEDLLOVERRIDES=mscoree,mshtml=` disables the annoying Gecko popup.
|
||||
* To set environment variables like `PATH` or `QT_PLUGIN_PATH` for the Windows
|
||||
program itself use the following approach:
|
||||
1. Open `regedit`
|
||||
2. Go to `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment`
|
||||
3. Add/modify the variable, e.g. set
|
||||
`PATH=C:\windows\system32;C:\windows;Z:\usr\x86_64-w64-mingw32\bin` and
|
||||
`QT_PLUGIN_PATH=Z:/usr/x86_64-w64-mingw32/lib/qt6/plugins`
|
||||
* It is possible to run apps in an headless environment but be aware that WINE
|
||||
is not designed for this. For instance, when an application crashes WINE
|
||||
still attempts to show the crash window and the application stays stuck in
|
||||
that state.
|
||||
* 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.
|
||||
|
||||
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.
|
||||
|
||||
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).
|
||||
|
|
|
@ -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}
|
||||
}
|
|
@ -1,69 +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=arch-repo-manager
|
||||
pkgname=arch-repo-manager-git
|
||||
_name=${pkgname%-git}
|
||||
_liburing=OFF
|
||||
pkgver=340.599185d
|
||||
pkgrel=3
|
||||
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')
|
||||
optdepends=('reflective-rapidjson-git: development with libpkg/librepomgr'
|
||||
"$_name-doc: API documentation")
|
||||
makedepends=('cmake' 'git' 'ninja' 'boost' 'catch2' 'rapidjson-git' 'reflective-rapidjson-git')
|
||||
checkdepends=('cppunit')
|
||||
provides=(libpkg-git.so librepomgr-git.so)
|
||||
options=(debug)
|
||||
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')
|
||||
|
||||
pkgver() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
|
||||
for submodule in tabulate lmdb-safe ; do
|
||||
rm -r 3rdparty/$submodule
|
||||
ln -sr ../$submodule 3rdparty/$submodule
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='RelWithDebInfo' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
|
||||
-DCONFIGURATION_NAME:STRING='git' \
|
||||
-DCONFIGURATION_PACKAGE_SUFFIX:STRING='-git' \
|
||||
-DCONFIGURATION_TARGET_SUFFIX:STRING='git' \
|
||||
-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
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
ninja check
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
# Contributor: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
|
||||
|
||||
pkgname=baikal
|
||||
pkgver=0.9.5
|
||||
pkgver=0.7.2
|
||||
pkgrel=1
|
||||
pkgdesc='Lightweight CalDAV+CardDAV server'
|
||||
url='http://sabre.io/baikal/'
|
||||
|
@ -12,23 +12,19 @@ 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=('c5a5bd45c89e03603a2629cf90c705c3fbda34e6'
|
||||
'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"
|
||||
install -Dm644 CHANGELOG.md README.md "$pkgdir/usr/share/doc/$pkgname"
|
||||
ln -s "/var/lib/$pkgname" "$pkgdir/usr/share/webapps/$pkgname/Specific"
|
||||
ln -s "/var/lib/$pkgname/config" "$pkgdir/usr/share/webapps/$pkgname/config"
|
||||
}
|
||||
|
|
|
@ -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,152 @@
|
|||
# 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
|
||||
_pkgname=boost
|
||||
_pkg_arch=aarch64
|
||||
_android_arch=arm64-v8a
|
||||
_android_toolchain=$_pkg_arch-linux-android
|
||||
_android_platform=24
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_android_platform_arch=arch-arm64
|
||||
_android_platform_dir=android-$_android_platform/${_android_platform_arch}
|
||||
_boost_arch=arm
|
||||
_boost_address_model=64
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.74.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
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://dl.bintray.com/boostorg/release/${pkgver}/source/boost_${_boostver}.tar.bz2
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1'
|
||||
'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
|
||||
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
cd ${_pkgname}_${_boostver}
|
||||
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_toolchain \
|
||||
--gcc-toolchain=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \
|
||||
--sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/sources/android/support/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++abi/include \
|
||||
-isystem $_android_ndk_path/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/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 ${_pkgname}_${_boostver}
|
||||
|
||||
./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}/"${_pkgname}_${_boostver}/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,152 @@
|
|||
# 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
|
||||
_pkgname=boost
|
||||
_pkg_arch=armv7a-eabi
|
||||
_android_arch=armeabi-v7a
|
||||
_android_toolchain=arm-linux-androideabi
|
||||
_android_platform=24 # https://developer.android.com/about/dashboards/
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_android_platform_arch=arch-arm
|
||||
_android_platform_dir=android-$_android_platform/${_android_platform_arch}
|
||||
_boost_arch=arm
|
||||
_boost_address_model=32
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.74.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
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://dl.bintray.com/boostorg/release/${pkgver}/source/boost_${_boostver}.tar.bz2
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1'
|
||||
'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
|
||||
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
cd ${_pkgname}_${_boostver}
|
||||
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_toolchain \
|
||||
--gcc-toolchain=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \
|
||||
--sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/sources/android/support/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++abi/include \
|
||||
-isystem $_android_ndk_path/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/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 ${_pkgname}_${_boostver}
|
||||
|
||||
./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}/"${_pkgname}_${_boostver}/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,152 @@
|
|||
# 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
|
||||
_pkgname=boost
|
||||
_pkg_arch=x86-64
|
||||
_android_arch=x86_64
|
||||
_android_toolchain=x86_64-linux-android$_android_platform
|
||||
_android_platform=24 # https://developer.android.com/about/dashboards/
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_android_platform_arch=arch-x86_64
|
||||
_android_platform_dir=android-$_android_platform/${_android_platform_arch}
|
||||
_boost_arch=x86
|
||||
_boost_address_model=64
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.74.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
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://dl.bintray.com/boostorg/release/${pkgver}/source/boost_${_boostver}.tar.bz2
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1'
|
||||
'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
|
||||
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
cd ${_pkgname}_${_boostver}
|
||||
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_toolchain \
|
||||
--gcc-toolchain=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \
|
||||
--sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/sources/android/support/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++abi/include \
|
||||
-isystem $_android_ndk_path/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/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 ${_pkgname}_${_boostver}
|
||||
|
||||
./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}/"${_pkgname}_${_boostver}/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,152 @@
|
|||
# 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
|
||||
_android_toolchain=x86_64-linux-android$_android_platform
|
||||
_android_platform=24 # https://developer.android.com/about/dashboards/
|
||||
_android_prefix=/opt/android-libs/$_pkg_arch
|
||||
_android_ndk_path=/opt/android-ndk
|
||||
_android_platform_arch=arch-x86
|
||||
_android_platform_dir=android-$_android_platform/${_android_platform_arch}
|
||||
_boost_arch=x86
|
||||
_boost_address_model=32
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.74.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
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://dl.bintray.com/boostorg/release/${pkgver}/source/boost_${_boostver}.tar.bz2
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1'
|
||||
'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
|
||||
|
||||
# https://github.com/boostorg/ublas/pull/97
|
||||
patch -Np2 -i ../boost-ublas-c++20-iterator.patch
|
||||
patch -p1 -i ../disable-version-check.patch
|
||||
cd ${_pkgname}_${_boostver}
|
||||
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_toolchain \
|
||||
--gcc-toolchain=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \
|
||||
--sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr"
|
||||
local common_flags=" \
|
||||
$target_flags \
|
||||
-isystem $_android_ndk_path/sources/android/support/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++/include \
|
||||
-isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++abi/include \
|
||||
-isystem $_android_ndk_path/sysroot/usr/include \
|
||||
-isystem $_android_ndk_path/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 ${_pkgname}_${_boostver}
|
||||
|
||||
./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}/"${_pkgname}_${_boostver}/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,19 +1,19 @@
|
|||
_pkgbase=boost
|
||||
pkgname=boost-doc
|
||||
pkgver=1.81.0
|
||||
_srcname=boost_${pkgver//./_}
|
||||
pkgver=1.74.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
pkgdesc='Free peer-reviewed portable C++ source libraries (HTML documentation)'
|
||||
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://dl.bintray.com/boostorg/release/${pkgver}/source/boost_${_boostver}.tar.bz2)
|
||||
sha256sums=('83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1')
|
||||
options=(!strip)
|
||||
|
||||
package() {
|
||||
cd ${_srcname}
|
||||
cd ${_pkgbase}_${_boostver}
|
||||
local dest=$pkgdir/usr/share/$_pkgbase/doc
|
||||
|
||||
install -dm755 "$dest"
|
||||
|
|
|
@ -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)
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
# Contributor: Ronald van Haren <ronald.archlinux.org>
|
||||
# Contributor: Judd <jvinet@zeroflux.org>
|
||||
|
||||
_pkgname=bzip2
|
||||
pkgname=static-compat-$_pkgname
|
||||
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')
|
||||
options=(staticlibs)
|
||||
source=(https://sourceware.org/pub/bzip2/$_pkgname-$pkgver.tar.gz{,.sig}
|
||||
bzip2.pc)
|
||||
sha256sums=('ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269'
|
||||
'SKIP'
|
||||
'ad3c350428b73a1197e54d414a60fecfff23ecdd5059afd8ce2ca084d263064b')
|
||||
validpgpkeys=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A') # Mark Wielaard <mark@klomp.org>
|
||||
|
||||
prepare() {
|
||||
cd $_pkgname-$pkgver
|
||||
cp ../bzip2.pc bzip2.pc
|
||||
sed "s|@VERSION@|$pkgver|" -i bzip2.pc
|
||||
}
|
||||
|
||||
build() {
|
||||
source static-compat-environment
|
||||
cd $_pkgname-$pkgver
|
||||
|
||||
make libbz2.a CC="$CC $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 -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
prefix=/usr/static
|
||||
exec_prefix=/usr/static
|
||||
bindir=${exec_prefix}/bin
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: bzip2
|
||||
Description: A file compression library
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lbz2
|
||||
Cflags: -I${includedir}
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
_reponame=cpp-utilities
|
||||
pkgname=c++utilities
|
||||
pkgver=5.24.8
|
||||
pkgver=5.8.0
|
||||
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=('20eb49249e94f07c09ee602246d2c74cd829c5f49b09559fced008e7b8651ce6')
|
||||
|
||||
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.8.0
|
||||
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=('20eb49249e94f07c09ee602246d2c74cd829c5f49b09559fced008e7b8651ce6')
|
||||
|
||||
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=791.eadb261
|
||||
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.8.0
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (mingw-w64)'
|
||||
license=('GPL')
|
||||
depends=('mingw-w64-crt' 'mingw-w64-libiconv' 'mingw-w64-boost')
|
||||
depends=('mingw-w64-crt' 'mingw-w64-libiconv')
|
||||
optdepends=("$_name-doc: API documentation")
|
||||
checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine')
|
||||
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'ninja')
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
|
||||
sha256sums=('20eb49249e94f07c09ee602246d2c74cd829c5f49b09559fced008e7b8651ce6')
|
||||
options=(!buildflags staticlibs !strip !emptydirs)
|
||||
|
||||
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
|
||||
|
@ -68,7 +68,7 @@ check() {
|
|||
msg2 "${_arch}-${_cfg}"
|
||||
pushd "build-${_arch}-${_cfg}"
|
||||
export WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all
|
||||
[[ $_cfg == shared ]] && ninja check
|
||||
ninja check || true
|
||||
popd
|
||||
done
|
||||
done
|
||||
|
|
|
@ -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=('GPL-3.0-or-later')
|
||||
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')
|
||||
license=('GPL3')
|
||||
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,42 +0,0 @@
|
|||
# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
|
||||
|
||||
pkgname=android-cmake
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc="CMake wrapper for Android (android)"
|
||||
depends=('cmake' 'android-environment' 'android-pkg-config')
|
||||
license=("custom")
|
||||
url="https://cmake.org/"
|
||||
source=("android-cmake.sh"
|
||||
"android-cmake-py.sh")
|
||||
sha256sums=('SKIP'
|
||||
'SKIP')
|
||||
_architectures="aarch64 armv7a-eabi x86 x86-64"
|
||||
_python_versions="27 35 36 37"
|
||||
|
||||
build() {
|
||||
for _arch in ${_architectures}; do
|
||||
source android-env ${_arch}
|
||||
processor=$(basename ${ANDROID_CC})
|
||||
processor="${processor%%-*}"
|
||||
sed "s|@TRIPLE@|${_arch}|g" android-cmake.sh > android-${_arch}-cmake
|
||||
|
||||
for _pyver in ${_python_versions}; do
|
||||
sed "s|@TRIPLE@|${_arch}|g;s|@PYMAJMIN@|${_pyver}|g" android-cmake-py.sh > android-${_arch}-cmake-py${_pyver}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
package() {
|
||||
install -d "${pkgdir}"/usr/bin
|
||||
|
||||
for _arch in ${_architectures}; do
|
||||
source android-env ${_arch}
|
||||
install -m 755 android-${_arch}-cmake "${pkgdir}"/usr/bin/
|
||||
|
||||
for _pyver in ${_python_versions}; do
|
||||
install -m 755 android-${_arch}-cmake-py${_pyver} "${pkgdir}"/usr/bin/
|
||||
done
|
||||
done
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
source android-env @TRIPLE@
|
||||
|
||||
android-@TRIPLE@-cmake \
|
||||
-DPYTHON_INCLUDE_DIR=${ANDROID_PREFIX_INCLUDE}/python@PYMAJMIN@ \
|
||||
-DPYTHON_LIBRARY=${ANDROID_PREFIX_LIB}/libpython@PYMAJMIN@.a \
|
||||
-DPYTHON_EXECUTABLE=/usr/bin/android-@TRIPLE@-python@PYMAJMIN@-bin \
|
||||
"$@"
|
|
@ -1,33 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
source android-env @TRIPLE@
|
||||
|
||||
default_android_pp_flags="-D_FORTIFY_SOURCE=2"
|
||||
default_android_compiler_flags="$default_android_pp_flags -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4"
|
||||
default_android_linker_flags="-Wl,-O1,--sort-common,--as-needed"
|
||||
|
||||
export CPPFLAGS="${ANDROID_CPPFLAGS:-$default_android_pp_flags $CPPFLAGS}"
|
||||
export CFLAGS="${ANDROID_CFLAGS:-$default_android_compiler_flags $CFLAGS}"
|
||||
export CXXFLAGS="${ANDROID_CXXFLAGS:-$default_android_compiler_flags $CXXFLAGS}"
|
||||
export LDFLAGS="${ANDROID_LDFLAGS:-$default_android_linker_flags $LDFLAGS}"
|
||||
|
||||
PATH=${ANDROID_PREFIX_BIN}:$PATH cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${ANDROID_PREFIX} \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DINCLUDE_INSTALL_DIR:PATH=${ANDROID_PREFIX_INCLUDE} \
|
||||
-DLIB_INSTALL_DIR:PATH=${ANDROID_PREFIX_LIB} \
|
||||
-DSYSCONF_INSTALL_DIR:PATH=${ANDROID_PREFIX_ETC} \
|
||||
-DSHARE_INSTALL_DIR:PATH=${ANDROID_PREFIX_SHARE} \
|
||||
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${ANDROID_PREFIX_INCLUDE} \
|
||||
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${ANDROID_PREFIX_INCLUDE} \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DANDROID_ABI=${ANDROID_ABI} \
|
||||
-DANDROID_NDK=${ANDROID_NDK_HOME} \
|
||||
-DANDROID_NATIVE_API_LEVEL=${ANDROID_MINIMUM_PLATFORM} \
|
||||
-DANDROID_TOOLCHAIN=clang \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \
|
||||
"$@"
|
|
@ -1,6 +1,6 @@
|
|||
pkgname=mingw-w64-cmake-static
|
||||
pkgver=1
|
||||
pkgrel=4
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='CMake wrapper for MinGW (mingw-w64, static)'
|
||||
depends=('mingw-w64-cmake')
|
||||
|
@ -13,8 +13,10 @@ _architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
|||
|
||||
build() {
|
||||
for _arch in ${_architectures}; do
|
||||
sed "s|@TRIPLE@|${_arch}|g;s|@PROCESSOR@|${_arch::-12}|g" toolchain-mingw-static.cmake > toolchain-${_arch}-static.cmake
|
||||
sed "s|@TRIPLE@|${_arch}|g" mingw-cmake-static.sh > ${_arch}-cmake-static
|
||||
for _variant in '' '-static'; do
|
||||
sed "s|@TRIPLE@|${_arch}|g;s|@PROCESSOR@|${_arch::-12}|g" toolchain-mingw-static.cmake > toolchain-${_arch}-static.cmake
|
||||
sed "s|@TRIPLE@|${_arch}|g" mingw-cmake-static.sh > ${_arch}-cmake-static
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
@ -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" 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)
|
||||
|
|
@ -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:
|
|
@ -1,13 +0,0 @@
|
|||
[Trigger]
|
||||
Type = Path
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Operation = Remove
|
||||
Target = etc/dbus-1/system.d/*.conf
|
||||
Target = usr/share/dbus-1/system.d/*.conf
|
||||
Target = usr/share/dbus-1/system-services/*.service
|
||||
|
||||
[Action]
|
||||
Description = Reloading system bus configuration...
|
||||
When = PostTransaction
|
||||
Exec = /usr/share/libalpm/scripts/systemd-hook reload dbus
|
|
@ -1,13 +0,0 @@
|
|||
diff --git i/dbus/dbus-internals.c w/dbus/dbus-internals.c
|
||||
index ab498b15..cf86f4ae 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. */
|
||||
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;
|
||||
|
||||
static void
|
||||
init_warnings(void)
|
|
@ -1,8 +1,7 @@
|
|||
#!/bin/bash
|
||||
set -e # abort on first error
|
||||
shopt -s nullglob
|
||||
bindir=$(dirname "$0")
|
||||
source "$bindir/versions.sh"
|
||||
source "$(dirname $0)/versions.sh"
|
||||
|
||||
for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|
||||
trimmed_path=${pkgbuild_file#${PKGBUILD_DIR:-.}/}
|
||||
|
@ -13,23 +12,15 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|
|||
# skip Git packages
|
||||
[ ${variant##*-} == 'git' ] && continue
|
||||
|
||||
# skip android packages (for now)
|
||||
qt6_pattern='qt6-.*' is_qt6=
|
||||
[[ $project_name =~ $qt6_pattern ]] && is_qt6=1
|
||||
[ ${variant%%-*} == 'android' ] && [[ ! $is_qt6 ]] && continue
|
||||
|
||||
# skip some of the packages
|
||||
[[ $project_name == 'qt5-quick1' # removed from official releases
|
||||
|| $project_name == 'qt5-webkit' # even revived version is dead
|
||||
|| $project_name == 'qt5-webview' # does not build for Windows, would require qt5-webengine
|
||||
|| $project_name == 'qt5-canvas3d' # removed from official releases
|
||||
|| $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
|
||||
|
||||
# skip default qt6 packages (provided by Arch Linux itself)
|
||||
[[ $is_qt6 ]] && [[ $variant == 'default' ]] && continue
|
||||
|
||||
# treat all qt5-*/qt6-* packages as qt5/qt6
|
||||
start=${project_name%%-*}
|
||||
for qtver in 5 6; do
|
||||
|
@ -49,19 +40,10 @@ 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
|
||||
if [[ -f $layout ]]; then
|
||||
[[ $VERBOSE ]] && echo "Considering layout $pkgname.sh.ep for $trimmed_path"
|
||||
pkgbuild_file=$layout
|
||||
elif [[ -f $template ]]; then
|
||||
[[ $VERBOSE ]] && echo "Considering template $trimmed_path.sh.ep for $trimmed_path"
|
||||
pkgbuild_file=$template
|
||||
fi
|
||||
[[ -f $template ]] && pkgbuild_file=$template
|
||||
|
||||
# apply new version
|
||||
sed -i -e "s/^\(_qtver\|pkgver\)=[^\$][^<%]*/\1=$version/" -e "s/pkgrel=.*/pkgrel=1/" "$pkgbuild_file"
|
||||
sed -i -e "s/^\(_qtver\|pkgver\)=[^\$].*/\1=$version/" -e "s/pkgrel=.*/pkgrel=1/" "$pkgbuild_file"
|
||||
chmod 644 "$pkgbuild_file"
|
||||
|
||||
echo "$trimmed_path -> $version"
|
||||
|
|
|
@ -1,356 +0,0 @@
|
|||
# Maintainer: Matt Harrison <matt@harrison.us.com>
|
||||
# Contributor: Pierre Schmitz <pierre@archlinux.de>
|
||||
|
||||
pkgbase=php73
|
||||
_pkgbase=${pkgbase%73}
|
||||
pkgname=("${pkgbase}"
|
||||
"${pkgbase}-cgi"
|
||||
"${pkgbase}-apache"
|
||||
"${pkgbase}-fpm"
|
||||
"${pkgbase}-embed"
|
||||
"${pkgbase}-phpdbg"
|
||||
"${pkgbase}-dblib"
|
||||
"${pkgbase}-enchant"
|
||||
"${pkgbase}-gd"
|
||||
"${pkgbase}-imap"
|
||||
"${pkgbase}-intl"
|
||||
"${pkgbase}-sodium"
|
||||
"${pkgbase}-odbc"
|
||||
"${pkgbase}-pgsql"
|
||||
"${pkgbase}-pspell"
|
||||
"${pkgbase}-snmp"
|
||||
"${pkgbase}-sqlite"
|
||||
"${pkgbase}-tidy"
|
||||
"${pkgbase}-xsl")
|
||||
pkgver=7.3.30
|
||||
pkgrel=1
|
||||
arch=('x86_64')
|
||||
license=('PHP')
|
||||
url='https://www.php.net/'
|
||||
makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp'
|
||||
'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre2' 'libnsl')
|
||||
checkdepends=('procps-ng')
|
||||
source=("https://php.net/distributions/${_pkgbase}-${pkgver}.tar.xz"{,.asc}
|
||||
'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch'
|
||||
'enchant-2.patch' 'freetype.patch')
|
||||
sha256sums=('0ebfd656df0f3b1ea37ff2887f8f2d1a71cd160fb0292547c0ee0a99e58ffd1b'
|
||||
'SKIP'
|
||||
'62e5ceea3c90a3c6eab1166488f876e766efcfd7d4e973c44060a9e72d51a98a'
|
||||
'ebc0af1ef3a6baccb013d0ccb29923895a7b22ff2d032e3bba802dc6328301ce'
|
||||
'7e4736dc63746e8b58f0d76ccbcd14cf5f221864b61ba16e2fc736e1ac22f41a'
|
||||
'c28997b08d3ea257a2435164e35d0340f42cd3306def6a94b6b8c0a2f5644def'
|
||||
'cd3b12c1cd5860f77325ef5405b987eca9cd894cbc99bde6ea4bdbed78ff5d46'
|
||||
'3992491eebaf5b31f6b00095a7276d11682f9a8aaff473bfb25afbdcfa6eba32'
|
||||
'07c4648669dc05afc3c1ad5a4739768079c423b817eabf5296ca3d1ea5ffd163')
|
||||
validpgpkeys=('CBAF69F173A0FEA4B537F470D66C9593118BCCB6'
|
||||
'F38252826ACD957EF380D39F2F7956BC5DA04B5D')
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/${_pkgbase}-${pkgver}
|
||||
|
||||
patch -p0 -i ${srcdir}/apache.patch
|
||||
patch -p0 -i ${srcdir}/php-fpm.patch
|
||||
patch -p0 -i ${srcdir}/php.ini.patch
|
||||
patch -p1 -i ${srcdir}/enchant-2.patch
|
||||
patch -p1 -i ${srcdir}/freetype.patch
|
||||
autoconf
|
||||
|
||||
rm tests/output/stream_isatty_*.phpt
|
||||
}
|
||||
|
||||
build() {
|
||||
# http://site.icu-project.org/download/61#TOC-Migration-Issues
|
||||
CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
|
||||
|
||||
local _phpconfig="--srcdir=../${_pkgbase}-${pkgver} \
|
||||
--config-cache \
|
||||
--prefix=/usr \
|
||||
--sbindir=/usr/bin \
|
||||
--sysconfdir=/etc/${pkgbase} \
|
||||
--localstatedir=/var \
|
||||
--libdir=/usr/lib/${pkgbase} \
|
||||
--datarootdir=/usr/share/${pkgbase} \
|
||||
--datadir=/usr/share/${pkgbase} \
|
||||
--program-suffix=${pkgbase#php} \
|
||||
--with-layout=GNU \
|
||||
--with-config-file-path=/etc/${pkgbase} \
|
||||
--with-config-file-scan-dir=/etc/${pkgbase}/conf.d \
|
||||
--disable-rpath \
|
||||
--mandir=/usr/share/man \
|
||||
--without-pear \
|
||||
"
|
||||
|
||||
local _phpextensions="\
|
||||
--enable-bcmath=shared \
|
||||
--enable-calendar=shared \
|
||||
--enable-dba=shared \
|
||||
--enable-exif=shared \
|
||||
--enable-ftp=shared \
|
||||
--enable-intl=shared \
|
||||
--enable-mbstring \
|
||||
--enable-shmop=shared \
|
||||
--enable-soap=shared \
|
||||
--enable-sockets=shared \
|
||||
--enable-sysvmsg=shared \
|
||||
--enable-sysvsem=shared \
|
||||
--enable-sysvshm=shared \
|
||||
--enable-zip=shared \
|
||||
--with-bz2=shared \
|
||||
--with-curl=shared \
|
||||
--with-db4=/usr \
|
||||
--with-enchant=shared,/usr \
|
||||
--with-freetype-dir=/usr \
|
||||
--with-gd=shared,/usr \
|
||||
--with-gdbm \
|
||||
--with-gettext=shared \
|
||||
--with-gmp=shared \
|
||||
--with-iconv=shared \
|
||||
--with-imap-ssl \
|
||||
--with-imap=shared \
|
||||
--with-kerberos=/usr \
|
||||
--with-ldap=shared \
|
||||
--with-ldap-sasl \
|
||||
--with-libzip \
|
||||
--with-mhash \
|
||||
--with-mysql-sock=/run/mysqld/mysqld.sock \
|
||||
--with-mysqli=shared,mysqlnd \
|
||||
--with-openssl \
|
||||
--with-password-argon2 \
|
||||
--with-pcre-regex=/usr \
|
||||
--with-pdo-dblib=shared,/usr \
|
||||
--with-pdo-mysql=shared,mysqlnd \
|
||||
--with-pdo-odbc=shared,unixODBC,/usr \
|
||||
--with-pdo-pgsql=shared \
|
||||
--with-pdo-sqlite=shared,/usr \
|
||||
--with-pgsql=shared \
|
||||
--with-pspell=shared \
|
||||
--with-readline \
|
||||
--with-snmp=shared \
|
||||
--with-sodium=shared \
|
||||
--with-sqlite3=shared,/usr \
|
||||
--with-tidy=shared \
|
||||
--with-unixODBC=shared,/usr \
|
||||
--with-xmlrpc=shared \
|
||||
--with-xsl=shared \
|
||||
--with-zlib \
|
||||
--enable-pcntl \
|
||||
"
|
||||
|
||||
EXTENSION_DIR=/usr/lib/${pkgbase}/modules
|
||||
export EXTENSION_DIR
|
||||
|
||||
mkdir ${srcdir}/build
|
||||
cd ${srcdir}/build
|
||||
ln -s ../${_pkgbase}-${pkgver}/configure
|
||||
./configure ${_phpconfig} \
|
||||
--enable-cgi \
|
||||
--enable-fpm \
|
||||
--with-fpm-systemd \
|
||||
--with-fpm-acl \
|
||||
--with-fpm-user=http \
|
||||
--with-fpm-group=http \
|
||||
--enable-embed=shared \
|
||||
${_phpextensions}
|
||||
make
|
||||
|
||||
# apache
|
||||
# reuse the previous run; this will save us a lot of time
|
||||
cp -a ${srcdir}/build ${srcdir}/build-apache
|
||||
cd ${srcdir}/build-apache
|
||||
./configure ${_phpconfig} \
|
||||
--with-apxs2 \
|
||||
${_phpextensions}
|
||||
make
|
||||
|
||||
# phpdbg
|
||||
cp -a ${srcdir}/build ${srcdir}/build-phpdbg
|
||||
cd ${srcdir}/build-phpdbg
|
||||
./configure ${_phpconfig} \
|
||||
--enable-phpdbg \
|
||||
${_phpextensions}
|
||||
make
|
||||
}
|
||||
|
||||
package_php73() {
|
||||
pkgdesc='A general-purpose scripting language that is especially suited to web development'
|
||||
depends=('libxml2' 'curl' 'libzip' 'pcre2' 'argon2')
|
||||
replaces=('php73-ldap')
|
||||
conflicts=('php73-ldap')
|
||||
provides=("php73-ldap=${pkgver}" "php")
|
||||
backup=("etc/${pkgbase}/php.ini")
|
||||
|
||||
cd ${srcdir}/build
|
||||
make -j1 INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd}
|
||||
install -D -m644 ${srcdir}/${_pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/${pkgbase}/php.ini
|
||||
install -d -m755 ${pkgdir}/etc/${pkgbase}/conf.d/
|
||||
|
||||
# remove static modules
|
||||
rm -f ${pkgdir}/usr/lib/${pkgbase}/modules/*.a
|
||||
# remove modules provided by sub packages
|
||||
rm -f ${pkgdir}/usr/lib/${pkgbase}/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
|
||||
# remove empty directory
|
||||
rmdir ${pkgdir}/usr/include/php/include
|
||||
|
||||
# move include directory
|
||||
mv ${pkgdir}/usr/include/php ${pkgdir}/usr/include/${pkgbase}
|
||||
|
||||
# fix phar symlink
|
||||
rm ${pkgdir}/usr/bin/phar
|
||||
ln -sf phar.phar73 ${pkgdir}/usr/bin/phar73
|
||||
|
||||
# rename executables
|
||||
mv ${pkgdir}/usr/bin/phar.phar ${pkgdir}/usr/bin/phar.phar73
|
||||
|
||||
# rename man pages
|
||||
mv ${pkgdir}/usr/share/man/man1/{phar,phar73}.1
|
||||
mv ${pkgdir}/usr/share/man/man1/phar.{phar,phar73}.1
|
||||
|
||||
# fix paths in executables
|
||||
sed -i "/^includedir=/c \includedir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/phpize73
|
||||
sed -i "/^include_dir=/c \include_dir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/php-config73
|
||||
|
||||
# make phpize use php-config73
|
||||
sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [php-config73]], php-config73, no)" ${pkgdir}/usr/lib/${pkgbase}/build/phpize.m4
|
||||
}
|
||||
|
||||
package_php73-cgi() {
|
||||
pkgdesc='CGI and FCGI SAPI for PHP'
|
||||
depends=("${pkgbase}")
|
||||
|
||||
cd ${srcdir}/build
|
||||
make -j1 INSTALL_ROOT=${pkgdir} install-cgi
|
||||
}
|
||||
|
||||
package_php73-apache() {
|
||||
pkgdesc='Apache SAPI for PHP'
|
||||
depends=("${pkgbase}" 'apache' 'libnsl')
|
||||
backup=("etc/httpd/conf/extra/${pkgbase}_module.conf")
|
||||
|
||||
install -D -m755 ${srcdir}/build-apache/libs/libphp7.so ${pkgdir}/usr/lib/httpd/modules/lib${pkgbase}.so
|
||||
install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/${pkgbase}_module.conf
|
||||
}
|
||||
|
||||
package_php73-fpm() {
|
||||
pkgdesc='FastCGI Process Manager for PHP'
|
||||
depends=("${pkgbase}" 'systemd')
|
||||
backup=("etc/${pkgbase}/php-fpm.conf" "etc/${pkgbase}/php-fpm.d/www.conf")
|
||||
options=('!emptydirs')
|
||||
|
||||
cd ${srcdir}/build
|
||||
make -j1 INSTALL_ROOT=${pkgdir} install-fpm
|
||||
install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/${pkgbase}-fpm.service
|
||||
install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}-fpm.conf
|
||||
}
|
||||
|
||||
package_php73-embed() {
|
||||
pkgdesc='Embedded PHP SAPI library'
|
||||
depends=("${pkgbase}" 'systemd-libs' 'libnsl')
|
||||
options=('!emptydirs')
|
||||
|
||||
cd ${srcdir}/build
|
||||
make -j1 INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi
|
||||
mv ${pkgdir}/usr/lib/libphp7.so ${pkgdir}/usr/lib/libphp-73.so
|
||||
}
|
||||
|
||||
package_php73-phpdbg() {
|
||||
pkgdesc='Interactive PHP debugger'
|
||||
depends=("${pkgbase}")
|
||||
options=('!emptydirs')
|
||||
|
||||
cd ${srcdir}/build-phpdbg
|
||||
make -j1 INSTALL_ROOT=${pkgdir} install-phpdbg
|
||||
}
|
||||
|
||||
package_php73-dblib() {
|
||||
pkgdesc='dblib module for PHP'
|
||||
depends=("${pkgbase}" 'freetds')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_dblib.so
|
||||
}
|
||||
|
||||
package_php73-enchant() {
|
||||
pkgdesc='enchant module for PHP'
|
||||
depends=("${pkgbase}" 'enchant')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/usr/lib/${pkgbase}/modules/enchant.so
|
||||
}
|
||||
|
||||
package_php73-gd() {
|
||||
pkgdesc='gd module for PHP'
|
||||
depends=("${pkgbase}" 'gd')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/usr/lib/${pkgbase}/modules/gd.so
|
||||
}
|
||||
|
||||
package_php73-imap() {
|
||||
pkgdesc='imap module for PHP'
|
||||
depends=("${pkgbase}" 'c-client')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/usr/lib/${pkgbase}/modules/imap.so
|
||||
}
|
||||
|
||||
package_php73-intl() {
|
||||
pkgdesc='intl module for PHP'
|
||||
depends=("${pkgbase}" 'icu')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/usr/lib/${pkgbase}/modules/intl.so
|
||||
}
|
||||
|
||||
package_php73-sodium() {
|
||||
pkgdesc='sodium module for PHP'
|
||||
depends=("${pkgbase}" 'libsodium')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/usr/lib/${pkgbase}/modules/sodium.so
|
||||
}
|
||||
|
||||
package_php73-odbc() {
|
||||
pkgdesc='ODBC modules for PHP'
|
||||
depends=("${pkgbase}" 'unixodbc')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/usr/lib/${pkgbase}/modules/odbc.so
|
||||
install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_odbc.so
|
||||
}
|
||||
|
||||
package_php73-pgsql() {
|
||||
pkgdesc='PostgreSQL modules for PHP'
|
||||
depends=("${pkgbase}" 'postgresql-libs')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/usr/lib/${pkgbase}/modules/pgsql.so
|
||||
install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_pgsql.so
|
||||
}
|
||||
|
||||
package_php73-pspell() {
|
||||
pkgdesc='pspell module for PHP'
|
||||
depends=("${pkgbase}" 'aspell')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/usr/lib/${pkgbase}/modules/pspell.so
|
||||
}
|
||||
|
||||
package_php73-snmp() {
|
||||
pkgdesc='snmp module for PHP'
|
||||
depends=("${pkgbase}" 'net-snmp')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/usr/lib/${pkgbase}/modules/snmp.so
|
||||
}
|
||||
|
||||
package_php73-sqlite() {
|
||||
pkgdesc='sqlite module for PHP'
|
||||
depends=("${pkgbase}" 'sqlite')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/usr/lib/${pkgbase}/modules/sqlite3.so
|
||||
install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_sqlite.so
|
||||
}
|
||||
|
||||
package_php73-tidy() {
|
||||
pkgdesc='tidy module for PHP'
|
||||
depends=("${pkgbase}" 'tidy')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/usr/lib/${pkgbase}/modules/tidy.so
|
||||
}
|
||||
|
||||
package_php73-xsl() {
|
||||
pkgdesc='xsl module for PHP'
|
||||
depends=("${pkgbase}" 'libxslt')
|
||||
|
||||
install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/usr/lib/${pkgbase}/modules/xsl.so
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
# Required modules: dir_module, php7_module
|
||||
|
||||
<IfModule dir_module>
|
||||
<IfModule php7_module>
|
||||
DirectoryIndex index.php index.html
|
||||
<FilesMatch "\.php$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch "\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</IfModule>
|
|
@ -1,10 +0,0 @@
|
|||
--- sapi/apache2handler/config.m4.orig
|
||||
+++ sapi/apache2handler/config.m4
|
||||
@@ -113,7 +113,6 @@
|
||||
PHP_BUILD_THREAD_SAFE
|
||||
fi
|
||||
else
|
||||
- APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
|
||||
if test -n "$APACHE_THREADED_MPM"; then
|
||||
PHP_BUILD_THREAD_SAFE
|
||||
fi
|
|
@ -1,61 +0,0 @@
|
|||
--- php-7.1.13/ext/enchant/config.m4.orig 2018-01-03 02:32:29.000000000 +0000
|
||||
+++ php-7.1.13/ext/enchant/config.m4 2018-01-21 22:10:03.788875780 +0000
|
||||
@@ -14,9 +14,9 @@
|
||||
ENCHANT_SEARCH_DIRS="/usr/local /usr"
|
||||
fi
|
||||
for i in $ENCHANT_SEARCH_DIRS; do
|
||||
- if test -f $i/include/enchant/enchant.h; then
|
||||
+ if test -f $i/include/enchant-2/enchant.h; then
|
||||
ENCHANT_DIR=$i
|
||||
- ENCHANT_INCDIR=$i/include/enchant
|
||||
+ ENCHANT_INCDIR=$i/include/enchant-2
|
||||
elif test -f $i/include/enchant.h; then
|
||||
ENCHANT_DIR=$i
|
||||
ENCHANT_INCDIR=$i/include
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
AC_DEFINE(HAVE_ENCHANT,1,[ ])
|
||||
PHP_SUBST(ENCHANT_SHARED_LIBADD)
|
||||
- PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
|
||||
+ PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
|
||||
PHP_ADD_INCLUDE($ENCHANT_INCDIR)
|
||||
PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
|
||||
[
|
||||
--- php-7.2.1/ext/enchant/enchant.c.orig 2018-01-02 22:36:05.000000000 +0000
|
||||
+++ php-7.2.1/ext/enchant/enchant.c 2018-01-21 22:34:50.205791491 +0000
|
||||
@@ -741,7 +741,7 @@
|
||||
for (i = 0; i < n_sugg; i++) {
|
||||
add_next_index_string(sugg, suggs[i]);
|
||||
}
|
||||
- enchant_dict_free_suggestions(pdict->pdict, suggs);
|
||||
+ enchant_dict_free_string_list(pdict->pdict, suggs);
|
||||
}
|
||||
|
||||
|
||||
@@ -798,7 +798,7 @@
|
||||
add_next_index_string(return_value, suggs[i]);
|
||||
}
|
||||
|
||||
- enchant_dict_free_suggestions(pdict->pdict, suggs);
|
||||
+ enchant_dict_free_string_list(pdict->pdict, suggs);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
@@ -818,7 +818,7 @@
|
||||
|
||||
PHP_ENCHANT_GET_DICT;
|
||||
|
||||
- enchant_dict_add_to_personal(pdict->pdict, word, wordlen);
|
||||
+ enchant_dict_add(pdict->pdict, word, wordlen);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
@@ -856,7 +856,7 @@
|
||||
|
||||
PHP_ENCHANT_GET_DICT;
|
||||
|
||||
- RETURN_BOOL(enchant_dict_is_in_session(pdict->pdict, word, wordlen));
|
||||
+ RETURN_BOOL(enchant_dict_is_added(pdict->pdict, word, wordlen));
|
||||
}
|
||||
/* }}} */
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
diff -u -r php-7.2.5/ext/gd/config.m4 php-7.2.5-freetype/ext/gd/config.m4
|
||||
--- php-7.2.5/ext/gd/config.m4 2018-04-24 17:09:54.000000000 +0200
|
||||
+++ php-7.2.5-freetype/ext/gd/config.m4 2018-05-09 14:49:03.647108948 +0200
|
||||
@@ -186,6 +186,9 @@
|
||||
AC_DEFUN([PHP_GD_FREETYPE2],[
|
||||
if test "$PHP_FREETYPE_DIR" != "no"; then
|
||||
|
||||
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
||||
+
|
||||
+ AC_MSG_CHECKING([for freetype])
|
||||
for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
||||
if test -f "$i/bin/freetype-config"; then
|
||||
FREETYPE2_DIR=$i
|
||||
@@ -194,13 +197,20 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- if test -z "$FREETYPE2_DIR"; then
|
||||
+ if test -n "$FREETYPE2_CONFIG"; then
|
||||
+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
||||
+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
||||
+ AC_MSG_RESULT([found in $FREETYPE2_DIR])
|
||||
+ elif test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists freetype2; then
|
||||
+ FREETYPE2_DIR=pkg-config
|
||||
+ FREETYPE2_CFLAGS=`$PKG_CONFIG freetype2 --cflags`
|
||||
+ FREETYPE2_LIBS=`$PKG_CONFIG freetype2 --libs`
|
||||
+ AC_MSG_RESULT([found by pkg-config])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([not found])
|
||||
AC_MSG_ERROR([freetype-config not found.])
|
||||
fi
|
||||
|
||||
- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
||||
- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
||||
-
|
||||
PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
|
||||
PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
|
||||
AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
|
|
@ -1,48 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
. PKGBUILD
|
||||
|
||||
makepkg -o --nodeps --noprepare --skipinteg
|
||||
|
||||
pushd src/${_pkgbase}-${pkgver}
|
||||
|
||||
sed '/APACHE_THREADED_MPM=/d' -i.orig sapi/apache2handler/config.m4
|
||||
|
||||
sed 's/.conf.default/.conf/g' -i.orig sapi/fpm/Makefile.frag
|
||||
|
||||
sed \
|
||||
-e 's#run/php-fpm.pid#/run/php73-fpm/php-fpm.pid#' \
|
||||
-e 's#^;error_log =.*#error_log = syslog#' \
|
||||
-i.orig sapi/fpm/php-fpm.conf.in
|
||||
|
||||
sed \
|
||||
-e 's#^listen =.*#listen = /run/php73-fpm/php-fpm.sock#' \
|
||||
-e 's#^;listen.owner =#listen.owner =#' \
|
||||
-e 's#^;listen.group =#listen.group =#' \
|
||||
-e 's#^;chdir =.*#;chdir = /srv/http#' \
|
||||
-i.orig sapi/fpm/www.conf.in
|
||||
|
||||
sed \
|
||||
-e 's#^PIDFile=.*#PIDFile=/run/php73-fpm/php-fpm.pid#' \
|
||||
-e 's#^ExecStart=@EXPANDED_SBINDIR@/php-fpm --nodaemonize#ExecStart=@EXPANDED_SBINDIR@/php-fpm73 --nodaemonize#' \
|
||||
-i.orig sapi/fpm/php-fpm.service.in
|
||||
|
||||
extensions=";extension=bcmath\n;extension=bz2\n;extension=calendar\nextension=curl\n;extension=dba\n;extension=enchant\n;extension=exif\n;extension=ftp\n;extension=gd\n;extension=gettext\n;extension=gmp\n;extension=iconv\n;extension=imap\n;extension=intl\n;extension=sodium\n;extension=ldap\n;extension=mysqli\n;extension=odbc\n;zend_extension=opcache\n;extension=pdo_dblib\n;extension=pdo_mysql\n;extension=pdo_odbc\n;extension=pdo_pgsql\n;extension=pdo_sqlite\n;extension=pgsql\n;extension=pspell\n;extension=shmop\n;extension=snmp\n;extension=soap\n;extension=sockets\n;extension=sqlite3\n;extension=sysvmsg\n;extension=sysvsem\n;extension=sysvshm\n;extension=tidy\n;extension=xmlrpc\n;extension=xsl\nextension=zip\n"
|
||||
|
||||
sed \
|
||||
-r ":a;N;\$!ba;s/; Notes for Windows environments :\n.+;?extension=\w+\n/${extensions}/g" \
|
||||
-i.orig php.ini-production
|
||||
sed \
|
||||
-e 's#^;extension_dir = "\./"$#extension_dir = "/usr/lib/php73/modules/"#g' \
|
||||
-i php.ini-production
|
||||
|
||||
diff -u sapi/apache2handler/config.m4.orig sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch
|
||||
|
||||
diff -u sapi/fpm/Makefile.frag.orig sapi/fpm/Makefile.frag | filterdiff --clean --remove-timestamps > ../../php-fpm.patch
|
||||
diff -u sapi/fpm/php-fpm.conf.in.orig sapi/fpm/php-fpm.conf.in | filterdiff --clean --remove-timestamps >> ../../php-fpm.patch
|
||||
diff -u sapi/fpm/www.conf.in.orig sapi/fpm/www.conf.in | filterdiff --clean --remove-timestamps >> ../../php-fpm.patch
|
||||
diff -u sapi/fpm/php-fpm.service.in.orig sapi/fpm/php-fpm.service.in | filterdiff --clean --remove-timestamps >> ../../php-fpm.patch
|
||||
|
||||
diff -u php.ini-production.orig php.ini-production | filterdiff --clean --remove-timestamps > ../../php.ini.patch
|
||||
|
||||
popd
|
Binary file not shown.
|
@ -1,17 +0,0 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAmEkxKQMHGNtYkBwaHAu
|
||||
bmV0AAoJENZslZMRi8y2NpUQAIz+HE6allfMtMxMkmMdKS8RbidxCKpaA3HXLIVH
|
||||
T8SEl8qOPDSFlrSyXEBMx7uUSge0ezC38y3mKFvb1STSfUb5q4UqCrvJ76MEybfl
|
||||
MCvbHR53n6D5jir2nryF3MZWwZWAr/Pg6e18P/+7PgUVqWtlXDOWPPo8zRhKb9Gy
|
||||
OnfwnVe4Ad2TIlobwo56VjHeM3N0fdOGhd1rlCm6rBNMUcjsVOI7FOqHzXR3T1O1
|
||||
y0MtSkIsG9IefiawTrpoSUo7CrkUkUFnJcjp4ix9q6zPkKyIiJh8BdW5iBxfnjFj
|
||||
6TnTM/U1wknU07VO7/zBZK3rbvgnI95lOLcdgzwVj29cLkknT2dAAzo9oMr97eig
|
||||
55mL2f3oyL8foNPKGF2wcLtCPTvd7xBQMUfPc02k2wyCUJYc/JnKk/UIQzr3D9S/
|
||||
aQ1ZJPzNcDdiosVW71gBxy1cmubeLNqQI8LSPFQv4ORlC2hfWhnqyu66cWwgU9N/
|
||||
PGWY+4N9HBiE+Xq7zqV2uexbQUwdF/Tn9UdNM5raDTsX1c6MZUSC/GljPRZsoJUE
|
||||
hR/MqAuuMt4XIFNasEYryVmaaqmiDjU5agcZOeji7GwbYBZS28JzFmaw/2jLNId4
|
||||
jDaiUKssh64pINgzqvt8Tp3MN08W54afV16rqR3jTKXaBhaOPNpGUpVS8bBczMWb
|
||||
ERZJ
|
||||
=ykrU
|
||||
-----END PGP SIGNATURE-----
|
|
@ -1,76 +0,0 @@
|
|||
--- sapi/fpm/Makefile.frag.orig
|
||||
+++ sapi/fpm/Makefile.frag
|
||||
@@ -15,8 +15,8 @@
|
||||
else \
|
||||
echo "Installing PHP FPM defconfig: $(INSTALL_ROOT)$(sysconfdir)/" && \
|
||||
$(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d; \
|
||||
- $(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default; \
|
||||
- $(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf.default; \
|
||||
+ $(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf; \
|
||||
+ $(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf; \
|
||||
fi
|
||||
|
||||
@echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/"
|
||||
--- sapi/fpm/php-fpm.conf.in.orig
|
||||
+++ sapi/fpm/php-fpm.conf.in
|
||||
@@ -14,14 +14,14 @@
|
||||
; Pid file
|
||||
; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
|
||||
; Default Value: none
|
||||
-;pid = run/php-fpm.pid
|
||||
+;pid = /run/php73-fpm/php-fpm.pid
|
||||
|
||||
; Error log file
|
||||
; If it's set to "syslog", log is sent to syslogd instead of being written
|
||||
; into a local file.
|
||||
; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
|
||||
; Default Value: log/php-fpm.log
|
||||
-;error_log = log/php-fpm.log
|
||||
+error_log = syslog
|
||||
|
||||
; syslog_facility is used to specify what type of program is logging the
|
||||
; message. This lets syslogd specify that messages from different facilities
|
||||
--- sapi/fpm/www.conf.in.orig
|
||||
+++ sapi/fpm/www.conf.in
|
||||
@@ -33,7 +33,7 @@
|
||||
; (IPv6 and IPv4-mapped) on a specific port;
|
||||
; '/path/to/unix/socket' - to listen on a unix socket.
|
||||
; Note: This value is mandatory.
|
||||
-listen = 127.0.0.1:9000
|
||||
+listen = /run/php73-fpm/php-fpm.sock
|
||||
|
||||
; Set listen(2) backlog.
|
||||
; Default Value: 511 (-1 on FreeBSD and OpenBSD)
|
||||
@@ -44,8 +44,8 @@
|
||||
; BSD-derived systems allow connections regardless of permissions.
|
||||
; Default Values: user and group are set as the running user
|
||||
; mode is set to 0660
|
||||
-;listen.owner = @php_fpm_user@
|
||||
-;listen.group = @php_fpm_group@
|
||||
+listen.owner = @php_fpm_user@
|
||||
+listen.group = @php_fpm_group@
|
||||
;listen.mode = 0660
|
||||
; When POSIX Access Control Lists are supported you can set them using
|
||||
; these options, value is a comma separated list of user/group names.
|
||||
@@ -370,7 +370,7 @@
|
||||
; Chdir to this directory at the start.
|
||||
; Note: relative path can be used.
|
||||
; Default Value: current directory or / when chroot
|
||||
-;chdir = /var/www
|
||||
+;chdir = /srv/http
|
||||
|
||||
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||
--- sapi/fpm/php-fpm.service.in.orig
|
||||
+++ sapi/fpm/php-fpm.service.in
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
[Service]
|
||||
Type=@php_fpm_systemd@
|
||||
-PIDFile=@EXPANDED_LOCALSTATEDIR@/run/php-fpm.pid
|
||||
-ExecStart=@EXPANDED_SBINDIR@/php-fpm --nodaemonize --fpm-config @EXPANDED_SYSCONFDIR@/php-fpm.conf
|
||||
+PIDFile=/run/php73-fpm/php-fpm.pid
|
||||
+ExecStart=@EXPANDED_SBINDIR@/php-fpm73 --nodaemonize --fpm-config @EXPANDED_SYSCONFDIR@/php-fpm.conf
|
||||
ExecReload=/bin/kill -USR2 $MAINPID
|
||||
PrivateTmp=true
|
||||
|
|
@ -1 +0,0 @@
|
|||
d /run/php73-fpm 755 root root
|
|
@ -1,78 +0,0 @@
|
|||
--- php.ini-production.orig
|
||||
+++ php.ini-production
|
||||
@@ -751,7 +751,7 @@
|
||||
|
||||
; Directory in which the loadable extensions (modules) reside.
|
||||
; http://php.net/extension-dir
|
||||
-;extension_dir = "./"
|
||||
+extension_dir = "/usr/lib/php73/modules/"
|
||||
; On windows:
|
||||
;extension_dir = "ext"
|
||||
|
||||
@@ -899,48 +899,44 @@
|
||||
; deprecated in a future PHP major version. So, when it is possible, please
|
||||
; move to the new ('extension=<ext>) syntax.
|
||||
;
|
||||
-; Notes for Windows environments :
|
||||
-;
|
||||
-; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
|
||||
-; extension folders as well as the separate PECL DLL download (PHP 5+).
|
||||
-; Be sure to appropriately set the extension_dir directive.
|
||||
-;
|
||||
+;extension=bcmath
|
||||
;extension=bz2
|
||||
-;extension=curl
|
||||
-;extension=fileinfo
|
||||
-;extension=gd2
|
||||
+;extension=calendar
|
||||
+extension=curl
|
||||
+;extension=dba
|
||||
+;extension=enchant
|
||||
+;extension=exif
|
||||
+;extension=ftp
|
||||
+;extension=gd
|
||||
;extension=gettext
|
||||
;extension=gmp
|
||||
-;extension=intl
|
||||
+;extension=iconv
|
||||
;extension=imap
|
||||
-;extension=interbase
|
||||
+;extension=intl
|
||||
+;extension=sodium
|
||||
;extension=ldap
|
||||
-;extension=mbstring
|
||||
-;extension=exif ; Must be after mbstring as it depends on it
|
||||
;extension=mysqli
|
||||
-;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
|
||||
;extension=odbc
|
||||
-;extension=openssl
|
||||
-;extension=pdo_firebird
|
||||
+;zend_extension=opcache
|
||||
+;extension=pdo_dblib
|
||||
;extension=pdo_mysql
|
||||
-;extension=pdo_oci
|
||||
;extension=pdo_odbc
|
||||
;extension=pdo_pgsql
|
||||
;extension=pdo_sqlite
|
||||
;extension=pgsql
|
||||
+;extension=pspell
|
||||
;extension=shmop
|
||||
-
|
||||
-; The MIBS data available in the PHP distribution must be installed.
|
||||
-; See http://www.php.net/manual/en/snmp.installation.php
|
||||
;extension=snmp
|
||||
-
|
||||
;extension=soap
|
||||
;extension=sockets
|
||||
-;extension=sodium
|
||||
;extension=sqlite3
|
||||
+;extension=sysvmsg
|
||||
+;extension=sysvsem
|
||||
+;extension=sysvshm
|
||||
;extension=tidy
|
||||
;extension=xmlrpc
|
||||
;extension=xsl
|
||||
+extension=zip
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;
|
||||
; Module Settings ;
|
|
@ -1,29 +0,0 @@
|
|||
From dbe68d96e7da8ba5e5484e6ad0bbd78c9b0a8eec Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 9 Dec 2018 14:29:59 +0100
|
||||
Subject: [PATCH] Disable mapboxgl
|
||||
|
||||
---
|
||||
src/plugins/geoservices/geoservices.pro | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/geoservices/geoservices.pro b/src/plugins/geoservices/geoservices.pro
|
||||
index b81ad34a..98308c97 100644
|
||||
--- a/src/plugins/geoservices/geoservices.pro
|
||||
+++ b/src/plugins/geoservices/geoservices.pro
|
||||
@@ -7,12 +7,3 @@ qtConfig(geoservices_mapbox): SUBDIRS += mapbox
|
||||
qtConfig(geoservices_esri): SUBDIRS += esri
|
||||
qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay
|
||||
qtConfig(geoservices_osm): SUBDIRS += osm
|
||||
-
|
||||
-qtConfig(geoservices_mapboxgl) {
|
||||
- !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) {
|
||||
- warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.")
|
||||
- } else {
|
||||
- SUBDIRS += mapboxgl ../../3rdparty/mapbox-gl-native
|
||||
- mapboxgl.depends = ../../3rdparty/mapbox-gl-native
|
||||
- }
|
||||
-}
|
||||
--
|
||||
2.23.0
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
From 2c8ca36b5f87ccfc039c0b669c80f21205769758 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 9 Dec 2018 14:28:07 +0100
|
||||
Subject: [PATCH 1/4] Fix clang/libc++ build under Android
|
||||
|
||||
---
|
||||
mkspecs/android-clang/qmake.conf | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
|
||||
index 05b7979142..83d030793b 100644
|
||||
--- a/mkspecs/android-clang/qmake.conf
|
||||
+++ b/mkspecs/android-clang/qmake.conf
|
||||
@@ -30,11 +30,12 @@ QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
|
||||
QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
|
||||
equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
|
||||
|
||||
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
|
||||
+QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$ANDROID_PLATFORM_ROOT_PATH \
|
||||
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
|
||||
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
|
||||
-isystem $$NDK_ROOT/sources/android/support/include \
|
||||
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
|
||||
+ -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include \
|
||||
+ -isystem $$NDK_ROOT/sysroot/usr/include
|
||||
|
||||
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
|
||||
|
||||
@@ -44,6 +45,8 @@ ANDROID_USE_LLVM = true
|
||||
|
||||
exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
|
||||
ANDROID_CXX_STL_LIBS = -lc++
|
||||
+else: exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so): \
|
||||
+ ANDROID_CXX_STL_LIBS = -lc++_shared
|
||||
else: \
|
||||
ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
|
||||
|
||||
--
|
||||
2.23.0
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From 996c53a388705a0bbf778faaf7660efad98e1eff Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 9 Dec 2018 14:31:30 +0100
|
||||
Subject: [PATCH 2/4] Fix androiddeployqt search paths
|
||||
|
||||
---
|
||||
src/tools/androiddeployqt/main.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
|
||||
index 01c392f8f9..9600d657cb 100644
|
||||
--- a/src/tools/androiddeployqt/main.cpp
|
||||
+++ b/src/tools/androiddeployqt/main.cpp
|
||||
@@ -1721,7 +1721,7 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
|
||||
rootPath += QLatin1Char('/');
|
||||
|
||||
QStringList importPaths;
|
||||
- importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/qml"));
|
||||
+ importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/lib/qt/qml"));
|
||||
importPaths += shellQuote(rootPath);
|
||||
for (const QString &qmlImportPath : qAsConst(options->qmlImportPaths))
|
||||
importPaths += shellQuote(qmlImportPath);
|
||||
@@ -1857,7 +1857,7 @@ bool readDependencies(Options *options)
|
||||
return false;
|
||||
|
||||
// Jam in the dependencies of the platform plugin, since the application will crash without it
|
||||
- if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
|
||||
+ if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/lib/qt/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
|
||||
return false;
|
||||
|
||||
while (!remainingDependencies.isEmpty()) {
|
||||
--
|
||||
2.23.0
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
From a71a1223328539ee403884a24d1dbc5a685d40dd Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 7 Apr 2019 09:54:49 +0200
|
||||
Subject: [PATCH 3/4] Support pkg-config under Android
|
||||
|
||||
from https://aur.archlinux.org/cgit/aur.git/commit/?h=android-aarch64-qt5&id=d901da324b2ceea2ac99b48137cb82b2bd920c77
|
||||
---
|
||||
mkspecs/android-clang/qmake.conf | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
|
||||
index 83d030793b..8f145a2bb7 100644
|
||||
--- a/mkspecs/android-clang/qmake.conf
|
||||
+++ b/mkspecs/android-clang/qmake.conf
|
||||
@@ -53,3 +53,6 @@ else: \
|
||||
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
|
||||
|
||||
include(../common/android-base-tail.conf)
|
||||
+
|
||||
+QMAKE_PKG_CONFIG = $$[QT_INSTALL_PREFIX]
|
||||
+QMAKE_PKG_CONFIG = android-$$section(QMAKE_PKG_CONFIG, /, 3, 3)-pkg-config
|
||||
--
|
||||
2.23.0
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
From 9cd435c730949e29104bbfa2bdd82ed2c662ca3d Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sat, 7 Sep 2019 13:21:37 +0200
|
||||
Subject: [PATCH 4/4] Use pkg-config to find libjpeg
|
||||
|
||||
---
|
||||
src/gui/configure.json | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index 6280b4dfa2..206f83984a 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -373,6 +373,7 @@
|
||||
},
|
||||
"headers": "jpeglib.h",
|
||||
"sources": [
|
||||
+ { "type": "pkgConfig", "args": "libjpeg" },
|
||||
{ "libs": "-llibjpeg", "condition": "config.msvc" },
|
||||
"-ljpeg"
|
||||
]
|
||||
--
|
||||
2.23.0
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
From dbe68d96e7da8ba5e5484e6ad0bbd78c9b0a8eec Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 9 Dec 2018 14:29:59 +0100
|
||||
Subject: [PATCH] Disable mapboxgl
|
||||
|
||||
---
|
||||
src/plugins/geoservices/geoservices.pro | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/geoservices/geoservices.pro b/src/plugins/geoservices/geoservices.pro
|
||||
index b81ad34a..98308c97 100644
|
||||
--- a/src/plugins/geoservices/geoservices.pro
|
||||
+++ b/src/plugins/geoservices/geoservices.pro
|
||||
@@ -7,12 +7,3 @@ qtConfig(geoservices_mapbox): SUBDIRS += mapbox
|
||||
qtConfig(geoservices_esri): SUBDIRS += esri
|
||||
qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay
|
||||
qtConfig(geoservices_osm): SUBDIRS += osm
|
||||
-
|
||||
-qtConfig(geoservices_mapboxgl) {
|
||||
- !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) {
|
||||
- warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.")
|
||||
- } else {
|
||||
- SUBDIRS += mapboxgl ../../3rdparty/mapbox-gl-native
|
||||
- mapboxgl.depends = ../../3rdparty/mapbox-gl-native
|
||||
- }
|
||||
-}
|
||||
--
|
||||
2.23.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue