From ce7e361fa30d3dbe5c1da35f52dade2eb829aed7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 4 Jul 2017 15:21:33 +0300 Subject: [PATCH] gnu: gemma: Fix building on non-Intel architectures. * gnu/packages/patches/gemma-intel-compat.patch: New file. * gnu/packages/bioinformatics.scm (gemma)[source]: Add patch. [arguments]: Add NO_INTEL_COMPAT flag on non-Intel architectures. * gnu/local.mk (dist_patch_DATA): Register patch. --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 19 ++++---- gnu/packages/patches/gemma-intel-compat.patch | 44 +++++++++++++++++++ 3 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/gemma-intel-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index ecd80acda5..8dbce7c052 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -622,6 +622,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-freetype-test-failure.patch \ %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ + %D%/packages/patches/gemma-intel-compat.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghostscript-CVE-2013-5653.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 0ff0bbb9e3..55c2975a1e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2016 Pjotr Prins ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2016 Roel Janssen -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2016 Raoul Bonnal ;;; @@ -99,7 +99,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26)) + #:use-module (ice-9 match)) (define-public r-ape (package @@ -2719,7 +2719,8 @@ comment or quality sections.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "055ynn16gd12pf78n4vr2a9jlwsbwzajpdnf2y2yilg1krfff222")))) + "055ynn16gd12pf78n4vr2a9jlwsbwzajpdnf2y2yilg1krfff222")) + (patches (search-patches "gemma-intel-compat.patch")))) (inputs `(("gsl" ,gsl) ("lapack" ,lapack) @@ -2727,11 +2728,13 @@ comment or quality sections.") (build-system gnu-build-system) (arguments `(#:make-flags - '(,@(if (any (cute string-prefix? <> (or (%current-system) - (%current-target-system))) - '("x86_64" "mips64el" "aarch64")) - '("FORCE_DYNAMIC=1") ; use shared libs - '("FORCE_DYNAMIC=1" "FORCE_32BIT=1"))) + '(,@(match (%current-system) + ("x86_64-linux" + '("FORCE_DYNAMIC=1")) + ("i686-linux" + '("FORCE_DYNAMIC=1" "FORCE_32BIT=1")) + (_ + '("FORCE_DYNAMIC=1" "NO_INTEL_COMPAT=1")))) #:phases (modify-phases %standard-phases (delete 'configure) diff --git a/gnu/packages/patches/gemma-intel-compat.patch b/gnu/packages/patches/gemma-intel-compat.patch new file mode 100644 index 0000000000..f12ec56d9b --- /dev/null +++ b/gnu/packages/patches/gemma-intel-compat.patch @@ -0,0 +1,44 @@ +From da1ed24209121f7b0f03f360b1029d7125a38e70 Mon Sep 17 00:00:00 2001 +From: Efraim Flashner +Date: Tue, 4 Jul 2017 12:44:53 +0300 +Subject: [PATCH] Add NO_INTEL_COMPAT flag to Makefile. + +see also: https://github.com/xiangzhou/GEMMA/pull/47 + +--- + Makefile | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 5bb8748..712b1ad 100644 +--- a/Makefile ++++ b/Makefile +@@ -11,6 +11,7 @@ + SYS = LNX + # Leave blank after "=" to disable; put "= 1" to enable + WITH_LAPACK = 1 ++NO_INTEL_COMPAT = + FORCE_32BIT = + FORCE_DYNAMIC = + DIST_NAME = gemma-0.96 +@@ -64,10 +65,13 @@ endif + HDR += $(SRC_DIR)/lapack.h + endif + +-ifdef FORCE_32BIT +- CPPFLAGS += -m32 +-else +- CPPFLAGS += -m64 ++ifdef NO_INTEL_COMPAT ++ else ++ ifdef FORCE_32BIT ++ CPPFLAGS += -m32 ++ else ++ CPPFLAGS += -m64 ++ endif + endif + + ifdef FORCE_DYNAMIC +-- +2.13.2 +