Compare commits

...

435 Commits

Author SHA1 Message Date
Martchus 5ee082869c Render checksum in Qt 5 modules depending on whether a checksum file is present
New builds will get a checksum file via
2fc2ab6cf0
and stale checksum files of old builds have been removed in the previous commit.
So this change does not lead to any diff in the rendering at this point.
2024-05-22 13:00:18 +02:00
Martchus 2e02a1443f Remove stale checksum files of mingw-w64-qt5-* packages
Except for mingw-w64-qt5-serialbus* which was built after
2fc2ab6cf0
none of these packages have a checksum anymore (as they use VCS sources after
switching to the KDE fork version).

This commit removes the stale checksum files as they are probably confusing.
This was done via:

```
for p in qt5-* ; do source $p/mingw-w64/PKGBUILD ; [[ ${sha256sums[0]} == SKIP ]] && rm -v $p/*/*-sha256.txt ; done
```
2024-05-22 12:49:34 +02:00
Martchus 11d20a08cb Add checksum of mingw-w64-qt5-serialbus
As of 2fc2ab6cf0
there is actually a checksum to be stored.
2024-05-22 12:44:58 +02:00
Martchus 9df0fdbcb0
Merge pull request #179 from radioflash/master
Add PKGBUILD for qtserialbus
2024-05-22 12:02:43 +02:00
Wolfgang Pupp d2dd5d57b9 Add PKGBUILD for qtserialbus 2024-05-22 11:27:17 +02:00
Martchus d8823b27b2 Update Qt 6 packages to 6.7.1 2024-05-22 10:52:11 +02:00
Martchus baa46e7620 Fix compilation of mingw-w64-rapidjson with GCC 14 2024-05-19 23:48:34 +02:00
Martchus 3e6eb5bc05 Rebuild mingw-w64-qt6 packages of my own projects against GCC 14
* Test GCC 14
* Rebuild qtutilities against Qt 6.7.0 so Windows 11 style is enabled by
  default
* Apply previous change of removing the i686 builds
2024-05-19 23:48:15 +02:00
Martchus 7e72091442 Remove display name in Qt 6 packages as Qt 6 is now probably the standard 2024-05-16 23:03:55 +02:00
Martchus d73c79d876 Disable i686 for Windows builds of Qt 6 and packages depending on it
See comment added to base package for reasoning.
2024-05-14 21:01:25 +02:00
Martchus 65e78ad95d Fix `__cxa_thread_atexit`-related build errors
Add patch to mingw-w64-gcc after updating to 14.1.1 to fix build errors
like:

```
<built-in>: error: conflicting declaration of C function ‘int __cxxabiv1::__cxa_thread_atexit(void (*)(), void*, void*)’
In file included from /home/devel/.cache/aurman/mingw-w64-paraview/src/ParaView-v5.12.0/build-x86_64-w64-mingw32/VTK/Common/Core/vtkCxxABIConfigure.h:10,
                 from /home/devel/.cache/aurman/mingw-w64-paraview/src/ParaView-v5.12.0/VTK/Common/Core/vtkTypeName.h:7,
                 from /home/devel/.cache/aurman/mingw-w64-paraview/src/ParaView-v5.12.0/VTK/Common/DataModel/vtkCellGrid.h:28:
/usr/x86_64-w64-mingw32/include/c++/14.1.1/cxxabi.h:140:3: note: previous declaration ‘int __cxxabiv1::__cxa_thread_atexit(void (*)(void*), void*, void*)’
  140 |   __cxa_thread_atexit(void (_GLIBCXX_CDTOR_CALLABI *)(void*), void*, void *) _GLIBCXX_NOTHROW;
```
2024-05-14 20:40:22 +02:00
Martchus ec900cf8af Update GCC packages to 14.1.1
* Use `git+https://sourceware.org/git/gcc.git` consistently in both
  packages
* Remove ada from static-compat-gcc because it leads to build failures and
  adding even more workarounds for this language is not worth it
* Workaround certain warnings now being treated as errors in mingw-w64-gcc
2024-05-13 19:39:18 +02:00
Martchus b8be67ccac Use SPDX license id in cmake-format 2024-05-13 14:53:10 +02:00
Martchus 40283fc581 Update subtitlecomposer for ICU 75 and switch to Qt 6
The switch to Qt 6 is required for the ICU 75 rebuild because only when using
Qt 6 the build system uses C++ 17 which is required as of ICU 75.

Unfortunately it doesn't build against Qt 6 / KF6 yet so I'm dropping it from
the binary repo for now.
2024-05-10 14:10:21 +02:00
Martchus 047fd65334 Sync mingw-w64-harfbuzz with regular harfbuzz package
* Use tag pinning
* Update upstream URL
* Update releasers list
* Add build option for ICU 75 rebuild
2024-05-10 12:11:24 +02:00
Martchus d965b92487 Sync mingw-w64-harfbuzz with AUR 2024-05-10 10:57:58 +02:00
Martchus 8c55c59ffd Update own projects 2024-05-08 16:40:13 +02:00
Martchus 5c29e12bcd Update static-compat-harfbuzz to 8.4.0 2024-05-06 16:41:51 +02:00
Martchus 885532475a Update mingw-w64-postgresql to 16.2 2024-05-03 15:16:06 +02:00
Martchus 1ac7dc8777 Update openssl packages to 3.3.0 2024-04-28 14:03:16 +02:00
Martchus ee41ace3fe Add static-compat-pkgconf
This package just contains a wrapper around pkg-config that always
specifies `--static`.
2024-04-26 21:55:47 +02:00
Martchus d7b974af58 Update NGINX modules to NGINX 1.26.0 2024-04-24 19:40:01 +02:00
Martchus c60ea668bf Rebuild mingw-w64-pianobooster against Qt 6.7.0 2024-04-20 19:27:35 +02:00
Martchus e501af8d24 Sync mingw-w64-binutils-symlinks with mingw-w64-binutils 2024-04-13 17:50:08 +02:00
Martchus 1ddd64abfa Import mingw-w64-binutils from official repo 2024-04-13 17:46:20 +02:00
Martchus b2606e0e91 Update static-compat packages 2024-04-13 15:12:10 +02:00
Martchus f980a709e0 Remove Jia Tan from valid keys of static-compat-xz 2024-04-13 14:30:25 +02:00
Martchus ac51c38a95 Update syncthingtray 2024-04-09 15:23:58 +02:00
Martchus 4714226962 Update Qt 6 packages to 6.7.0 2024-04-04 10:41:27 +02:00
Martchus bf8b879642 Remove nproc workaround from Qt 5 packages after workaround via buildenv 2024-04-02 23:13:19 +02:00
Martchus 8fd1ceb59f Update own projects 2024-04-02 19:45:48 +02:00
Martchus 531a0f7ac6 Build Qt 6.6.3 packages updating checksums 2024-03-31 14:13:03 +02:00
Martchus d3fe1ca09e Update Qt 6 packages to 6.6.3
No rebuild and update of checksums has been done (except for static-compat
variant); waiting for regular Qt 6 packages to updated first.
2024-03-28 20:27:29 +01:00
Martchus 83ef873922 Remove checksums from Qt 5 packages using Git 2024-03-28 20:27:29 +01:00
Martchus 8130c23e0d Fix checksum of mingw-64-gettext 2024-03-27 00:06:56 +01:00
Martchus 047db38f80 Update mingw-w64-gettext to 0.22.5 2024-03-26 21:26:23 +01:00
Martchus 09a32a6045 Add package for my build environment
* Set consistent Android API level
* Ensure make utilizes all CPU cores if `MAKEFLAGS` are otherwise cleared
  via `!buildflags` because this is nevertheless wanted in mingw-w64 and
  android packages (that usually set `!buildflags`)
* Ensure required devel packages are installed
2024-03-26 21:04:57 +01:00
Martchus b8345f73d5
Merge pull request #176 from hipersayanX/master
Updated md5sums of the Android boost packages
2024-03-23 01:35:46 +01:00
Gonzalo Exequiel Pedone b87dfadb4c
Updated md5sums of the Android boost packages. Also fixed typo x86_64 -> x86-64. 2024-03-22 20:57:22 -03:00
Martchus 4ae9006c4b Update Baikal to 0.9.5 2024-03-20 22:39:57 +01:00
Martchus 818eccb83d Import hw-probe from AUR after adopting and improving a few details 2024-03-19 14:05:36 +01:00
Martchus adecd9a851 Update dependencies of my Qt apps
* Remove X11 dependencies that are not required (already pulled in by Qt
  anyway)
* Update passwordmanager-git according to latest changes
2024-03-18 23:49:31 +01:00
Martchus 87016b3b4a Make arch-repo-manager depend on devtools-custom
It uses the `makechrootpkg` flag `-Y` only present in devtools-custom as of
1.1.1 unconditionally (before 1.1.1 it was `-C`. So at least at this point
it makes sense to make it a hard dependency.
2024-03-18 23:25:46 +01:00
Martchus 8e88e71045 Remove obsolete patches for boost 2024-03-18 13:12:44 +01:00
Martchus 421e1deb72 Update README section about using packages via container 2024-03-17 23:04:39 +01:00
Martchus c77e67b04e Update android boost packages to 1.84.0 2024-03-17 21:40:53 +01:00
Martchus 2abc6e91b9 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
Martchus 93b48127a6 Update all android variants of kirigami to 6.0.0 2024-03-16 20:13:07 +01:00
Martchus 5688795363 Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
Martchus 0c6ce93bc8 Fix ffmpeg-custom build with latest vulkan headers 2024-03-16 01:04:21 +01:00
Martchus 1ee532128b Update devtools-custom to 1.1.1 2024-03-16 01:04:08 +01:00
Martchus 0c71f7e707 Remove qtutilities-qt6-git
After qtutilities-git has been changed to use Qt 6 this variant is no
longer required.
2024-03-07 00:26:01 +01:00
Martchus db2d208329 Update own projects 2024-03-05 14:47:24 +01:00
Martchus 20ad1ad7dd Rebuild packages against LLVM 17 2024-03-04 12:00:55 +01:00
Martchus 43574d3bb6 Update pkgver of pianobooster-custom
Set it in-line with `pkgver()` so an automatic epoch bump by the
buildservice is prevented.
2024-03-01 12:51:30 +01:00
Martchus 296cfb07c8 Fix typo in mingw-w64-cppwinrt 2024-02-29 13:24:14 +01:00
Martchus 687936b365 Switch Git packages of my projects to use Qt 6 2024-02-28 15:03:07 +01:00
Martchus 620e255462 Disable KDE integrations in syncthingtray by default 2024-02-28 13:18:58 +01:00
Martchus 0dcf93c3d5 Enable KDE integrations in syncthingtray-qt6 by default 2024-02-28 12:22:29 +01:00
Martchus 027db63de5 Improve documentation about using devel container for Android cross-compilation 2024-02-25 18:19:14 +01:00
Martchus 31b8441698 Update mingw-w64-extra-cmake-modules and -kirigami2 to 6.0.0
Not tested yet
2024-02-25 18:19:14 +01:00
Martchus 7f8b2d26bc Update android-*-kirigami2 to 6.0.0 2024-02-25 18:19:14 +01:00
Martchus ce7d14f50f Provide example command for installing android packages 2024-02-25 18:19:14 +01:00
Martchus c8813289e6 Move basic devel container setup into separate script for easier use 2024-02-25 18:19:14 +01:00
Martchus d8d4e8ca94 Make `containersync` script usable again when it already runs as root 2024-02-25 18:19:14 +01:00
Martchus e8dfb41e32 Ensure the devel container can be built if archlinux-keyring needs an update 2024-02-25 18:19:13 +01:00
Martchus e12d22a22f Force Android Qt 6 packages to use Java 17
This may help to prevent https://bugreports.qt.io/browse/QTBUG-119223.
2024-02-25 18:18:50 +01:00
Martchus 8c3d8568e6 Update pocketsphinx to 5.0.3 2024-02-21 11:38:56 +01:00
Martchus 534887b22f Fix description of cppwinrt 2024-02-18 01:09:08 +01:00
Martchus 64ce42f4c3 Enable cpp_winrt support in Qt 6 2024-02-18 00:29:59 +01:00
Martchus c4fcc897eb Handle Qt 6 packages in `apply-versions-spec.sh` 2024-02-16 19:40:47 +01:00
Martchus 104c057737 Update Qt 6 packages to 6.6.2 2024-02-15 21:10:17 +01:00
Martchus e20d543800 Update mingw-w64-jasper to 4.2.0 2024-02-13 00:31:28 +01:00
Martchus f87952094e Update libpng packages to 1.6.42 2024-02-09 22:30:32 +01:00
Martchus 28109a9f37 Update own projects 2024-02-06 19:31:48 +01:00
Martchus 52ea074a5c Update bento4 to 1.6.0.641 2024-02-05 13:29:57 +01:00
Martchus 5929914f7c Update openssl packages to 3.2.1 2024-02-03 17:06:48 +01:00
Martchus c0cfbf1ab2 Fix typo in README 2024-01-27 03:03:58 +01:00
Martchus 5ea37a3067 Update mingw-w64-gnutls to 3.8.3 2024-01-25 00:14:40 +01:00
Martchus 4512cb00c5 Update copyright date 2024-01-25 00:10:52 +01:00
Martchus f98e3bef4b Adapt patches for mingw-w64 Qt 5 packages
* Update patch for static freetype2 in qt5 for brotli library renaming
* Update patches for Qt 5 SQL drivers to include crypt32
    * This library is required by OpenSSL's crypto library. Not sure
      why there were no linker errors before.
2024-01-09 17:32:31 +01:00
Martchus 084636ac44 Update mingw-w64-qt5 packages to 5.15.12 2024-01-09 17:32:21 +01:00
Martchus 485b123124 Adapt to brotli upstream change regarding static libs
The upstream commit
641bec0e30
changed how static libraries are built and named.
2024-01-09 17:32:08 +01:00
Martchus a4dd538b8d Update ffmpeg-custom to 6.1.1 2024-01-09 17:32:07 +01:00
Martchus 8963bee361 Update own projects 2024-01-02 22:40:13 +01:00
Martchus 9e725d8391 Update static-compat-glib2 2024-01-02 14:03:27 +01:00
Martchus 4923e39429 Update static-compat-brotli to 1.1.0 2023-12-31 18:49:06 +01:00
Martchus ba3b5d5e37 Archive mingw-w64-brotli
The version in the AUR has been updated and is good enough now.
2023-12-31 18:45:58 +01:00
Martchus 64594521f0 Adapt tageditor tests to jq update 2023-12-30 00:06:16 +01:00
Martchus cb48d7af1f Update mingw-w64-jsasper to 4.1.1 2023-12-28 19:15:28 +01:00
Martchus 65959d6eda Update devtools-custom to 1.0.4 2023-12-26 18:23:12 +01:00
Martchus 5fec0e4088 Avoid overriding autostart when building syncthingtray 2023-12-22 17:38:13 +01:00
Martchus 39272fa095 Move `podman system migrate` to right paragraph 2023-12-22 15:57:24 +01:00
Martchus 905187d95c Add patches to syncthingtray-qt6 for Qt 6.7.0 2023-12-21 18:59:19 +01:00
Martchus 491ae51377 Rebuild ffmpeg against new libplacebo 2023-12-21 17:41:53 +01:00
Martchus a4c56e8c70 Sync ffmpeg-custom with regular ffmpeg package 2023-12-19 20:35:35 +01:00
Martchus df52f05683 Rebuild mingw-w64 syncthingtray packages with updated mingw-w64-gcc
The resulting binaries no longer crash when ran via WINE as they did
before¹. Qt 6 packages (6.6.1 was built with GCC 13.1.0) has not been
rebuilt yet as this doesn't seem to be needed. A test on Windows still
needs to be done.

¹ https://github.com/Martchus/syncthingtray/issues/220#issuecomment-1859006898)
2023-12-18 23:20:21 +01:00
Martchus 12153c8c09 Update mingw-w64-gcc to 13.2.1
* Import PKGBUILD from official repos
* Use Git and update to same commit as official `gcc` package
2023-12-18 22:59:25 +01:00
Martchus 2a0f8e7827 Fix URL of subtitlecomposer and rebuild against ICU 74 2023-12-12 17:52:55 +01:00
Martchus c3d2a1ce8c Update own projects 2023-12-11 21:26:46 +01:00
Martchus dfa517a760 Update own projects 2023-12-05 15:27:56 +01:00
Martchus 63b60bd972 Rebuild c++utilities/syncthingtray-qt6 against Plasma 6 beta 2023-11-30 20:02:03 +01:00
Martchus d8097abdb4 Update openssl packages to 3.2.0 2023-11-30 12:00:44 +01:00
Martchus 2cc50dcf12 Drop kross from subtitlecomposer dependencies 2023-11-30 11:51:34 +01:00
Martchus d91d90dc5e Update Qt 6 packages to 6.6.1 2023-11-30 11:00:24 +01:00
Martchus 284c540fbe Update ffmpeg-custom to 6.1 2023-11-27 13:08:38 +01:00
Martchus 265786c1d2 Remove appstream from check dependencies of my apps
The appstream check can already fail due to deprecation warnings and it
is not a good idea having package builds fail due to that. Therefore the
tests are also no longer run by default after recent changes in
c++utilities.
2023-11-22 18:59:45 +01:00
Martchus 047fa83d42 Avoid running development-related tests in c++utilities build 2023-11-22 13:23:52 +01:00
Martchus 71edcb87fe Fix install path of KIO plugin if syncthingtray-qt6 2023-11-22 00:48:57 +01:00
Martchus d7bd9145c3 Update own projects 2023-11-22 00:04:07 +01:00
Martchus 5619b89c8f Update baikal to 0.9.4 2023-11-16 11:04:18 +01:00
Martchus ecdb236c05 Set KF_PACKAGE_PREFIX in syncthingtray-qt6 2023-11-11 21:04:07 +01:00
Martchus c6220527e2 Update mingw-w64-postgresql to 16.1 2023-11-10 20:25:48 +01:00
Martchus 2a4b462c6c Document possibility to invoke other tools via `makecontainerpkg` 2023-11-10 14:12:47 +01:00
Martchus 719f39092c Make recent `makecontainerpkg` changes work with Docker 2023-11-10 14:11:54 +01:00
Martchus b7fb618581 Improve user mapping in `makecontainerpkg`
* Use `--userns` to become `builduser` right away instead of using `sudo`
  to become `builduser`
* Add `builduser` to `sudoers` so it can become root to synchronize
  packages
* Ensure this way that files created within the container have the
  user/group of the user starting the container so build artifacts have the
  right ownership
2023-11-08 17:45:14 +01:00
Martchus f697ed8e63 Allow making tool to invoke via `makecontainerpkg` overridable
This is useful to invoke `updpkgsums` or `repo-add` within the container as
well. These tools also seem to need the additional logic to use a dedicated
build user so it makes sense to make this part of `makecontainerpkg`.
2023-11-08 16:44:58 +01:00
Martchus 4ac912f092 Allow using `--printsrcinfo` via `makecontainerpkg` 2023-11-08 15:06:40 +01:00
Martchus 5db88d8534 Avoid mingw-w64-qt6-base to link against shared libzstd 2023-11-08 00:21:45 +01:00
Martchus 07e83f590a Update subtitlecomposer to 0.8.0 2023-11-07 23:10:34 +01:00
Martchus fe8de3cef3 Update passwordfile to 5.0.9 2023-11-07 16:35:09 +01:00
Martchus 54287988e4 Update mingw-w64-postgresql to 16.0 2023-11-07 14:27:45 +01:00
Martchus 644b51667c Update mingw-w64-qt6-3d
Not tested
2023-11-07 13:22:50 +01:00
Martchus afc0ee59fe Update own projects 2023-11-07 13:19:12 +01:00
Martchus ea0193938c Adapt static-compat-pianobooster to added alsa support in fluidsynth 2023-10-27 22:12:17 +02:00
Martchus 75b9126b04 Enable alsa backend in static-compat-fluidsynth 2023-10-27 21:43:29 +02:00
Martchus a2a168f816 Remove conflicting files in static-compat-alsa-lib 2023-10-27 19:28:28 +02:00
Martchus 4b15ff0b1a Add static-compat-pianobooster and dependencies
It builds but doesn't work yet because the OpenGL widget is
apprently not working in static-compat-qt6-base.
2023-10-27 18:40:15 +02:00
Martchus e528520427 Update openssl packages to 3.1.4 2023-10-27 14:46:21 +02:00
Martchus a11f0d488f Update mingw-w64-fluidsynth to 2.3.4 2023-10-22 14:53:13 +02:00
Ben b4382ecbef
Fix duplicate `kde+` suffix in version of Qt 5 packages
* Prevent appending the `kde+`-suffix multiple times when running `makepkg` consecutively without cleanup
* Modify the assignment of `_basever` from `_basever=$pkgver` to `_basever=${pkgver%%+*}`
2023-10-22 14:51:41 +02:00
Martchus 4fdfd13518 Update plasmoidviewer-debug 2023-10-20 12:24:02 +02:00
Martchus 37ccd0915b Update deps of syncthingtray for kf5 package renaming 2023-10-20 12:10:48 +02:00
Martchus 41f247ccbc Update deps of subtitlecomposer for kf5 package renaming 2023-10-20 11:01:41 +02:00
Martchus 0ff9c0527d Fix crashes with malformed SVGs in Qt 6 Svg packages 2023-10-16 18:29:04 +02:00
Martchus 3a2a4baf62 Update bento4 to v1.6.0-640 2023-10-15 16:35:25 +02:00
Martchus 3b8abd2126 Sync ffmpeg-custom with regular ffmpeg 2023-10-12 11:10:31 +02:00
Martchus c6f9429f11 Update Qt 6 packages to 6.6.0 2023-10-12 10:40:55 +02:00
Martchus 7ed355f9ae Update Qt 5 packages to 5.15.11 2023-10-09 10:22:10 +02:00
Martchus 795bbd2b3c Sync static-compat-zlib with regular package 2023-10-08 21:37:47 +02:00
Martchus 5cd5071f2f Sync ffmpeg-custom with regular ffmpeg 2023-10-07 01:46:26 +02:00
Martchus ad67b9dcad Update android-aarch64-kirigami2 2023-10-04 16:36:11 +02:00
Martchus a67ddaace6 Update syncthingtray 2023-10-03 14:55:42 +02:00
Martchus 5ef2aafea3 Update android-kirigami2 2023-09-30 23:44:17 +02:00
Martchus dab475f5ee Update freetype packages to 2.13.2 2023-09-30 22:15:55 +02:00
Martchus 9642c5b05d Update Qt 6 package to 6.5.3 2023-09-30 19:56:00 +02:00
Martchus 1969bcf148 Update openssl packages to 3.1.3 2023-09-27 16:24:37 +02:00
Martchus be5bb9b74b Add static-compat-alsa-lib 2023-09-22 23:45:51 +02:00
Martchus 09b82488c5 Test and fix qt6-positioning and qt6-location 2023-09-18 21:55:33 +02:00
Martchus 0d03746734 Fix typo in README 2023-09-18 21:24:23 +02:00
Martchus 15161717eb Fix typo in ne android-aarch64-qt6 packages 2023-09-18 09:26:12 +02:00
Martchus 954c36864e Add mingw-w64/android variants for Qt positioning and location modules
Not tested yet, will test on next update
2023-09-16 15:07:09 +02:00
Martchus 46fe3d404e Avoid deprecation warning in `generate.pl`
Use `spew` instead of `spurt`
2023-09-16 14:48:52 +02:00
Martchus c1d7c0afb4 Improve dependencies of my Qt-based packages
* Remove `mesa` as dependency; `qt5-base` and `qt6-base` both depend on it
  and none of the projects depend on it directly; official Qt-based
  packages like `qtcreator` also don't depend on `mesa`
* Add `libx11` as dependency of `qtutilities` and variants as it is
  actually used directly by those packages for the capslock detection (even
  though that feature was broken for quite some time)
2023-09-11 21:39:41 +02:00
Martchus a3ed2d0868 Use more library dependencies where possible 2023-09-11 21:17:51 +02:00
Martchus 29c1f76ec0 Adapt mingw-w64-pianobooster-custom to latest changes 2023-09-06 17:34:29 +02:00
Martchus 6a004ebe05 Update own projects 2023-09-05 18:05:11 +02:00
Martchus b31b54dffe Rebuild reflective-rapidjson against LLVM 16 2023-08-23 16:15:19 +02:00
Martchus 4060769a23
Merge pull request #170 from patlefort/master
gnutls: fix compile problem with gnutls.
2023-08-23 13:19:10 +02:00
Patrick Northon e16ee6b82c gnutls: fix compile problem with gnutls, remove unused configure arguments and bump version to 3.8.1. 2023-08-22 17:42:24 -04:00
Martchus 82f0166922 Add PKGBUILDs for additional Qt 6 modules
These haven't been tested yet and I'm not sure whether it makes sense to
add them by default to the build yet. However, they might be useful in the
future.
2023-08-17 15:44:05 +02:00
Martchus 11290f62f0 Fix plugin targets not populated in mingw-w64-qt5-base
See https://github.com/Martchus/PKGBUILDs/issues/168
2023-08-12 14:05:35 +02:00
Martchus edce7b262f Update mingw-w64-qt5-base to 5.15.10+kde+r147 2023-08-12 14:00:56 +02:00
Martchus c03b3b0dc9 Update static-compat-glib2 to 2.76.4 2023-08-10 17:24:02 +02:00
Martchus 8de31414b4 Update syncthingtray 2023-08-09 16:39:21 +02:00
Martchus d0b2049ef8 Disable harfbuzz find package in static CMake wrappers 2023-08-09 16:36:59 +02:00
Martchus 2faaaf4e3e Add workaround to compile static-compat-gcc after host glibc update
Ensure that ada host tools are built/linked with host g++ and thus linked
against the host glibc. Attempting to link against the target glibc leads
otherwise to linker errors like (since the host glibc has been updated to
2.38):

```
/usr/bin/ld: ../../libcommon.a(diagnostic.o): in function `get_terminal_width()':
/usr/include/stdlib.h:483:(.text+0x790): undefined reference to `__isoc23_strtol'
```

Not sure why GCC's build script is using the target "xg++" tool here. Maybe
a misconfiguration on my side or an upstream bug.
2023-08-04 17:16:51 +02:00
Martchus 725f0504c8 Update static-compat-gcc to 13.2.1 2023-08-04 12:21:40 +02:00
Martchus 09ace05063 Update static-compat-harfbuzz to 8.1.1 2023-08-04 12:20:33 +02:00
Martchus 9e19cb8489 Update openssl to 3.1.2 2023-08-02 14:12:08 +02:00
Martchus d84ec060c6 Update mingw-w64-openssl-1.1 to 1.1.1v 2023-08-02 12:46:44 +02:00
Martchus ffe8cccf62 Remove no longer needed patch for pocketsphinx 2023-08-01 16:49:51 +02:00
Martchus bc88503767 Update pocketsphinx to 5.0.2 2023-08-01 15:42:54 +02:00
Martchus 3384615ca3 Fix checksum of mingw-w64-pcre2 2023-07-30 01:21:14 +02:00
Martchus eb5ce560b9 Sync mingw-w64-gettext with AUR 2023-07-30 01:05:14 +02:00
Martchus 7d30e2aebf Update mingw-w64-pcre2 to 10.42 2023-07-30 01:00:59 +02:00
Martchus e88c8f08a5 Update libpng to 1.6.40 2023-07-22 18:00:49 +02:00
Martchus ef6257dff9 Update Qt 6 packages to 6.5.2 2023-07-20 23:09:41 +02:00
Martchus 2eed8bc1be Update static-compat-harfbuzz to 8.0.1 2023-07-13 01:17:49 +02:00
Martchus a4ab0895e9 Sign binaries when uploading them to GitHub 2023-07-07 23:49:45 +02:00
Martchus 8911baa73c Update own projects 2023-07-04 20:14:39 +02:00
Martchus 3aa9d8e2e2 Add sadav 2023-07-04 02:21:44 +02:00
Martchus 20d38cddea Improve pianobooster packages
* Enable built-in translations for Linux version in consistency
  with qtutilities-qt6-git
* Add make dependency for bundling breeze icons for Windows
  version
2023-07-03 22:04:57 +02:00
Martchus e02e2bf809 Add qtutilities-qt6-git and update pianobooster-custom 2023-07-03 15:02:11 +02:00
Martchus 5d0ee369fa Update mingw-w64-fluidsynth to 2.3.3 2023-07-01 01:51:12 +02:00
Martchus e72bcf8e70 Fix address book sync via baikal after php update 2023-06-28 18:48:45 +02:00
Martchus f486af207d Update freetype2 packages to 2.13.1 2023-06-27 19:16:38 +02:00
tocic 60516ce57a
cmake-format: Move python-setuptools to makedepends (#167)
No longer required as of
https://archlinux.org/todo/cleanup-of-python-setuptools-dependency-for-console-scripts
2023-06-26 11:22:06 +02:00
Martchus 8c3485f6cf Adapt pianobooster to latest changes 2023-06-22 21:19:57 +02:00
Martchus 669aae0738 Rebuild subtitlecomposer against ICU 73 2023-06-22 12:08:46 +02:00
Martchus 7bffff8fe2
Merge pull request #166 from tocic/feat/cmake-format_deps_explanation
cmake-format: Explain the purpose of every optional dependency
2023-06-22 11:59:09 +02:00
tocic 1f1cd8bedc
cmake-format: Explain the purpose of every optional dependency
See https://cmake-format.readthedocs.io/en/latest/installation.html#install-with-pip.
2023-06-22 12:30:07 +03:00
Martchus 45feb203e8 Update mingw-w64-qt5-* packages to 5.15.10 2023-06-14 10:46:41 +02:00
Martchus faecd93a37 Improve pianobooster packages
* Enable FluidSynth in custom and mingw-w64 package
* Use minimal build of mingw-w64-fluidsynth after all to avoid
  pulling in too many dependencies which unfortunately would
  cause various linker errors
* Make the static library in mingw-w64-fluidsynth usable with
  the static libraries of mingw-w64-glib2
* Fix missing build dependencies in custom package
* Workaround CMake not configuring static libraries correctly
2023-06-13 01:46:45 +02:00
Martchus efa277b114 Update own projects 2023-06-08 17:28:57 +02:00
Martchus a7980f7c77 Add patch to fix QTabbar regression 2023-06-07 22:12:56 +02:00
Martchus bfa3172d69 Add CLI wrappers actually to archive 2023-06-06 21:55:06 +02:00
Martchus 846db38624 Update own projects 2023-06-06 18:27:38 +02:00
Martchus 676e8e9cbe Add mingw-w64-pianobooster-custom 2023-06-06 00:33:50 +02:00
Martchus 341d94e6c6 Adapt pianobooster-custom to latest changes 2023-06-05 23:05:31 +02:00
Martchus 0eea35eb10 Update static-compat-glib2 to 2.76.3 2023-06-01 12:47:43 +02:00
Martchus f1ab554d53 Update openssl packages 2023-05-30 23:48:25 +02:00
Martchus 666dcabb7e Update devtools-custom to 1.0.1 2023-05-27 22:36:34 +02:00
Martchus 66052c8b3d Update openssl packages 2023-05-26 17:37:03 +02:00
Martchus dc24c09202 Update Qt 6 packages to 6.5.1 2023-05-26 15:25:14 +02:00
Martchus 0df015782d Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
Martchus 51d62f9b22 Update mingw-w64-openssl and static-compat-openssl to 3.1.0 2023-05-15 18:45:54 +02:00
Martchus d6b25c2005 Update devtools-custom to 20230307 2023-05-13 23:14:21 +02:00
Martchus 993fcdb7f4 Update validpgpkeys for static-compat-xz 2023-05-13 21:02:49 +02:00
Martchus c259e01c77 Update static-compat-xz to 5.4.3 2023-05-12 23:21:58 +02:00
Martchus d50909fd9d Import mingw-w64-fluidsynth from AUR to enable features 2023-05-12 23:19:12 +02:00
Martchus e6d1fe4c26 Update gcc-static-compat to 13.1.1 2023-05-01 14:49:37 +02:00
Martchus e0d0183e80 pocketsphinx: Fix include directory 2023-04-29 18:15:08 +02:00
Martchus d4f5d4ec9f
Merge pull request #164 from eclairevoyant/master
pocketsphinx: packaging fixes
2023-04-29 17:47:13 +02:00
éclairevoyant 386aeb7417
pocketsphinx: remove redundancies 2023-04-29 11:09:01 -04:00
éclairevoyant e8a6dc3118
pocketsphinx: ensure source name is unique 2023-04-29 10:28:15 -04:00
éclairevoyant 0288e2229f
pocketsphinx: fix license 2023-04-29 10:27:43 -04:00
éclairevoyant 850e92292a
pocketsphinx: fix quoting 2023-04-29 10:27:06 -04:00
éclairevoyant 9d78025a97
pocketsphinx: update meta info 2023-04-29 10:26:29 -04:00
Martchus de58651d80 Update mediawriter to 5.0.6 2023-04-25 22:04:13 +02:00
Martchus b6f322e8d8 Increase sub ID ranges in container documentation 2023-04-11 17:11:01 +02:00
Martchus 8b98843fd0 Update Qt 5 packages to 5.15.9 2023-04-10 21:43:10 +02:00
Martchus 387afd78cb Sync ffmpeg-custom with official package 2023-04-10 18:41:24 +02:00
Martchus 1b345a9f3d Update zstd packages to 1.5.5 2023-04-07 19:26:18 +02:00
Martchus 94edb6acc8 Update checksums of mingw-w64-qt6-multimedia after build is fixed 2023-04-06 15:40:53 +02:00
Martchus 4ff147355e Update syncthingtray 2023-04-06 12:46:37 +02:00
Martchus 92d1c4e89d
Merge pull request #163 from Steveice10/qt6_multimedia
Fix qt6-multimedia build on mingw-w64.
2023-04-06 12:43:47 +02:00
Steveice10 a921b58a37 Fix qt6-multimedia build on mingw-w64. 2023-04-05 18:00:15 -07:00
Martchus f7c4d5b87a Update own projects 2023-04-05 18:00:52 +02:00
Martchus b91bc46a5a Update Qt packages to 6.5.0 2023-04-04 23:03:00 +02:00
Martchus 97d89e925a Fix build of android-*-boost after update to 1.81.0
* Use `android-environment` instead of hardcoding paths
* Remove hacks for specifying include directories and standard
  library manually
* Streamline compiler options with what CMake would use under
  Android
* Use C++17
2023-03-25 21:14:04 +01:00
Martchus 3dd00d1e2c Fix pulling of base image in imagebuild 2023-03-25 21:04:58 +01:00
Martchus f91bc6f601 Update android-aarch64-kirigami2 2023-03-20 23:26:47 +01:00
Martchus 4bf0cf280e Mention how to use Android-related tooling from PKGBUILDs via podman 2023-03-19 00:19:01 +01:00
Martchus 98232afa14 Fix typo 2023-03-17 16:25:21 +01:00
Martchus 8f7aff3d89 Update qt6 packages to 6.4.3 2023-03-17 16:18:33 +01:00
Martchus 357910eaf4 Fix android-*qt6-* packages
* Fix wrong Java version
* Fix inconsistency between name of libpng and its
  soname
2023-03-11 19:28:22 +01:00
Martchus 54181e21be Update instructions for Android builds
The SDK directory needs to be explicitly specified for Qt's helpers
to find it.
2023-03-11 17:13:14 +01:00
Martchus 3956b5f3e9 Fix checksums of own projects 2023-03-08 10:37:00 +01:00
Martchus da85f27f76 Rebuild subtitlecomposer against ffmpeg 6.0 2023-03-07 21:25:35 +01:00
Martchus 7647677434 Update own projects 2023-03-07 21:22:13 +01:00
Martchus 90dfa09dfd Update ffmpeg-custom to 6.0 2023-03-07 21:02:58 +01:00
Martchus 4712835f54 Rebuild static-compat-qt6-tools against LLVM 15 2023-03-07 20:25:26 +01:00
Martchus 99d62914c9 Add example for containerized build using Android packages 2023-03-04 17:26:24 +01:00
Martchus a076a252b2 Sync ffmpeg-custom with regular package 2023-02-27 18:58:44 +01:00
Martchus 2b217f7607 Ensure imagebuild actually creates an updated image 2023-02-24 22:46:14 +01:00
Martchus 01b3ceea72 Update pocketsphinx to 5.0.0
* Remove no longer required base package
* Do not include Python module anymore; it is not built by default by
  the upsteam build script anymore (only if CMake variable SKBUILD is set)
  and thus supposedly designed to be distributed in a separate package; this
  makes also sense at it avoids rebuilding the C library on every minor Python
  release
* Rebuild subtitlecomposer; however, at this point this means its speech
  plugin will not be available anymore as even the detection of the library
  does not work:
  ```
  -- Could NOT find PocketSphinx (missing: POCKETSPHINX_INCLUDE_DIR) (found suitable version "5.0.0", minimum required is "5")
  -- Have NOT Found PocketSphinx - Speech plugin will not be built
  ```
2023-02-24 22:38:35 +01:00
Martchus 193752b02f Update static-compat-zstd to 1.5.4 2023-02-19 18:17:15 +01:00
Martchus f1905cf048 Add common args for `makecontainerpkg` from environment 2023-02-19 15:51:45 +01:00
Martchus e944bccef0 Import mingw-w64-zstd from AUR, enable static libs and fix arch 2023-02-19 00:16:28 +01:00
Martchus bd3837f412 Update devtools-custom to 20230105 2023-02-18 21:32:03 +01:00
Martchus db01a49260 Update android-aarch64-kirigami2 to latest Git version to build against Qt 6 2023-02-16 18:59:05 +01:00
Martchus 3c78fa5fa7 Improve `makecontainerpkg`
* Parse `pkgname` from `PKGBUILD` via sourcing to cope with variables
* Allow overriding the container name to be able to re-use an existing
  container
* Be verbose when installing packages during the image creation
2023-02-16 18:59:05 +01:00
Martchus ecf5bbef00 Ensure HOME is set in syncthingtray tests
Workaround for https://github.com/syncthing/syncthing/issues/8785
2023-02-13 15:58:59 +01:00
Martchus ba53dca910 Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
Martchus 61276996b7 Add issue templates 2023-02-06 18:01:30 +01:00
Martchus d9f657f496 State that `makecontainerpkg` is also tested with Podman 2023-02-06 18:00:42 +01:00
Martchus 38818e508a Improve investigation of containerized builds
The current approach was not actually working as the container was not
start with in interactive bash shell (or any kind of process that would
just keep it running once started).
2023-02-03 22:49:19 +01:00
Martchus adeff70dbf Update mingw-w64-jasper to 4.0.0 2023-02-03 20:41:50 +01:00
Martchus b706ba2ca9 Update mingw-w64-gnutls to 3.7.8 2023-02-03 20:41:23 +01:00
Martchus 1504660f55 Update boost packages to 1.81.0
There are still build errors to be fixed in the Android
variants.
2023-02-03 15:20:00 +01:00
Martchus 7b5f5d2f2c Add note about `podman system migrate` 2023-01-30 11:45:03 +01:00
Martchus d88ba1ed13 Rebuild packages against boost 1.81.0 2023-01-22 20:53:55 +01:00
Martchus 7c807955c7 Improve example commands to use mingw-w64 packages via container 2023-01-22 19:40:06 +01:00
Martchus a9225fb025
Merge pull request #160 from AlexanderStein/master
Support preset CMAKE_GENERATOR
2023-01-22 18:15:53 +01:00
Martchus abec85f5d2 Add instructions on how to use the packaging under other distros using podman
These instructions are still pretty raw. Creating helper scripts to make
the use easier would make sense at some point.
2023-01-22 18:05:44 +01:00
Alexander Stein d4f699bf8f Support preset CMAKE_GENERATOR
In case this is set to 'Ninja' in user environment, build breaks calling
'make' directly. Instead use the cmake build command which takes
the selected generator into account
2023-01-22 17:11:23 +01:00
Martchus d1cb119831 Improve documentation about container setup
* Mention `imgebuild` explicitly
* Move reference to 3rdparty into a proper section
2023-01-22 16:58:15 +01:00
Martchus 8a695d628b Don't remove the container when `DEBUG` variable is set
* And get rid of the `sleep infinity` hack instead; one can simply start
  the container again
* Document the workflow for instigating build failures
2023-01-22 16:56:46 +01:00
Martchus 979426f0b0 Fix typo 2023-01-21 18:47:26 +01:00
Martchus ddfff37556 Improve `makecontainerpkg`
* Test with `podman` and add according instructions
* Allow use of a custom `pacman.config`/`makepkg.config` by mounting them
  into a special directory within the container
2023-01-21 18:44:16 +01:00
Martchus 0228bd6d8f Add mingw-w64-ftgl 2023-01-21 18:37:51 +01:00
Martchus 2dcf51c445 Update copyright notice 2023-01-17 18:41:02 +01:00
Martchus 7ed2351d72 Update mingw-w64-extra-cmake-modules to 5.102.0 2023-01-17 15:20:15 +01:00
Martchus 4a57bd5bd8 Update checksums of mingw-w64-extra-cmake-modules 2023-01-17 15:06:10 +01:00
Martchus 94945f0659 Rebuild reflective-rapidjson against LLVM 15 2023-01-08 22:18:52 +01:00
Martchus 589a25a341 Improve mingw-w64-freetype2 packages
* Simplify provides/conflicts/replaces
    * Remove reference to mingw-w64-freetype which should be long gone
    * Remove "replaces"; in some use cases one might rather stick with the
      bootstrap version
* Explicitly enable/disable harfbuzz so the bootstrap version won't
  accidentally depend on it if it is installed in the build environment
2023-01-07 14:47:28 +01:00
Martchus f05eee98a0 Update Qt 5 and 6 packages to 5.15.8 and 6.4.2 2023-01-07 14:23:26 +01:00
Martchus 9286e932ac Change mod of PKGBUILDs to be not executable 2023-01-07 14:23:26 +01:00
Martchus d2498e198b Add patches for subtitlecomposer to repo as GitLab changes the exact format
which leads to checksum verification errors
2023-01-03 14:13:18 +01:00
Martchus 605646001e Update own projects 2023-01-03 01:37:46 +01:00
Martchus 679ae11071 Save lib32-openssl-1.0 as well
It has been removed from the official repos like openssl-1.0 but
might still be useful to keep old software running.
2022-12-20 22:55:37 +01:00
Martchus b3af50109d Update static-compat packages 2022-12-20 18:09:51 +01:00
Martchus 01e1be2f16 Add soname provides for qtquickforkaweseome.so 2022-12-20 18:08:56 +01:00
Martchus 5683c3d6a1 Build pianobooster-custom against Qt 6 2022-12-20 18:08:35 +01:00
Martchus 7a31b23824 Import openssl-1.0 from regular official repos
This package may still be useful to keep from old software running.
2022-12-18 01:21:56 +01:00
Martchus 550da221eb Add pianobooster-custom 2022-12-12 13:56:19 +01:00
Martchus 8437b62e4a Update ffmpeg-custom to 5.1.2 2022-12-07 16:37:41 +01:00
Martchus a14abc0a2a Fix high DPI scaling regression with Qt 6.4.1 on Windows
See https://bugreports.qt.io/browse/QTBUG-109234
2022-12-06 23:17:12 +01:00
Martchus 25ba758d58 Update own projects 2022-12-06 16:50:43 +01:00
Martchus 80b5a50bbc Update baikal to 0.9.3 2022-12-04 18:41:59 +01:00
Martchus ffb005fe3e Update android-*-openssl to 3.0.7 2022-12-04 00:50:47 +01:00
Martchus 0f465ba611 Update static-compat packages 2022-11-28 22:09:42 +01:00
Martchus 9929f7734c
Merge pull request #153 from oyale/fix-the-fix
fix: add commit patch url for video fix
2022-11-21 15:56:15 +01:00
Pelayo García 427f8beea1 fix: add commit patch url for video fix 2022-11-21 15:13:49 +01:00
Martchus 7a009ff4f2 Rebuild subtitlecomposer with recent changes 2022-11-21 14:55:25 +01:00
Martchus e162198628
Merge pull request #152 from oyale/fix-checksum-and-video-load
Fix checksum and video load
2022-11-21 14:53:29 +01:00
Pelayo García 107b499f98
fix: video load
Applying d8f9797 commit patch to fix the video load bug.
https://www.mail-archive.com/kde-bugs-dist@kde.org/msg700354.html
2022-11-21 14:49:12 +01:00
Pelayo García 5e4925424f
fix: sha256 checksum for git patch 2022-11-21 14:47:10 +01:00
Martchus 07c33b3d7e Update qt6 packages to 6.4.1 2022-11-17 10:34:36 +01:00
Martchus 5941e7f7d9 Fix dependency of static-compat-minizip 2022-11-12 12:46:35 +01:00
Martchus 30a51d9903 Update static-compat-openssl and a few other static-compat packages 2022-11-09 21:47:56 +01:00
Martchus fd242ddaa7 Avoid messing with user config when building syncthingtray 2022-11-08 20:47:00 +01:00
Martchus 4d994f9505 Update mingw-w64-openssl to 3.0.7
* Update outdated packages that need a rebuild
2022-11-07 22:37:40 +01:00
Martchus 8b121d66fb Add further patches for Syncthing Tray's tests 2022-11-05 14:33:07 +01:00
Martchus 90bfd0ac46 Add further patches for syncthingtray tests 2022-11-03 21:44:01 +01:00
Martchus 3d1ee6de53 Patch syncthingtray to fix tests 2022-11-03 13:22:42 +01:00
Martchus 60db834dd3 Rebuild arch-repo-manager-git and passwordfile-git against OpenSSL 3 2022-11-03 13:22:28 +01:00
Martchus 80932b31ce Update own projects 2022-11-02 16:04:50 +01:00
Martchus 1c971e96f5 Update openssl packages to 1.1.1s 2022-11-02 14:19:45 +01:00
Martchus f151b9ff0b Update/rebase mingw-w64-qt5-* packages to 5.15.7 2022-11-01 13:32:05 +01:00
Martchus 1e95efc7a0 Add python-cmakelang as provide to cmake-format
The package provides - besides the command line tools - the Python
module cmakelang which some other packages might want to depend on.
2022-10-31 11:39:17 +01:00
Martchus 62ee7dacab Rebuild nginx-mod-* packages against nginx 1.22.1 2022-10-27 18:50:42 +02:00
Martchus 2f050377ca Add script to update release date of all projects to be released 2022-10-12 23:30:08 +02:00
Martchus d9c9c5e352 Update checksums of android-aarch64-qt6-* packages
The build has not been tested yet but updating the checksums cannot
hurt.
2022-10-11 21:28:22 +02:00
Martchus 6055502de4 Add appstream dependency for validation of appstream files 2022-10-11 21:27:25 +02:00
Martchus 2c1e5e0b74 Update README of static-compat packages 2022-10-05 22:45:35 +02:00
Martchus 3db866b2c5
Merge pull request #149 from michaelpennington/master
Update qt6utilities pkgsums
2022-10-05 22:16:03 +02:00
Michael Pennington 5dce516e40 Update syncthingtray pkgsums as well 2022-10-05 14:29:01 -04:00
Michael Pennington 7e75f2a217 Update qt6utilities pkgsums 2022-10-05 14:21:07 -04:00
Martchus 057fb81690 Update mingw-w64-qt5-base to 5.15.6+kde+r179
Rebase patches against latest KDE commit and adapt
them to glib2 now using pcre2.
2022-10-05 17:49:19 +02:00
Martchus 91f026dd84 Update own projects 2022-10-05 17:49:19 +02:00
Martchus 8a0fb8567c
Merge pull request #148 from osesov/master
[bento4] Install missing python scripts (mp4dash, mp4hls, mp4dashclone)
2022-10-04 23:54:37 +02:00
Oleg Sesov b2476eb84c [bento4] Install missing python scripts (mp4dash, mp4hls, mp4dashclone) 2022-10-04 21:30:47 +03:00
Martchus aad0f91e60 Update Qt 6 packages to 6.4.0
Unfortunately mingw-w64-qt6-multimedia does not build at
all anymore (not even without an actual backend like before).
2022-10-01 18:18:19 +02:00
Martchus 692ce04279 Fix broken/conflicting symlinks in mingw-w64-qt6 packages
See https://github.com/Martchus/PKGBUILDs/issues/147
2022-09-26 21:10:42 +02:00
Martchus 4c3293e7c8 Remove dependency to dia which still uses Python 2
It should not be used anyways by my documentation packages.
2022-09-23 14:46:40 +02:00
Martchus 4b21ecf7d8 Update static-compat-harfbuzz to 5.2.0 2022-09-20 21:01:39 +02:00
Martchus ea0241754d Update boost packages to 1.80.0 2022-09-20 21:01:32 +02:00
Martchus 047b797589 Rebuild packages against 1.80.0 2022-09-18 20:03:55 +02:00
Martchus 7419a7e915 Import cubeb-git from AUR and apply fixes mentioned in AUR comment 2022-09-14 17:12:22 +02:00
Martchus 032cf231a8 Sync ffmpeg-custom with regular package 2022-09-13 23:40:39 +02:00
Martchus 10a80dfb5e Update Qt 6 packages to 6.3.2 2022-09-12 18:06:40 +02:00
Martchus a9441237ee Rebase mingw-w64-qt5 packages against 5.15.6 2022-09-10 16:58:25 +02:00
Martchus 48c13871c5 Update checksum of tageditor-cli 2022-09-07 10:34:26 +02:00
Martchus a862d51c27 Use so dependencies for reflective-rapidjson 2022-09-06 22:19:31 +02:00
Martchus 4742719574 Update own projects 2022-09-06 22:15:17 +02:00
Martchus 77e1429d6d Update mediawriter to 5.0.3 2022-09-05 12:48:09 +02:00
Martchus 985e04562b Update gcc-static-compat to 12.2.0 2022-08-29 20:36:26 +02:00
Martchus 24352029bf Update mediawriter to 5.0.2 2022-08-22 22:53:39 +02:00
Martchus d58568c7ec Update static-compat packages 2022-08-22 21:49:44 +02:00
Martchus 81358482a3 Rebuild c++utilities and related Git packages to fix build issue
See aa4be0ef70
2022-08-09 21:28:36 +02:00
Martchus dce2e2c900 Update mingw-w64-gnutls to 3.7.7 2022-08-08 17:16:39 +02:00
Martchus 096981e3fe Fix checksum of c++utilities packages 2022-08-02 21:47:00 +02:00
Martchus c63d48ef59 Fix checksum of tageditor-cli 2022-08-02 21:33:12 +02:00
Martchus dd328cead1 Update own projects 2022-08-02 20:33:53 +02:00
Martchus eee63ad24d Update mingw-w64-mariadb-connector-c to 3.3.1 2022-08-02 18:48:33 +02:00
Martchus 6d9159c41a Update gogs to 0.12.10 2022-08-02 18:22:13 +02:00
Martchus 92e7aac417 Use new debug option in arch-repo-manager-git 2022-07-27 00:07:00 +02:00
Martchus 66477e7d39 Add passwordfile-git dependency to arch-repo-manager-git 2022-07-25 21:56:17 +02:00
Martchus feebfcda54 Update static-compat-harfbuzz to 5.0.1 2022-07-25 00:12:52 +02:00
Martchus f8891f6177 Update blackwidowcontrol to 1.1.0 2022-07-16 18:47:12 +02:00
Martchus 458f1c63f2 Update devtools-custom 2022-07-14 23:40:20 +02:00
Martchus 0c2f42dc29 Patch mingw-w64-tageditor and related packages
For https://github.com/Martchus/tageditor/issues/85
2022-07-14 02:04:33 +02:00
Martchus 4ec231d06b Update mingw-w64-gnutls to 3.7.6 2022-07-10 11:54:26 +02:00
Martchus b8e7a21a31 Archive many old packages to clean up the root directory 2022-07-09 20:29:34 +02:00
Martchus 624d2444fb Use soname dependencies for packages of own projects 2022-07-09 13:46:30 +02:00
Martchus a653202062 Enable VERSIONED_MINGW_LIBRARIES in certain packages
Enable VERSIONED_MINGW_LIBRARIES in packages where it would not cause any
additional rebuilds anyways to test that feature.
2022-07-09 11:48:41 +02:00
Martchus ca33bfa930 Update android-*-openssl to 1.1.1q 2022-07-07 11:14:10 +02:00
Martchus dbfea6400a Update own projects 2022-07-05 22:58:40 +02:00
Martchus b6f2c7f108 Rebuild static-compat-qt6-tools against LLVM 14 2022-07-05 18:04:01 +02:00
Martchus 78797399b7 Update openssl variants to 1.1.1q 2022-07-05 18:04:01 +02:00
Martchus 7003f44e82 Add missing make dependency git to mingw-w64-rapidjson 2022-06-30 21:59:20 +02:00
Martchus fafb475e77
Merge pull request #143 from patlefort/master
rapidjson mingw: Pull and use a specific version of gtest.
2022-06-30 21:00:42 +02:00
Patrick Northon 416a587f98 rapidjson mingw: Pull and use a specific version of gtest. 2022-06-30 14:38:48 -04:00
Martchus b44db61f98 Sync mingw-w64-ffmpeg with AUR package and update to 5.0.1 2022-06-28 00:22:05 +02:00
Martchus 618d521cbe Update static-compat-harfbuzz to 4.4.0 2022-06-27 23:46:50 +02:00
Martchus e806ca197b Extend README section about static compat packages 2022-06-27 13:07:43 +02:00
Martchus 7054bfd973 Fix typos in README 2022-06-27 13:07:02 +02:00
Martchus c471e99957 Update several package variants to match the corresponding regular package 2022-06-25 22:00:28 +02:00
Martchus 33dd68c7c9 Rebuild reflective-rapidjson against LLVM 14 2022-06-23 12:14:59 +02:00
Martchus b0bac0c9d5 Update static-compat-openssl to 1.1.1p 2022-06-22 22:58:36 +02:00
Martchus 4a9e72237b Update android-*-openssl packages to 1.1.1p 2022-06-22 22:58:13 +02:00
Martchus a0c94fb1aa Update tagparser-git and tageditor-git 2022-06-20 21:41:55 +02:00
Martchus 3233efeca5 Rebuild ffmpeg against updated srt and sync with upstream 2022-06-18 12:59:41 +02:00
Martchus 571a4141a5 Update static-compat-boost and boost-doc to 1.79.0 2022-06-16 17:51:19 +02:00
Martchus 743335a886 Fix build errors in static-compat-qt6-wayland
These build errors are caused because eglplatform.h is included before Qt
headers and it pulls X11 headers which contain many problematic macros.

Apparently X11 headers aren't required here anyways so let's just disable
them from being pulled in.
2022-06-16 16:44:56 +02:00
Martchus 6edac42547 Enable X11 conditionally in libglvnd's egl header
See https://github.com/KhronosGroup/EGL-Registry/pull/130
2022-06-16 16:27:38 +02:00
Martchus bf28a1a3a7 Update static-compat-xorgproto to 2022.1 2022-06-16 16:26:11 +02:00
Martchus 934bfd84c1 Rebuild mingw-w64 packages against boost 1.79.0 2022-06-15 23:46:53 +02:00
Martchus 37eeb6a666 Rebuild packages against boost 1.79.0 2022-06-15 13:19:05 +02:00
Martchus 2d29bd9bff Update Qt 6 packages to 6.3.1 2022-06-15 02:00:06 +02:00
Martchus a866794539 Use CMake to build static-compat-zstd to provide CMake module
The regular zstd package has switched so the static-compat needs to switch
as well as otherwise the CMake find module from the regular package is
picked up (e.g. by Qt 6).
2022-06-15 02:00:06 +02:00
Martchus a88a8e3daa Update mingw-w64-jasper to 3.0.4 2022-06-15 02:00:06 +02:00
Martchus 83771dced3 Remove wrong dependency from NGINX modules
Not tested yet, will test on next rebuild
2022-06-14 10:19:23 +02:00
Martchus 2e0e74b75b Update ffmpeg-custom to 5.0.1 2022-06-12 21:00:51 +02:00
Martchus 513103840d Improve `makecontainerpkg`
* Add my GPG key to the pacman keyring (not nice to hard-code it in the
  Dockerfile but good enough for now)
* Install ccache into the base image to support makepkg's ccache option
* Split syncing packages and execution of `makepkg` so syncing can be
  avoided when only building source package
* Don't quote `CRE`, it is unlikely spaces are needed here and using
  chained commands (e.g. `sudo …`) might be useful
* Add documentation
2022-06-12 21:00:20 +02:00
Martchus 97dc991438 Add `makecontainerpkg`
* Allow building Arch Linux packages within a "standard" container similar
  to how `makechrootpkg` allows building packages within a systemd-nspawn
  container
* Add a Dockerfile to create an Arch Linux image suitable for package
  builds via `makepkg`
2022-06-11 17:06:54 +02:00
Martchus 7a52af6090 Rebuild qtutilities packages with the right version 2022-06-11 13:31:43 +02:00
Martchus 70cef5c857 Update qtutilities 2022-06-11 00:31:33 +02:00
Martchus 850c190cbe Rebuild nginx mods 2022-06-10 22:58:17 +02:00
Martchus a3cce97fa8 Update gogs to 0.12.9 2022-06-08 11:07:34 +02:00
Martchus 233dab2da9 Update own projects 2022-06-07 20:04:45 +02:00
Martchus b1148a552a Disable LTO for mingw-w64-freetype2
It would require a rebuild of the package after GCC updates.
2022-06-07 13:21:16 +02:00
Martchus 750604bfa6 Update gogs to 0.12.8 2022-05-31 12:52:12 +02:00
Martchus 52f060293d Update static-compat-openssl to 1.1.1o 2022-05-28 00:53:01 +02:00
Martchus 228514be92 Rebuild static-compat-qt6-base without LTO
It works but has multiple disadvantages:

* When upgrading GCC one needed to rebuild Qt 6
* Linking the final applications takes very long
2022-05-24 21:56:58 +02:00
Martchus ad99cb3f57 Update own projects 2022-05-24 21:55:58 +02:00
Martchus 6e853b9bb4 Rebuild reflective-rapidjson
Some llvm/clang update broke ABI (although there was no soname
bump).
2022-05-21 23:34:58 +02:00
Martchus 0bcd807d07 Update mingw-w64-{extra-cmake-modules,kirigami2} to 5.94.0 2022-05-18 18:04:21 +02:00
Martchus 9033fbdf2e Update mingw-w64-gnutls to 3.7.5 2022-05-18 14:40:39 +02:00
Martchus 5bb5f9f1ec Update mingw-w64-cppunit to 1.15.1 2022-05-18 14:40:20 +02:00
Martchus a10fd8c94b Rebase Qt 5 packages against 5.15.4 2022-05-18 11:09:05 +02:00
Martchus 969a806092 Update mediawriter to 5.0.1 2022-05-13 09:21:41 +02:00
Martchus 6cb683c980 Drop gcc-d-static-compat in accordance with regular gcc package
It wouldn't be possible to keep it nevertheless because then
we needed to add gcc-d to make dependencies which is not possible
because the regular package dropped it. It is also not possible
to build with the previous version of static-compat-gcc because
it would fail to find gmp and some other libs (using them from
the host system would be technically possible but one needed to
workaround linker errors with the C runtime).

For some reason also libobjc is missing but I suppose that's not
a bit loss.
2022-05-12 20:51:54 +02:00
Martchus ce61928776 Update static-compat-gcc to 12.1.0 2022-05-12 19:59:10 +02:00
Martchus 85dfa56946 Consider Qt 6 based binaries (of releases) the default
So don't use the suffix for Qt 6 based release binaries and add
a suffix to the Qt 5 based version instead
2022-05-10 23:01:53 +02:00
Martchus 86eea5459d Update mediawriter to 5.0.0 2022-05-10 12:16:07 +02:00
Martchus 0c3d7e3060 Update syncthingtray 2022-05-05 21:49:07 +02:00
Martchus 11c44280c7 Fix typo in README 2022-05-05 21:02:55 +02:00
Martchus 1b318eb651 Workaround linker issues with static-compat-libglvnd 2022-05-05 21:01:18 +02:00
Martchus c41a1f34dd Update gogs to 0.12.7 2022-05-05 12:11:58 +02:00
Martchus c3a68332ea Update own projects 2022-05-04 01:31:28 +02:00
Martchus ab0bde8f63 Rebuild ffmpeg against dav1d 1.0.0 and sync with regular package 2022-05-03 23:36:28 +02:00
Martchus ba61e6160f Upload static-compat packages when releasing own projects 2022-05-02 21:53:41 +02:00
Martchus b43022d7ec Add static-compat packages for my other projects 2022-05-02 21:10:21 +02:00
Martchus 6066ade46f Update dependencies for passwordmanager-qt6
kirigami2 is only a make dependency if Qt Quick GUI is enabled and
qt6-quickcontrols2 is now part of qt6-declarative.
2022-05-02 20:52:24 +02:00
Martchus b1dccff4ae Improve static-compat-syncthingtray
* Enable Wayland QPA plugin
* Enable icon themes
* Avoid regular Harfbuzz CMake find module from being used
2022-05-02 00:42:08 +02:00
Martchus 567f591ea0 Update freetype2 to 2.12.1 2022-05-01 13:55:22 +02:00
Martchus 17e8e5b34a Downgrade libx11 and add shared version
We must not link statically against it because it is also pulled by the
shared GLX library and would therefore end up multiple times in the apps
address space causing crashes. It should be stable enough anyways to not
having to bundle it. Since 1.6.x is still the newest version on older
distributions we must downgrade the version, though.
2022-04-29 18:28:31 +02:00
Martchus 250ab7b61c Explicitly disable dynamic OpenGL for static-compat-qt6-base
It apparenly doesn't work to configure this so disable it explicitly as a
remark.
2022-04-28 23:49:49 +02:00
Martchus 3ec819e1e2 Regenerate remaining *-qt6-base-* with new patches 2022-04-28 23:41:30 +02:00
Martchus 78e248f924 Downgrade static-compat-libglvnd for compatibility with Ubuntu 18.04.6 2022-04-28 23:40:16 +02:00
Martchus 315b698f58 Improve documentation about Qt packaging 2022-04-28 22:47:52 +02:00
Martchus 5411a9d1fd Update static libraries
* Use an older glibc so resulting binaries can run
  on older systems (without having to link statically
  against glibc)
* Call packages static-compat-* to make it clear that
  these packages are intended for compatibility with
  older distributions
* Add further libraries to get static-compat-qt6-base
  and some other static-compat-qt6-* packages building
2022-04-28 22:43:29 +02:00
Martchus 46e9e2f092 Update mingw-w64-qt5-base* to latest KDE commit and cherry-pick 8797332
See https://aur.archlinux.org/packages/mingw-w64-qt5-base#comment-862662
2022-04-26 19:13:47 +02:00
Martchus f97ca8c7ed Add stalebot config 2022-04-14 20:49:28 +02:00
Martchus 6bb7e4e8c9 Update Qt 6 to 6.3.0 2022-04-10 23:25:57 +02:00
Martchus 08db78e28d Fix checksum of tageditor-cli 2022-04-06 11:09:30 +02:00
Martchus bbc229c96b Update own projects 2022-04-06 01:39:42 +02:00
Martchus e6941df52f Add copyright notice 2022-04-05 20:46:14 +02:00
Martchus 20bb64965b Update mingw-w64-freetype2 to 2.12.0 2022-04-04 23:22:35 +02:00
Martchus 4c8640c754 Update mingw-w64-postgresql to 14.2 2022-04-02 21:00:10 +02:00
Martchus 02020df4ed Update mingw-w64-mariadb-connector-c to 3.2.6 2022-04-02 20:59:38 +02:00
Martchus 90f593c2eb Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
1101 changed files with 26320 additions and 8527 deletions

View File

@ -0,0 +1,23 @@
---
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: …

32
.github/ISSUE_TEMPLATE/general_issue.md vendored Normal file
View File

@ -0,0 +1,32 @@
---
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:

19
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,19 @@
# 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

249
README.md
View File

@ -9,7 +9,8 @@ Contains PKGBUILD files for creating Arch Linux packages:
* misc packages, eg. Subtitle Composer, openelec-dvb-firmware, Jangouts
* `mingw-w64-*` packages which allow to build for Windows under Arch Linux,
eg. FreeType 2, Qt 5 and Qt 6
* `*-static` packages containing static libraries
* `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
@ -43,16 +44,154 @@ 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 offical developers obviously don't wait for me before releasing their
(since the official 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).
## Docker image
Checkout the repository
[docker-mingw-qt5](https://github.com/mdimura/docker-mingw-qt5).
## 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.
## Structure
Each package is in its own subdirectoy:
@ -71,6 +210,12 @@ where `default-pkg-name` is the default package name (eg. `qt5-base`) and
The repository does not contain `.SRCINFO` files.
---
The subdirectoy `devel` contains additional files, mainly for development
purposes. The subdirectoy `devel/archive` contains old packages that are no
longer updated (at least not via this repository).
## Generated PKGBUILDs
To avoid repetition some PKGBUILDs are generated. These PKGBUILDs are determined
by the presence of the file `PKGBUILD.sh.ep` besides the actual `PKGBUILD` file.
@ -98,7 +243,7 @@ usually preserve the original patches and create a new branch, eg.
So in this case it would make sense to contribute directly there. To fix an
existing patch, just create a fixup commit. This (unusual) fixup workflow aims
to keep the number of additional changes as small as possbile.
to keep the number of additional changes as small as possible.
To get the patches into the PKGBUILD files, the script
`devel/qt5/update-patches.sh` is used.
@ -125,11 +270,11 @@ cause conflicts. However, the workflow is quite simple:
## Brief documentation about mingw-w64-qt packages
The Qt project does not support building Qt under GNU/Linux when targeting
mingw-w64. With Qt 6 they also stopped 32-bit builds. They also don't provide
static builds the mingw-w64 target. They are also relying a lot on their bundled
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.
Neverthless it make sense to follow the official documentation. For concrete
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
@ -142,25 +287,25 @@ they would require `fxc.exe` to build.
Currently, I test with qmake and CMake. With both build systems it is possible
to use either the shared or the static libraries. Please read the comments in
the PKGBUILD file itself and the pinned comments in [the
AUR](https://aur.archlinux.org/packages/mingw-w64-qt5-base) for futher
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 for windeployqt.
`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` and `qt6-declarative` contain also native binaries which
might be required by some projects. At this point the setup can break if the
version of regular packages and the versions of the mingw-w64 packages differ. I
cannot do anything about it except trying to upgrade the mingw-w64 packages as
fast as possible. There's actually a lengthy discussion about this topi on the
[Qt development
mailinglist](https://lists.qt-project.org/pipermail/development/2021-September/
041732.html) so the situation might improve in the future. Note that as of
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.
@ -208,7 +353,7 @@ are a wrapper around the regular `wine` binary ensuring all the DLLs provided by
a distinct `wine` prefix so your usual configuration (e.g. tailored to run
certain games) does not go into the way and is also not messed with.
Here are neverthless some useful hints to run WINE manually:
Here are nevertheless some useful hints to run WINE manually:
* Set the environment variable `WINEPREFIX` to use a distinct WINE-prefix if
wanted.
@ -232,28 +377,50 @@ Here are neverthless some useful hints to run WINE manually:
* See https://wiki.winehq.org/Wine_User's_Guide for more information
## Static GNU/Linux libraries
This repository contains several `*-static` packages providing static libraries
intended to distribute "self-contained" executables. These packages are still
experimental and are not be regularily updated at this point.
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.
It would conceivable to build even Qt as a static library and make even a fully
statically linked executable. However, it would not be possible to support
OpenGL because glvnd and vendor provided OpenGL libraries are always dynamic
libraries. It is also not clear whether it makes sense to link against libc and
X11/Wayland client libraries statically. Maybe it makes sense to aim for a
partially statically linked build instead where libc/OpenGL/X11/Wayland are
assumed to be provided by the GNU/Linux system but other libraries like Qt are
linked against statically. This would be similar to AppImage where a lot of
libraries are bundled but certain "core libraries" are expected to be provided
by the system.
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` (in contrast to packages found in the AUR). The reason is that the
version might not be kept 100 % in sync with the shared counterpart. Hence it
makes sense to make the static packages independent with their own headers and
configuration files to avoid problems due to mismatching versions. Besides, some
projects (such as Qt) do not support installing shared and static libraries
within the same prefix at the same time because the config files would clash.
`/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
## License
All code is licensed under [GPL-2-or-later](LICENSE).

View File

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

View File

@ -6,22 +6,26 @@
_reponame=arch-repo-manager
pkgname=arch-repo-manager-git
_name=${pkgname%-git}
pkgver=150.43552dc
pkgrel=1
_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=('c++utilities-git' 'boost-libs' 'libarchive' 'lmdb' 'liburing')
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')
options=(!strip)
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://github.com/p-ranav/tabulate.git')
sha256sums=('SKIP' 'SKIP')
'tabulate::git+https://github.com/p-ranav/tabulate.git')
sha256sums=('SKIP' 'SKIP' 'SKIP')
pkgver() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
@ -49,7 +53,7 @@ build() {
-DBUILD_SHARED_LIBS:BOOL=ON \
-DDUMMY_BUILD_ACTION_ENABLED:BOOL=ON \
-DREFLECTION_GENERATOR_EXECUTABLE:FILEPATH='/usr/bin/reflective_rapidjson_generator-git' \
-DBOOST_ASIO_IO_URING:BOOL=OFF \
-DBOOST_ASIO_IO_URING:BOOL=$_liburing \
.
VERBOSE=1 ninja
}

View File

@ -2,7 +2,7 @@
# Contributor: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org>
pkgname=baikal
pkgver=0.9.2
pkgver=0.9.5
pkgrel=1
pkgdesc='Lightweight CalDAV+CardDAV server'
url='http://sabre.io/baikal/'
@ -12,17 +12,21 @@ 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')
sha1sums=('67b8c10e7d6d2ae6d331896c3f76314fe6ed33dd'
'deb948e61c3cd8d6ad560321f78c0b288f7a6210')
sha512sums=('e544ed39047788bf001c81a44eb69a3db30a871253cb6bf12b54d5d476eaadc63d723192d41b67f2cf908a72d4c722def03d853df68b7fd464a4093e08ed0f19'
'4e28980100ce9fc820a6c40a9cd528a90d62997ac18fb4ea353d8eaba58b320f9c653ba9b066036ff598f1d5a0aafb49ba444f9187c0d3616cbe6fa45222ca3f')
options=('!strip')
install=baikal.install
prepare() {
cd "${srcdir}/baikal/vendor/sabre/dav"
}
package() {
cd "${srcdir}/baikal"
install -dm 755 "$pkgdir"/usr/share/{webapps,doc}"/$pkgname"
install -dm 700 -o http -g http "$pkgdir/var/lib/$pkgname"
install -dm 700 -o http -g http "$pkgdir/var/lib/$pkgname/config"
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"
ln -s "/var/lib/$pkgname" "$pkgdir/usr/share/webapps/$pkgname/Specific"

View File

@ -12,7 +12,7 @@ makedepends=('git')
provides=("$_pkgname")
conflicts=("$_pkgname")
install="$pkgname.install"
source=("git://github.com/Martchus/${_pkgname}.git#branch=adjustments")
source=("git+https://github.com/Martchus/${_pkgname}.git#branch=adjustments")
md5sums=('SKIP')
pkgver() {

View File

@ -4,8 +4,8 @@
# you also find the URL of a binary repository.
pkgname=bento4
pkgver=1.6.0.639
_pkgverstr=1-6-0-639
pkgver=1.6.0.641
_pkgverstr=1-6-0-641
pkgrel=1
pkgdesc='C++ class library and tools designed to read and write ISO-MP4 files'
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
@ -14,26 +14,34 @@ license=('GPL')
makedepends=('cmake')
optdepends=('python')
source=("http://zebulon.bok.net/Bento4/source/Bento4-SRC-${_pkgverstr}.zip")
sha1sums=('d3351ffb425aadc698227ba84f5ec3401cad795a')
sha256sums=('8258faf0de7253f2aac016018f33d4a04c16d9060735e14ec8711f84aaedf0c8')
build() {
cd "${srcdir}"
sed -i "s/ STATIC / SHARED /" CMakeLists.txt
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_SKIP_BUILD_RPATH=ON
make
cmake --build .
}
package() {
cd "${srcdir}"
# prevent conflict with libmp4v2
for conflicting_file in mp4extract mp4info; do
mv $conflicting_file $conflicting_file-bento4
# install manually (there's no install target)
mkdir -p "${pkgdir}/usr/"{bin,lib,lib/bento4}
find -iname '*.so' -exec cp --target-directory="${pkgdir}/usr/lib" {} \;
find -maxdepth 1 -executable -type f -exec cp --target-directory="${pkgdir}/usr/bin" {} \;
find Source/Python/utils -iname '*.py' -exec cp --target-directory="${pkgdir}/usr/lib/bento4" {} \;
for file in mp4dash mp4dashclone mp4hls; do
sed -e 's!/../utils/!/../lib/bento4/!' "Source/Python/wrappers/$file" > "${pkgdir}/usr/bin/$file"
chmod 755 "${pkgdir}/usr/bin/$file"
done
# prevent conflict with libmp4v2
suffix=-bento4
for conflicting_file in mp4extract mp4info; do
mv "${pkgdir}/usr/bin/$conflicting_file" "${pkgdir}/usr/bin/$conflicting_file$suffix"
find "${pkgdir}/usr/lib/bento4" -iname '*.py' -exec sed -i -e "s#\(Bento4Command(.*\)\b$conflicting_file\b#\1$conflicting_file$suffix#g" {} \;
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" {} \;
}

View File

@ -1,59 +1,71 @@
# $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
# Maintainer of official package: Felix Yan <felixonmars@archlinux.org>
# 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.32
pkgver=2.42
pkgrel=1
pkgdesc="Cross binutils for the MinGW-w64 cross-compiler (uses symlinks instead of hard links)"
arch=('i686' 'x86_64')
pkgdesc="Cross binutils for the MinGW-w64 cross-compiler"
arch=('x86_64')
url="http://www.gnu.org/software/binutils"
license=('GPL')
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')
provides=('mingw-w64-binutils')
conflicts=('mingw-w64-binutils')
conflicts=('mingw-w64-binutils');
options=('!libtool' '!emptydirs')
validpgpkeys=('3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F')
validpgpkeys=('3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') # Nick Clifton (Chief Binutils Maintainer) <nickc@redhat.com>
source=("https://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.gz"{,.sig})
sha256sums=('9b0d97b3d30df184d302bced12f976aa1e5fbf4b0be696cdebc6cca30411a46e'
sha512sums=('1e4ee462513eadd3c540e4782f9661df62ecbcd4d6297d61dcc0845ae7d30243c57571787706af3bb4d561e4350609d7057307290e81d76290a301f159a6abc5'
'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
msg "Building ${_target} cross binutils"
mkdir -p ${srcdir}/binutils-${_target} && cd "${srcdir}/binutils-${_target}"
$srcdir/binutils-${pkgver}/configure --prefix=/usr \
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
make -O
done
}
package() {
for _target in ${_targets}; do
msg "Installing ${_target} cross binutils"
cd ${srcdir}/binutils-${_target}
make DESTDIR=${pkgdir} install
echo "Installing ${_target} cross binutils"
cd "$srcdir"/binutils-${_target}
make DESTDIR="$pkgdir" install
rm "$pkgdir"/usr/lib/bfd-plugins/libdep.so
done
cd "${pkgdir}/usr/bin"
for file in *; do
if [[ ! -L $file ]] && [[ ! -d $file ]]; then

View File

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

View File

@ -4,7 +4,7 @@
# you also find the URL of a binary repository.
pkgname=blackwidowcontrol
pkgver=1.0.2
pkgver=1.1.0
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=('813a0726c78b8f057adf2d92a731c21e2afcd94d5b518625f4dc118db9d8216c')
sha256sums=('bd679a4574de8a4d2b7ab4d56bf57559cf3bff130104636b82d083a62251c00d')
package() {
local _srcdir="${srcdir}/${PROJECT_DIR_NAME:-$pkgname-$pkgver}"

View File

@ -3,153 +3,146 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=boost
_pkg_arch=aarch64
_android_arch=arm64-v8a
_android_toolchain=$_pkg_arch-linux-android
_andoird_toolchain_dir=$_android_toolchain
_android_platform=24
_android_target=$_android_toolchain$_android_platform
_android_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk
_boost_arch=arm
_boost_address_model=64
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.76.0
_srcname=boost_${pkgver//./_}
_android_arch=aarch64
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
url='https://www.boost.org/'
_srcname=boost_${pkgver//./_}
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch)
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
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 ${_srcname}
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
patch -i ../no-versioned-shlibs.patch
# 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() {
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=$_android_target"
local common_flags=" \
$target_flags \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
-fexceptions \
-no-canonical-prefixes \
-D__ANDROID_API__=$_android_platform \
-O3 \
-fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions \
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
-nostdlib++"
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# 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
./bootstrap.sh -with-toolset=gcc
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
userConfigs=$srcdir/$_srcname/user-config.jam
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $_android_prefix/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="/opt/android-libs/$_pkg_arch" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=c++14" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
./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() {
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}"$_android_prefix
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
local libdir="${pkgdir}"$_android_prefix/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
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
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
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

View File

@ -0,0 +1,59 @@
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;

View File

@ -1,27 +1,33 @@
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
@@ -974,16 +974,16 @@
--- 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 ]
+ # ;
+ #}
}
# From GCC 5, versioning changes and minor becomes patch
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# Ditto, from Clang 4
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# On intel, version is not added, because it does not matter and it is the
# version of vc used as backend that matters. Ideally, we should encode the
#3) default: no command and no version specified, try using "$(tool)"
else

View File

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

View File

@ -3,153 +3,146 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=boost
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_toolchain=arm-linux-androideabi
_andoird_toolchain_dir=$_android_toolchain
_android_platform=24 # https://developer.android.com/about/dashboards/
_android_target=armv7a-linux-androideabi$_android_platform
_android_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk
_boost_arch=arm
_boost_address_model=32
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.76.0
_srcname=boost_${pkgver//./_}
_android_arch=armv7a-eabi
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
url='https://www.boost.org/'
_srcname=boost_${pkgver//./_}
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch)
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
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 ${_srcname}
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
patch -i ../no-versioned-shlibs.patch
# 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() {
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=$_android_target"
local common_flags=" \
$target_flags \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
-fexceptions \
-no-canonical-prefixes \
-D__ANDROID_API__=$_android_platform \
-O3 \
-fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions \
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
-nostdlib++"
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# 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
./bootstrap.sh -with-toolset=gcc
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
userConfigs=$srcdir/$_srcname/user-config.jam
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $_android_prefix/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="/opt/android-libs/$_pkg_arch" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=c++14" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
./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() {
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}"$_android_prefix
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
local libdir="${pkgdir}"$_android_prefix/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
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
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
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

View File

@ -0,0 +1,59 @@
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;

View File

@ -1,27 +1,33 @@
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
@@ -974,16 +974,16 @@
--- 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 ]
+ # ;
+ #}
}
# From GCC 5, versioning changes and minor becomes patch
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# Ditto, from Clang 4
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# On intel, version is not added, because it does not matter and it is the
# version of vc used as backend that matters. Ideally, we should encode the
#3) default: no command and no version specified, try using "$(tool)"
else

View File

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

View File

@ -3,153 +3,146 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=boost
_pkg_arch=x86-64
_android_arch=x86_64
_android_toolchain=x86_64-linux-android$_android_platform
_andoird_toolchain_dir=$_android_arch
_android_platform=24 # https://developer.android.com/about/dashboards/
_android_target=$_android_toolchain
_android_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk
_boost_arch=x86
_boost_address_model=64
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.76.0
_srcname=boost_${pkgver//./_}
_android_arch=x86-64
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
url='https://www.boost.org/'
_srcname=boost_${pkgver//./_}
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch)
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
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 ${_srcname}
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
patch -i ../no-versioned-shlibs.patch
# 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() {
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=$_android_target"
local common_flags=" \
$target_flags \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
-fexceptions \
-no-canonical-prefixes \
-D__ANDROID_API__=$_android_platform \
-O3 \
-fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions \
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
-nostdlib++"
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# 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
./bootstrap.sh -with-toolset=gcc
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
userConfigs=$srcdir/$_srcname/user-config.jam
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $_android_prefix/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="/opt/android-libs/$_pkg_arch" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=c++14" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
./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() {
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}"$_android_prefix
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
local libdir="${pkgdir}"$_android_prefix/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
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
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
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

View File

@ -0,0 +1,59 @@
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;

View File

@ -1,27 +1,33 @@
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
@@ -974,16 +974,16 @@
--- 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 ]
+ # ;
+ #}
}
# From GCC 5, versioning changes and minor becomes patch
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# Ditto, from Clang 4
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# On intel, version is not added, because it does not matter and it is the
# version of vc used as backend that matters. Ideally, we should encode the
#3) default: no command and no version specified, try using "$(tool)"
else

View File

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

View File

@ -3,153 +3,146 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=boost
_pkg_arch=x86
_android_arch=x86
_android_toolchain=i686-linux-android$_android_platform
_andoird_toolchain_dir=$_android_arch
_android_platform=24 # https://developer.android.com/about/dashboards/
_android_target=$_android_toolchain
_android_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk
_boost_arch=x86
_boost_address_model=32
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.76.0
_srcname=boost_${pkgver//./_}
pkgname=android-${_android_arch}-boost
pkgver=1.84.0
pkgrel=1
url='https://www.boost.org/'
_srcname=boost_${pkgver//./_}
arch=('any')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, ${_android_arch})"
url="https://www.boost.org/"
license=('custom')
pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)"
depends=("android-$_pkg_arch-libiconv")
options=(!buildflags staticlibs !strip !emptydirs)
makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz
$_pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch
no-versioned-shlibs.patch)
sha256sums=('7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'
'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee'
'd82d0f15064812dcabb3456a7bcb1db0e0f6145980e4728e638372e0fd35af23')
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 ${_srcname}
# https://github.com/boostorg/ublas/pull/97
patch -Np2 -i ../$_pkgname-ublas-c++20-iterator.patch
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
patch -i ../no-versioned-shlibs.patch
# 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() {
local _stagedir="${srcdir}/stagedir"
local jobs="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})"
local target_flags=" \
--target=$_android_target"
local common_flags=" \
$target_flags \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1 \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include \
-isystem $_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/$_android_toolchain \
-fexceptions \
-no-canonical-prefixes \
-D__ANDROID_API__=$_android_platform \
-O3 \
-fPIC \
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1"
local ld_flags=" \
$target_flags \
-fexceptions \
$_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \
-nostdlib++"
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
cd ${_srcname}
# 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
./bootstrap.sh -with-toolset=gcc
install -Dm755 tools/build/src/engine/b2 "${_stagedir}"/bin/b2
# support for OpenMPI
if [[ _boost_address_model == 64 ]]; then
_boost_mpi='using mpi ;'
else
_boost_mpi=''
fi
# Support for OpenMPI
echo "using mpi ;" >> project-config.jam
userConfigs=$srcdir/$_srcname/user-config.jam
# boostbook is needed by quickbook
install -dm755 "${_stagedir}"/share/boostbook
cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/
cat << EOF > "${userConfigs}"
${_boost_mpi}
using clang : android : ${ANDROID_CXX} :
<archiver>${ANDROID_AR} \
<assembler>${ANDROID_AS}
;
EOF
export PATH=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=single,multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in $_android_prefix/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
# install to ${_stagedir} for consistency with regular boost package
"${_stagedir}"/bin/b2 \
--with-atomic \
--with-chrono \
--with-container \
--with-date_time \
--with-exception \
--with-fiber \
--with-filesystem \
--with-graph \
--with-graph_parallel \
--with-iostreams \
--with-locale \
--with-log \
--with-math \
--with-mpi \
--with-program_options \
--with-random \
--with-regex \
--with-serialization \
--with-system \
--with-test \
--with-thread \
--with-timer \
--with-type_erasure \
--with-wave \
--with-stacktrace \
variant=release \
debug-symbols=off \
threading=multi \
runtime-link=shared \
link=shared,static \
target-os=android \
toolset=clang-android \
architecture=$_boost_arch \
address-model=$_boost_address_model \
-sICONV_PATH="/opt/android-libs/$_pkg_arch" \
cflags="$common_flags" \
cxxflags="$common_flags -frtti -std=c++14" \
linkflags="$ld_flags" \
--layout=system \
${jobs} \
\
--prefix="${_stagedir}" \
install
./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() {
local _stagedir="${srcdir}/stagedir"
install -dm755 "${pkgdir}"$_android_prefix
cp -a "${_stagedir}"/{include,share} "${pkgdir}"$_android_prefix
cd "${srcdir}/$_srcname"
source android-env ${_android_arch}
local libdir="${pkgdir}"$_android_prefix/lib
install -d "${libdir}"
cp -a "${_stagedir}"/lib/*.a "${libdir}"/
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
cp -a "${_stagedir}"/lib "${pkgdir}"$_android_prefix
install -dm755 "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/*.{a,so} "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/lib/cmake "$pkgdir/${ANDROID_PREFIX_LIB}/"
cp -a "${srcdir}/fakeinstall"/include "$pkgdir/${ANDROID_PREFIX}/"
install -Dm644 "${srcdir}/"${_srcname}/LICENSE_1_0.txt \
"${pkgdir}"$_android_prefix/share/licenses/boost/LICENSE_1_0.txt
local strip=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64/bin/$_android_toolchain-strip
find "${libdir}" -iname '*.a' -exec $strip -g {} \;
find "${libdir}" -iname '*.so' -exec $strip --strip-unneeded {} \;
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE_1_0.txt
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,11 @@
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

View File

@ -0,0 +1,59 @@
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;

View File

@ -1,27 +1,33 @@
--- a/tools/build/src/tools/common.jam 2019-09-18 16:03:02.035995695 +0200
+++ b/tools/build/src/tools/common.jam 2019-09-18 16:03:36.386156355 +0200
@@ -974,16 +974,16 @@
--- 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 ]
+ # ;
+ #}
}
# From GCC 5, versioning changes and minor becomes patch
- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# Ditto, from Clang 4
- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
- {
- version = $(version[1]) ;
- }
+ #if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
+ #{
+ # version = $(version[1]) ;
+ #}
# On intel, version is not added, because it does not matter and it is the
# version of vc used as backend that matters. Ideally, we should encode the
#3) default: no command and no version specified, try using "$(tool)"
else

View File

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

View File

@ -1,6 +1,6 @@
_pkgbase=boost
pkgname=boost-doc
pkgver=1.78.0
pkgver=1.81.0
_srcname=boost_${pkgver//./_}
pkgrel=1
pkgdesc='Free peer-reviewed portable C++ source libraries (HTML documentation)'
@ -8,8 +8,8 @@ url='https://www.boost.org/'
arch=('x86_64')
license=('custom')
makedepends=()
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.gz)
sha256sums=('94ced8b72956591c4775ae2207a9763d3600b30d9d7446562c552f0a14a63be7')
source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2)
sha256sums=('71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa')
options=(!strip)
package() {

View File

@ -0,0 +1,85 @@
# 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
}

View File

@ -0,0 +1 @@
../android-aarch64/boost-1.81.0-phoenix-multiple-definitions.patch

View File

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

View File

@ -0,0 +1,47 @@
# 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"
}

18
buildenv/default/PKGBUILD Normal file
View File

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

View File

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

View File

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

View File

@ -2,14 +2,15 @@
# Contributor: Judd <jvinet@zeroflux.org>
_pkgname=bzip2
pkgname=$_pkgname-static
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' 'sh')
depends=('glibc-static-compat')
makedepends=('static-compat-environment')
options=(staticlibs)
source=(https://sourceware.org/pub/bzip2/$_pkgname-$pkgver.tar.gz{,.sig}
bzip2.pc)
@ -25,22 +26,25 @@ prepare() {
}
build() {
source static-compat-environment
cd $_pkgname-$pkgver
make libbz2.a CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS"
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"/usr/static/{lib,include}
cp -a libbz2.a "$pkgdir"/usr/static/lib
install -m644 bzlib.h "$pkgdir"/usr/static/include/
install -Dm644 bzip2.pc -t "$pkgdir"/usr/static/lib/pkgconfig
install -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
}

View File

@ -5,7 +5,7 @@
_reponame=cpp-utilities
pkgname=c++utilities
pkgver=5.13.0
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'
@ -14,13 +14,10 @@ depends=('gcc-libs')
optdepends=("$pkgname-doc: API documentation")
makedepends=('cmake' 'ninja')
checkdepends=('cppunit')
provides=(libc++utilities.so)
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('6ddca61b4ff38785a927eb5e2491e2edbf00eb8d003360f46f247cbb18eab970')
prepare() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
}
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,15 +6,15 @@
_name=c++utilities
_reponame=cpp-utilities
pkgname=$_name-doc
pkgver=5.13.0
pkgver=5.24.8
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' 'dia' 'graphviz')
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('6ddca61b4ff38785a927eb5e2491e2edbf00eb8d003360f46f247cbb18eab970')
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_reponame=cpp-utilities
pkgname=c++utilities-git
_name=${pkgname%-git}
pkgver=917.e6e7a63
pkgver=989.6390182
pkgrel=2
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
@ -15,8 +15,7 @@ depends=('gcc-libs')
optdepends=("$_name-doc: API documentation")
makedepends=('cmake' 'git' 'ninja')
checkdepends=('cppunit')
#provides=("${_name}")
#conflicts=("${_name}")
provides=(libc++utilities-git.so)
url="https://github.com/Martchus/${_reponame}"
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git")
sha256sums=('SKIP')

View File

@ -6,18 +6,18 @@
_reponame=cpp-utilities
pkgname=mingw-w64-c++utilities
_name=${pkgname#mingw-w64-}
pkgver=5.13.0
pkgver=5.24.8
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')
depends=('mingw-w64-crt' 'mingw-w64-libiconv' 'mingw-w64-boost')
optdepends=("$_name-doc: API documentation")
checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('6ddca61b4ff38785a927eb5e2491e2edbf00eb8d003360f46f247cbb18eab970')
sha256sums=('2175b45a53f5c71bb022aea1409535a82b115ce76dbcc5123b3be39f8557858a')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')

View File

@ -0,0 +1,49 @@
# 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
}

View File

@ -5,14 +5,17 @@
pkgname=cmake-format
pkgver=0.6.13
pkgrel=1
pkgrel=3
pkgdesc='Source code formatter for CMake listfiles'
arch=('any')
url='https://github.com/cheshirekow/cmake_format'
license=('GPL3')
depends=('python-setuptools' 'python-six>=1.13.0')
optdepends=('python-yaml>=5.3' 'python-jinja>=2.10.3' 'python-argcomplete: automatic shell completion')
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')
source=("$pkgname-$pkgver.tar.gz::https://github.com/cheshirekow/cmake_format/archive/v${pkgver}.tar.gz")
sha512sums=('eb7fde540860b6119d0bb528f22592fb4b507f9319aeda0999da10bcc89ee1348fd7d701fc49aa5dac7616e1577e436cbd73de94dbbab0cafdf28e1812612342')

View File

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

View File

@ -5,7 +5,8 @@
include("/usr/share/mingw/toolchain-@TRIPLE@.cmake")
# prefer libraries from "static" sub-prefix
set(CMAKE_FIND_ROOT_PATH "/usr/@TRIPLE@/static;${CMAKE_FIND_ROOT_PATH}")
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
@ -21,13 +22,16 @@ set(BOOST_USE_STATIC_LIBS ON)
set(Vulkan_LIBRARY "/usr/@TRIPLE@/lib/libvulkan.dll.a" CACHE FILEPATH "shared Vulkan IDC library")
# workaround limitations in upstream pkg-config files and CMake find modules
set(pkgcfg_lib_libbrotlicommon_brotlicommon "/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlicommon")
set(pkgcfg_lib_libbrotlienc_brotlienc "/usr/@TRIPLE@/lib/libbrotlienc-static.a;/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotliend")
set(pkgcfg_lib_libbrotlidec_brotlidec "/usr/@TRIPLE@/lib/libbrotlidec-static.a;/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlidec")
set(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`).
@ -36,6 +40,6 @@ set(POSTGRESQL_DEPENDENCIES "-lpgcommon;-lpgport;-lintl;-lssl;-lcrypto;-lshell32
set(MYSQL_DEPENDENCIES "-lssl;-lcrypto;-lshlwapi;-lgdi32;-lws2_32;-lpthread;-lz;-lm" CACHE INTERNAL "dependencies of static MySQL/MariaDB libraries")
set(LIBPNG_DEPENDENCIES "-lz" CACHE INTERNAL "dependencies of static libpng")
set(GLIB2_DEPENDENCIES "-lintl;-lws2_32;-lole32;-lwinmm;-lshlwapi;-lm" CACHE INTERNAL "dependencies of static Glib2")
set(FREETYPE_DEPENDENCIES "-lbz2;-lharfbuzz;-lfreetype;-lbrotlidec-static;-lbrotlicommon-static" CACHE INTERNAL "dependencies of static FreeType2 library")
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")

View File

@ -0,0 +1,25 @@
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
}

View File

@ -0,0 +1,14 @@
#!/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 \
"$@"

View File

@ -0,0 +1,17 @@
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)

View File

@ -0,0 +1,17 @@
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
}

View File

@ -0,0 +1,19 @@
#!/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" \
"$@"

31
cppunit/default/PKGBUILD Normal file
View File

@ -0,0 +1,31 @@
# 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
}

View File

@ -7,7 +7,7 @@
_name=cppunit
pkgname=mingw-w64-cppunit
pkgver=1.15.0
pkgver=1.15.1
pkgrel=1
pkgdesc="A C++ unit testing framework (mingw-w64)"
arch=('any')
@ -17,7 +17,7 @@ depends=('mingw-w64-crt')
makedepends=('mingw-w64-gcc' 'mingw-w64-configure')
options=(!strip !buildflags !libtool staticlibs !emptydirs)
source=("https://dev-www.libreoffice.org/src/${_name}-${pkgver}.tar.gz")
sha256sums=('1c61dfdb430e04ebb411e4b80fbd49fe7e63a1be0209a76d7c07501f02834922')
sha256sums=('89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"

View File

@ -0,0 +1,33 @@
_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"
}

View File

@ -0,0 +1,80 @@
# 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"
}

59
cubeb/git/PKGBUILD Normal file
View File

@ -0,0 +1,59 @@
# 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
}

View File

@ -0,0 +1,74 @@
# 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:

View File

@ -1,10 +1,10 @@
diff --git i/dbus/dbus-internals.c w/dbus/dbus-internals.c
index 267aef97..b1064e85 100644
index ab498b15..cf86f4ae 100644
--- i/dbus/dbus-internals.c
+++ w/dbus/dbus-internals.c
@@ -185,7 +185,7 @@ const char *_dbus_no_memory_message = "Not enough memory";
static dbus_bool_t warn_initted = FALSE;
@@ -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;

View File

@ -1,65 +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=$_pkgname-static
pkgver=1.12.20
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="https://wiki.freedesktop.org/www/Software/dbus/"
arch=(x86_64)
license=(GPL custom)
depends=(expat-static)
makedepends=(xmlto python yelp-tools git autoconf-archive)
options=(!emptydirs staticlibs)
#source=("git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#tag=dbus-$pkgver"
source=("git+https://gitlab.freedesktop.org/dbus/dbus.git#tag=dbus-$pkgver"
no-fatal-warnings.diff)
sha256sums=('SKIP'
'6958eeec07557b92a28419eb1702331ee2f0a6fd17285e37dfb6130b9fa4cf6e')
#validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') # Simon McVittie <simon.mcvittie@collabora.co.uk>
prepare() {
cd dbus
# Allow us to enable checks without them being fatal
patch -Np1 -i ../no-fatal-warnings.diff
NOCONFIGURE=1 ./autogen.sh
}
build() {
cd dbus
./configure \
--prefix=/usr/static \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/static/lib/dbus-1.0 \
runstatedir=/run \
--enable-inotify \
--disable-audit \
--disable-systemd \
--enable-user-session \
--disable-xml-docs \
--disable-doxygen-docs \
--disable-ducktype-docs \
--disable-shared \
--enable-static \
--without-x
make
}
check() {
make -C dbus check
}
package() {
DESTDIR="$pkgdir" make -C dbus install
rm -r "$pkgdir"/{etc,var,usr/lib,usr/static/bin,usr/static/share/doc}
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING
}
# vim:set sw=2 et:

View File

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

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