From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyPNx-0007NF-B7 for guix-patches@gnu.org; Wed, 12 Apr 2017 17:01:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyPNu-0001Zb-7q for guix-patches@gnu.org; Wed, 12 Apr 2017 17:01:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:46632) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cyPNu-0001Z3-4y for guix-patches@gnu.org; Wed, 12 Apr 2017 17:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cyPNt-0005rv-OI for guix-patches@gnu.org; Wed, 12 Apr 2017 17:01:01 -0400 Subject: bug#25799: [PATCH] gnu: add basic support for "alpha-linux" system Resent-Message-ID: Date: Wed, 12 Apr 2017 21:59:44 +0100 From: Sergei Trofimovich Message-ID: <20170412215944.3fa356d1@sf> In-Reply-To: <87shmnn9ct.fsf@gnu.org> References: <20170219193158.4060-1-slyfox@inbox.ru> <878tojiqpm.fsf@openmailbox.org> <20170307223814.0cb630e3@sf> <87d1dsbo6u.fsf@openmailbox.org> <87shmnn9ct.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/FnGhjUtQ/YTWrIXa3QqNMFv"; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Kei Kebreau Cc: 25799@debbugs.gnu.org --Sig_/FnGhjUtQ/YTWrIXa3QqNMFv Content-Type: multipart/mixed; boundary="MP_/ytzwZJOUvpUl_Yjv3wZJDfE" --MP_/ytzwZJOUvpUl_Yjv3wZJDfE Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wed, 08 Mar 2017 15:14:58 +0100 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Kei Kebreau skribis: >=20 > > Sergei Trofimovich writes: =20 >=20 > [...] >=20 > >> This is how we tweak libffi in gentoo (guix-friendly patch): > >> http://code.haskell.org/~slyfox/0001-gnu-libffi-apply-alpha-build-= fix.patch.txt > >> > >> Upstream fixed libffi in a more invasive way a few years ago: > >> =20 > >> git master passes build/test on alpha but didn't cut a release yet. =20 > > > > Great! That's good to know. Libffi for alpha builds fine for me with > > this patch, =20 >=20 > Excellent. That=E2=80=99s another patch to schedule for the next > =E2=80=98core-updates=E2=80=99. I've heard core-updates were merged to master. Congratulations! Fixed minor collision against today's master in both patches. Attached updated patches as: 0001-gnu-add-basic-support-for-alpha-linux-system.patch 0001-gnu-libffi-apply-alpha-build-fix.patch --=20 Sergei --MP_/ytzwZJOUvpUl_Yjv3wZJDfE Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-gnu-add-basic-support-for-alpha-linux-system.patch =46rom fb53ef5d023624dc06de013d4a135bcec979a4cf Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 19 Feb 2017 19:21:06 +0000 Subject: [PATCH] gnu: add basic support for "alpha-linux" system This change allows cross-building packages by just using --target=3Dalpha-unknown-linux-gnu re2c: $ ./pre-inst-env guix build --target=3Dalpha-unknown-linux-gnu re2c $ file /gnu/store/p1z9iszzb4ng0vzc535sc2ha33ax24l6-re2c-0.16/bin/re2c /gnu/store/p1z9iszzb4ng0vzc535sc2ha33ax24l6-re2c-0.16/bin/re2c: \ ELF 64-bit LSB executable, Alpha (unofficial), version 1 (SYSV), dynami= cally linked, \ interpreter /gnu/store/0z5d6z3hh41w7z5g2g82zlnwgpbj0i1a-glibc-cross-alp= ha-unknown-linux-gnu-2.24/lib/ld-linux.so.2, \ for GNU/Linux 3.2.0, not stripped gcc for alpha uses 'GLIBC_DYNAMIC_LINKER"/lib/ld-linux.so.2"' * gnu/packages/gcc.scm (gcc-4.7): fix GLIBC_DYNAMIC_LINKER substitution whe= n delimiter is a tab Signed-off-by: Sergei Trofimovich --- gnu/packages/gcc.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 00e2fa7d6..0fdb5ca9b 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -213,7 +213,7 @@ where the OS part is overloaded to denote a specific AB= I---into GCC ;; Fix the dynamic linker's file name. (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi= )?\\.h$") - (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$" + (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" _ gnu-user suffix) (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" gnu-user suffix --=20 2.12.2 --MP_/ytzwZJOUvpUl_Yjv3wZJDfE Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-gnu-libffi-apply-alpha-build-fix.patch =46rom 5d31bb14ce6aaecfaf022616e538470036916cef Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 6 Mar 2017 22:21:43 +0000 Subject: [PATCH] gnu: libffi: apply alpha build fix * gnu/packages/patches/libffi-3.2.1-complex_alpha.patch: new file * gnu/local.mk (dist_patch_DATA): add patch * gnu/packages/libffi.scm (libffi): apply Gentoo patch to fix alpha build --- gnu/local.mk | 1 + gnu/packages/libffi.scm | 3 ++- .../patches/libffi-3.2.1-complex_alpha.patch | 27 ++++++++++++++++++= ++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libffi-3.2.1-complex_alpha.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0f3b4bd7a..83761b6d0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -695,6 +695,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/libevent-2.1-skip-failing-test.patch \ %D%/packages/patches/libextractor-ffmpeg-3.patch \ %D%/packages/patches/libgit2-use-after-free.patch \ + %D%/packages/patches/libffi-3.2.1-complex_alpha.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/liboop-mips64-deplibs-fix.patch \ diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index 13938f7ee..14edc6d4d 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -42,7 +42,8 @@ name "-" version ".tar.gz")) (sha256 (base32 - "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh")))) + "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh")) + (patches (search-patches "libffi-3.2.1-complex_alpha.patch"))= )) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-after 'install 'post-install ,post-install-phase diff --git a/gnu/packages/patches/libffi-3.2.1-complex_alpha.patch b/gnu/pa= ckages/patches/libffi-3.2.1-complex_alpha.patch new file mode 100644 index 000000000..5b7095bfd --- /dev/null +++ b/gnu/packages/patches/libffi-3.2.1-complex_alpha.patch @@ -0,0 +1,27 @@ +The patch fixes build failure of form: + ../src/alpha/osf.S:298:2: error: #error "osf.S out of sync with ffi.h" +Upstream fixed the bug in a more invasive way +but didn't have releases since 3.2.1. + +The patch is taken from Gentoo: +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libffi/files/libff= i-3.2.1-complex_alpha.patch +--- libffi-3.2.1/src/alpha/osf.S.orig 2015-01-16 10:46:15.000000000 +0100 ++++ libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100 +@@ -279,6 +279,7 @@ + .gprel32 $load_64 # FFI_TYPE_SINT64 + .gprel32 $load_none # FFI_TYPE_STRUCT + .gprel32 $load_64 # FFI_TYPE_POINTER ++ .gprel32 $load_none # FFI_TYPE_COMPLEX +=20 + /* Assert that the table above is in sync with ffi.h. */ +=20 +@@ -294,7 +295,8 @@ + || FFI_TYPE_SINT64 !=3D 12 \ + || FFI_TYPE_STRUCT !=3D 13 \ + || FFI_TYPE_POINTER !=3D 14 \ +- || FFI_TYPE_LAST !=3D 14 ++ || FFI_TYPE_COMPLEX !=3D 15 \ ++ || FFI_TYPE_LAST !=3D 15 + #error "osf.S out of sync with ffi.h" + #endif +=20 --=20 2.12.2 --MP_/ytzwZJOUvpUl_Yjv3wZJDfE-- --Sig_/FnGhjUtQ/YTWrIXa3QqNMFv Content-Type: application/pgp-signature Content-Description: Цифровая подпись OpenPGP -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQSZKa0VG5avZRlY01hxoe52YR/zqgUCWO6VQAAKCRBxoe52YR/z qmN+AJwLwVnIE9rUig0jVCjTOnXSQ9fmJACeKadv4JAuuEdZf6vQpB0MRnPx/LM= =Nz76 -----END PGP SIGNATURE----- --Sig_/FnGhjUtQ/YTWrIXa3QqNMFv--