~ruther/guix-local

007c75f56fc48b031c1383c98b6bbb3c1e3c30ad — Eric Bavier 8 years ago 17e1e21
gnu: ao-cad: Update and fix for aarch64.

* gnu/packages/patches/ao-cad-aarch64-support.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/engineering.scm (ao-cad)[source]: Use it.  Update snapshot to
fb288c9.  Use VCS helpers for version and file-name.
[arguments]: Add 'remove-native-compilation' phase.
3 files changed, 31 insertions(+), 10 deletions(-)

M gnu/local.mk
M gnu/packages/engineering.scm
A gnu/packages/patches/ao-cad-aarch64-support.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 539,6 539,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/agg-am_c_prototype.patch			\
  %D%/packages/patches/ansible-wrap-program-hack.patch		\
  %D%/packages/patches/antiword-CVE-2014-8123.patch			\
  %D%/packages/patches/ao-cad-aarch64-support.patch		\
  %D%/packages/patches/apr-skip-getservbyname-test.patch	\
  %D%/packages/patches/aspell-default-dict-dir.patch		\
  %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\

M gnu/packages/engineering.scm => gnu/packages/engineering.scm +12 -10
@@ 559,10 559,11 @@ as well as pick-place files.")
    (license license:gpl2+)))

(define-public ao
  (let ((commit "0bc2354b8dcd1a82a0fd6647706b126045e52734"))
  (let ((commit "fb288c945aa7e30d9be10a564edad7e1b6a6c1ae")
        (revision "1"))
    (package
      (name "ao-cad")            ;XXX: really "ao", but it collides with libao
      (version (string-append "0." (string-take commit 7)))
      (version (git-version "0" revision commit))
      (source (origin
                (method git-fetch)
                (uri (git-reference


@@ 570,8 571,9 @@ as well as pick-place files.")
                      (commit commit)))
                (sha256
                 (base32
                  "0lm7iljklafs8dhlvaab2yhwx4xymrdjrqk9c5xvn59hlvbgl1j5"))
                (file-name (string-append name "-" version "-checkout"))
                  "0syplfqiq7ng7md44yriq5cz41jp8q9z3pl2iwkkllds6p9ylyal"))
                (file-name (git-file-name name version))
                (patches (search-patches "ao-cad-aarch64-support.patch"))
                (modules '((guix build utils)))
                (snippet
                 ;; Remove bundled libraries: Eigen, glm, and catch.  TODO:


@@ 594,6 596,10 @@ as well as pick-place files.")

         #:phases
         (modify-phases %standard-phases
           (add-after 'unpack 'remove-native-compilation
             (lambda _
               (substitute* "CMakeLists.txt" (("-march=native") ""))
               #t))
           (add-before 'build 'add-eigen-to-search-path
             (lambda* (#:key inputs #:allow-other-keys)
               ;; Allow things to find our own Eigen and Catch.


@@ 615,16 621,12 @@ as well as pick-place files.")
                 (with-directory-excursion ,(string-append "../"
                                                           name "-" version
                                                           "-checkout")
                   (substitute* "bind/guile/ao/bind.scm"
                   (substitute* "bind/guile/ao/sys/libao.scm"
                     (("\\(define libao \\(dynamic-link .*$")
                      (string-append "(define libao (dynamic-link \""
                                     out "/lib/libao\")) ;")))

                   (for-each (lambda (file)
                               (install-file file
                                             (string-append moddir
                                                            "/ao")))
                             (find-files "bind/guile" "\\.scm$"))
                   (copy-recursively "bind/guile/ao" (string-append moddir "/ao"))

                   (substitute* "bin/ao-guile"
                     (("\\(add-to-load-path .*")

A gnu/packages/patches/ao-cad-aarch64-support.patch => gnu/packages/patches/ao-cad-aarch64-support.patch +18 -0
@@ 0,0 1,18 @@
Support in ao-cad for aarch64.

Submitted upstream at https://github.com/mkeeter/ao/issues/69

--- ao/ui/vendor/efsw/src/efsw/inotify-nosys.h.orig	2017-12-14 16:27:16.125871099 -0600
+++ ao/ui/vendor/efsw/src/efsw/inotify-nosys.h	2017-12-14 16:26:39.786022981 -0600
@@ -69,6 +69,11 @@
 # define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317)
 # define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318)
 
+#elif defined (__aarch64__)
+# define __NR_inotify_init 1043
+# define __NR_inotify_add_watch 27
+# define __NR_inotify_rm_watch 28
+
 #elif defined (__frv__)
 # define __NR_inotify_init 291
 # define __NR_inotify_add_watch 292