help-guix
[Top][All Lists]
Advanced

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

Re: various packaging issues


From: Adonay Felipe Nogueira
Subject: Re: various packaging issues
Date: Thu, 20 Jul 2017 13:01:45 -0300

For the "package with multiple origins" scenario, provided *only one*
package needs the same set of origins, one could do something *similar*
to this:

--8<---------------cut here---------------start------------->8---
(define-public major-package
  (let ((extra-origin
         (let ((extra-origin-release "1.1"))
           (origin ORIGIN-BODY))))
    (package
     (name "major-package")
     (native-inputs
      `(("extra-origin" ,extra-origin)
      PACKAGE-NATIVE-INPUTS-REST))
     PACKAGE-BODY-REST)))               
--8<---------------cut here---------------end--------------->8---

This defines and exports the 'major-package symbol/variable as a public
part of the current module.

Inside 'major-package you have the local 'extra-origin variable/symbol
that is only available to the BODY part of (let ((VARIABLE1 INIT1) ...)
BODY).

I have also inserted another (let ((VARIABLE1 INIT1) ...) BODY) inside
'extra-origin, but if you don't need local varaibles/symbols inside the
'extra-origin, you can simply extract the BODY part of this (let
((VARIABLE1 INIT1) ...) BODY) and discard the rest.

Back to the BODY part of the topmost (let ((VARIABLE1 INIT1) ...) BODY),
I made the 'package definition of 'major-package. And assigned the local
'extra-origin as one of its 'native-inputs (I could have placed it
elsewhere, but I didn't test this example with 'inputs nor with
'propagated-inputs).

About packaging and Scheming: Interesting, I'm not a developer, but I
find the contrary. In fact, nowadays I try to study and code more in
Scheme and Emacs Lisp than in other programing languages, also because
most of the others have limitations. As you also said, it's a matter of
learning and patience, :).

-- 
- [[https://libreplanet.org/wiki/User:Adfeno]]
- Palestrante e consultor sobre /software/ livre (não confundir com
  gratis).
- "WhatsApp"? Ele não é livre, por isso não uso. Iguais a ele prefiro
  GNU Ring, ou Tox. Quer outras formas de contato? Adicione o vCard
  que está no endereço acima aos teus contatos.
- Pretende me enviar arquivos .doc, .ppt, .cdr, ou .mp3? OK, eu
  aceito, mas não repasso. Entrego apenas em formatos favoráveis ao
  /software/ livre. Favor entrar em contato em caso de dúvida.



reply via email to

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