;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages datefudge) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages perl)) (define-public datefudge (package (name "datefudge") (version "1.18") (source (origin (method url-fetch) (uri (string-append "http://ftp.de.debian.org/debian/pool/main/d/" "datefudge/datefudge_" version ".tar.gz")) (sha256 (base32 "0g26mk6nxfpzlgfj08ig0na9zk03fgghqr86xp5mja2gyfh58s00")))) (build-system gnu-build-system) (arguments '(#:test-target "test" #:phases (alist-replace 'configure (lambda* (#:key version outputs #:allow-other-keys #:rest args) (pk version outputs) (let* ((out (assoc-ref outputs "out")) (version (substring out (+ 1 (string-index-right out #\-))))) ;; The version is retrieved using dpkg-parsechangelog, which is ;; not available in Guix. (substitute* "Makefile" (("^VERSION.*$") (string-append "VERSION=" version))) ;; We do not need to pass these flags to "install". (substitute* "Makefile" (("-o root -g root") "")) ;; The prefix is hard-coded in the Makefile, we do not want that. (substitute* "Makefile" (("^prefix.*$") (string-append "prefix=" out "\n"))))) %standard-phases))) (inputs `(("perl" ,perl))) ; Needed for the tests. (home-page "http://packages.qa.debian.org/d/datefudge.html") (synopsis "Fake the system date") (description "This program (and preload library) fakes the system date so that programs think the wall clock is ... different. The faking is not complete; timestamp on files are not affected in any way. This package is useful if you want to test the date handling of your programs without changing the system clock. Examples: Does it handle expired certificates correctly? Does it work on a leap day?") (license gpl2)))