unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Managing a multiple package definition
@ 2022-05-30 14:06 Winter Hound
  2022-05-31 13:52 ` raingloom
  0 siblings, 1 reply; 2+ messages in thread
From: Winter Hound @ 2022-05-30 14:06 UTC (permalink / raw)
  To: help-guix

   Perhaps you may already know this



   ss

   ;; Defining a dummy package that is common to all
   I;; Taking fields that are common.

   Having multiple versions of the same package is convenient. Why isnt
   Guix has similar ? I know there inferior but having multiple versions
   in the same file would benefit right ?

   (You may already know this pattern.)



   ;; Defining a dummy package that is common to all
   ;; Adding fields that are common.
   (define dcnnt-base
    (package
      (name "dcnnt")
      (version #f)
      (source #f)
      (build-system python-build-system)
      (home-page "https://github.com/cyanomiko/dcnnt-py")
      (synopsis "UI-less tool to connect Android phone with desktop")
      (description "UI-less tool to connect Android phone with desktop")
      (license license:expat)))
   ;; Then making a specific versions
   (define-public dcnnt-0.5.0
    (package
      (inherit dcnnt-base)
      (version "0.5.0")
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "dcnnt" version))
         (sha256
          (base32
   "0c3j6ckln0qkk9ak2lb5z99ycpcfzmanhy7jll24sf58m5wc3pic"))))
      (propagated-inputs (list python-pycryptodome))))
   (define-public dcnnt-0.6.0
    (package
      (inherit dcnnt-base)
      (version "0.6.0")
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "dcnnt" version))
         (sha256
          (base32
   "149skjvdzvc9di0q48m7fzs0k4ykykva4armz8jkxjv3c597i1gg"))))
      (propagated-inputs (list python-pycryptodome))))
   ;; Just Package Name points to latest version
   (define-public dcnnt dcnnt-0.7.0)
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;
   ;; Alternative
   (define (dcnnt-base version hash)
    (package
      (name "dcnnt")
      (version version)
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "dcnnt" version))
         (sha256
          (base32 hash))))
      (build-system python-build-system)
      (home-page "https://github.com/cyanomiko/dcnnt-py")
      (synopsis "UI-less tool to connect Android phone with desktop")
      (description "UI-less tool to connect Android phone with desktop")
      (license license:expat)))
   (define-public dcnnt-0.5.0
    (package
      (inherit (dcnnt-base "0.5.0"
   "0c3j6ckln0qkk9ak2lb5z99ycpcfzmanhy7jll24sf58m5wc3pic"))
      (propagated-inputs (list python-pycryptodome))))
   (define-public dcnnt-0.6.0
    (package
      (inherit (dcnnt-base "0.6.0"
   "149skjvdzvc9di0q48m7fzs0k4ykykva4armz8jkxjv3c597i1gg"))
      (propagated-inputs (list python-pycryptodome))))
   (define-public dcnnt dcnnt-0.6.0)
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Managing a multiple package definition
  2022-05-30 14:06 Managing a multiple package definition Winter Hound
@ 2022-05-31 13:52 ` raingloom
  0 siblings, 0 replies; 2+ messages in thread
From: raingloom @ 2022-05-31 13:52 UTC (permalink / raw)
  To: Winter Hound; +Cc: help-guix

On Mon, 30 May 2022 19:36:12 +0530
Winter Hound <winterhound@yandex.ru> wrote:

>    Perhaps you may already know this
> 
> 
> 
>    ss
> 
>    ;; Defining a dummy package that is common to all
>    I;; Taking fields that are common.
> 
>    Having multiple versions of the same package is convenient. Why
> isnt Guix has similar ? I know there inferior but having multiple
> versions in the same file would benefit right ?

My guess is it's because maintaining multiple version of a package is a
debugging and security nightmare. Fixing packages so that they can use
the latest version of a dependency is much more worthy of maintainer
efforts.
If you need to use a specific tag or commit so that you can compare
different versions of a package or something, package transformations
let you do that.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-31 13:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-30 14:06 Managing a multiple package definition Winter Hound
2022-05-31 13:52 ` raingloom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).