mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
383 lines
14 KiB
Diff
383 lines
14 KiB
Diff
|
From cd9b1c058316bfaf0595b9cdf7f854ebdd8d0ccd Mon Sep 17 00:00:00 2001
|
||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||
|
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 <john@doe.com>"
|
||
|
+#-- 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 <john@doe.com>"
|
||
|
+#-- 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
|
||
|
|