gnu: Add 'version-prefix' and 'version-major+minor'; use them.
The procedure version-prefix truncates a version string to a certain number of components. version-major+minor is a special case of this, which extracts the "major.minor" part of the string. Previously this was handled by an expression common to several packages. * guix/utils.scm (version-prefix, version-major+minor): New procedures * gnu/packages/backup.scm (duplicity): Use version-major+minor. * gnu/packages/cmake.scm (cmake): Likewise. * gnu/packages/gnome.scm (libbonobo, libbonoboui): Likewise. * gnu/packages/gnutls.scm (gnutls): Likewise. * gnu/packages/mail.scm (gmime): Likewise. * gnu/packages/mpd.scm (mpd): Likewise. * gnu/packages/mpi.scm (openmpi): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
38bf090e7c
commit
29a7c98a42
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,6 +21,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
|
@ -38,8 +40,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public duplicity
|
||||
(package
|
||||
|
@ -49,7 +50,7 @@
|
|||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://code.launchpad.net/duplicity/"
|
||||
(string-join (take (string-split version #\.) 2) ".")
|
||||
(version-major+minor version)
|
||||
"-series/" version "/+download/duplicity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,14 +23,14 @@
|
|||
#:use-module ((guix licenses) #:select (bsd-3))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public cmake
|
||||
(package
|
||||
|
@ -39,8 +40,7 @@
|
|||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.cmake.org/files/v"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
".")
|
||||
(version-major+minor version)
|
||||
"/cmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11q21vyrr6c6smyjy81k2k07zmn96ggjia9im9cxwvj0n88bm1fq"))
|
||||
|
@ -91,8 +91,7 @@
|
|||
"--mandir=share/man"
|
||||
,(string-append
|
||||
"--docdir=share/doc/cmake-"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
"."))))))
|
||||
(version-major+minor version))))))
|
||||
%standard-phases)))))
|
||||
(inputs
|
||||
`(("file" ,file)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,6 +22,7 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bison)
|
||||
|
@ -42,8 +44,7 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public brasero
|
||||
(package
|
||||
|
@ -706,8 +707,7 @@ featuring mature C, C++ and Python bindings.")
|
|||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
".")
|
||||
(version-major+minor version)
|
||||
"/" name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
|
||||
|
@ -1077,7 +1077,7 @@ widgets built in the loading process.")
|
|||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://gnome/sources/" name "/"
|
||||
(string-join (take (string-split version #\.) 2) ".")
|
||||
(version-major+minor version)
|
||||
"/" name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,6 +22,7 @@
|
|||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((gnu packages compression) #:prefix guix:)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -29,8 +31,7 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public libtasn1
|
||||
(package
|
||||
|
@ -69,8 +70,7 @@ specifications.")
|
|||
;; Note: Releases are no longer on ftp.gnu.org since the
|
||||
;; schism (after version 3.1.5).
|
||||
(string-append "mirror://gnupg/gnutls/v"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
".")
|
||||
(version-major+minor version)
|
||||
"/gnutls-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -49,9 +50,9 @@
|
|||
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (guix build-system python))
|
||||
|
||||
(define-public mailutils
|
||||
(package
|
||||
|
@ -192,9 +193,7 @@ operating systems.")
|
|||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gmime/"
|
||||
(string-join (take (string-split version #\.)
|
||||
2)
|
||||
".")
|
||||
(version-major+minor version)
|
||||
"/gmime-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -19,11 +20,11 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages mpd)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -72,8 +73,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://musicpd.org/download/mpd/"
|
||||
(string-join (take (string-split
|
||||
version #\.) 2) ".")
|
||||
(version-major+minor version)
|
||||
"/mpd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,6 +23,7 @@
|
|||
#:use-module ((guix licenses)
|
||||
#:hide (expat))
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gcc)
|
||||
|
@ -32,8 +34,7 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages valgrind))
|
||||
|
||||
(define-public hwloc
|
||||
(package
|
||||
|
@ -88,8 +89,7 @@ bind processes, and much more.")
|
|||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.open-mpi.org/software/ompi/v"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
".")
|
||||
(version-major+minor version)
|
||||
"/downloads/openmpi-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -65,6 +66,8 @@
|
|||
%current-target-system
|
||||
version-compare
|
||||
version>?
|
||||
version-prefix
|
||||
version-major+minor
|
||||
guile-version>?
|
||||
package-name->name+version
|
||||
string-tokenize*
|
||||
|
@ -518,6 +521,17 @@ or '= when they denote equal versions."
|
|||
((negative? result) '<)
|
||||
(else '=))))))
|
||||
|
||||
(define (version-prefix version-string num-parts)
|
||||
"Truncate version-string to the first num-parts components of the version.
|
||||
For example, (version-prefix \"2.1.47.4.23\" 3) returns \"2.1.47\""
|
||||
(string-join (take (string-split version-string #\.) num-parts) "."))
|
||||
|
||||
|
||||
(define (version-major+minor version-string)
|
||||
"Return \"<major>.<minor>\", where major and minor are the major and
|
||||
minor version numbers from version-string."
|
||||
(version-prefix version-string 2))
|
||||
|
||||
(define (version>? a b)
|
||||
"Return #t when A denotes a newer version than B."
|
||||
(eq? '> (version-compare a b)))
|
||||
|
|
Reference in New Issue