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.
This commit is contained in:
Efraim Flashner 2017-07-04 15:21:33 +03:00
parent 0545e43a91
commit ce7e361fa3
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
3 changed files with 56 additions and 8 deletions

View file

@ -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 \

View file

@ -4,7 +4,7 @@
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;;
@ -99,7 +99,7 @@ (define-module (gnu packages bioinformatics)
#: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 @@ (define-public gemma
(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 @@ (define-public gemma
(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)

View file

@ -0,0 +1,44 @@
From da1ed24209121f7b0f03f360b1029d7125a38e70 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
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