[bug#34306] gnu: Add datefudge.

Message ID 20190204040052.3195-1-kyle@kyleam.com
State Accepted
Commit 3ef29c00ed2224cd1d636fa16397f325857f8270
Headers show
Series [bug#34306] gnu: Add datefudge. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Kyle Meyer Feb. 4, 2019, 4 a.m. UTC
* gnu/packages/time.scm (datefudge): New variable.
---
I wasn't quite sure which module to place this in.  Please let me know if
there's a more appropriate location.

 gnu/packages/time.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

Comments

Ludovic Courtès Feb. 6, 2019, 10:04 p.m. UTC | #1
Hello Kyle,

Kyle Meyer <kyle@kyleam.com> skribis:

> * gnu/packages/time.scm (datefudge): New variable.
> ---
> I wasn't quite sure which module to place this in.  Please let me know if
> there's a more appropriate location.

libfaketime, which does the same thing, lives in check.scm, but time.scm
is just as appropriate or maybe more.  :-)

Applied, thanks!

Ludo’.

Patch

diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index e491970300..948d2b995c 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -14,6 +14,7 @@ 
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34,10 +35,12 @@  (define-module (gnu packages time)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz))
 
@@ -377,3 +380,41 @@  (define-public python-aniso8601
 
 (define-public python2-aniso8601
   (package-with-python2 python-aniso8601))
+
+(define-public datefudge
+  (package
+    (name "datefudge")
+    (version "1.22")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://salsa.debian.org/debian/datefudge.git")
+                    (commit (string-append "debian/" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fmd05r00wx4zc90lbi804jl7xwdl11jq2a1kp5lqimk3yyvfw4c"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:make-flags (list "CC=gcc"
+                          (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-makefile
+           (lambda _
+             (substitute* "Makefile"
+               ((" -o root -g root") "")
+               (("VERSION := \\$\\(shell dpkg-parsechangelog .*")
+                (string-append "VERSION = " ,version)))
+             #t))
+         (delete 'configure))))
+    (native-inputs
+     `(("perl" ,perl)))
+    (home-page "https://salsa.debian.org/debian/datefudge")
+    (synopsis "Pretend the system date is different")
+    (description
+     "Utility that fakes the system time by pre-loading a small library that
+modifies the @code{time}, @code{gettimeofday} and @code{clock_gettime} system
+calls.")
+    (license gpl2)))