2018-05-11 10:19 GMT+02:00 Ricardo Wurmus <rek...@elephly.net>: > > Ludovic Courtès <ludovic.cour...@inria.fr> writes: > > > Perhaps we could add to Autoconf-Archive (if it doesn’t have such things > > already) macros to deal with the R and Python stuff you had to deal > > with? And then publish a simple template that people could use as a > > starting point. > > I submitted my macros for R packages (and they have been accepted), but > I actually don’t really like them because they are not as useful as it > may seem. While they do check for R packages in the environment at > configure time, nothing is done to record the environment necessary to > access these packages. > > That’s a general problem for software that depends on search path > environment variables. I can’t just record the location of each > individual R package that was detected and use that to set up the > environment at runtime. The R packages have other runtime dependencies > that would also need to be recorded. > > It’s not ideal. > > -- > Ricardo > > >
Ricardo, I don't understand the problem you're raising here (I didn't read the article yet, though) Would you mind to elaborate on that ? Why would you want to record the environment ? I have this tiny prototype that checks for the availability of the Guile module "sqlite3" at configure time and writes this csexp ( https://gitlab.com/dustyweb/guile-csexps ) in a file (7:sqlite32:no) (7:sqlite33:yes) The first line is produced in an environment in which sqlite3 is not available The second one is produced in an environment in which sqlite3 is, well guess what, available I produce such environments with the Guix "environment" command I think csexps are cool because they are readable to humans A user creating their pipeline can easily inspect the result of the configuration phase They could even paste excerpts of text on mailing lists, should they want to ask for help In my idea a build tool doesn't attempt at managing an environment You could have sqlite3 because you set up a Guix environment, or because you installed it with apt-get or dnf or manually The build tool only worries about the availabilty, not how it's achieved If every dependency is available (anyhow) it just builds Because building and package management are supposed to be differrent concerns. If you have Guix, fine. If you haven't Guix, then you're on your own, if you can manage, fine This should address your concern to let people treat their pipelines as packages Doesn't it ? Is this approach not enough for you ? May I ask why ? For now it only tests Guile modules but it could be obviously generalized to test for more things (libs versions, data structures availability, along the lines of what Autoconf does) I'd love to be able to set up my (Guile) packages without having to deal with the Autotools 😯