diff options
author | Timothy Sample <samplet@ngyro.com> | 2020-08-19 23:44:59 -0400 |
---|---|---|
committer | Timothy Sample <samplet@ngyro.com> | 2020-08-19 23:58:47 -0400 |
commit | 8d06906017901822c9186a6885f85bcd8cd97467 (patch) | |
tree | d9694e5db69851ddce205dcb1b04412732afb987 | |
parent | 856def7bb3b4af85a1325bc732e81d705156a482 (diff) | |
download | guix-8d06906017901822c9186a6885f85bcd8cd97467.tar.gz guix-8d06906017901822c9186a6885f85bcd8cd97467.zip |
gnu: agda: Adjust for using shared libraries.
See also 9e5496e0ae0ee8f638ca93949ecca314fdb9251e.
* gnu/packages/agda.scm (agda)[arguments]: Add a phase that sets
'LD_LIBRARY_PATH'; update the 'configure' phase to match the current
Haskell build system code.
-rw-r--r-- | gnu/packages/agda.scm | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm index 98768c668a..7b0cdd0d89 100644 --- a/gnu/packages/agda.scm +++ b/gnu/packages/agda.scm @@ -79,6 +79,11 @@ (ice-9 match)) #:phases (modify-phases %standard-phases + ;; This allows us to call the 'agda' binary before installing. + (add-after 'unpack 'set-ld-library-path + (lambda _ + (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build")) + #t)) ;; FIXME: This is a copy of the standard configure phase with a tiny ;; difference: this package needs the -package-db flag to be passed ;; to "runhaskell" in addition to the "configure" action, because @@ -90,30 +95,25 @@ #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (name-version (strip-store-file-name out)) - (input-dirs (match inputs - (((_ . dir) ...) - dir) - (_ '()))) (ghc-path (getenv "GHC_PACKAGE_PATH")) - (params (append `(,(string-append "--prefix=" out)) - `(,(string-append "--libdir=" out "/lib")) - `(,(string-append "--bindir=" out "/bin")) - `(,(string-append - "--docdir=" out - "/share/doc/" name-version)) - '("--libsubdir=$compiler/$pkg-$version") - '("--package-db=../package.conf.d") - '("--global") - `(,@(map - (cut string-append "--extra-include-dirs=" <>) - (search-path-as-list '("include") input-dirs))) - `(,@(map - (cut string-append "--extra-lib-dirs=" <>) - (search-path-as-list '("lib") input-dirs))) - (if tests? - '("--enable-tests") - '()) - configure-flags))) + (params + `(,(string-append "--prefix=" out) + ,(string-append "--libdir=" out "/lib") + ,(string-append "--docdir=" out + "/share/doc/" name-version) + "--libsubdir=$compiler/$pkg-$version" + "--package-db=../package.conf.d" + "--global" + ,@(if tests? + '("--enable-tests") + '()) + ;; Build and link with shared libraries + "--enable-shared" + "--enable-executable-dynamic" + "--ghc-option=-fPIC" + ,(string-append "--ghc-option=-optl=-Wl,-rpath=" out + "/lib/$compiler/$pkg-$version") + ,@configure-flags))) (unsetenv "GHC_PACKAGE_PATH") (apply invoke "runhaskell" "-package-db=../package.conf.d" "Setup.hs" "configure" params) |