This is now Trac#21767 <https://trac.sagemath.org/ticket/21767>. The unconditional installation works okay on top of 7.5beta0.
The conditional installation can probably be obtained with this bash snippet, at the top of spkg-install : ## Installation de curl... ## Look for a systemwide installation LibExists=no if $(pkg-config --exists libcurl) ; then LibExists=yes echo A systemwide version of libcurl exists. Testing it. else echo "No systemwide curl installation (or not using pkg-config)." fi ## Systemwide installation version check VersOK=no if test $LibExists = yes ; then if ! test "7.28.0" ">" $(pkg-config --modversion libcurl) ; then echo Systemwide installation of libcurl is enough to support R. VersOK=yes else echo Systemwide version of libcurl too old to support our R. fi fi ## Checking for a systemwide executable ExecOK=no if test $VersOK = yes ; then if test X$(which curl)X = XX ; then echo No systemwide curl executable in PATH. else echo Systemwide curl executable found. ExecOK=yes fi fi if test $ExecOK = yes ; then echo No local installation required. exit 0 else echo Starting curl installation... fi The same tachnique can probably been used for xz. pcre will need a supplemental step (checking configuration). What do you think ? -- Emmanuel Charpentier Le mardi 25 octobre 2016 11:15:56 UTC+2, Jean-Pierre Flori a écrit : > > > > On Tuesday, October 25, 2016 at 11:11:38 AM UTC+2, Jean-Pierre Flori wrote: >> >> >> >> On Tuesday, October 25, 2016 at 12:48:39 AM UTC+2, Dima Pasechnik wrote: >>> >>> >>> >>> On Monday, October 24, 2016 at 9:45:18 PM UTC, Emmanuel Charpentier >>> wrote: >>>> >>>> Okay. I I have followed you correctly, we have two (mutually >>>> incompatible) options : >>>> >>>> >>>> - (Dima's option) : package curl, pcre and xz as standard packages, >>>> and make R depend on them (unconditionnally). >>>> - (Jean-Pierre option) : add tjem to Sage's core, but build them if >>>> and only if they are not installed systemwide (= useable at Sage's >>>> compile >>>> time) ; do this before trying to build R. >>>> >>>> The first option is extremely simple and failsafe. The cost is about 15 >>>> MB (sum of all installed files in a temporary "prefix" directory, without >>>> shaving anything) and about 3 minutes of compilation time (no parallelism >>>> used). We might shave 4,9 MB of docs (local/share/(doc|man). Binaries are >>>> about 0.9MB. The total potential cots (sum of sizes of the three build >>>> directories) is 89 MB (= potential cost if the three build directories ate >>>> kept after building i. e. for debugging purposes). >>>> >>> >>> I don't really follow you: note that gcc is also a standard package, but >>> it only really gets installed if the system gcc is >>> not good enough. That is to say, if curl, pcre, and xz are available >>> system-wide, Sage should not try to install them, >>> no megabytes used... >>> >> I don't think the real issue is megabytes, but rather making sage more >> modular and easier to ship into distributions (other than sage-the-distrib). >> >> >>> >>> >>>> >>>> The second one requires hacking the main Sage configuration. I do not >>>> feel currently quite at ease with this one, but I'm just reading the >>>> relevant docs. I have no idea of the potential costs, save for what can be >>>> deduced from the costs of Dima's options. >>>> >>>> The first option is compatible with the "batteries included" philosophy >>>> flaunted by Sage. are the potential 10-15 MB savings worth of hacking the >>>> main Sage config file ? >>>> >>> You can already add them as standard packages and then we can work on >> making them installed only if not available system-wide. >> These two steps can be done sequentially though it would be better to get >> the two of them at the same time. >> > If you open a tcket with the first step, I'll do the second one, and > Jeroen or someone else can review it. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.