Re-including everyone in the conversation: Pierre Neidhardt writes: >> > Otherwise I'll just go with the first method and patch the IPFS source to use >> > the local dependencies. >> >> Also fine. > > Hmm, on second thought, I'm not so sure. It's a slippery slope and in the long > run, I doubt we could easily make sure the Guix packaged dep corresponds to the > IPFS-path dep in the source. > > There is a conversation upstream: > > https://github.com/ipfs/go-ipfs/issues/5054 > > To quote one of the developers: > >> > We need to build IPFS downstream in Debian from reusable packaged libraries. >> Don't do that. We havent tested and verified ipfs with those dependencies. We >> have tested and verified ipfs with exactly the dependencies that we ship it >> with. Building ipfs with other dependencies is just begging for something to >> go wrong that will be super annoying for me to have to debug. If debian starts >> shipping an ipfs built with dependencies of their choosing, my response to any >> bug report from a debian user will be "please use a version of ipfs compiled >> from canonical source" > > So I think the best idea at the moment is to write a gx-fetcher. > It could look like the following: > > --8<---------------cut here---------------start------------->8--- > (define-public ipfs-go-ipfs-config > (let ((ipfs-hash "QmSoYrBMibm2T3LupaLuez7LPGnyrJwdRxvTfPUyCp691u")) > (package > (name "ipfs-go-ipfs-config") > (version (gx-version "0.2.13" revision ipfs-hash)) > (source > (origin > (method gx-fetch) > (uri (gx-reference ipfs-hash)) > (file-name (gx-file-name name version)) > (sha256 > (base32 > "0qk6fshgdmhp8dip2ksm13j6nywi41m9mn0czkvmw6b697z85l2r")))) > (build-system go-build-system) > (arguments > '(#:unpack-path (string-append "gx/ipfs/" ipfs-hash "/go-ipfs-config") > #:import-path (string-append "gx/ipfs/" ipfs-hash "/go-ipfs-config"))) > (home-page > "https://github.com/ipfs/go-ipfs-config") > (synopsis "...") > (description "...") > (license license:expat)))) > --8<---------------cut here---------------end--------------->8--- > > What about a gx-build-system? It would inherit from go-build-system and > automate the (string-append "gx/ipfs" ...) part. Don't know if it's worth it. -- Pierre Neidhardt https://ambrevar.xyz/