Hello Emmanuel,
On 14/05/2020 09:50, Emmanuel Medernach wrote:
I have an error when trying to build a package, the following
gnu packages derivation does not compile:
# guix build -e '(@ (gnu packages boost) boost-for-mysql)'
I'm reproducing the problem, I tried to use boost instead of
boost-for-mysql in the mysql package, but is still requires boost
1.59.0, which is not building.
First because execunix.c got translated into C++, in a later version of
boost, so the guix recipe to build it changed, see:
02fef9619bd96086aa9255ffb0944d4cda617c84
But boost-for-mysql inherits that configure phase, whereas it still has
the c version of that file.
And second, if you fix^Whack that, then you get a compilation error on
some const * being used as non-const *.
Here is that whitespace-damaged hack:
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 2f2ca289ab..a9b463ca92 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -122,7 +124,7 @@
(out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
- "tools/build/src/engine/execunix.cpp"
+ "tools/build/src/engine/execunix.c"
"tools/build/src/engine/Jambase")
(("/bin/sh") (which "sh")))
I don't know how to fix that properly, maybe copy/paste the whole
(arguments ...) from boost into boost-for-mysql, but that does not
look right.
--
Vincent Legoll