* [PATCH 0/2] Add datefudge to gnutls inputs. @ 2013-08-15 21:58 Cyril Roelandt 2013-08-15 21:58 ` [PATCH 1/2] gnu: Add datefudge Cyril Roelandt 2013-08-15 21:58 ` [PATCH 2/2] gnutls: add datefudge to the inputs Cyril Roelandt 0 siblings, 2 replies; 7+ messages in thread From: Cyril Roelandt @ 2013-08-15 21:58 UTC (permalink / raw) To: guix-devel Hello! Gnutls needs datefudge to run some of the tests. They are currently skipped. This patch series fixes that. Regards, Cyril. --- Cyril Roelandt (2): gnu: Add datefudge. gnutls: add datefudge to the inputs. gnu-system.am | 1 + gnu/packages/datefudge.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/gnutls.scm | 4 ++- 3 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/datefudge.scm -- 1.7.10.4 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] gnu: Add datefudge. 2013-08-15 21:58 [PATCH 0/2] Add datefudge to gnutls inputs Cyril Roelandt @ 2013-08-15 21:58 ` Cyril Roelandt 2013-08-16 17:45 ` Ludovic Courtès 2013-08-15 21:58 ` [PATCH 2/2] gnutls: add datefudge to the inputs Cyril Roelandt 1 sibling, 1 reply; 7+ messages in thread From: Cyril Roelandt @ 2013-08-15 21:58 UTC (permalink / raw) To: guix-devel * gnu/packages/datefudge.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/datefudge.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 gnu/packages/datefudge.scm diff --git a/gnu-system.am b/gnu-system.am index bfead6e..fde1c8c 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -45,6 +45,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/cryptsetup.scm \ gnu/packages/curl.scm \ gnu/packages/cyrus-sasl.scm \ + gnu/packages/datefudge.scm \ gnu/packages/dejagnu.scm \ gnu/packages/ddrescue.scm \ gnu/packages/dwm.scm \ diff --git a/gnu/packages/datefudge.scm b/gnu/packages/datefudge.scm new file mode 100644 index 0000000..418e0ff --- /dev/null +++ b/gnu/packages/datefudge.scm @@ -0,0 +1,73 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +(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))) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] gnu: Add datefudge. 2013-08-15 21:58 ` [PATCH 1/2] gnu: Add datefudge Cyril Roelandt @ 2013-08-16 17:45 ` Ludovic Courtès 2013-08-17 14:28 ` Cyril Roelandt 0 siblings, 1 reply; 7+ messages in thread From: Ludovic Courtès @ 2013-08-16 17:45 UTC (permalink / raw) To: Cyril Roelandt; +Cc: guix-devel Cyril Roelandt <tipecaml@gmail.com> skribis: > * gnu/packages/datefudge.scm: New file. > * gnu-system.am (GNU_SYSTEM_MODULES): Add it. Fine, modulo minor stylistic issues: > + (uri (string-append > + "http://ftp.de.debian.org/debian/pool/main/d/" > + "datefudge/datefudge_" version ".tar.gz")) (Eventually we should add ‘debian’ to %mirrors in guix/download.scm.) > + (alist-replace > + 'configure > + (lambda* (#:key version outputs #:allow-other-keys #:rest args) > + (pk version outputs) Leftover debugging statements, and ‘version’ doesn’t exist. What you can do is use: (arguments `( ... ,version ... )) to paste the ‘version’ field of the package being defined in the quasiquote expression. > + (substitute* "Makefile" > + (("^VERSION.*$") (string-append "VERSION=" version))) > + ;; We do not need to pass these flags to "install". > + (substitute* "Makefile" No need to repeat ‘substitute*’: there can be several substitutations in a substitute* form. > + (substitute* "Makefile" > + (("^prefix.*$") (string-append "prefix=" out "\n"))))) Ditto. > + (inputs `(("perl" ,perl))) ; Needed for the tests. ‘native-inputs’, probably (if it were being cross-compiled, you’d want to run the native Perl, right?). Thanks! Ludo’. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] gnu: Add datefudge. 2013-08-16 17:45 ` Ludovic Courtès @ 2013-08-17 14:28 ` Cyril Roelandt 2013-08-17 21:36 ` Ludovic Courtès 0 siblings, 1 reply; 7+ messages in thread From: Cyril Roelandt @ 2013-08-17 14:28 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel On 08/16/2013 07:45 PM, Ludovic Courtès wrote: > Cyril Roelandt <tipecaml@gmail.com> skribis: > >> + (alist-replace >> + 'configure >> + (lambda* (#:key version outputs #:allow-other-keys #:rest args) >> + (pk version outputs) > > Leftover debugging statements, and ‘version’ doesn’t exist. > > What you can do is use: > > (arguments > `( ... > ,version > ... > )) > > to paste the ‘version’ field of the package being defined in the > quasiquote expression. > What kind of whitchcraft is this ? This works but I have no idea why. I don't think that Duckduckgoing "GNU Guile ," will give me any interesting results, so would you care to explain how this works, or redirect me to the appropriate documentation ? >> + (substitute* "Makefile" >> + (("^VERSION.*$") (string-append "VERSION=" version))) >> + ;; We do not need to pass these flags to "install". >> + (substitute* "Makefile" > > No need to repeat ‘substitute*’: there can be several substitutations in > a substitute* form. > >> + (substitute* "Makefile" >> + (("^prefix.*$") (string-append "prefix=" out "\n"))))) > > Ditto. > OK. >> + (inputs `(("perl" ,perl))) ; Needed for the tests. > > ‘native-inputs’, probably (if it were being cross-compiled, you’d want > to run the native Perl, right?). > Not sure about the difference between inputs and native-inputs. I think we may want to improve the documentation: $ git grep native-inputs doc/ $ Cyril. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] gnu: Add datefudge. 2013-08-17 14:28 ` Cyril Roelandt @ 2013-08-17 21:36 ` Ludovic Courtès 0 siblings, 0 replies; 7+ messages in thread From: Ludovic Courtès @ 2013-08-17 21:36 UTC (permalink / raw) To: Cyril Roelandt; +Cc: guix-devel Cyril Roelandt <tipecaml@gmail.com> skribis: > On 08/16/2013 07:45 PM, Ludovic Courtès wrote: >> Cyril Roelandt <tipecaml@gmail.com> skribis: >> >>> + (alist-replace >>> + 'configure >>> + (lambda* (#:key version outputs #:allow-other-keys #:rest args) >>> + (pk version outputs) >> >> Leftover debugging statements, and ‘version’ doesn’t exist. >> >> What you can do is use: >> >> (arguments >> `( ... >> ,version >> ... >> )) >> >> to paste the ‘version’ field of the package being defined in the >> quasiquote expression. >> > > What kind of whitchcraft is this ? This works but I have no idea > why. I don't think that Duckduckgoing "GNU Guile ," will give me any > interesting results, so would you care to explain how this works, or > redirect me to the appropriate documentation ? It’s not witchcraft, it’s Scheme! :-) Basically ` is “quasiquote”, and , (coma) is “unquote”. Think of echo "ls $foo" See the manual for details (info "(guile) Expression Syntax"), or see the occurrences of ,name and ,version in ttf-freefont in xorg.scm for an example. >>> + (inputs `(("perl" ,perl))) ; Needed for the tests. >> >> ‘native-inputs’, probably (if it were being cross-compiled, you’d want >> to run the native Perl, right?). >> > > Not sure about the difference between inputs and native-inputs. I > think we may want to improve the documentation: > > $ git grep native-inputs doc/ Agreed. To illustrate the difference, here’s an example. Suppose you have a C program with a Bison-generated C file. When cross-compiling that program, you want the native Bison, so that the ‘bison’ program can run at compile-time; conversely, the resulting executable must be linked against the target libc–the libc that will actually be used at run time on the target architecture. In that case, Bison should be listed in ‘native-inputs’, whereas ‘libc’ should be listed in ‘inputs’ (which it is, implicitly.) HTH, Ludo’. ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] gnutls: add datefudge to the inputs. 2013-08-15 21:58 [PATCH 0/2] Add datefudge to gnutls inputs Cyril Roelandt 2013-08-15 21:58 ` [PATCH 1/2] gnu: Add datefudge Cyril Roelandt @ 2013-08-15 21:58 ` Cyril Roelandt 2013-08-16 17:46 ` Ludovic Courtès 1 sibling, 1 reply; 7+ messages in thread From: Cyril Roelandt @ 2013-08-15 21:58 UTC (permalink / raw) To: guix-devel --- gnu/packages/gnutls.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm index d636a9c..d3e3b1c 100644 --- a/gnu/packages/gnutls.scm +++ b/gnu/packages/gnutls.scm @@ -24,6 +24,7 @@ #:use-module ((gnu packages compression) #:renamer (symbol-prefix-proc 'guix:)) #:use-module (gnu packages) + #:use-module (gnu packages datefudge) #:use-module (gnu packages nettle) #:use-module (gnu packages guile) #:use-module (gnu packages perl) @@ -73,7 +74,8 @@ portable, and only require an ANSI C89 platform.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.0) + `(("datefudge" ,datefudge) + ("guile" ,guile-2.0) ("zlib" ,guix:zlib) ("perl" ,perl) ("patch/fix-tests" -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] gnutls: add datefudge to the inputs. 2013-08-15 21:58 ` [PATCH 2/2] gnutls: add datefudge to the inputs Cyril Roelandt @ 2013-08-16 17:46 ` Ludovic Courtès 0 siblings, 0 replies; 7+ messages in thread From: Ludovic Courtès @ 2013-08-16 17:46 UTC (permalink / raw) To: Cyril Roelandt; +Cc: guix-devel Cyril Roelandt <tipecaml@gmail.com> skribis: > --- > gnu/packages/gnutls.scm | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Fine with a commit log. :-) Ludo’. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-08-17 21:41 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-08-15 21:58 [PATCH 0/2] Add datefudge to gnutls inputs Cyril Roelandt 2013-08-15 21:58 ` [PATCH 1/2] gnu: Add datefudge Cyril Roelandt 2013-08-16 17:45 ` Ludovic Courtès 2013-08-17 14:28 ` Cyril Roelandt 2013-08-17 21:36 ` Ludovic Courtès 2013-08-15 21:58 ` [PATCH 2/2] gnutls: add datefudge to the inputs Cyril Roelandt 2013-08-16 17:46 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git 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).