guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Re: Guix & IPFS


From: Pierre Neidhardt
Subject: Fwd: Re: Guix & IPFS
Date: Tue, 16 Oct 2018 12:19:01 +0200
User-agent: mu4e 1.0; emacs 26.1

Re-including everyone in the conversation:

Pierre Neidhardt <address@hidden> 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/

Attachment: signature.asc
Description: PGP signature

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]