diff --git a/alarm/devtools-alarm/0009-arm-helpers.patch b/alarm/devtools-alarm/0009-arm-helpers.patch new file mode 100644 index 000000000..2f66cb65e --- /dev/null +++ b/alarm/devtools-alarm/0009-arm-helpers.patch @@ -0,0 +1,382 @@ +From cd9b1c058316bfaf0595b9cdf7f854ebdd8d0ccd Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Sat, 20 Aug 2022 16:19:09 -0600 +Subject: [PATCH 9/9] arm helpers + +--- + Makefile | 8 +++ + makepkg-aarch64.conf | 162 +++++++++++++++++++++++++++++++++++++++++++ + makepkg-armv7h.conf | 162 +++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 332 insertions(+) + create mode 100644 makepkg-aarch64.conf + create mode 100644 makepkg-armv7h.conf + +diff --git a/Makefile b/Makefile +index d888cc1..0b834c2 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,6 +28,8 @@ BINPROGS = \ + $(IN_PROGS) + + CONFIGFILES = \ ++ makepkg-aarch64.conf \ ++ makepkg-armv7h.conf \ + makepkg-x86_64.conf \ + makepkg-x86_64_v3.conf \ + pacman-extra.conf \ +@@ -59,10 +61,16 @@ COMMITPKG_LINKS = \ + gnome-unstablepkg + + ARCHBUILD_LINKS = \ ++ extra-aarch64-build \ ++ extra-armv7h-build \ + extra-x86_64-build \ + extra-x86_64_v3-build \ ++ testing-aarch64-build \ ++ testing-armv7h-build \ + testing-x86_64-build \ + testing-x86_64_v3-build \ ++ staging-aarch64-build \ ++ staging-armv7h-build \ + staging-x86_64-build \ + staging-x86_64_v3-build \ + multilib-build \ +diff --git a/makepkg-aarch64.conf b/makepkg-aarch64.conf +new file mode 100644 +index 0000000..63ba695 +--- /dev/null ++++ b/makepkg-aarch64.conf +@@ -0,0 +1,162 @@ ++#!/hint/bash ++# shellcheck disable=2034 ++ ++# ++# /etc/makepkg.conf ++# ++ ++######################################################################### ++# SOURCE ACQUISITION ++######################################################################### ++# ++#-- The download utilities that makepkg should use to acquire sources ++# Format: 'protocol::agent' ++DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' ++ 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' ++ 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' ++ 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' ++ 'rsync::/usr/bin/rsync --no-motd -z %u %o' ++ 'scp::/usr/bin/scp -C %u %o') ++ ++# Other common tools: ++# /usr/bin/snarf ++# /usr/bin/lftpget -c ++# /usr/bin/wget ++ ++#-- The package required by makepkg to download VCS sources ++# Format: 'protocol::package' ++VCSCLIENTS=('bzr::bzr' ++ 'fossil::fossil' ++ 'git::git' ++ 'hg::mercurial' ++ 'svn::subversion') ++ ++######################################################################### ++# ARCHITECTURE, COMPILE FLAGS ++######################################################################### ++# ++CARCH="aarch64" ++CHOST="aarch64-unknown-linux-gnu" ++ ++#-- Compiler and Linker Flags ++#CPPFLAGS="" ++CFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \ ++ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ ++ -fstack-clash-protection" ++CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" ++LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" ++LTOFLAGS="-flto=auto" ++#RUSTFLAGS="-C opt-level=2" ++#-- Make Flags: change this for DistCC/SMP systems ++#MAKEFLAGS="-j2" ++#-- Debugging flags ++DEBUG_CFLAGS="-g" ++DEBUG_CXXFLAGS="$DEBUG_CFLAGS" ++#DEBUG_RUSTFLAGS="-C debuginfo=2" ++ ++######################################################################### ++# BUILD ENVIRONMENT ++######################################################################### ++# ++# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) ++# A negated environment option will do the opposite of the comments below. ++# ++#-- distcc: Use the Distributed C/C++/ObjC compiler ++#-- color: Colorize output messages ++#-- ccache: Use ccache to cache compilation ++#-- check: Run the check() function if present in the PKGBUILD ++#-- sign: Generate PGP signature file ++# ++BUILDENV=(!distcc color !ccache check !sign) ++# ++#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, ++#-- specify a space-delimited list of hosts running in the DistCC cluster. ++#DISTCC_HOSTS="" ++# ++#-- Specify a directory for package building. ++#BUILDDIR=/tmp/makepkg ++ ++######################################################################### ++# GLOBAL PACKAGE OPTIONS ++# These are default values for the options=() settings ++######################################################################### ++# ++# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) ++# A negated option will do the opposite of the comments below. ++# ++#-- strip: Strip symbols from binaries/libraries ++#-- docs: Save doc directories specified by DOC_DIRS ++#-- libtool: Leave libtool (.la) files in packages ++#-- staticlibs: Leave static library (.a) files in packages ++#-- emptydirs: Leave empty directories in packages ++#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip ++#-- purge: Remove files specified by PURGE_TARGETS ++#-- debug: Add debugging flags as specified in DEBUG_* variables ++#-- lto: Add compile flags for building with link time optimization ++# ++OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) ++ ++#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 ++INTEGRITY_CHECK=(sha256) ++#-- Options to be used when stripping binaries. See `man strip' for details. ++STRIP_BINARIES="--strip-all" ++#-- Options to be used when stripping shared libraries. See `man strip' for details. ++STRIP_SHARED="--strip-unneeded" ++#-- Options to be used when stripping static libraries. See `man strip' for details. ++STRIP_STATIC="--strip-debug" ++#-- Manual (man and info) directories to compress (if zipman is specified) ++MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) ++#-- Doc directories to remove (if !docs is specified) ++DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) ++#-- Files to be removed from all packages (if purge is specified) ++PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) ++#-- Directory to store source code in for debug packages ++DBGSRCDIR="/usr/src/debug" ++ ++######################################################################### ++# PACKAGE OUTPUT ++######################################################################### ++# ++# Default: put built package and cached source in build directory ++# ++#-- Destination: specify a fixed directory where all packages will be placed ++#PKGDEST=/home/packages ++#-- Source cache: specify a fixed directory where source files will be cached ++#SRCDEST=/home/sources ++#-- Source packages: specify a fixed directory where all src packages will be placed ++#SRCPKGDEST=/home/srcpackages ++#-- Log files: specify a fixed directory where all log files will be placed ++#LOGDEST=/home/makepkglogs ++#-- Packager: name/email of the person or organization building packages ++#PACKAGER="John Doe " ++#-- Specify a key to use for package signing ++#GPGKEY="" ++ ++######################################################################### ++# COMPRESSION DEFAULTS ++######################################################################### ++# ++COMPRESSGZ=(gzip -c -f -n) ++COMPRESSBZ2=(bzip2 -c -f) ++COMPRESSXZ=(xz -c -z -) ++COMPRESSZST=(zstd -c -T0 --ultra -20 -) ++COMPRESSLRZ=(lrzip -q) ++COMPRESSLZO=(lzop -q) ++COMPRESSZ=(compress -c -f) ++COMPRESSLZ4=(lz4 -q) ++COMPRESSLZ=(lzip -c -f) ++ ++######################################################################### ++# EXTENSION DEFAULTS ++######################################################################### ++# ++PKGEXT='.pkg.tar.zst' ++SRCEXT='.src.tar.gz' ++ ++######################################################################### ++# OTHER ++######################################################################### ++# ++#-- Command used to run pacman as root, instead of trying sudo and su ++#PACMAN_AUTH=() ++# vim: set ft=sh ts=2 sw=2 et: +diff --git a/makepkg-armv7h.conf b/makepkg-armv7h.conf +new file mode 100644 +index 0000000..ef28ddb +--- /dev/null ++++ b/makepkg-armv7h.conf +@@ -0,0 +1,162 @@ ++#!/hint/bash ++# shellcheck disable=2034 ++ ++# ++# /etc/makepkg.conf ++# ++ ++######################################################################### ++# SOURCE ACQUISITION ++######################################################################### ++# ++#-- The download utilities that makepkg should use to acquire sources ++# Format: 'protocol::agent' ++DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' ++ 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' ++ 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' ++ 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' ++ 'rsync::/usr/bin/rsync --no-motd -z %u %o' ++ 'scp::/usr/bin/scp -C %u %o') ++ ++# Other common tools: ++# /usr/bin/snarf ++# /usr/bin/lftpget -c ++# /usr/bin/wget ++ ++#-- The package required by makepkg to download VCS sources ++# Format: 'protocol::package' ++VCSCLIENTS=('bzr::bzr' ++ 'fossil::fossil' ++ 'git::git' ++ 'hg::mercurial' ++ 'svn::subversion') ++ ++######################################################################### ++# ARCHITECTURE, COMPILE FLAGS ++######################################################################### ++# ++CARCH="armv7h" ++CHOST="armv7l-unknown-linux-gnueabihf" ++ ++#-- Compiler and Linker Flags ++#CPPFLAGS="" ++CFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \ ++ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ ++ -fstack-clash-protection" ++CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" ++LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" ++LTOFLAGS="-flto=auto" ++#RUSTFLAGS="-C opt-level=2" ++#-- Make Flags: change this for DistCC/SMP systems ++#MAKEFLAGS="-j2" ++#-- Debugging flags ++DEBUG_CFLAGS="-g" ++DEBUG_CXXFLAGS="$DEBUG_CFLAGS" ++#DEBUG_RUSTFLAGS="-C debuginfo=2" ++ ++######################################################################### ++# BUILD ENVIRONMENT ++######################################################################### ++# ++# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) ++# A negated environment option will do the opposite of the comments below. ++# ++#-- distcc: Use the Distributed C/C++/ObjC compiler ++#-- color: Colorize output messages ++#-- ccache: Use ccache to cache compilation ++#-- check: Run the check() function if present in the PKGBUILD ++#-- sign: Generate PGP signature file ++# ++BUILDENV=(!distcc color !ccache check !sign) ++# ++#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, ++#-- specify a space-delimited list of hosts running in the DistCC cluster. ++#DISTCC_HOSTS="" ++# ++#-- Specify a directory for package building. ++#BUILDDIR=/tmp/makepkg ++ ++######################################################################### ++# GLOBAL PACKAGE OPTIONS ++# These are default values for the options=() settings ++######################################################################### ++# ++# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) ++# A negated option will do the opposite of the comments below. ++# ++#-- strip: Strip symbols from binaries/libraries ++#-- docs: Save doc directories specified by DOC_DIRS ++#-- libtool: Leave libtool (.la) files in packages ++#-- staticlibs: Leave static library (.a) files in packages ++#-- emptydirs: Leave empty directories in packages ++#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip ++#-- purge: Remove files specified by PURGE_TARGETS ++#-- debug: Add debugging flags as specified in DEBUG_* variables ++#-- lto: Add compile flags for building with link time optimization ++# ++OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) ++ ++#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 ++INTEGRITY_CHECK=(sha256) ++#-- Options to be used when stripping binaries. See `man strip' for details. ++STRIP_BINARIES="--strip-all" ++#-- Options to be used when stripping shared libraries. See `man strip' for details. ++STRIP_SHARED="--strip-unneeded" ++#-- Options to be used when stripping static libraries. See `man strip' for details. ++STRIP_STATIC="--strip-debug" ++#-- Manual (man and info) directories to compress (if zipman is specified) ++MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) ++#-- Doc directories to remove (if !docs is specified) ++DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) ++#-- Files to be removed from all packages (if purge is specified) ++PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) ++#-- Directory to store source code in for debug packages ++DBGSRCDIR="/usr/src/debug" ++ ++######################################################################### ++# PACKAGE OUTPUT ++######################################################################### ++# ++# Default: put built package and cached source in build directory ++# ++#-- Destination: specify a fixed directory where all packages will be placed ++#PKGDEST=/home/packages ++#-- Source cache: specify a fixed directory where source files will be cached ++#SRCDEST=/home/sources ++#-- Source packages: specify a fixed directory where all src packages will be placed ++#SRCPKGDEST=/home/srcpackages ++#-- Log files: specify a fixed directory where all log files will be placed ++#LOGDEST=/home/makepkglogs ++#-- Packager: name/email of the person or organization building packages ++#PACKAGER="John Doe " ++#-- Specify a key to use for package signing ++#GPGKEY="" ++ ++######################################################################### ++# COMPRESSION DEFAULTS ++######################################################################### ++# ++COMPRESSGZ=(gzip -c -f -n) ++COMPRESSBZ2=(bzip2 -c -f) ++COMPRESSXZ=(xz -c -z -) ++COMPRESSZST=(zstd -c -T0 --ultra -20 -) ++COMPRESSLRZ=(lrzip -q) ++COMPRESSLZO=(lzop -q) ++COMPRESSZ=(compress -c -f) ++COMPRESSLZ4=(lz4 -q) ++COMPRESSLZ=(lzip -c -f) ++ ++######################################################################### ++# EXTENSION DEFAULTS ++######################################################################### ++# ++PKGEXT='.pkg.tar.zst' ++SRCEXT='.src.tar.gz' ++ ++######################################################################### ++# OTHER ++######################################################################### ++# ++#-- Command used to run pacman as root, instead of trying sudo and su ++#PACMAN_AUTH=() ++# vim: set ft=sh ts=2 sw=2 et: +-- +2.36.1 +