~ruther/guix-local

ce7e361fa30d3dbe5c1da35f52dade2eb829aed7 — Efraim Flashner 8 years ago 0545e43
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.
3 files changed, 56 insertions(+), 8 deletions(-)

M gnu/local.mk
M gnu/packages/bioinformatics.scm
A gnu/packages/patches/gemma-intel-compat.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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		\

M gnu/packages/bioinformatics.scm => gnu/packages/bioinformatics.scm +11 -8
@@ 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 @@
  #: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)

A gnu/packages/patches/gemma-intel-compat.patch => gnu/packages/patches/gemma-intel-compat.patch +44 -0
@@ 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