GNU bug report logs -
#64446
[PATCH] gnu: Add bliss.
Previous Next
Full log
Message #8 received at 64446 <at> debbugs.gnu.org (full text, mbox):
Hello,
I have spent quite a long time on this package, trying to simplify your
recipe.
Am Mon, Jul 03, 2023 at 09:21:32PM +0000 schrieb David Elsing:
> + (add-after 'unpack 'fix-string-macro
> + (lambda _
> + (substitute* "bliss.cc"
> + (("\"__DATE__\"") "\" __DATE__ \""))))
This so far is only a warning with newer gcc versions, so we do not really
need it.
> + ;; Move headers under the bliss/ prefix
> + (add-after 'unpack 'move-headers
> + (lambda _
> + (substitute* (find-files "." "\\.(h|hh|cc)$")
> + (("#include \"(.*)\"" all path)
> + (string-append "#include <bliss/" path ">")))
> + (mkdir-p "bliss")
> + (for-each
> + (lambda (file)
> + (rename-file file
> + (string-append "bliss/" (basename file))))
> + (find-files "." "\\.(h|hh)$"))))
All surprising phases need more comments for their rationale.
I added this:
;; Move headers under the bliss/ prefix. This is a Guix choice,
;; since the header names are sufficiently generic to cause
;; confusions with other packages ("heap.hh").
> + (add-after 'move-headers 'disable-gmp
> + (lambda _
> + (substitute* "bliss/bignum.hh"
> + (("defined\\(BLISS_USE_GMP\\)") "0"))))
This looks like it is not needed if using the Makefile.
> + (replace 'build
Here I am not convinced. You end up rewriting the Makefile in Guile.
The Makefile works, but it tries to create a binary "bliss", which
collides with the new file for the headers. This could be solved by
moving the content of the 'move-headers phase between the installation
of the bliss binary (after which it can be deleted) and the installation
of the headers.
Moreover, the Makefile does not create a dynamic, but only a static
library, and your build phase adds a dynamic library. Is this our role
as packagers?
According to the time stamps of the files inside the .zip, the software
dates from 2015 and is apparently unmaintained (otherwise I would have
suggested to get in touch with the developers to improve the Makefile).
So I wonder whether this software meets the quality standards for inclusion
into Guix.
Hm, I just found a new version here:
https://users.aalto.fi/~tjunttil/bliss/index.html :
"Compiling
In Linux and macOS, one can use GNU Make to compile the bliss executable, as well as the static and shared libraries, with (...)"!
And the author is here:
https://users.aalto.fi/~tjunttil/
Would you like to give it another try, David? And maybe discuss with the
author whether they would be willing to implement the bliss/ subdirectory
for the headers? (Given that there are now separate src/ and build/
subdirectories that would be quite easy.) And add an "install" target?
Andreas
This bug report was last modified 1 year and 223 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.