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.
This commit is contained in:
Eric Bavier 2015-05-05 20:21:38 -05:00
parent 366553e447
commit 76071c70fc
3 changed files with 72 additions and 26 deletions

View File

@ -449,6 +449,7 @@ dist_patch_DATA = \
gnu/packages/patches/guix-test-networking.patch \ gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.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/inetutils-syslogd.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \

View File

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

View File

@ -29,7 +29,6 @@
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages elf)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
@ -235,39 +234,25 @@ Scheme and C programs and between Scheme and Java programs.")
(sha256 (sha256
(base32 (base32
"1v2r4ga58kk1sx0frn8qa8ccmjpic9csqzpk499wc95y9c4b1wy3")) "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) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
(alist-replace (alist-replace
'configure 'configure
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(zero? (zero?
(system* "./configure" (system* "./configure"
(string-append "--prefix=" out))))) (string-append "--prefix=" out)
(alist-cons-after (string-append "--blflags="
'strip 'patch-rpath ;; user flags completely override useful
(lambda* (#:key outputs #:allow-other-keys) ;; default flags, so repeat them here.
;; Add $out/lib to the RPATH of every installed library and "-copt \\$(CPICFLAGS) -L\\$(BUILDLIBDIR) "
;; executable. Note that "patchelf --set-rpath" produces invalid "-ldopt -Wl,-rpath," out "/lib")))))
;; binaries when used before stripping. %standard-phases)
(let* ((out (assoc-ref outputs "out")) #:tests? #f)) ; no test suite
(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)))
(inputs `(("bigloo" ,bigloo) (inputs `(("bigloo" ,bigloo)
("which" ,which))) ("which" ,which)))
(home-page "http://hop.inria.fr/") (home-page "http://hop.inria.fr/")