Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/extra/linux-pae/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'extra/linux-pae/PKGBUILD')
-rw-r--r--extra/linux-pae/PKGBUILD145
1 files changed, 145 insertions, 0 deletions
diff --git a/extra/linux-pae/PKGBUILD b/extra/linux-pae/PKGBUILD
new file mode 100644
index 00000000..a40c9c30
--- /dev/null
+++ b/extra/linux-pae/PKGBUILD
@@ -0,0 +1,145 @@
+source <(sed 's/^pkgbase=linux$/pkgbase=linux-pae/' "${BASH_SOURCE%/*}/PKGBUILD_upstream_linux")
+
+# upstream git revision: 3cfc65aa439e42f6dd539f29d3ebb972c5508f7e
+
+source+=('config.x86_64')
+sha256sums+=('04143712e593d45a597661fe00f89cf92d52c62df3468c68a46c952c2ef4db64')
+b2sums+=('21083151bdcd0fc2bcc0475b9cd73bab5666a71f043eedd67b19a3a4c09c8253a5a06794ce9270215782f5885e05e70b5e424123f1bded7aa7a6d3f30d02a4b3')
+source_pentium4=('config.pentium4')
+source_i686=('config.i686')
+source_i486=('config.i486')
+# fail if upstream's .config changes
+for ((i=0; i<${#b2sums[@]}; i++)); do
+ if [ "${b2sums[${i}]}" = '21083151bdcd0fc2bcc0475b9cd73bab5666a71f043eedd67b19a3a4c09c8253a5a06794ce9270215782f5885e05e70b5e424123f1bded7aa7a6d3f30d02a4b3' ]; then
+ b2sums_pentium4=('759861f49726995d56e2fea96b60622d67fd43c8f8643b183ea0ee1efbe86e98c1435561e2d9ef3c58d581e8a6d147c8a11f4de97c2aaa25231b26db9e1c4859')
+ b2sums_i686=('3c716e2c37196cb9be479e3dfddaa1ad36da4053dfdd8c84a9141289d958e2c995795a13f683507bf2a6fa09f4ccaf52a576b6589c93bd36bd934c2a1ee34312')
+ b2sums_i486=('21e9e76c23d6ef348f5e54480ee3f16fb6c86d67c9103fea30fec91102e3695ebf53fa970bc8a7b842fd4763defd02b92bbd099bf77dccd4abd627f879425c06')
+ fi
+done
+
+# copy architecture specific config file, not default 'config'
+eval "$(
+ declare -f prepare | \
+ sed '
+ s,\.\./config,../config.$CARCH,
+ '
+)"
+
+# patch architecture when copying the kernel Makefile
+eval "$(
+ declare -f package_linux-headers | \
+ sed '
+ \,/tools/objtool" ,d
+ \,arch/x86/Makefile, {
+ a \
+ install -t "${builddir}/arch/x86" -m644 arch/x86/Makefile_32.cpu
+ }
+ $ i depends+=(gcc-libs=$(_get_gcc_version_from_config))
+ '
+)"
+
+_get_gcc_version_from_config() {
+ if [ -z "$srcdir" ]; then
+ gcc --version \
+ | sed '
+ s@^.* @@
+ 1!d
+ '
+ else
+ for _config_file in "$srcdir/$_srcname/.config" "$srcdir/config" "${srcdir%/*}/config"; do
+ [ -f "$_config_file" ] && break
+ done
+ sed '
+ s/^CONFIG_CC_VERSION_TEXT="gcc (GCC) \([0-9.]\+\)"$/\1/
+ t
+ d
+ ' "$_config_file"
+ fi
+}
+
+# use our tarballer instead of cloning from git
+for ((i=0; i<${#source[@]}; i++)); do
+ infos=$(
+ printf '%s\n' "${source[${i}]}" | \
+ sed '
+ s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=[^?]\+\)$@\3 \2 \4 \5 \6@
+ t
+ s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)#\(\(tag\|commit\)=[^?]\+\)\(?signed\)\?$@\3 \2 \4 \7 \5@
+ t
+ d
+ '
+ )
+ if [ -n "${infos}" ]; then
+ source[${i}]=$(
+ type="${infos%% *}"
+ infos="${infos#* }"
+ if [ -n "${infos%% *}" ]; then
+ prefix="${infos%% *}"
+ else
+ prefix=''
+ fi
+ infos="${infos#* }"
+ repo="${infos%% *}"
+ repo64=$(
+ printf '%s' "${repo}" | \
+ base64 -w0 | \
+ sed 's/=/%3D/g'
+ )
+ infos="${infos#* }"
+ if [ "${infos%% *}" = '?signed' ]; then
+ key_check=$(
+ printf '&valid_keys='
+ printf '%s,' "${validpgpkeys[@]}" | \
+ sed 's/,$//'
+ )
+ else
+ key_check=''
+ fi
+ infos="${infos#* }"
+ if [ -z "${prefix}" ]; then
+ prefix="${repo%.git}"
+ prefix="${prefix##*/}"
+ fi
+ prefix_64=$(
+ printf '%s/' "${prefix}" | \
+ base64 -w0 | \
+ sed 's/=/%3D/g'
+ )
+
+ printf '%s-%s.tar.gz::https://archive-server.archlinux32.org/?t=%s&p=%s&r=%s%s&%s\n' \
+ "${prefix}" \
+ "${pkgver}" \
+ "${type}" \
+ "${prefix_64}" \
+ "${repo64}" \
+ "${key_check}" \
+ "${infos}"
+ )
+ fi
+done
+
+# upstream prepare() does already do the *.patch patching
+
+# avoid using zstd compression in ultra mode (exhausts virtual memory)
+source+=('no-ultra-zstd.patch')
+sha256sums+=('d32270be5fd9c3e3ba50f3aef33f6cfcb85be0c8216f03b777287cc621fdff28')
+b2sums+=('165ab9dd8cedeaae5327accc1581c19cf0be55f923b03feb889cad3351b74c7c4cd3d3c206938e5152bfe1d947513dea8f630f8f5544099ec13d16d254725c40')
+
+# temporarily disabled documentation due to sphinx_rtd_theme (FS32#163)
+pkgname=(
+ $(
+ printf '%s\n' "${pkgname[@]}" | \
+ grep -v '^\$pkgbase-docs'
+ )
+)
+eval "$(
+ declare -f build | \
+ sed '
+ s/\bhtmldocs\b//
+ '
+)"
+makedepends=(${makedepends[@]//python-sphinx_rtd_theme/})
+makedepends=(${makedepends[@]//python-sphinx<6.0.0/})
+makedepends=(${makedepends[@]//graphviz/})
+makedepends=(${makedepends[@]//imagemagick/})
+makedepends=(${makedepends[@]//texlive-latexextra/})