PKGBUILDs for creating various Arch Linux packages
Aller au fichier
Martchus 8130c23e0d Fix checksum of mingw-64-gettext 2024-03-27 00:06:56 +01:00
.github Add issue templates 2023-02-06 18:01:30 +01:00
alsa-lib/static-compat Remove conflicting files in static-compat-alsa-lib 2023-10-27 19:28:28 +02:00
arch-repo-manager/git Make arch-repo-manager depend on devtools-custom 2024-03-18 23:25:46 +01:00
baikal/default Update Baikal to 0.9.5 2024-03-20 22:39:57 +01:00
bashmarks/custom Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
bento4/default Update bento4 to 1.6.0.641 2024-02-05 13:29:57 +01:00
binutils/mingw-w64-symlinks Update mingw-w64-binutils-symlinks to 2.32 2019-02-17 21:05:03 +01:00
blackwidowcontrol Update blackwidowcontrol to 1.1.0 2022-07-16 18:47:12 +02:00
bluetooth-raspberrypi Add alarm-bluetooth-raspberrypi 2018-11-18 23:02:14 +00:00
boost Updated md5sums of the Android boost packages. Also fixed typo x86_64 -> x86-64. 2024-03-22 20:57:22 -03:00
brother-mfc-j4410dw/default Make brother-mfc-j4410dw depend on lib32-gcc-libs 2018-11-11 22:15:53 +01:00
brotli Adapt to brotli upstream change regarding static libs 2024-01-09 17:32:08 +01:00
buildenv/default Add package for my build environment 2024-03-26 21:04:57 +01:00
bzip2/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
c++utilities Update own projects 2024-03-05 14:47:24 +01:00
ccache Remove clang-ccache 2017-06-08 23:14:51 +02:00
cmake Adapt to brotli upstream change regarding static libs 2024-01-09 17:32:08 +01:00
cmake-format/default cmake-format: Move python-setuptools to makedepends (#167) 2023-06-26 11:22:06 +02:00
configure Update static libraries 2022-04-28 22:43:29 +02:00
cppunit Update mingw-w64-cppunit to 1.15.1 2022-05-18 14:40:20 +02:00
cppwinrt/mingw-w64 Fix typo in mingw-w64-cppwinrt 2024-02-29 13:24:14 +01:00
cubeb/git Import cubeb-git from AUR and apply fixes mentioned in AUR comment 2022-09-14 17:12:22 +02:00
dbus/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
dbus-soundrecorder/default Use ninja instead of make for building own projects and rapidjson 2020-10-04 01:04:55 +02:00
devel Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
devtools/custom Update devtools-custom to 1.1.1 2024-03-16 01:04:08 +01:00
diriterator/default Change mod of PKGBUILDs to be not executable 2023-01-07 14:23:26 +01:00
double-conversion/static-compat Update static-compat packages 2022-08-22 21:49:44 +02:00
environment/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
expat/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
extra-cmake-modules/mingw-w64 Update mingw-w64-extra-cmake-modules and -kirigami2 to 6.0.0 2024-02-25 18:19:14 +01:00
ffmpeg Fix ffmpeg-custom build with latest vulkan headers 2024-03-16 01:04:21 +01:00
filezilla Update mingw-w64-filezilla to 3.25.2 2017-05-23 23:49:48 +02:00
fluidsynth Enable alsa backend in static-compat-fluidsynth 2023-10-27 21:43:29 +02:00
fontconfig/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
freetype2 Update freetype packages to 2.13.2 2023-09-30 22:15:55 +02:00
ftgl Add static-compat-pianobooster and dependencies 2023-10-27 18:40:15 +02:00
gcc Update mingw-w64-gcc to 13.2.1 2023-12-18 22:59:25 +01:00
geocoordinatecalculator Use ninja instead of make for building own projects and rapidjson 2020-10-04 01:04:55 +02:00
gettext/mingw-w64 Fix checksum of mingw-64-gettext 2024-03-27 00:06:56 +01:00
gitea/default Make permissions of Gogs config file consistent 2018-12-19 16:36:18 +00:00
glib2 Update static-compat-glib2 2024-01-02 14:03:27 +01:00
glibc/static-compat Update static-compat-openssl and a few other static-compat packages 2022-11-09 21:47:56 +01:00
glu/static-compat Add static-compat-pianobooster and dependencies 2023-10-27 18:40:15 +02:00
gnutls/mingw-w64 Update mingw-w64-gnutls to 3.8.3 2024-01-25 00:14:40 +01:00
gogs/default Update gogs to 0.12.10 2022-08-02 18:22:13 +02:00
graphite/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
gsm/mingw-w64 added mingw-w64-gsm 2015-12-25 23:50:20 +01:00
handbrake/libfdk_aac Update handbrake-libfdk_aac to 1.2.2 2019-04-17 22:52:11 +02:00
harfbuzz Update static-compat-harfbuzz to 8.1.1 2023-08-04 12:20:33 +02:00
hw-probe/default Import hw-probe from AUR after adopting and improving a few details 2024-03-19 14:05:36 +01:00
jasper/mingw-w64 Update mingw-w64-jasper to 4.2.0 2024-02-13 00:31:28 +01:00
kcolorscheme/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
kconfig/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
kcoreaddons/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
kdeconnect/git Add kdeconnect-git 2016-06-27 00:27:42 +02:00
kernel-backup-hooks/default Add kernel-backup-hooks 2017-08-19 22:24:15 +02:00
keyutils/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
kguiaddons/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
ki18n/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
kirigami2 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
kquickcharts/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
libb2/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
libcap/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
libevdev/static-compat Update static-compat packages 2022-08-22 21:49:44 +02:00
libffi/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
libfilezilla Update mingw-w64-libfilezilla to 0.12.2 2018-06-11 20:52:51 +02:00
libgcrypt/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
libglvnd/static-compat Enable X11 conditionally in libglvnd's egl header 2022-06-16 16:27:38 +02:00
libgpg-error/static-compat Update static-compat-openssl and a few other static-compat packages 2022-11-09 21:47:56 +01:00
libgudev/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
libice/static-compat Update static-compat packages 2022-12-20 18:09:51 +01:00
libiconv Use android-configure for android-*-libiconv 2020-03-05 18:57:08 +01:00
libinput/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
libjpeg-turbo/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
libpng Update libpng packages to 1.6.42 2024-02-09 22:30:32 +01:00
libsm/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
libwacom/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
libx11/static-compat Downgrade libx11 and add shared version 2022-04-29 18:28:31 +02:00
libxau/static-compat Update static-compat packages 2022-12-20 18:09:51 +01:00
libxcb/static-compat Update several package variants to match the corresponding regular package 2022-06-25 22:00:28 +02:00
libxcomposite/static-compat Update static-compat packages 2022-12-20 18:09:51 +01:00
libxdamage/static-compat Update static-compat packages 2022-12-20 18:09:51 +01:00
libxdmcp/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
libxext/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
libxfixes/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
libxkbcommon/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
libxml2/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
libxmu/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
libxt/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
libxxf86vm/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
linux-api-headers/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
ltunify/default Add ltunify 2020-06-17 18:26:04 +02:00
lz4/static-compat Update static-compat packages 2022-08-22 21:49:44 +02:00
mariadb-connector-c/mingw-w64 Update mingw-w64-postgresql to 16.0 2023-11-07 14:27:45 +01:00
md4c/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
mediaplayerctl/default Change mod of PKGBUILDs to be not executable 2023-01-07 14:23:26 +01:00
mediawriter/default Update mediawriter to 5.0.6 2023-04-25 22:04:13 +02:00
meson Update static libraries 2022-04-28 22:43:29 +02:00
midifile/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
mkvtoolnix/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
mpv/mingw-w64 Update MPV. 2018-11-04 17:04:48 +00:00
mtdev/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
mxedeployqt/git Improve mxedeployqt 2018-04-22 11:40:18 +02:00
ncurses/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
nginx-mod-accesskey/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-cache-purge/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-dav-ext/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-fancyindex/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-rtmp/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-slowfs-cache/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-substitutions-filter/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-upload-progress/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
nginx-mod-upstream-fair/default Update NGINX modules to 1.24.0 2023-05-24 15:10:10 +02:00
openelec-dvb-firmware Remove useless provides/conflicts from openelec-dvb-firmware 2020-12-22 18:23:06 +01:00
openssl Update openssl packages to 3.2.1 2024-02-03 17:06:48 +01:00
openssl-1.0 Save lib32-openssl-1.0 as well 2022-12-20 22:55:37 +01:00
openssl-1.1/mingw-w64 Update mingw-w64-openssl-1.1 to 1.1.1v 2023-08-02 12:46:44 +02:00
passwordfile Update own projects 2023-11-22 00:04:07 +01:00
passwordmanager Update dependencies of my Qt apps 2024-03-18 23:49:31 +01:00
pcre/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
pcre2 Fix checksum of mingw-w64-pcre2 2023-07-30 01:21:14 +02:00
pdfmerge/default Change mod of PKGBUILDs to be not executable 2023-01-07 14:23:26 +01:00
pi-fm-rds/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
pianobooster Remove qtutilities-qt6-git 2024-03-07 00:26:01 +01:00
pistache/git Fix pistache-git 2021-10-11 16:56:04 +02:00
plasmoidviewer-debug/default Update plasmoidviewer-debug 2023-10-20 12:24:02 +02:00
pocketsphinx/default Update pocketsphinx to 5.0.3 2024-02-21 11:38:56 +01:00
postgresql/mingw-w64 Update mingw-w64-postgresql to 16.1 2023-11-10 20:25:48 +01:00
proto-quic/mingw-w64-git Update mingw-w64-angleproject 2016-11-06 21:56:06 +01:00
python-colorzero/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
python-gpiozero Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
python-raspberry-gpio/default Import/add some Python libs for the Pi 2018-11-02 23:52:27 +00:00
python-rpi.gpio/default Import/add some Python libs for the Pi 2018-11-02 23:52:27 +00:00
python-spidev/default Import/add some Python libs for the Pi 2018-11-02 23:52:27 +00:00
qca-qt5/mingw-w64 Update mingw-w64-openssl to 3.0.7 2022-11-07 22:37:40 +01:00
qemu-binfmt-arm/default Add qemu-binfmt-arm 2018-10-18 20:18:54 +02:00
qqc2-breeze-style/android-aarch64 Add more KDE packages for Android 2024-03-16 22:07:38 +01:00
qt5-3d Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-activeqt/mingw-w64 Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-base Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-canvas3d Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-charts Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-connectivity Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-datavis3d Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-declarative Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-gamepad Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-graphicaleffects Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-imageformats Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-location Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-multimedia Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-networkauth Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-quickcontrols Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-quickcontrols2 Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-remoteobjects Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-script Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-scxml Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-sensors Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-serialport Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-speech Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-svg Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-tools Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-translations Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-virtualkeyboard Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-webchannel Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-webglplugin Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-websockets Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-winextras Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt5-xmlpatterns Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt6-3d Update Qt 6 packages to 6.6.2 2024-02-15 21:10:17 +01:00
qt6-5compat Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-activeqt Update Qt 6 packages to 6.6.2 2024-02-15 21:10:17 +01:00
qt6-base Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-charts Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-connectivity Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-datavis3d Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-declarative Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-grpc Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-httpserver Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-imageformats Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-location Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-lottie Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-multimedia Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-networkauth Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-positioning Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-quick3d Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-quicktimeline Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-scxml Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-sensors Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-serialbus Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-serialport Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-shadertools Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-svg Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-tools Update Qt 5 packages to 5.15.13 2024-03-16 20:06:10 +01:00
qt6-translations Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-virtualkeyboard Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-wayland Update Qt 6 packages to 6.6.2 2024-02-15 21:10:17 +01:00
qt6-webchannel Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6-websockets Force Android Qt 6 packages to use Java 17 2024-02-25 18:18:50 +01:00
qt6ct/default Update Qt 6 packages to 6.0.0 2020-12-09 13:03:48 +01:00
qtforkawesome Update own projects 2024-03-05 14:47:24 +01:00
qtutilities Remove qtutilities-qt6-git 2024-03-07 00:26:01 +01:00
rapidjson Archive many old packages to clean up the root directory 2022-07-09 20:29:34 +02:00
readline/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
reflective-rapidjson Rebuild packages against LLVM 17 2024-03-04 12:00:55 +01:00
roccat-tools/default Import roccat-tools from AUR and fix issues 2020-07-06 19:04:31 +02:00
rpi_ws281x/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
sadav/git Add sadav 2023-07-04 02:21:44 +02:00
sqlite Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
subtitlecomposer Fix URL of subtitlecomposer and rebuild against ICU 74 2023-12-12 17:52:55 +01:00
syncthingtray Update dependencies of my Qt apps 2024-03-18 23:49:31 +01:00
systemd/static-compat Update static-compat-openssl and a few other static-compat packages 2022-11-09 21:47:56 +01:00
systray-memory-display/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
tageditor Update dependencies of my Qt apps 2024-03-18 23:49:31 +01:00
tagparser Use more library dependencies where possible 2023-09-11 21:17:51 +02:00
tcl/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
toggletouch/default Change mod of PKGBUILDs to be not executable 2023-01-07 14:23:26 +01:00
ubuntu-latex-fonts/git Change Git sources pointing to GitHub to `git+https` 2022-03-26 22:11:23 +01:00
util-linux/static-compat Update static-compat packages 2022-08-22 21:49:44 +02:00
videodownloader Update dependencies of my Qt apps 2024-03-18 23:49:31 +01:00
vulkan-headers/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
warmux/default Rebuild warmux 2017-05-04 23:55:35 +02:00
wayland/static-compat Update static-compat packages 2022-08-22 21:49:44 +02:00
xcb-proto/static-compat Update several package variants to match the corresponding regular package 2022-06-25 22:00:28 +02:00
xcb-util/static-compat Update static-compat and mingw-w64 packages 2023-02-12 20:51:32 +01:00
xcb-util-cursor/static-compat Update Qt packages to 6.5.0 2023-04-04 23:03:00 +02:00
xcb-util-image/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
xcb-util-keysyms/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
xcb-util-renderutil/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
xcb-util-wm/static-compat Update static-compat packages 2022-11-28 22:09:42 +01:00
xorgproto/static-compat Update static-compat packages 2022-08-22 21:49:44 +02:00
xtrans/static-compat Update static libraries 2022-04-28 22:43:29 +02:00
xz/static-compat Update validpgpkeys for static-compat-xz 2023-05-13 21:02:49 +02:00
zlib/static-compat Sync static-compat-zlib with regular package 2023-10-08 21:37:47 +02:00
zstd Update zstd packages to 1.5.5 2023-04-07 19:26:18 +02:00
.gitignore Generate mingw-w64-qt5-* packages from templates 2019-12-29 00:53:44 +01:00
.gitmodules Add alarm-bluetooth-raspberrypi 2018-11-18 23:02:14 +00:00
LICENSE outsourced PKGBUILD files from project repositories 2015-06-24 23:12:08 +02:00
README.md Update README section about using packages via container 2024-03-17 23:04:39 +01:00

README.md

PKGBUILDs

Contains PKGBUILD files for creating Arch Linux packages:

  • Packages for my own applications and libraries such as Syncthing Tray, Tag Editor, Password Manager, ...
  • Packages I maintain in the AUR:
    • misc packages, eg. Subtitle Composer, openelec-dvb-firmware, Jangouts
    • mingw-w64-* packages which allow to build for Windows under Arch Linux, eg. FreeType 2, Qt 5 and Qt 6
    • static-compat-* packages containing static libraries to build self-contained applications running on older GNU/Linux distributions under Arch Linux
    • android-* packages which allow to build for Android under Arch Linux, eg. iconv, Boost, OpenSSL, CppUnit, Qt 5 and Kirigami
    • apple-darwin-* packages which allow to build for MaxOS X under Arch Linux, eg. osxcross and Qt 5 (still experimental)
  • Other packages imported from the AUR to build with slight modifications

So if you like to improve one of my AUR packages, just create a PR here.

Binary repository

I also provide a binary repository containing the packages found in this repository and a lot of packages found in the AUR:

[ownstuff-testing]
SigLevel = Optional TrustAll
Server = https://martchus.no-ip.biz/repo/arch/$repo/os/$arch
Server = https://ftp.f3l.de/~martchus/$repo/os/$arch

[ownstuff]
SigLevel = Optional TrustAll
Server = https://martchus.no-ip.biz/repo/arch/$repo/os/$arch
Server = https://ftp.f3l.de/~martchus/$repo/os/$arch

The testing repository is required if you have the official testing repository enabled. (Packages contained by ownstuff-testing are linked against packages found in the official testing repository.)

The repository is focusing on x86_64 but some packages are also provided for i686 and aarch64.

Note that I can not assure that required rebuilds always happen fast enough (since the official developers obviously don't wait for me before releasing their packages from staging).

Requests regarding binary packages can be tracked on the issue tracker of this GitHub project as well, e.g. within the general discussion issue.

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 which contains an image with many mingw-w64 package pre-installed.

Structure

Each package is in its own subdirectoy:

default-pkg-name/variant

where default-pkg-name is the default package name (eg. qt5-base) and variant usually one of:

  • default: the regular package
  • git/svn/hg: the development version
  • mingw-w64: the Windows version (i686/dw2 and x86_64/SEH)
  • android-{aarch64,armv7a-eabi,x86-64,x86}: the Android version (currently only aarch64 actively maintained/tested)
  • apple-darwin: the MacOS X version (still experimental)

The repository does not contain .SRCINFO files.


The subdirectoy devel contains additional files, mainly for development purposes. The subdirectoy devel/archive contains old packages that are no longer updated (at least not via this repository).

Generated PKGBUILDs

To avoid repetition some PKGBUILDs are generated. These PKGBUILDs are determined by the presence of the file PKGBUILD.sh.ep besides the actual PKGBUILD file. The PKGBUILD file is only present for read-only purposes in this case - do not edit it manually. Instead, edit the PKGBUILD.sh.ep file and invoke devel/generator/generate.pl. This requires the perl-Mojolicious package to be installed. Set the environment variable LOG_LEVEL to adjust the log level (e.g. debug/info/warn/error). Template layouts/fragments are stored within generator/templates.

Documentation about the used templating system

Contributing to patches

Patches for most packages are managed in a fork of the project under my GitHub profile. For instance, patches for mingw-w64-qt5-base are managed at github.com/Martchus/qtbase.

I usually create a dedicated branch for each version, eg. 5.10.1-mingw-w64. It contains all the patches based on Qt 5.10.1. When doing fixes later on, I usually preserve the original patches and create a new branch, eg. 5.10.1-mingw-w64-fixes.

So in this case it would make sense to contribute directly there. To fix an existing patch, just create a fixup commit. This (unusual) fixup workflow aims to keep the number of additional changes as small as possible.

To get the patches into the PKGBUILD files, the script devel/qt5/update-patches.sh is used.

Mass rebasing of Qt patches

This is always done by me. Please don't try to help here because it will only cause conflicts. However, the workflow is quite simple:

  1. Run devel/qt5/rebase-patches.sh on all Qt repository forks or just devel/qt5/rebase-all-patches.sh
    • eg. rebase-patches.sh 5.11.0 5.10.1 mingw-w64-fixes to create branch 5.11.0-mingw-w64 based on 5.10.1-mingw-w64-fixes
    • after fixing possible conflicts, run devel/qt5/continue-rebase-patches.sh
    • otherwise, that's it
    • all scripts need to run in the Git repository directory of the Qt module except rebase-all-patches.sh which needs the environment variable QT_GIT_REPOS_DIR to be set
  2. Run devel/qt5/update-patches.sh or devel/qt5/update-all-patches.sh to update PKGBUILDs
    • eg. devel/qt5/update-all-patches.sh "" mingw-w64 qt6 to consider all mingw-w64-qt6-* packages

Brief documentation about mingw-w64-qt packages

The Qt project does not support building Qt under GNU/Linux when targeting mingw-w64. With Qt 6 they also stopped 32-bit builds. They also don't provide static builds targeting mingw-w64. They are also relying a lot on their bundled libraries while my builds aim to build dependencies separately. So expect some rough edges when using my packaging.

Nevertheless it make sense to follow the official documentation. For concrete examples how to use this packaging with CMake, just checkout the mingw-w64 variants of e.g. syncthingtray within this repository. The Arch Wiki also has a section about mingw-w64 packaging.

Note that the ANGLE and "dynamic" variants of Qt 5 packages do not work because they would require fxc.exe to build.

Tested build and deployment tools for mingw-w64-qt5 packages

Currently, I test with qmake and CMake. With both build systems it is possible to use either the shared or the static libraries. Please read the comments in the PKGBUILD file itself and the pinned comments in the AUR for further information.

There are also pkg-config files, but those aren't really tested.

qbs and windeployqt currently don't work very well (see issues). Using the static libraries or mxedeployqt might be an alternative to windeployqt.

Tested build and deployment tools for mingw-w64-qt6 packages

In order to build a Qt-based project using mingw-w64-qt6 packages one also needs to install the regular qt6-base package for development tools such as moc. The packages qt6-tools, qt6-declarative and qt6-shadertools contain also native binaries which might be required by some projects. At this point the setup can break if the version of regular packages and the versions of the mingw-w64 packages differ. I cannot do anything about it except trying to upgrade the mingw-w64 packages as fast as possible. There's actually a lengthy discussion about this topic on the Qt development mailinglist so the situation might improve in the future. Note that as of qtbase commit 5ffc744b791a114a3180a425dd26e298f7399955 (requires Qt > 6.2.1) one can specify -DQT_NO_PACKAGE_VERSION_CHECK=TRUE to ignore the strict versioning check.

Currently, I test only CMake. It is possible to use either the shared or the static libraries. The static libraries are installed into a nested prefix (/usr/i686-w64-mingw32/static and /usr/x86_64-w64-mingw32/static) so this prefix needs to be prepended to CMAKE_FIND_ROOT_PATH for using the static libraries. To generally prefer static libraries one might use the helper scripts provided by the mingw-w64-cmake-static package.

The build systems qbs and qmake are not tested. It looks like Qt's build system does not install pkg-config files anymore and so far no effort has been taken to enable them.

Note that windeployqt needed to be enabled by the official/regular qt6-tools package but would likely not work very well anyways. Using the static libraries or mxdeployqt might be an alternative for windeployqt.

Static plugins and CMake

Qt 5 initially didn't support it so I added patches to make it work. After Qt 5 added support I still kept my own version because I didn't want to risk any regressions (which would be tedious to deal with). So the official documentation does not apply to my packages. One simply has to link against the targets of the wanted static plugins manually.

However, for Qt 6 I dropped my patches and the official documentation applies. I would still recommended to set the target property QT_DEFAULT_PLUGINS of relevant targets to 0 and link against wanted plugin targets manually. At least in my cases the list of plugins selected by default seemed needlessly long. I would also recommended to set the CMake variable QT_SKIP_AUTO_QML_PLUGIN_INCLUSION to a falsy value because this pulls in a lot of dependencies which are likely not needed.

Further documentation

The directory qt5-base/mingw-w64 contains also a README with more Qt 5 specific information.

Running Windows executables built using mingw-w64 packages with WINE

It is recommended to use the scripts x86_64-w64-mingw32-wine and i686-w64-mingw32-wine provided by the mingw-w64-wine package. These scripts are a wrapper around the regular wine binary ensuring all the DLLs provided by mingw-w64-*-packages of the relevant architecture can be located. It also uses a distinct wine prefix so your usual configuration (e.g. tailored to run certain games) does not go into the way and is also not messed with.

Here are nevertheless some useful hints to run WINE manually:

  • Set the environment variable WINEPREFIX to use a distinct WINE-prefix if wanted.
  • Set WINEPATH for the search directories of needed DLLs, e.g. WINEPATH=$builds/libfoo;$builds/libbar;/usr/x86_64-w64-mingw32.
  • Set WINEARCH to win32 for a 32-bit environment (win64 is the default which will get you a 64-bit environment)
  • Set WINEDLLOVERRIDES to control loading DLLs, e.g. WINEDLLOVERRIDES=mscoree,mshtml= disables the annoying Gecko popup.
  • To set environment variables like PATH or QT_PLUGIN_PATH for the Windows program itself use the following approach:
    1. Open regedit
    2. Go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
    3. Add/modify the variable, e.g. set PATH=C:\windows\system32;C:\windows;Z:\usr\x86_64-w64-mingw32\bin and QT_PLUGIN_PATH=Z:/usr/x86_64-w64-mingw32/lib/qt6/plugins
  • It is possible to run apps in an headless environment but be aware that WINE is not designed for this. For instance, when an application crashes WINE still attempts to show the crash window and the application stays stuck in that state.
  • See https://wiki.winehq.org/Wine_User's_Guide for more information

Static GNU/Linux libraries

This repository contains several static-compat-* packages providing static libraries intended to distribute "self-contained" executables. These libraries are built against an older version of glibc to be able to run on older distributions without having to link against glibc statically. The resulting binaries should run on distributions with glibc 2.26 or newer (or Linux 4.4 and newer when linking against glibc statically), e.g. openSUSE Leap 15.0, Fedora 27, Debian 10 and Ubuntu 18.04. The packages might not be updated as regularly as their normal counterparts but the idea is to provide an environment with a recent version of GCC/libstdc++ and other libraries such as Qt and Boost but still be able to run the resulting executables on older distributions.

To use the packages, simply invoke /usr/static-compat/bin/g++ instead of /usr/bin/g++. The package static-compat-environment provides a script to set a few environment variables to make this easier. There are also packages providing build system wrappers such as static-compat-cmake.

It would be conceivable to make fully statically linked executables. However, it would not be possible to support OpenGL because glvnd and vendor provided OpenGL libraries are always dynamic libraries. It makes also no sense to link against glibc (and possibly other core libraries) statically as they might use dlopen. Therefore this setup aims for a partially statically linked build instead, where stable core libraries like glibc/pthreads/OpenGL/… are assumed to be provided by the GNU/Linux system but other libraries like libstdc++, Boost and Qt are linked against statically. This is similar to AppImage where a lot of libraries are bundled but certain core libraries are expected to be provided by the system.

Examples for resulting binaries can be found in the release sections of my projects Tag Editor and Syncthing Tray. Those are Qt 6 applications and the resulting binaries run on the mentioned platforms supporting X11 and Wayland natively.

Note that I decided to let static libraries live within the subprefix /usr/static-compat (in contrast to -static packages found in the AUR). The main reason is that my packaging requires a custom glibc/GCC build for compatibility and I suppose that simply needs to live within its own prefix. Besides, the version might not be kept 100 % in sync with the shared counterpart. Hence it makes sense to make the static packages independent with their own headers and configuration files to avoid problems due to mismatching versions. Additionally, some projects (such as Qt) do not support installing shared and static libraries within the same prefix at the same time because the config files would clash.

Copyright © 2015-2024 Marius Kittler

All code is licensed under GPL-2-or-later.