goodoldpaul@autistici.org writes: > Hello I'm opening another thread ( old one was > http://issues.guix.gnu.org/issue/38128 ) to build boost in core-updates > with python3. The new patch also parameterizes python versions across > the package definition. > > WDYT? > > Bye, > > Giacomo > > -------- Original Message -------- > Subject: Re: bug#38128: [PATCH] gnu: Add boost-with-python3 > Date: 2019-11-12 00:06 > From: goodoldpaul@autistici.org > To: Efraim Flashner > Cc: 38128@debbugs.gnu.org, mbakke@fastmail.com > > On 2019-11-11 09:36, Efraim Flashner wrote: >> I'm going to re-open this one, sorry. >> >> Can we replace the '--with-python-version=3.7' and >> 'libboost_python37.so' >> with parameterized python variables so we don't have to bump it when we >> get a new python version? >> >> Also, I've attached a package that I've never actually built that uses >> boost built with python3 if you want something to test it out with :) > > I'm not sure how to send a patch for core-updates, I never did it so I > attached it here. Please tell me if I should open another patch. Excellent. Here is fine. :-) Note that 'boost-with-python3' has already been merged to core-updates. What we need now is 1) a patch that makes these adjustments to 'boost-with-python3', and 2) a follow-up patch that removes boost-with-python3 and adjusts the original 'boost' package instead. The latter will be applied to core-updates after the first patch gets merged, but you can make (and test :-)) both patches on a local checkout of the 'master' branch. > The patch builds boost with python3 and parameterizes the python > version, as Efraim suggested. I built it successfully on core updates. > When I tried building Epour on core-updates and saw that Guix was > starting to build Bash 5.0 I renounced (:D) and I built it on master > with boost-with-python3 . In general, working on the 'core-updates' branch requires a fairly powerful computer (and lots of time), sorry about that! > Libtorrent-rasterbar seems to build fine on master but some tests fail > to pass and they all seem to be network related but then again this is > torrent we are talking about. I didn't investigate further but I attach > the log. Strange. I suppose these tests are not run when using Boost + Python 2? In any case we don't have to worry about that just yet ;-) > I also tried boost-with-python3 with Malmo ( > https://github.com/microsoft/malmo ) and it seemed to compile fine just > but that package has other problems such as trying to start gradle so I > nerver managed to actually run it. Cool. Packaging 'gradle' should be a rewarding experience that makes many people very happy, if you would like a challenge. ;-) > From 91a25fb143ad0e2e20e8ddadea0c0610849adf92 Mon Sep 17 00:00:00 2001 > From: Giacomo Leidi > Date: Tue, 12 Nov 2019 00:24:49 +0100 > Subject: [PATCH] gnu: boost: Build with python3. > > * gnu/packages/boost.scm (boost): > [arguments]: Parameterize python version. > [native-inputs]: Use python3. [...] > (arguments > - `(#:tests? #f > + `(#:modules ((guix build gnu-build-system) > + (guix build utils) > + (srfi srfi-1)) If you add (guix build python-build-system) in there ... > (replace 'configure > (lambda* (#:key inputs outputs #:allow-other-keys) > (let ((icu (assoc-ref inputs "icu4c")) > + (python (assoc-ref inputs "python")) > + (python-version > + (take (string-split ,(package-version python) #\.) 2)) ... then you can use (python-version (python-version python)) here and below. > + (substitute* "tools/build/src/tools/python.jam" > + (("include/python\\$\\(version\\)") > + "include/python$(version)m")) I wonder why we have to add the 'm'? Will that work with Python 2? Otherwise LGTM. For 'core-updates', it would be really great to add a 'python2' output to Boost in case there are packages that do not work with libboost_python3.so, but I'm not sure how to achieve that. Future problems! :-)