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.
master
Eric Bavier 2017-12-14 17:03:58 -06:00 committed by Eric Bavier
parent 17e1e21603
commit 007c75f56f
No known key found for this signature in database
GPG Key ID: FD73CAC719D32566
3 changed files with 31 additions and 10 deletions

View File

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

View File

@ -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 .*")

View File

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