aboutsummaryrefslogtreecommitdiff
path: root/binutils-source
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-source')
-rw-r--r--binutils-source/PKGBUILD93
1 files changed, 93 insertions, 0 deletions
diff --git a/binutils-source/PKGBUILD b/binutils-source/PKGBUILD
new file mode 100644
index 0000000..6e38917
--- /dev/null
+++ b/binutils-source/PKGBUILD
@@ -0,0 +1,93 @@
+# Contributor: Wojtek Kosior <kwojtus@protonmail.com>
+
+# Loosely based on Hyperbola's binutils package
+
+pkgname=binutils-source
+_pkgver=2.28
+pkgver=${_pkgver}.0
+_debrel=5
+pkgrel=1
+pkgdesc="Source of a set of programs to assemble and manipulate binary and object files"
+arch=('any')
+url="https://www.gnu.org/software/binutils/"
+license=('GPL-3' 'LGPL-3')
+depends=('quilt')
+source=(https://ftp.gnu.org/gnu/binutils/binutils-$_pkgver.tar.bz2{,.sig}
+ https://deb.debian.org/debian/pool/main/b/binutils/binutils_$_pkgver-$_debrel.diff.gz)
+validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93') # Tristan Gingold <gingold@adacore.com>
+sha512sums=('ede2e4e59a800260eea8c14eafbaee94e30abadafd5c419a3370f9f62213cf027d6400a1d4970b6958bd4d220e675dcd483a708107016e7abd5c99d7392ba8fd'
+ 'SKIP'
+ '77933ab9543db3ad9640f737d4cd688ddc9da7b91d72fe0f18f9f3457a499e31ca9b27674790e00b5e7c29c85a5ec4fd09ed58de92ca0a8622422886d20a6add')
+
+noextract=(binutils-$_pkgver.tar.bz2)
+
+# Many patches fail to apply. These are the files that work. We'll only use them.
+_desired_patch_files=(001_ld_makefile_patch.patch
+ 006_better_file_error.patch
+ 012_check_ldrunpath_length.patch
+ 013_bash_in_ld_testsuite.patch
+ 128_build_id.patch
+ 130_gold_disable_testsuite_build.patch
+ 131_ld_bootstrap_testsuite.patch
+ 157_ar_scripts_with_tilde.patch
+ i18n-fr.diff
+ pr21074-revert.diff
+ pr21135.diff
+ pr21137.diff
+ pr21139.diff
+ pr21156.diff
+ pr21157.diff
+ pr21342.diff
+ pr21412.diff
+ pr21414.diff
+ pr21431.diff
+ pr21432.diff
+ pr21434.diff
+ pr21438.diff
+ pr21440.diff
+ pr70909.diff
+ pr-ld-16428.diff
+ series)
+
+prepare() {
+ cd "${srcdir}"
+
+ # this command creates, among all, the directory debian/patches and fills it
+ patch -p1 -i binutils_$_pkgver-$_debrel.diff
+
+ # Patches and 'series' file will go to /usr/src/binutils/debian_patches.
+ # We're not interested in rest of the stuff in debian/.
+
+ # here we create script to be used for unpacking binutils sources we'll install
+
+ echo "\
+#!/bin/sh
+
+mkdir -p \"\$1\" && cd \"\$1\"
+
+bsdtar -xf /usr/src/binutils/binutils-$_pkgver.tar.bz2
+
+export QUILT_PATCHES=/usr/src/binutils/debian_patches
+export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+export QUILT_DIFF_ARGS='--no-timestamps'
+
+cd binutils-${_pkgver}
+
+quilt push -av
+rm -r .pc/" > prepare-binutils-source
+}
+
+package () {
+ install -m755 -d "${pkgdir}/usr/src/binutils/debian_patches/"
+
+ # install patches
+ cd "${srcdir}/debian/patches"
+ install -m644 ${_desired_patch_files[@]} "${pkgdir}/usr/src/binutils/debian_patches"
+
+ # install tarballs
+ install -m644 "${srcdir}/binutils-$_pkgver.tar.bz2" "${pkgdir}/usr/src/binutils"
+
+ # install our script
+ install -m755 -d "${pkgdir}/usr/bin"
+ install -m755 "${srcdir}/prepare-binutils-source" "${pkgdir}/usr/bin"
+}