gnu: hop: Remove use of patchelf.
* gnu/packages/patches/hop-linker-flags.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/scheme.scm (source)[patches]: Use it. (arguments)[phases]: Remove patch-rpath phase. [modules, imported-modules]: Remove. (native-inputs): Remove field.master
parent
366553e447
commit
76071c70fc
|
@ -449,6 +449,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/guix-test-networking.patch \
|
||||
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
gnu/packages/patches/hop-bigloo-4.0b.patch \
|
||||
gnu/packages/patches/hop-linker-flags.patch \
|
||||
gnu/packages/patches/inetutils-syslogd.patch \
|
||||
gnu/packages/patches/irrlicht-mesa-10.patch \
|
||||
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
Make hop's link rules honor flags set by the --blflags configure argument.
|
||||
|
||||
--- hop-2.4.0/src/Makefile 2015-05-05 19:41:04.800151036 -0500
|
||||
+++ hop-2.4.0/src/Makefile 2015-05-05 19:40:40.916150417 -0500
|
||||
@@ -69,10 +69,10 @@
|
||||
$(MAKE) link.$(LINK) DEST=$@
|
||||
|
||||
link.dynamic:
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$(DEST))
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$(DEST))
|
||||
|
||||
link.static:
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),-static-all-bigloo $(OBJECTS),-o,$(DEST))
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),-static-all-bigloo $(OBJECTS),-o,$(DEST))
|
||||
|
||||
link.library:
|
||||
echo "***ERROR: link.library not currently supported!"
|
||||
--- hop-2.4.0/hopc/Makefile 2013-01-30 07:17:59.000000000 -0600
|
||||
+++ hop-2.4.0/hopc/Makefile 2015-05-05 19:45:21.876157699 -0500
|
||||
@@ -62,7 +62,7 @@
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),,$(OBJECTS),-o,$@)
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
|
||||
$(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
|
||||
--- hop-2.4.0/hophz/Makefile 2013-01-30 07:17:59.000000000 -0600
|
||||
+++ hop-2.4.0/hophz/Makefile 2015-05-05 19:59:42.996180030 -0500
|
||||
@@ -16,9 +16,6 @@
|
||||
-include ../etc/Makefile.hopconfig
|
||||
-include ../etc/Makefile.version
|
||||
|
||||
-BLFLAGS =
|
||||
-BLINKFLAGS = -suffix hop
|
||||
-
|
||||
#*---------------------------------------------------------------------*/
|
||||
#* Target and Project */
|
||||
#*---------------------------------------------------------------------*/
|
||||
@@ -72,7 +69,7 @@
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BLINKFLAGS),$(OBJECTS),-o,$@)
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
|
||||
@ $(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
|
||||
--- hop-2.4.0/hopsh/Makefile 2013-01-30 07:17:59.000000000 -0600
|
||||
+++ hop-2.4.0/hopsh/Makefile 2015-05-05 19:46:36.060159626 -0500
|
||||
@@ -60,7 +60,7 @@
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
|
||||
@ $(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
|
|
@ -29,7 +29,6 @@
|
|||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages avahi)
|
||||
|
@ -235,39 +234,25 @@ Scheme and C programs and between Scheme and Java programs.")
|
|||
(sha256
|
||||
(base32
|
||||
"1v2r4ga58kk1sx0frn8qa8ccmjpic9csqzpk499wc95y9c4b1wy3"))
|
||||
(patches (list (search-patch "hop-bigloo-4.0b.patch")))))
|
||||
(patches (list (search-patch "hop-bigloo-4.0b.patch")
|
||||
(search-patch "hop-linker-flags.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)))))
|
||||
(alist-cons-after
|
||||
'strip 'patch-rpath
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Add $out/lib to the RPATH of every installed library and
|
||||
;; executable. Note that "patchelf --set-rpath" produces invalid
|
||||
;; binaries when used before stripping.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(with-directory-excursion out
|
||||
(every (cut augment-rpath <> lib)
|
||||
(append (find-files "bin" ".*")
|
||||
(find-files "lib" "\\.so$"))))))
|
||||
%standard-phases))
|
||||
#:tests? #f ; no test suite
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath)
|
||||
(srfi srfi-26)
|
||||
(srfi srfi-1))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build rpath))))
|
||||
(native-inputs `(("patchelf" ,patchelf)))
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--blflags="
|
||||
;; user flags completely override useful
|
||||
;; default flags, so repeat them here.
|
||||
"-copt \\$(CPICFLAGS) -L\\$(BUILDLIBDIR) "
|
||||
"-ldopt -Wl,-rpath," out "/lib")))))
|
||||
%standard-phases)
|
||||
#:tests? #f)) ; no test suite
|
||||
(inputs `(("bigloo" ,bigloo)
|
||||
("which" ,which)))
|
||||
(home-page "http://hop.inria.fr/")
|
||||
|
|
Reference in New Issue