Compare commits
1 Commits
master
...
update/min
Author | SHA1 | Date |
---|---|---|
Martchus | 09e18142ed |
|
@ -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
|
|
@ -43,6 +43,3 @@ Makefile*
|
|||
|
||||
# VIM swap
|
||||
*.swp
|
||||
|
||||
# directory to store generator output when testing
|
||||
devel/generator/output
|
||||
|
|
413
README.md
413
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,391 +28,64 @@ 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`.
|
||||
|
||||
### Documentation about the used templating system
|
||||
* [Syntax](https://mojolicious.org/perldoc/Mojo/Template#SYNTAX)
|
||||
* [Helper](https://mojolicious.org/perldoc/Mojolicious/Plugin/DefaultHelpers)
|
||||
* [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}
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
# Contributor: frownlee <florez.brownlee@gmail.com>
|
||||
|
||||
pkgname=android-ndk
|
||||
pkgver=r21.d
|
||||
pkgver=r20
|
||||
pkgrel=1
|
||||
pkgdesc='Android C/C++ developer kit'
|
||||
arch=('x86_64')
|
||||
|
@ -14,14 +14,11 @@ options=('!strip' 'staticlibs')
|
|||
backup=('etc/profile.d/android-ndk.sh')
|
||||
install="$pkgname.install"
|
||||
replaces=('android-ndk64')
|
||||
depends=()
|
||||
source=("$pkgname.sh")
|
||||
depends=('glibc')
|
||||
source=('android-ndk.sh')
|
||||
source_x86_64=("https://dl.google.com/android/repository/$pkgname-${pkgver/./}-linux-x86_64.zip")
|
||||
# SHA1 sums is kept to follow upstream releases https://github.com/android-ndk/ndk/issues/673
|
||||
sha1sums=('2479a8d74428eb651ad2b9772ad655d7a90af410')
|
||||
sha1sums_x86_64=('bcf4023eb8cb6976a4c7cff0a8a8f145f162bf4d')
|
||||
sha256sums=('2068618bc3e99149310f544be5d639ae183dc767d5a7157a07d8e024417b6017')
|
||||
sha256sums_x86_64=('dd6dc090b6e2580206c64bcee499bc16509a5d017c6952dcd2bed9072af67cbd')
|
||||
sha1sums_x86_64=('8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff')
|
||||
|
||||
prepare() {
|
||||
# workaround issue with CMake's internal Android support
|
|
@ -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
|
||||
}
|
|
@ -1,34 +1,39 @@
|
|||
# Maintainer: Martchus <martchus@gmx.net>
|
||||
# Contributor: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
|
||||
# Maintainer: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
|
||||
# vim: ft=sh
|
||||
|
||||
pkgname=baikal
|
||||
pkgver=0.9.5
|
||||
pkgrel=1
|
||||
pkgdesc='Lightweight CalDAV+CardDAV server'
|
||||
url='http://sabre.io/baikal/'
|
||||
pkgver=0.4.6
|
||||
pkgrel=3
|
||||
pkgdesc="Lightweight CalDAV+CardDAV server"
|
||||
url="http://sabre.io/baikal/"
|
||||
arch=('any')
|
||||
license=('GPL')
|
||||
depends=('php')
|
||||
optdepends=('sqlite: Database' 'mariadb: Alternate database' 'php-sqlite: To use the sqlite backend')
|
||||
source=("https://github.com/fruux/Baikal/releases/download/$pkgver/baikal-$pkgver.zip"
|
||||
'baikal.install')
|
||||
sha512sums=('e544ed39047788bf001c81a44eb69a3db30a871253cb6bf12b54d5d476eaadc63d723192d41b67f2cf908a72d4c722def03d853df68b7fd464a4093e08ed0f19'
|
||||
'4e28980100ce9fc820a6c40a9cd528a90d62997ac18fb4ea353d8eaba58b320f9c653ba9b066036ff598f1d5a0aafb49ba444f9187c0d3616cbe6fa45222ca3f')
|
||||
'baikal.install'
|
||||
'https://patch-diff.githubusercontent.com/raw/fruux/Baikal/pull/686.patch'
|
||||
'foreach.patch::https://github.com/sabre-io/Baikal/commit/4a33ba6ca2cc19eeab484f1affb031e9d5273692.patch')
|
||||
sha1sums=('bc2850281223da9cc7471a157de754f8feb03783'
|
||||
'60c547fdd6a3926213e8becf8f08db9c3a408e78'
|
||||
'102cd0df5eaddc6860d5244a16b4594970e02740'
|
||||
'c577c778ab8e5ddd7767e5953161ab44b2cafe1c')
|
||||
options=('!strip')
|
||||
install=baikal.install
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/baikal/vendor/sabre/dav"
|
||||
cd "${srcdir}/baikal"
|
||||
patch -p1 -i "$srcdir/686.patch"
|
||||
patch -p1 -i "$srcdir/foreach.patch"
|
||||
}
|
||||
|
||||
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"
|
||||
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"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
|
|
|
@ -1,6 +1,15 @@
|
|||
# Maintainer: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
|
||||
|
||||
post_install() {
|
||||
if [[ ! -f /var/lib/baikal/db/db.sqlite ]]; then
|
||||
# Create initial database if it doesn't exist.
|
||||
# Note we can't do this while packaging because we don't want to override
|
||||
# an older database.
|
||||
mkdir /var/lib/baikal/db
|
||||
cp /usr/share/webapps/baikal/Core/Resources/Db/SQLite/db.sqlite \
|
||||
/var/lib/baikal/db
|
||||
chown -R http:http /var/lib/baikal
|
||||
fi
|
||||
echo "Please add /var/lib/baikal to open_basedir in your /etc/php.ini."
|
||||
echo
|
||||
echo "You also need to set up your webserver for baikal, there are example"
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
# Maintainer of AUR version: Tommaso Sardelli <lacapannadelloziotom [at] gmail [dot] com>
|
||||
|
||||
_pkgname=bashmarks
|
||||
pkgname=${_pkgname}-custom-git
|
||||
pkgver=48.3626ed7
|
||||
pkgrel=1
|
||||
pkgdesc='A shell script that allows you to save and jump to commonly used directories'
|
||||
arch=('any')
|
||||
url="https://github.com/Martchus/${_pkgname}/tree/adjustments"
|
||||
license=('BSD')
|
||||
makedepends=('git')
|
||||
provides=("$_pkgname")
|
||||
conflicts=("$_pkgname")
|
||||
install="$pkgname.install"
|
||||
source=("git+https://github.com/Martchus/${_pkgname}.git#branch=adjustments")
|
||||
md5sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "$srcdir/$_pkgname"
|
||||
git rev-list --count HEAD
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$_pkgname"
|
||||
install -Dm644 bashmarks.sh $pkgdir/usr/share/$_pkgname/${_pkgname}.sh
|
||||
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/${_pkgname}/LICENSE"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
post_install () {
|
||||
echo "bashmarks-git has been installed, don't forget to add the following line"
|
||||
echo "to either ~/.bashrc or ~/.bash_profile to enable bashmarks."
|
||||
echo
|
||||
echo "source /usr/share/bashmarks/bashmarks.sh"
|
||||
echo
|
||||
}
|
||||
|
||||
post_remove () {
|
||||
echo "bashmarks-git has been removed, don't forget to remove the following line"
|
||||
echo "from either ~/.bashrc or ~/.bash_profile"
|
||||
echo
|
||||
echo "source /usr/share/bashmarks/bashmarks.sh"
|
||||
echo
|
||||
}
|
||||
|
|
@ -4,44 +4,36 @@
|
|||
# you also find the URL of a binary repository.
|
||||
|
||||
pkgname=bento4
|
||||
pkgver=1.6.0.641
|
||||
_pkgverstr=1-6-0-641
|
||||
pkgver=1.5.1.624
|
||||
_pkgverstr=1.5.1-624
|
||||
pkgrel=1
|
||||
pkgdesc='C++ class library and tools designed to read and write ISO-MP4 files'
|
||||
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://www.bento4.com/'
|
||||
license=('GPL')
|
||||
makedepends=('cmake')
|
||||
optdepends=('python')
|
||||
source=("http://zebulon.bok.net/Bento4/source/Bento4-SRC-${_pkgverstr}.zip")
|
||||
sha256sums=('8258faf0de7253f2aac016018f33d4a04c16d9060735e14ec8711f84aaedf0c8')
|
||||
source=("https://github.com/axiomatic-systems/Bento4/archive/v${_pkgverstr}.tar.gz")
|
||||
sha256sums=('eda725298e77df83e51793508a3a2640eabdfda1abc8aa841eca69983de83a4c')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}"
|
||||
cd "${srcdir}/Bento4-${_pkgverstr}"
|
||||
|
||||
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
|
||||
cd "${srcdir}/Bento4-${_pkgverstr}"
|
||||
|
||||
# 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.1
|
||||
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=('d3fadf1fb4611528afd0bbe214e178821505cb5becbc784ed68727548a4c3355')
|
||||
|
||||
package() {
|
||||
local _srcdir="${srcdir}/${PROJECT_DIR_NAME:-$pkgname-$pkgver}"
|
||||
|
|
|
@ -15,7 +15,7 @@ makedepends=('git')
|
|||
conflicts=(${_reponame})
|
||||
provides=(${_reponame})
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git")
|
||||
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git://github.com/Martchus}/${_reponame}.git")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
|
|
|
@ -3,146 +3,154 @@
|
|||
# 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=22
|
||||
_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.69.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
url='http://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://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${_boostver}.tar.bz2
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406'
|
||||
'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 \
|
||||
-funwind-tables \
|
||||
-no-canonical-prefixes \
|
||||
-D__ANDROID_API__=$_android_platform \
|
||||
-O3 \
|
||||
-fPIC \
|
||||
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
|
||||
local ld_flags=" \
|
||||
$target_flags \
|
||||
$_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
|
||||
_bindir="bin.linuxx86"
|
||||
[[ "${CARCH}" = "x86_64" ]] && _bindir="bin.linuxx86_64"
|
||||
install -Dm755 tools/build/src/engine/$_bindir/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/$_android_arch" \
|
||||
cflags="$common_flags" \
|
||||
cxxflags="$common_flags -fexceptions -frtti -std=c++14" \
|
||||
linkflags="$ld_flags" \
|
||||
--layout=system \
|
||||
${jobs} \
|
||||
\
|
||||
--prefix="${_stagedir}" \
|
||||
-d+2 \
|
||||
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 +0,0 @@
|
|||
--- 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 ]
|
||||
+ # ;
|
||||
+ #}
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
|
@ -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,154 @@
|
|||
# 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=21 # 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.69.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
url='http://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://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${_boostver}.tar.bz2
|
||||
no-versioned-shlibs.patch)
|
||||
sha256sums=('8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406'
|
||||
'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 \
|
||||
-funwind-tables \
|
||||
-no-canonical-prefixes \
|
||||
-D__ANDROID_API__=$_android_platform \
|
||||
-O3 \
|
||||
-fPIC \
|
||||
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
|
||||
local ld_flags=" \
|
||||
$target_flags \
|
||||
$_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
|
||||
_bindir="bin.linuxx86"
|
||||
[[ "${CARCH}" = "x86_64" ]] && _bindir="bin.linuxx86_64"
|
||||
install -Dm755 tools/build/src/engine/$_bindir/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/$_android_arch" \
|
||||
cflags="$common_flags" \
|
||||
cxxflags="$common_flags -fexceptions -frtti -std=c++14" \
|
||||
linkflags="$ld_flags" \
|
||||
--layout=system \
|
||||
${jobs} \
|
||||
\
|
||||
--prefix="${_stagedir}" \
|
||||
-d+2 \
|
||||
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 +0,0 @@
|
|||
--- 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 ]
|
||||
+ # ;
|
||||
+ #}
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
|
@ -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,148 +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.
|
||||
|
||||
_android_arch=x86-64
|
||||
pkgname=android-${_android_arch}-boost
|
||||
pkgver=1.84.0
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
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')
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
# Platform specific patches
|
||||
case "$_android_arch" in
|
||||
aarch64)
|
||||
_boost_arch=arm
|
||||
_boost_address_model=64
|
||||
;;
|
||||
armv7a-eabi)
|
||||
_boost_arch=arm
|
||||
_boost_address_model=32
|
||||
;;
|
||||
x86)
|
||||
_boost_arch=x86
|
||||
_boost_address_model=32
|
||||
;;
|
||||
x86-64)
|
||||
_boost_arch=x86
|
||||
_boost_address_model=64
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
./bootstrap.sh -with-toolset=gcc
|
||||
|
||||
# support for OpenMPI
|
||||
if [[ _boost_address_model == 64 ]]; then
|
||||
_boost_mpi='using mpi ;'
|
||||
else
|
||||
_boost_mpi=''
|
||||
fi
|
||||
|
||||
userConfigs=$srcdir/$_srcname/user-config.jam
|
||||
|
||||
cat << EOF > "${userConfigs}"
|
||||
${_boost_mpi}
|
||||
using clang : android : ${ANDROID_CXX} :
|
||||
<archiver>${ANDROID_AR} \
|
||||
<assembler>${ANDROID_AS}
|
||||
;
|
||||
EOF
|
||||
|
||||
./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}"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
|
||||
|
||||
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 -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
|
||||
}
|
|
@ -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 +0,0 @@
|
|||
--- 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 ]
|
||||
+ # ;
|
||||
+ #}
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
|
@ -1,148 +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.
|
||||
|
||||
_android_arch=x86
|
||||
pkgname=android-${_android_arch}-boost
|
||||
pkgver=1.84.0
|
||||
pkgrel=1
|
||||
_srcname=boost_${pkgver//./_}
|
||||
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')
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
# Platform specific patches
|
||||
case "$_android_arch" in
|
||||
aarch64)
|
||||
_boost_arch=arm
|
||||
_boost_address_model=64
|
||||
;;
|
||||
armv7a-eabi)
|
||||
_boost_arch=arm
|
||||
_boost_address_model=32
|
||||
;;
|
||||
x86)
|
||||
_boost_arch=x86
|
||||
_boost_address_model=32
|
||||
;;
|
||||
x86-64)
|
||||
_boost_arch=x86
|
||||
_boost_address_model=64
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
./bootstrap.sh -with-toolset=gcc
|
||||
|
||||
# support for OpenMPI
|
||||
if [[ _boost_address_model == 64 ]]; then
|
||||
_boost_mpi='using mpi ;'
|
||||
else
|
||||
_boost_mpi=''
|
||||
fi
|
||||
|
||||
userConfigs=$srcdir/$_srcname/user-config.jam
|
||||
|
||||
cat << EOF > "${userConfigs}"
|
||||
${_boost_mpi}
|
||||
using clang : android : ${ANDROID_CXX} :
|
||||
<archiver>${ANDROID_AR} \
|
||||
<assembler>${ANDROID_AS}
|
||||
;
|
||||
EOF
|
||||
|
||||
./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}"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/$_srcname"
|
||||
source android-env ${_android_arch}
|
||||
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.a' -exec $ANDROID_STRIP -g {} \;
|
||||
find "${srcdir}/fakeinstall"/lib -iname '*.so' -exec $ANDROID_STRIP --strip-unneeded {} \;
|
||||
|
||||
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 -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
|
||||
}
|
|
@ -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 +0,0 @@
|
|||
--- 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 ]
|
||||
+ # ;
|
||||
+ #}
|
||||
}
|
||||
#3) default: no command and no version specified, try using "$(tool)"
|
||||
else
|
|
@ -10,17 +10,15 @@
|
|||
|
||||
pkgbase=boost
|
||||
pkgname=('boost-libs' 'boost')
|
||||
pkgver=1.74.0
|
||||
pkgver=1.68.0
|
||||
_boostver=${pkgver//./_}
|
||||
pkgrel=1
|
||||
pkgdesc='Free peer-reviewed portable C++ source libraries'
|
||||
url='https://www.boost.org/'
|
||||
url='http://www.boost.org/'
|
||||
arch=('x86_64')
|
||||
license=('custom')
|
||||
makedepends=('icu' 'python' 'python2' 'python-numpy' 'python2-numpy' 'bzip2' 'zlib' 'openmpi' 'zstd' 'findutils')
|
||||
source=(https://dl.bintray.com/boostorg/release/${pkgver}/source/boost_${_boostver}.tar.bz2)
|
||||
sha256sums=('83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1')
|
||||
b2sums=('5995ff6ca21f45988b187b94bf743795cca97531baa8355f488be0987b9426289dd85d6ce25b7eb03ccd690109f05ba56252a95bca50505ad9cd66f4e0e234e8')
|
||||
makedepends=('icu' 'python' 'python2' 'python-numpy' 'python2-numpy' 'bzip2' 'zlib' 'openmpi')
|
||||
source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2)
|
||||
sha256sums=('7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7')
|
||||
|
||||
build() {
|
||||
export _stagedir="${srcdir}/stagedir"
|
||||
|
@ -30,7 +28,9 @@ build() {
|
|||
|
||||
./bootstrap.sh --with-toolset=gcc --with-icu --with-python=/usr/bin/python2
|
||||
|
||||
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
|
||||
_bindir="bin.linuxx86"
|
||||
[[ "${CARCH}" = "x86_64" ]] && _bindir="bin.linuxx86_64"
|
||||
install -Dm755 tools/build/src/engine/$_bindir/b2 "${_stagedir}"/bin/b2
|
||||
|
||||
# Support for OpenMPI
|
||||
echo "using mpi ;" >> project-config.jam
|
||||
|
@ -64,12 +64,11 @@ build() {
|
|||
|
||||
# because b2 in boost 1.62.0 doesn't seem to respect python parameter, we
|
||||
# need another run for liboost_python3.so
|
||||
sed -e '/using python/ s@;@: /usr/include/python${PYTHON_VERSION/3*/${PYTHON_VERSION}m} ;@' \
|
||||
-i bootstrap.sh
|
||||
|
||||
./bootstrap.sh \
|
||||
--with-toolset=gcc \
|
||||
--with-icu \
|
||||
--with-python=/usr/bin/python3 \
|
||||
--with-libraries=python
|
||||
./bootstrap.sh --with-toolset=gcc --with-icu --with-python=/usr/bin/python3 \
|
||||
--with-libraries=python
|
||||
|
||||
"${_stagedir}"/bin/b2 clean
|
||||
"${_stagedir}"/bin/b2 \
|
||||
|
@ -79,7 +78,7 @@ build() {
|
|||
runtime-link=shared \
|
||||
link=shared,static \
|
||||
toolset=gcc \
|
||||
python=3.8 \
|
||||
python=3.7 \
|
||||
cflags="${CPPFLAGS} ${CFLAGS} -fPIC -O3" \
|
||||
cxxflags="${CPPFLAGS} ${CXXFLAGS} -std=c++14 -fPIC -O3" \
|
||||
linkflags="${LDFLAGS}" \
|
||||
|
@ -92,7 +91,7 @@ build() {
|
|||
}
|
||||
|
||||
package_boost() {
|
||||
pkgdesc+=' - development headers'
|
||||
pkgdesc='Free peer-reviewed portable C++ source libraries - development headers'
|
||||
depends=("boost-libs=${pkgver}")
|
||||
optdepends=('python: for python bindings'
|
||||
'python2: for python2 bindings')
|
||||
|
@ -103,48 +102,31 @@ package_boost() {
|
|||
|
||||
install -d "${pkgdir}"/usr/lib
|
||||
cp -a "${_stagedir}"/lib/*.a "${pkgdir}"/usr/lib/
|
||||
cp -a "${_stagedir}"/lib/cmake "${pkgdir}"/usr/lib/
|
||||
|
||||
install -Dm644 "${srcdir}/"${pkgbase}_${_boostver}/LICENSE_1_0.txt \
|
||||
"${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt
|
||||
|
||||
install -Dm644 "${_stagedir}"/python3/lib/libboost_*.a \
|
||||
"${pkgdir}"/usr/lib/
|
||||
cp -a "${_stagedir}"/python3/lib/cmake/* "${pkgdir}"/usr/lib/cmake/
|
||||
|
||||
ln -s /usr/bin/b2 "$pkgdir"/usr/bin/bjam
|
||||
}
|
||||
|
||||
package_boost-libs() {
|
||||
pkgdesc+=' - runtime libraries'
|
||||
depends=('bzip2' 'zlib' 'icu' 'zstd')
|
||||
pkgdesc='Free peer-reviewed portable C++ source libraries - runtime libraries'
|
||||
depends=('bzip2' 'zlib' 'icu')
|
||||
optdepends=('openmpi: for mpi support')
|
||||
provides=(libboost_atomic.so libboost_chrono.so libboost_container.so
|
||||
libboost_context.so libboost_contract.so libboost_coroutine.so
|
||||
libboost_date_time.so libboost_fiber.so libboost_filesystem.so
|
||||
libboost_graph.so libboost_graph_parallel.so libboost_iostreams.so
|
||||
libboost_locale.so libboost_log.so libboost_log_setup.so
|
||||
libboost_math_c99.so libboost_math_c99f.so libboost_math_c99l.so
|
||||
libboost_math_tr1.so libboost_math_tr1f.so libboost_math_tr1l.so
|
||||
libboost_mpi.so libboost_numpy27.so libboost_numpy38.so
|
||||
libboost_prg_exec_monitor.so libboost_program_options.so
|
||||
libboost_python27.so libboost_python38.so libboost_random.so
|
||||
libboost_regex.so libboost_serialization.so
|
||||
libboost_stacktrace_addr2line.so libboost_stacktrace_basic.so
|
||||
libboost_stacktrace_noop.so libboost_system.so libboost_thread.so
|
||||
libboost_timer.so libboost_type_erasure.so libboost_unit_test_framework.so
|
||||
libboost_wave.so libboost_wserialization.so)
|
||||
provides=('libboost_context.so')
|
||||
|
||||
install -dm755 "${pkgdir}"/usr
|
||||
cp -a "${_stagedir}"/lib "${pkgdir}"/usr
|
||||
cp -a "${_stagedir}"/python3/lib/libboost_* "${pkgdir}"/usr/lib
|
||||
rm "${pkgdir}"/usr/lib/*.a
|
||||
rm -r "${pkgdir}"/usr/lib/cmake
|
||||
|
||||
# https://github.com/boostorg/python/issues/203#issuecomment-391477685
|
||||
for _lib in python numpy; do
|
||||
ln -srL "${pkgdir}"/usr/lib/libboost_${_lib}{27,}.so
|
||||
ln -srL "${pkgdir}"/usr/lib/libboost_${_lib}3{8,}.so
|
||||
ln -srL "${pkgdir}"/usr/lib/libboost_${_lib}3{7,}.so
|
||||
done
|
||||
|
||||
install -Dm644 "${srcdir}/"${pkgbase}_${_boostver}/LICENSE_1_0.txt \
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
_pkgbase=boost
|
||||
pkgname=boost-doc
|
||||
pkgver=1.81.0
|
||||
_srcname=boost_${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')
|
||||
options=(!strip)
|
||||
|
||||
package() {
|
||||
cd ${_srcname}
|
||||
local dest=$pkgdir/usr/share/$_pkgbase/doc
|
||||
|
||||
install -dm755 "$dest"
|
||||
find \( \
|
||||
-iname '*.htm' -o -iname '*.html' -o -iname '*.css' -o \
|
||||
-iname '*.png' -o -iname '*.gif' -o -iname '*.jpg' -o -iname '*.js' \
|
||||
\) -exec cp --target-directory="$dest" --parents --verbose {} +
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
|
@ -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,59 +0,0 @@
|
|||
# Maintainer in AUR: drakkan <nicola.murino at gmail dot com>
|
||||
|
||||
# This version includes the static library as well (in contrast
|
||||
# to the version found in the AUR).
|
||||
|
||||
pkgname=mingw-w64-brotli
|
||||
_pkgname=brotli
|
||||
_gitcommit=ed738e842d2fbdf2d6459e39267a633c4a9b2f5d
|
||||
pkgver=1.1.0
|
||||
pkgrel=2
|
||||
pkgdesc='Brotli compression library (mingw-w64)'
|
||||
arch=('any')
|
||||
license=('MIT')
|
||||
url='https://github.com/google/brotli.git'
|
||||
depends=('mingw-w64-gcc')
|
||||
makedepends=('mingw-w64-cmake' 'git')
|
||||
options=('!buildflags' '!strip' 'staticlibs')
|
||||
source=(${_pkgname}::"git+${url}#commit=${_gitcommit}")
|
||||
sha512sums=('SKIP')
|
||||
|
||||
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||
|
||||
pkgver() {
|
||||
cd ${_pkgname}
|
||||
git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
|
||||
}
|
||||
|
||||
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 ..
|
||||
make
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
||||
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
|
||||
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
|
||||
if [[ $NO_EXECUTABLES ]]; then
|
||||
find "${pkgdir}/usr/${_arch}" -name '*.exe' -delete
|
||||
fi
|
||||
done
|
||||
for file in "${pkgdir}"/usr/*/lib/pkgconfig/*.pc; do
|
||||
sed -i 's| -R${libdir}||g' "$file"
|
||||
done
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
|
@ -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}
|
|
@ -6,14 +6,12 @@
|
|||
_reponame=cpp-utilities
|
||||
_pkgname=c++utilities
|
||||
_android_arch=arm64-v8a
|
||||
_android_cflags=
|
||||
_android_ldflags=
|
||||
_pkg_arch=aarch64
|
||||
_android_platform=22
|
||||
_prefix=/opt/android-libs/$_pkg_arch
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=5.4.0
|
||||
pkgver=4.17.1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_pkg_arch)"
|
||||
|
@ -23,12 +21,12 @@ optdepends=("$_pkgname-doc: API documentation")
|
|||
checkdepends=("android-$_pkg_arch-cppunit")
|
||||
# FIXME: run tests with qemu
|
||||
#checkdepends+=('qemu-binfmt-arm' "android-$_pkg_arch-linker")
|
||||
makedepends=('cmake' 'ninja' 'android-ndk' 'android-sdk')
|
||||
makedepends=('cmake' 'android-ndk' 'android-sdk')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('12330ad7b3f745f91bf37193dc872462fd1e14cc13018094a200d424bf346be6')
|
||||
sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805')
|
||||
options=(!buildflags staticlibs !strip !emptydirs)
|
||||
|
||||
prepare() {
|
||||
|
@ -43,31 +41,34 @@ build() {
|
|||
local include_dir=$_prefix/include
|
||||
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_SYSTEM_NAME=Android \
|
||||
-DCMAKE_SYSTEM_VERSION=$_android_platform \
|
||||
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
|
||||
-DCMAKE_ANDROID_SDK="$android_sdk_path" \
|
||||
-DCMAKE_ANDROID_NDK="$android_ndk_path" \
|
||||
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$_prefix \
|
||||
-DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \
|
||||
-DCMAKE_CXX_FLAGS:STRING="$_android_cflags" \
|
||||
-DUSER_DEFINED_ADDITIONAL_LIBRARIES:STRING="$_android_ldflags" \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
-DUSE_NATIVE_FILE_BUFFER:BOOL=ON \
|
||||
-DUSE_STANDARD_FILESYSTEM:BOOL=OFF \
|
||||
-DNO_DOXYGEN:BOOL=ON \
|
||||
-DUSE_NATIVE_FILE_BUFFER=ON \
|
||||
-DNO_DOXYGEN=ON \
|
||||
-Diconv_DYNAMIC_INCLUDE_DIR="$include_dir" \
|
||||
-Diconv_STATIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dboost_iostreams_DYNAMIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dboost_iostreams_STATIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dcppunit_DYNAMIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dcppunit_STATIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dcppunit_DYNAMIC_LIB="$_prefix/lib/libcppunit-1.14.so" \
|
||||
-Dcppunit_STATIC_LIB="$_prefix/lib/libcppunit.a" \
|
||||
.
|
||||
ninja
|
||||
make VERBOSE=1
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
# can not run the tests so compile them at least
|
||||
ninja tests
|
||||
make tests VERBOSE=1
|
||||
|
||||
# FIXME: run tests with qemu
|
||||
# * currently getting error
|
||||
|
@ -77,12 +78,12 @@ check() {
|
|||
#export QEMU_LD_PREFIX=$prefix
|
||||
# use libraries from build directory, prefix and Android NDK
|
||||
#export LD_LIBRARY_PATH=$PWD:$prefix/lib:$android_ndk_path/sources/cxx-stl/llvm-libc++/libs/arm64-v8a:$android_ndk_path/platforms/android-28/arch-arm64/usr/lib
|
||||
#ninja tests
|
||||
#make check VERBOSE=1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
make DESTDIR="${pkgdir}" install
|
||||
|
||||
# add tests to the package for possibly executing them later under Android
|
||||
if [[ -f ${_pkgname}_tests ]]; then
|
||||
|
|
|
@ -6,14 +6,12 @@
|
|||
_reponame=cpp-utilities
|
||||
_pkgname=c++utilities
|
||||
_android_arch=armeabi-v7a
|
||||
_android_cflags=
|
||||
_android_ldflags=-latomic
|
||||
_pkg_arch=armv7a-eabi
|
||||
_android_platform=21
|
||||
_prefix=/opt/android-libs/$_pkg_arch
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=5.4.0
|
||||
pkgver=4.17.1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_pkg_arch)"
|
||||
|
@ -23,12 +21,12 @@ optdepends=("$_pkgname-doc: API documentation")
|
|||
checkdepends=("android-$_pkg_arch-cppunit")
|
||||
# FIXME: run tests with qemu
|
||||
#checkdepends+=('qemu-binfmt-arm' "android-$_pkg_arch-linker")
|
||||
makedepends=('cmake' 'ninja' 'android-ndk' 'android-sdk')
|
||||
makedepends=('cmake' 'android-ndk' 'android-sdk')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('12330ad7b3f745f91bf37193dc872462fd1e14cc13018094a200d424bf346be6')
|
||||
sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805')
|
||||
options=(!buildflags staticlibs !strip !emptydirs)
|
||||
|
||||
prepare() {
|
||||
|
@ -43,31 +41,34 @@ build() {
|
|||
local include_dir=$_prefix/include
|
||||
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_SYSTEM_NAME=Android \
|
||||
-DCMAKE_SYSTEM_VERSION=$_android_platform \
|
||||
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
|
||||
-DCMAKE_ANDROID_SDK="$android_sdk_path" \
|
||||
-DCMAKE_ANDROID_NDK="$android_ndk_path" \
|
||||
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$_prefix \
|
||||
-DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \
|
||||
-DCMAKE_CXX_FLAGS:STRING="$_android_cflags" \
|
||||
-DUSER_DEFINED_ADDITIONAL_LIBRARIES:STRING="$_android_ldflags" \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
-DUSE_NATIVE_FILE_BUFFER:BOOL=ON \
|
||||
-DUSE_STANDARD_FILESYSTEM:BOOL=OFF \
|
||||
-DNO_DOXYGEN:BOOL=ON \
|
||||
-DUSE_NATIVE_FILE_BUFFER=ON \
|
||||
-DNO_DOXYGEN=ON \
|
||||
-Diconv_DYNAMIC_INCLUDE_DIR="$include_dir" \
|
||||
-Diconv_STATIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dboost_iostreams_DYNAMIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dboost_iostreams_STATIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dcppunit_DYNAMIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dcppunit_STATIC_INCLUDE_DIR="$include_dir" \
|
||||
-Dcppunit_DYNAMIC_LIB="$_prefix/lib/libcppunit-1.14.so" \
|
||||
-Dcppunit_STATIC_LIB="$_prefix/lib/libcppunit.a" \
|
||||
.
|
||||
ninja
|
||||
make VERBOSE=1
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
# can not run the tests so compile them at least
|
||||
ninja tests
|
||||
make tests VERBOSE=1
|
||||
|
||||
# FIXME: run tests with qemu
|
||||
# * currently getting error
|
||||
|
@ -77,12 +78,12 @@ check() {
|
|||
#export QEMU_LD_PREFIX=$prefix
|
||||
# use libraries from build directory, prefix and Android NDK
|
||||
#export LD_LIBRARY_PATH=$PWD:$prefix/lib:$android_ndk_path/sources/cxx-stl/llvm-libc++/libs/arm64-v8a:$android_ndk_path/platforms/android-28/arch-arm64/usr/lib
|
||||
#ninja check
|
||||
#make check VERBOSE=1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
make DESTDIR="${pkgdir}" install
|
||||
|
||||
# add tests to the package for possibly executing them later under Android
|
||||
if [[ -f ${_pkgname}_tests ]]; then
|
||||
|
|
|
@ -6,77 +6,46 @@
|
|||
_reponame=cpp-utilities
|
||||
pkgname=apple-darwin-c++utilities
|
||||
_name=${pkgname#apple-darwin-}
|
||||
pkgver=5.4.0
|
||||
pkgver=4.17.1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (apple-darwin)'
|
||||
license=('GPL')
|
||||
depends=('apple-darwin-osxcross')
|
||||
optdepends=("$_name-doc: API documentation")
|
||||
makedepends=('clang' 'cmake' 'ninja')
|
||||
makedepends=('clang' 'cmake')
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('12330ad7b3f745f91bf37193dc872462fd1e14cc13018094a200d424bf346be6')
|
||||
sha256sums=('92d288b606b4f32d69686cbf5a264f90e5e00d80894583a9df2284d593cdc2b4')
|
||||
options=(!buildflags staticlibs !strip !emptydirs)
|
||||
|
||||
_architectures=('x86_64-apple-darwin17')
|
||||
[[ $APPLE_32_BIT ]] && _architectures+=('i386-apple-darwin17')
|
||||
[[ $APPLE_HASWELL ]] && _architectures+=('x86_64h-apple-darwin17')
|
||||
_configurations=()
|
||||
[[ $NO_SHARED_LIBS ]] || _configurations+=('shared')
|
||||
[[ $NO_STATIC_LIBS ]] || _configurations+=('static')
|
||||
_architectures='i386-apple-darwin15 x86_64-apple-darwin15'
|
||||
# NOTE: can not build for x86_64h-apple-darwin15 because libstdc++ is (currently) only availabe for x86_64
|
||||
[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON'
|
||||
[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON'
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
declare -A _config_flags=(
|
||||
[shared]='
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON
|
||||
'
|
||||
[static]='
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a
|
||||
-DSTATIC_LINKAGE:BOOL=ON
|
||||
-DSTATIC_LIBRARY_LINKAGE:BOOL=ON
|
||||
'
|
||||
)
|
||||
|
||||
export PATH="/opt/osxcross/bin:$PATH"
|
||||
export LD_LIBRARY_PATH="/opt/osxcross/lib"
|
||||
|
||||
for _arch in "${_architectures[@]}"; do
|
||||
for _cfg in "${_configurations[@]}"; do
|
||||
msg2 "${_arch}-${_cfg}"
|
||||
mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}"
|
||||
${_arch}-cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
|
||||
/opt/osxcross/bin/${_arch}-cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS='-std=c++14 -foc-use-gcc-libstdc++ -fvisibility=hidden' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH="/opt/osxcross/${_arch}" \
|
||||
-DCONFIGURATION_NAME:STRING="${_cfg}" \
|
||||
-DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \
|
||||
-DUSE_STANDARD_FILESYSTEM:BOOL=OFF \
|
||||
-DENABLE_THREAD_LOCAL:BOOL=OFF \
|
||||
${_config_flags[$_cfg]} \
|
||||
-Diconv_DYNAMIC_LIB:FILEPATH='/opt/osxcross/SDK/MacOSX10.11.sdk/usr/lib/libiconv.2.tbd' \
|
||||
-Diconv_DYNAMIC_INCLUDE_DIR='/opt/osxcross/SDK/MacOSX10.11.sdk/usr/include' \
|
||||
-DENABLE_THREAD_LOCAL=OFF \
|
||||
${_configurations} \
|
||||
../
|
||||
ninja
|
||||
popd
|
||||
done
|
||||
make
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
export PATH="/opt/osxcross/bin:$PATH"
|
||||
export LD_LIBRARY_PATH="/opt/osxcross/lib"
|
||||
|
||||
for _arch in "${_architectures[@]}"; do
|
||||
for _cfg in "${_configurations[@]}"; do
|
||||
msg2 "${_arch}-${_cfg}"
|
||||
pushd "build-${_arch}-${_cfg}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
DESTDIR="${pkgdir}" ninja install-binary-strip
|
||||
popd
|
||||
done
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
|
||||
make DESTDIR="${pkgdir}" install
|
||||
make DESTDIR="${pkgdir}" install-binary-strip
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
|
|
@ -5,37 +5,35 @@
|
|||
|
||||
_reponame=cpp-utilities
|
||||
pkgname=c++utilities
|
||||
pkgver=5.24.8
|
||||
pkgver=4.17.1
|
||||
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')
|
||||
depends=()
|
||||
optdepends=("$pkgname-doc: API documentation")
|
||||
makedepends=('cmake' 'ninja')
|
||||
makedepends=('cmake')
|
||||
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=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
.
|
||||
ninja
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" .
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
ninja check
|
||||
make check
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
make DESTDIR="${pkgdir}" install
|
||||
}
|
||||
|
|
|
@ -6,28 +6,23 @@
|
|||
_name=c++utilities
|
||||
_reponame=cpp-utilities
|
||||
pkgname=$_name-doc
|
||||
pkgver=5.24.8
|
||||
pkgver=4.17.1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (API documentation)'
|
||||
license=('GPL')
|
||||
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz')
|
||||
makedepends=('cmake' '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=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805')
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
.
|
||||
ninja c++utilities_apidoc
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" .
|
||||
make c++utilities_apidoc
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
DESTDIR="${pkgdir}" ninja install-api-doc
|
||||
make DESTDIR="${pkgdir}" install-api-doc
|
||||
}
|
||||
|
|
|
@ -6,18 +6,19 @@
|
|||
_reponame=cpp-utilities
|
||||
pkgname=c++utilities-git
|
||||
_name=${pkgname%-git}
|
||||
pkgver=989.6390182
|
||||
pkgrel=2
|
||||
pkgver=259.663b31c
|
||||
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')
|
||||
depends=()
|
||||
optdepends=("$_name-doc: API documentation")
|
||||
makedepends=('cmake' 'git' 'ninja')
|
||||
makedepends=('cmake' 'git')
|
||||
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")
|
||||
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git://github.com/Martchus}/${_reponame}.git")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
|
@ -28,23 +29,19 @@ pkgver() {
|
|||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
|
||||
-DCONFIGURATION_NAME:STRING='git' \
|
||||
-DCONFIGURATION_PACKAGE_SUFFIX:STRING='-git' \
|
||||
-DCONFIGURATION_TARGET_SUFFIX:STRING='git' \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
.
|
||||
ninja
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
ninja check
|
||||
make check
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
make DESTDIR="${pkgdir}" install
|
||||
}
|
||||
|
|
|
@ -6,83 +6,54 @@
|
|||
_reponame=cpp-utilities
|
||||
pkgname=mingw-w64-c++utilities
|
||||
_name=${pkgname#mingw-w64-}
|
||||
pkgver=5.24.8
|
||||
pkgver=4.17.1
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (mingw-w64)'
|
||||
license=('GPL')
|
||||
depends=('mingw-w64-crt' 'mingw-w64-libiconv' 'mingw-w64-boost')
|
||||
depends=('mingw-w64-crt' 'mingw-w64-libiconv')
|
||||
optdepends=("$_name-doc: API documentation")
|
||||
checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine')
|
||||
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'ninja')
|
||||
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake')
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
|
||||
sha256sums=('c5cbca152eb43e3b2e16309d934fc5832a5c52d83dfca2d231d26384d8fe3805')
|
||||
options=(!buildflags staticlibs !strip !emptydirs)
|
||||
|
||||
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
|
||||
_configurations=()
|
||||
[[ $NO_SHARED_LIBS ]] || _configurations+=('shared')
|
||||
[[ $NO_STATIC_LIBS ]] || _configurations+=('static')
|
||||
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
||||
[[ $NO_STATIC_LIBS ]] || _configurations='-DENABLE_STATIC_LIBS:BOOL=ON'
|
||||
[[ $NO_SHARED_LIBS ]] && _configurations+=' -DDISABLE_SHARED_LIBS:BOOL=ON'
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
declare -A _config_flags=(
|
||||
[shared]='
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON
|
||||
'
|
||||
[static]='
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DCMAKE_FIND_LIBRARY_SUFFIXES:STRING=.a;.lib
|
||||
-DSTATIC_LINKAGE:BOOL=ON
|
||||
-DSTATIC_LIBRARY_LINKAGE:BOOL=ON
|
||||
'
|
||||
)
|
||||
|
||||
for _arch in "${_architectures[@]}"; do
|
||||
for _cfg in "${_configurations[@]}"; do
|
||||
msg2 "${_arch}-${_cfg}"
|
||||
mkdir -p "build-${_arch}-${_cfg}" && pushd "build-${_arch}-${_cfg}"
|
||||
${_arch}-cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
|
||||
${_arch}-cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="/usr/${_arch}" \
|
||||
-DCONFIGURATION_NAME:STRING="${_cfg}" \
|
||||
-DCONFIGURATION_PACKAGE_SUFFIX:STRING="-${_cfg}" \
|
||||
-DUSE_NATIVE_FILE_BUFFER:BOOL=ON \
|
||||
-DENABLE_TARGETS_FOR_MINGW64_CROSS_PACKAGING:BOOL=ON \
|
||||
${_config_flags[$_cfg]} \
|
||||
-DUSE_NATIVE_FILE_BUFFER=ON \
|
||||
${_configurations} \
|
||||
../
|
||||
ninja
|
||||
popd
|
||||
done
|
||||
make
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
for _arch in "${_architectures[@]}"; do
|
||||
for _cfg in "${_configurations[@]}"; do
|
||||
msg2 "${_arch}-${_cfg}"
|
||||
pushd "build-${_arch}-${_cfg}"
|
||||
export WINEPATH="/usr/${_arch}/bin" WINEDEBUG=-all
|
||||
[[ $_cfg == shared ]] && ninja check
|
||||
popd
|
||||
done
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
|
||||
export WINEPATH="/usr/${_arch}/bin"
|
||||
export WINEDEBUG=-all
|
||||
make check
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
|
||||
for _arch in "${_architectures[@]}"; do
|
||||
for _cfg in "${_configurations[@]}"; do
|
||||
msg2 "${_arch}-${_cfg}"
|
||||
pushd "build-${_arch}-${_cfg}"
|
||||
DESTDIR="${pkgdir}" ninja install-mingw-w64-strip
|
||||
popd
|
||||
done
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
|
||||
make DESTDIR="${pkgdir}" install-mingw-w64-strip
|
||||
popd
|
||||
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
|
||||
}
|
|
@ -4,34 +4,15 @@
|
|||
# you also find the URL of a binary repository.
|
||||
|
||||
pkgname=cmake-format
|
||||
pkgver=0.6.13
|
||||
pkgrel=3
|
||||
pkgver=0.5.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')
|
||||
checkdepends=('cmake')
|
||||
provides=('python-cmakelang')
|
||||
conflicts=('python-cmakelang')
|
||||
license=('GPL3')
|
||||
depends=('python-setuptools' 'python-yaml' 'python-jinja')
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/cheshirekow/cmake_format/archive/v${pkgver}.tar.gz")
|
||||
sha512sums=('eb7fde540860b6119d0bb528f22592fb4b507f9319aeda0999da10bcc89ee1348fd7d701fc49aa5dac7616e1577e436cbd73de94dbbab0cafdf28e1812612342')
|
||||
|
||||
check() {
|
||||
mkdir "$srcdir/check"
|
||||
cd "$srcdir/check"
|
||||
export CTEST_OUTPUT_ON_FAILURE=1
|
||||
cmake "$srcdir/cmake_format-$pkgver"
|
||||
ctest --exclude-regex 'verify-export|cmakelang-command-db-test|cmakelang-validate-database|cmakelang-doc-verify-README\.rst'
|
||||
|
||||
# note: Excluding the tests cmakelang-validate-database (would require gpg2 and
|
||||
# python-pgpy and currently fails because an internet connection is required) and
|
||||
# cmakelang-command-db-test (fails if CMake version doesn't match the version
|
||||
# in upstream's CI). Also exluding verify-export and cmakelang-doc-verify-README.rst
|
||||
# which seem specific to how upstream manages their Git repo.
|
||||
}
|
||||
sha512sums=('55adff9c14c985c1467614298f3fda030efd1d5d29a52771c43552dcbe9442b3204af1cce42a2f5496c643c107be1fdb3d07c3f71c4af9acb72651c7c6eb417e')
|
||||
|
||||
package() {
|
||||
cd "$srcdir/cmake_format-$pkgver"
|
||||
|
|
|
@ -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,29 +0,0 @@
|
|||
pkgname=mingw-w64-cmake-static
|
||||
pkgver=1
|
||||
pkgrel=4
|
||||
arch=('any')
|
||||
pkgdesc='CMake wrapper for MinGW (mingw-w64, static)'
|
||||
depends=('mingw-w64-cmake')
|
||||
license=("GPL")
|
||||
url='https://github.com/martchus/pkgbuilds'
|
||||
source=(mingw-cmake-static.sh
|
||||
toolchain-mingw-static.cmake)
|
||||
sha256sums=('SKIP' 'SKIP')
|
||||
_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
|
||||
done
|
||||
}
|
||||
|
||||
package() {
|
||||
install -d "${pkgdir}"/usr/bin
|
||||
install -d "${pkgdir}"/usr/share/mingw
|
||||
for _arch in ${_architectures}; do
|
||||
install -m 644 toolchain-${_arch}-static.cmake "${pkgdir}"/usr/share/mingw/
|
||||
install -m 755 ${_arch}-cmake-static "${pkgdir}"/usr/bin/
|
||||
done
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
source mingw-env @TRIPLE@
|
||||
|
||||
mingw_prefix=/usr/@TRIPLE@
|
||||
|
||||
PATH=${mingw_prefix}/bin:$PATH cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${mingw_prefix} \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \
|
||||
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-@TRIPLE@-static.cmake \
|
||||
-DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/@TRIPLE@-wine \
|
||||
"$@"
|
|
@ -1,45 +0,0 @@
|
|||
# This toolchain file helps building a fully statically linked executable (besides DLLs from Windows itself) by
|
||||
# defining certain variables. It is mainly focusing on dependencies used by Qt.
|
||||
|
||||
# build this on top of the regular toolchain file
|
||||
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}")
|
||||
|
||||
# prefer static libraries
|
||||
# note: It is of no use to set the real variable CMAKE_FIND_LIBRARY_SUFFIXES here because it gets overridden by CMake
|
||||
# after loading the toolchain file. The project needs to make the actual override if enforcing static libraries
|
||||
# is required.
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE ".a;.lib")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "$ENV{LDFLAGS} -static -static-libgcc -static-libstdc++" CACHE STRING "linker flags for static builds" FORCE)
|
||||
set(OPENSSL_USE_STATIC_LIBS ON)
|
||||
set(BOOST_USE_STATIC_LIBS ON)
|
||||
|
||||
# force-use the shared Vulkan library because there's no static one
|
||||
# note: The library is not used anyways but required for Vulkan to be considered installed and enabled.
|
||||
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(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`).
|
||||
set(OPENSSL_DEPENDENCIES "-lws2_32;-lgdi32;-lcrypt32" CACHE INTERNAL "dependencies of static OpenSSL libraries")
|
||||
set(POSTGRESQL_DEPENDENCIES "-lpgcommon;-lpgport;-lintl;-lssl;-lcrypto;-lshell32;-lws2_32;-lsecur32;-liconv" CACHE INTERNAL "dependencies of static PostgreSQL libraries")
|
||||
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(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,22 +1,27 @@
|
|||
|
||||
pkgname=mingw-w64-cmake
|
||||
pkgver=1
|
||||
pkgrel=35.1
|
||||
pkgrel=23.2
|
||||
arch=('any')
|
||||
pkgdesc="CMake wrapper for MinGW (mingw-w64)"
|
||||
depends=('cmake' 'mingw-w64-gcc' 'mingw-w64-pkg-config' 'mingw-w64-environment')
|
||||
depends=('cmake' 'mingw-w64-gcc' 'mingw-w64-pkg-config')
|
||||
optdepends=('mingw-w64-wine: runtime support')
|
||||
license=("GPL")
|
||||
url="http://fedoraproject.org/wiki/MinGW"
|
||||
source=("mingw-cmake.sh"
|
||||
"mingw-cmake-py.sh"
|
||||
"toolchain-mingw.cmake")
|
||||
sha256sums=('SKIP' 'SKIP')
|
||||
|
||||
sha256sums=('SKIP' 'SKIP' "SKIP")
|
||||
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||
_python_versions="27 35 36 37"
|
||||
|
||||
build() {
|
||||
for _arch in ${_architectures}; do
|
||||
sed "s|@TRIPLE@|${_arch}|g;s|@PROCESSOR@|${_arch::-12}|g" toolchain-mingw.cmake > toolchain-${_arch}.cmake
|
||||
sed "s|@TRIPLE@|${_arch}|g" mingw-cmake.sh > ${_arch}-cmake
|
||||
for _pyver in ${_python_versions}; do
|
||||
sed "s|@TRIPLE@|${_arch}|g;s|@PYMAJMIN@|${_pyver}|g" mingw-cmake-py.sh > ${_arch}-cmake-py${_pyver}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -26,6 +31,9 @@ package() {
|
|||
for _arch in ${_architectures}; do
|
||||
install -m 644 toolchain-${_arch}.cmake "${pkgdir}"/usr/share/mingw/
|
||||
install -m 755 ${_arch}-cmake "${pkgdir}"/usr/bin/
|
||||
for _pyver in ${_python_versions}; do
|
||||
install -m 755 ${_arch}-cmake-py${_pyver} "${pkgdir}"/usr/bin/
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
mingw_prefix=/usr/@TRIPLE@
|
||||
|
||||
@TRIPLE@-cmake \
|
||||
-DPYTHON_INCLUDE_DIR=${mingw_prefix}/include/python@PYMAJMIN@ \
|
||||
-DPYTHON_LIBRARY=${mingw_prefix}/lib/libpython@PYMAJMIN@.dll.a \
|
||||
-DPYTHON_EXECUTABLE=/usr/bin/@TRIPLE@-python@PYMAJMIN@-bin \
|
||||
"$@"
|
|
@ -1,15 +1,32 @@
|
|||
#!/bin/sh
|
||||
|
||||
source mingw-env @TRIPLE@
|
||||
|
||||
mingw_prefix=/usr/@TRIPLE@
|
||||
|
||||
export PKG_CONFIG_LIBDIR="${mingw_prefix}/lib/pkgconfig"
|
||||
|
||||
default_mingw_pp_flags="-D_FORTIFY_SOURCE=2"
|
||||
default_mingw_compiler_flags="$default_mingw_pp_flags -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4"
|
||||
default_mingw_linker_flags="-Wl,-O1,--sort-common,--as-needed"
|
||||
|
||||
export CPPFLAGS="${MINGW_CPPFLAGS:-$default_mingw_pp_flags $CPPFLAGS}"
|
||||
export CFLAGS="${MINGW_CFLAGS:-$default_mingw_compiler_flags $CFLAGS}"
|
||||
export CXXFLAGS="${MINGW_CXXFLAGS:-$default_mingw_compiler_flags $CXXFLAGS}"
|
||||
export LDFLAGS="${MINGW_LDFLAGS:-$default_mingw_linker_flags $LDFLAGS}"
|
||||
|
||||
PATH=${mingw_prefix}/bin:$PATH cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${mingw_prefix} \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=${mingw_prefix}/lib \
|
||||
-DINCLUDE_INSTALL_DIR:PATH=${mingw_prefix}/include \
|
||||
-DLIB_INSTALL_DIR:PATH=${mingw_prefix}/lib \
|
||||
-DSYSCONF_INSTALL_DIR:PATH=${mingw_prefix}/etc \
|
||||
-DSHARE_INSTALL_DIR:PATH=${mingw_prefix}/share \
|
||||
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \
|
||||
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-@TRIPLE@.cmake \
|
||||
-DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/@TRIPLE@-wine \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \
|
||||
"$@"
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
mingw_prefix=/usr/@TRIPLE@
|
||||
|
||||
# run it in a custom WINEPREFIX to not mess with default ~/.wine
|
||||
# also default prefix might be a 32 bits prefix, which will fail to run x86_64 exes
|
||||
if ! test -d "${WINEPREFIX}"
|
||||
then
|
||||
export WINEPREFIX=~/.wine-@TRIPLE@
|
||||
fi
|
||||
|
||||
# WINEPATH is used to find dlls, otherwise they should lie next to the exe
|
||||
if test -z "${WINEPATH}"
|
||||
then
|
||||
export WINEPATH=${mingw_prefix}/bin
|
||||
fi
|
||||
|
||||
wine "$@"
|
||||
|
|
@ -18,7 +18,6 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|||
# Make sure Qt can be detected by CMake
|
||||
set (QT_BINARY_DIR /usr/@TRIPLE@/bin /usr/bin)
|
||||
set (QT_INCLUDE_DIRS_NO_SYSTEM ON)
|
||||
set (QT_HOST_PATH "/usr" CACHE PATH "host path for Qt")
|
||||
|
||||
# set the resource compiler (RHBZ #652435)
|
||||
set (CMAKE_RC_COMPILER @TRIPLE@-windres)
|
||||
|
|
|
@ -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" \
|
||||
"$@"
|
|
@ -21,18 +21,18 @@ _android_clang_toolchain_path=$_android_ndk_path/toolchains/llvm/prebuilt/linux-
|
|||
_install_prefix=/opt/android-libs/$_pkg_arch
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.15.0
|
||||
pkgver=1.14.0
|
||||
pkgrel=1
|
||||
pkgdesc="A C++ unit testing framework (Android, $_android_arch)"
|
||||
arch=('any')
|
||||
url="https://www.freedesktop.org/wiki/Software/cppunit"
|
||||
url="http://www.freedesktop.org/wiki/Software/cppunit"
|
||||
license=('LGPL')
|
||||
depends=('android-ndk')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
options=(!strip !buildflags !libtool staticlibs !emptydirs)
|
||||
source=("https://dev-www.libreoffice.org/src/${_pkgname}-${pkgver}.tar.gz")
|
||||
sha256sums=('1c61dfdb430e04ebb411e4b80fbd49fe7e63a1be0209a76d7c07501f02834922')
|
||||
sha256sums=('3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780')
|
||||
|
||||
build() {
|
||||
# configure flags
|
||||
|
@ -53,8 +53,7 @@ build() {
|
|||
-O3 \
|
||||
-fPIC \
|
||||
-DCPPUNIT_HAVE_LIBDL=1 \
|
||||
-Wno-unused-command-line-argument \
|
||||
-Wno-defaulted-function-deleted"
|
||||
-Wno-unused-command-line-argument"
|
||||
local ld_flags=" \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
|
|
@ -21,18 +21,18 @@ _android_clang_toolchain_path=$_android_ndk_path/toolchains/llvm/prebuilt/linux-
|
|||
_install_prefix=/opt/android-libs/$_pkg_arch
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.15.0
|
||||
pkgver=1.14.0
|
||||
pkgrel=1
|
||||
pkgdesc="A C++ unit testing framework (Android, $_android_arch)"
|
||||
arch=('any')
|
||||
url="https://www.freedesktop.org/wiki/Software/cppunit"
|
||||
url="http://www.freedesktop.org/wiki/Software/cppunit"
|
||||
license=('LGPL')
|
||||
depends=('android-ndk')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
options=(!strip !buildflags !libtool staticlibs !emptydirs)
|
||||
source=("https://dev-www.libreoffice.org/src/${_pkgname}-${pkgver}.tar.gz")
|
||||
sha256sums=('1c61dfdb430e04ebb411e4b80fbd49fe7e63a1be0209a76d7c07501f02834922')
|
||||
sha256sums=('3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780')
|
||||
|
||||
build() {
|
||||
# configure flags
|
||||
|
@ -53,8 +53,7 @@ build() {
|
|||
-O3 \
|
||||
-fPIC \
|
||||
-DCPPUNIT_HAVE_LIBDL=1 \
|
||||
-Wno-unused-command-line-argument \
|
||||
-Wno-defaulted-function-deleted"
|
||||
-Wno-unused-command-line-argument"
|
||||
local ld_flags=" \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
|
|
@ -21,18 +21,18 @@ _android_clang_toolchain_path=$_android_ndk_path/toolchains/llvm/prebuilt/linux-
|
|||
_install_prefix=/opt/android-libs/$_pkg_arch
|
||||
|
||||
pkgname=android-$_pkg_arch-$_pkgname
|
||||
pkgver=1.15.0
|
||||
pkgver=1.14.0
|
||||
pkgrel=1
|
||||
pkgdesc="A C++ unit testing framework (Android, $_android_arch)"
|
||||
arch=('any')
|
||||
url="https://www.freedesktop.org/wiki/Software/cppunit"
|
||||
url="http://www.freedesktop.org/wiki/Software/cppunit"
|
||||
license=('LGPL')
|
||||
depends=('android-ndk')
|
||||
conflicts=("android-$_pkgname-$_android_arch")
|
||||
replaces=("android-$_pkgname-$_android_arch")
|
||||
options=(!strip !buildflags !libtool staticlibs !emptydirs)
|
||||
source=("https://dev-www.libreoffice.org/src/${_pkgname}-${pkgver}.tar.gz")
|
||||
sha256sums=('1c61dfdb430e04ebb411e4b80fbd49fe7e63a1be0209a76d7c07501f02834922')
|
||||
sha256sums=('3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780')
|
||||
|
||||
build() {
|
||||
# configure flags
|
||||
|
@ -53,8 +53,7 @@ build() {
|
|||
-O3 \
|
||||
-fPIC \
|
||||
-DCPPUNIT_HAVE_LIBDL=1 \
|
||||
-Wno-unused-command-line-argument \
|
||||
-Wno-defaulted-function-deleted"
|
||||
-Wno-unused-command-line-argument"
|
||||
local ld_flags=" \
|
||||
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
|
||||
-nostdlib++"
|
||||
|
|
|
@ -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,20 +7,30 @@
|
|||
|
||||
_name=cppunit
|
||||
pkgname=mingw-w64-cppunit
|
||||
pkgver=1.15.1
|
||||
pkgver=1.14.0
|
||||
pkgrel=1
|
||||
pkgdesc="A C++ unit testing framework (mingw-w64)"
|
||||
arch=('any')
|
||||
url="https://www.freedesktop.org/wiki/Software/cppunit"
|
||||
url="http://www.freedesktop.org/wiki/Software/cppunit"
|
||||
license=('LGPL')
|
||||
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')
|
||||
source=("https://dev-www.libreoffice.org/src/${_name}-${pkgver}.tar.gz"
|
||||
0001-Don-t-redefine-NOMINMAX.patch)
|
||||
sha256sums=('3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780'
|
||||
'68ae7a200a6bea8669268665c9a2b80c96a90fbf07273749184ce7a7f190cd40')
|
||||
|
||||
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_name}-${pkgver}"
|
||||
for patch in "$srcdir/"*.patch; do
|
||||
msg2 "Applying patch $patch"
|
||||
patch -p1 -i "$patch"
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p "${srcdir}/${_name}-${pkgver}/build-${_arch}"
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -5,29 +5,24 @@
|
|||
|
||||
_reponame=dbus-soundrecorder
|
||||
pkgname=dbus-soundrecorder
|
||||
pkgver=1.2.3
|
||||
pkgrel=1
|
||||
pkgver=1.2.2
|
||||
pkgrel=2
|
||||
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
|
||||
pkgdesc='Records sound from Pulse Audio using ffmpeg while watching D-Bus to determine tracks and meta data'
|
||||
license=('GPL')
|
||||
depends=('c++utilities' 'qt5-base')
|
||||
makedepends=('cmake' 'ninja' 'qtutilities')
|
||||
makedepends=('cmake' 'qtutilities')
|
||||
url="https://github.com/Martchus/${_reponame}"
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('1251ae77a6ffb17d30a43c63729e38db4b7d2c2428f889768677065111bd8320')
|
||||
sha256sums=('641fe93f1d858d7e2b835dc5b47aef52673c5e8418302aea5725bb83963f3b37')
|
||||
|
||||
build() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE:STRING='Release' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
.
|
||||
ninja
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" .
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||
DESTDIR="${pkgdir}" ninja install
|
||||
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,28 +12,16 @@ 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)
|
||||
|| $variant == 'mingw-w64-test' # just our own 'test' package (not used anymore)
|
||||
# skip some of the qt5 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
|
||||
|| $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
|
||||
[[ $start == "qt$qtver" ]] && project_name="qt$qtver" && break
|
||||
done
|
||||
# treat all qt5-* packages as qt5
|
||||
[ ${project_name%%-*} == 'qt5' ] && project_name='qt5'
|
||||
|
||||
# skip packages with unknown version
|
||||
version=${versions[$project_name]}
|
||||
|
@ -43,25 +30,9 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|
|||
# skip if version doesn't differ
|
||||
source "$pkgbuild_file"
|
||||
[[ $version == $pkgver ]] && continue
|
||||
[[ $version == $_qtver ]] && continue
|
||||
pattern='(apple-darwin-.*|android-.*-(c\+\+utilities|qtutilities|passwordfile|passwordmanager))'
|
||||
[[ $pkgname =~ $pattern ]] && continue
|
||||
|
||||
# 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
|
||||
|
||||
# apply new version
|
||||
sed -i -e "s/^\(_qtver\|pkgver\)=[^\$][^<%]*/\1=$version/" -e "s/pkgrel=.*/pkgrel=1/" "$pkgbuild_file"
|
||||
sed -i -e "s/^pkgver=.*/pkgver=$version/" -e "s/pkgrel=.*/pkgrel=1/" "$pkgbuild_file"
|
||||
chmod 644 "$pkgbuild_file"
|
||||
|
||||
echo "$trimmed_path -> $version"
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
pkgname=mingw-w64-assimp
|
||||
pkgver=5.0.1
|
||||
pkgrel=2
|
||||
pkgdesc="Portable Open Source library to import various well-known 3D model formats in an uniform manner (mingw-w64)"
|
||||
arch=('any')
|
||||
license=('BSD')
|
||||
depends=('mingw-w64-zlib' 'mingw-w64-boost')
|
||||
makedepends=('mingw-w64-cmake')
|
||||
url='http://www.assimp.org/'
|
||||
source=("https://github.com/assimp/assimp/archive/v${pkgver}.tar.gz"
|
||||
'dll-export.patch::https://github.com/assimp/assimp/pull/2698/commits/81d125a2cca748ef3f79f1f0a6731d7e6d694ec1.patch')
|
||||
options=('!strip' '!buildflags' 'staticlibs')
|
||||
sha256sums=('11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc'
|
||||
'986af7dda8625e6d9cbea787dcdab57fd1e00f8d171c76acece7187a032ca46c')
|
||||
|
||||
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||
|
||||
prepare ()
|
||||
{
|
||||
cd "${srcdir}"/assimp-${pkgver}
|
||||
# master is ok
|
||||
sed -i 's|set(sharedLibraryName "libassimp\${ASSIMP_LIBRARY_SUFFIX}@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@")|set(sharedLibraryName "libassimp.dll.a")|g' assimpTargets-release.cmake.in
|
||||
sed -i 's|set(sharedLibraryName "libassimp\${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@")|set(sharedLibraryName "libassimp.dll.a")|g' assimpTargets-debug.cmake.in
|
||||
patch -p1 -i ../dll-export.patch
|
||||
}
|
||||
|
||||
build()
|
||||
{
|
||||
cd "${srcdir}"/assimp-${pkgver}
|
||||
for _arch in ${_architectures}; do
|
||||
mkdir -p build-${_arch} && pushd build-${_arch}
|
||||
${_arch}-cmake \
|
||||
-DASSIMP_BUILD_ASSIMP_TOOLS=OFF \
|
||||
-DASSIMP_BUILD_TESTS=OFF -DASSIMP_ENABLE_BOOST_WORKAROUND=OFF ..
|
||||
make
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
||||
package () {
|
||||
for _arch in ${_architectures}; do
|
||||
cd "${srcdir}/assimp-${pkgver}/build-${_arch}"
|
||||
make DESTDIR="${pkgdir}" install
|
||||
${_arch}-strip -g ${pkgdir}/usr/${_arch}/lib/*.a
|
||||
${_arch}-strip --strip-unneeded "${pkgdir}"/usr/${_arch}/bin/*.dll
|
||||
done
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
# $Id$
|
||||
# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
|
||||
# Contributor: sulaweyo <sledge.sulaweyo@gmail.com>
|
||||
# Contributor: Francois Menning <f.menning@pm.me>
|
||||
|
||||
# Modified by: Martchus <martchus@gmx.net>
|
||||
# * Use ninja
|
||||
# * Make libmariadbclient a regular dependency (having it as an optional dependency makes no
|
||||
# sense because it is not a plugin).
|
||||
# * Improve formatting; don't mix tabs and spaces.
|
||||
|
||||
pkgname=gerbera
|
||||
pkgver=1.6.4
|
||||
pkgrel=1
|
||||
pkgdesc='UPnP Media Server (based on MediaTomb)'
|
||||
arch=(i686 x86_64 armv7h)
|
||||
url="https://github.com/gerbera/gerbera"
|
||||
license=('GPL2')
|
||||
depends=('taglib' 'curl' 'sqlite' 'file' 'gcc-libs' 'libupnp' 'duktape' 'libexif' 'fmt' 'pugixml'
|
||||
'spdlog' 'ffmpeg' 'ffmpegthumbnailer' 'libmatroska' 'libmariadbclient')
|
||||
#optdepends=('libmariadbclient')
|
||||
makedepends=('cmake' 'ninja')
|
||||
install=gerbera.install
|
||||
options=('emptydirs')
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/gerbera/gerbera/archive/v$pkgver.tar.gz"
|
||||
gerbera.sysusers
|
||||
gerbera.tmpfiles)
|
||||
sha256sums=('cbe7ea78977db8c02fcca1759ed149f199a590afaf4a6d21ffcca8623d1a0cc5'
|
||||
'0b55a4e1886f7aad0528446658433327815fd3f4d06e260518423f86dbe32dcc'
|
||||
'452f5d4b5661e0262cb4a48d62a54f5f26d53c6d3aebf502cde072214a8b30d8')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
|
||||
sed -i 's/${PC_UPNP_LIBRARIES}//g' cmake/Findpupnp.cmake
|
||||
|
||||
# build options can be found here: https://github.com/gerbera/gerbera/blob/master/CMakeLists.txt
|
||||
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DWITH_AVCODEC=1 -DWITH_FFMPEGTHUMBNAILER=1 -DWITH_MYSQL=1 .
|
||||
ninja
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
DESTDIR="${pkgdir}/" ninja install
|
||||
|
||||
install -dm0755 "${pkgdir}"/var/lib/gerbera
|
||||
install -dm0755 "${pkgdir}"/etc/gerbera
|
||||
install -Dm0644 "${srcdir}/${pkgname}".tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
|
||||
install -Dm0644 "${srcdir}/${pkgname}".sysusers "${pkgdir}"/usr/lib/sysusers.d/gerbera.conf
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue