;;; 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.
;;;
#: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)
#: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
(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
;;; 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.
;;;
#: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
(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"))
"--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)
;;; 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.
;;;
#: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)
#: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
(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"))
(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
;;; 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.
;;;
#: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)
#: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
;; 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
;;; 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.
;;;
#: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
(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
;;; 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.
;;;
;;; 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)
(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
;;; 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.
;;;
#: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)
#: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
(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
;;; 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.
;;;
%current-target-system
version-compare
version>?
+ version-prefix
+ version-major+minor
guile-version>?
package-name->name+version
string-tokenize*
((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)))