On Sun, Jun 05, 2016 at 04:09:28PM -0500, Lukas Gradl wrote: > Efraim Flashner writes: > > > On Thu, Jun 02, 2016 at 10:44:58AM -0500, Lukas Gradl wrote: > >> > >> Hi Leo, > >> > > ... > >> > >> The tool "pump.py" is distributed with the Googletest source. It > >> appears to be a part of the source rather than a bundeled dependency and > >> the only reference to it that I found was in Googletest, so I would > >> assume it is a part of Googletest. Therefore I did not create a > >> seperate package for that, but used the one provided in the Googletest > >> source tree. With that, the pre-generated headers can be reproduced. > >> The attached patch does that. > >> > >> Thank you! > >> > > > > A couple last things I found, otherwise it looks great. > > > >> From 7d4aaba39821130ba824c4b2f8bd236e0d1f1639 Mon Sep 17 00:00:00 2001 > >> From: Lukas Gradl > >> Date: Thu, 2 Jun 2016 10:36:17 -0500 > >> Subject: [PATCH] gnu: Add googletest. > >> > >> * gnu/packages/check.scm (googletest): New variable. > >> --- > >> gnu/packages/check.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ > >> 1 file changed, 64 insertions(+) > >> > >> diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm > >> index 9eef7a9..4971c71 100644 > >> --- a/gnu/packages/check.scm > >> +++ b/gnu/packages/check.scm > >> @@ -5,6 +5,7 @@ > >> ;;; Copyright © 2015 Andreas Enge > >> ;;; Copyright © 2016 Efraim Flashner > >> ;;; Copyright © 2016 Roel Janssen > >> +;;; Copyright © 2016 Lukas Gradl > >> ;;; > >> ;;; This file is part of GNU Guix. > >> ;;; > >> @@ -24,6 +25,7 @@ > >> (define-module (gnu packages check) > >> #:use-module (gnu packages) > >> #:use-module (gnu packages autotools) > >> + #:use-module (gnu packages python) > >> #:use-module (guix licenses) > >> #:use-module (guix packages) > >> #:use-module (guix download) > >> @@ -193,3 +195,65 @@ in the code. Cppcheck primarily detects the types of bugs that the compilers > >> normally do not detect. The goal is to detect only real errors in the code > >> (i.e. have zero false positives).") > >> (license gpl3+))) > >> + > >> +(define-public googletest > >> + (package > >> + (name "googletest") > >> + (version "1.7.0") > >> + (source > >> + (origin > >> + (method url-fetch) > >> + (uri > >> + (string-append > >> + "https://github.com/google/googletest/archive/release-" > >> + version ".tar.gz")) > > > > add: (file-name (string-append name "-" version ".tar.gz")) > > I added it. > > > > >> + (sha256 > >> + (base32 > >> + "1k0nf1l9cb3prdmsvaajl5i31bx86c1mw0d5jgzykz7rzm36afpp")))) > >> + (build-system gnu-build-system) > >> + (native-inputs > >> + `(("python-2" ,python-2) > >> + ("autoconf" ,autoconf) > >> + ("automake" ,automake) > >> + ("libtool" ,libtool))) > >> + (arguments > >> + `( #:phases > >> + (modify-phases %standard-phases > >> + (add-before 'configure 'autoconf > >> + (lambda _ > >> + (zero? (system* "autoreconf" "-vfi")))) > >> + (add-before 'autoconf 'generate-headers > >> + (lambda _ > >> + (begin > >> + (delete-file "include/gtest/gtest-param-test.h") > >> + (system* "python2" "scripts/pump.py" > >> + "include/gtest/gtest-param-test.h.pump") > >> + (delete-file "include/gtest/internal/gtest-tuple.h") > >> + (system* "python2" "scripts/pump.py" > >> + "include/gtest//internal/gtest-tuple.h.pump") > >> + (delete-file > >> + "include/gtest/internal/gtest-param-util-generated.h") > >> + (system* > >> + "python2" "scripts/pump.py" > >> + "include/gtest/internal/gtest-param-util-generated.h.pump") > >> + (delete-file "include/gtest/internal/gtest-type-util.h") > >> + (system* "python2" "scripts/pump.py" > >> + "include/gtest/internal/gtest-type-util.h.pump")))) > >> + (replace 'install > >> + (lambda _ > >> + (let ((out (assoc-ref %outputs "out")) > >> + (version version)) > > ^ > > you don't actually use this variable -- > > > > Oh, Sorry about that. This is a leftover from a previous attemt that I > forgot to remove. > > >> + (begin > >> + (install-file "lib/.libs/libgtest_main.a" > >> + (string-append out "/lib")) > >> + (install-file "lib/.libs/libgtest.a" > >> + (string-append out "/lib")) > >> + (copy-recursively > >> + (string-append "include") > > > > don't need the string-append above > > > > Same here. > > >> + (string-append out "/include"))))))))) > >> + (home-page "https://github.com/google/googletest/") > >> + (synopsis "Test discovery and XUnit test framework") > >> + (description "Google Test features an XUnit test framework, automated test > >> +discovery, death tests, assertions, parameterized tests and XML test report > >> +generation.") > >> + (license bsd-3))) > >> -- > >> 2.7.4 > >> > > > Thank you for your review! > > An updated patch is attached. > > Best, > Lukas > > > From 54223517c0c05b5c5bfcca055c8b12cb650c8b40 Mon Sep 17 00:00:00 2001 > From: Lukas Gradl > Date: Sun, 5 Jun 2016 16:03:56 -0500 > Subject: [PATCH] gnu: Add googletest. > > * gnu/packages/check.scm (googletest): New variable. > --- > gnu/packages/check.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm > index 9eef7a9..64b5006 100644 > --- a/gnu/packages/check.scm > +++ b/gnu/packages/check.scm > @@ -5,6 +5,7 @@ > ;;; Copyright © 2015 Andreas Enge > ;;; Copyright © 2016 Efraim Flashner > ;;; Copyright © 2016 Roel Janssen > +;;; Copyright © 2016 Lukas Gradl > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -24,6 +25,7 @@ > (define-module (gnu packages check) > #:use-module (gnu packages) > #:use-module (gnu packages autotools) > + #:use-module (gnu packages python) > #:use-module (guix licenses) > #:use-module (guix packages) > #:use-module (guix download) > @@ -193,3 +195,64 @@ in the code. Cppcheck primarily detects the types of bugs that the compilers > normally do not detect. The goal is to detect only real errors in the code > (i.e. have zero false positives).") > (license gpl3+))) > + > +(define-public googletest > + (package > + (name "googletest") > + (version "1.7.0") > + (source > + (origin > + (method url-fetch) > + (uri > + (string-append > + "https://github.com/google/googletest/archive/release-" > + version ".tar.gz")) > + (file-name (string-append name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "1k0nf1l9cb3prdmsvaajl5i31bx86c1mw0d5jgzykz7rzm36afpp")))) > + (build-system gnu-build-system) > + (native-inputs > + `(("python-2" ,python-2) > + ("autoconf" ,autoconf) > + ("automake" ,automake) > + ("libtool" ,libtool))) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-before 'configure 'autoconf > + (lambda _ > + (zero? (system* "autoreconf" "-vfi")))) > + (add-before 'autoconf 'generate-headers > + (lambda _ > + (begin > + (delete-file "include/gtest/gtest-param-test.h") > + (system* "python2" "scripts/pump.py" > + "include/gtest/gtest-param-test.h.pump") > + (delete-file "include/gtest/internal/gtest-tuple.h") > + (system* "python2" "scripts/pump.py" > + "include/gtest//internal/gtest-tuple.h.pump") > + (delete-file > + "include/gtest/internal/gtest-param-util-generated.h") > + (system* > + "python2" "scripts/pump.py" > + "include/gtest/internal/gtest-param-util-generated.h.pump") > + (delete-file "include/gtest/internal/gtest-type-util.h") > + (system* "python2" "scripts/pump.py" > + "include/gtest/internal/gtest-type-util.h.pump")))) > + (replace 'install > + (lambda _ > + (let ((out (assoc-ref %outputs "out"))) > + (begin > + (install-file "lib/.libs/libgtest_main.a" > + (string-append out "/lib")) > + (install-file "lib/.libs/libgtest.a" > + (string-append out "/lib")) > + (copy-recursively "include" > + (string-append out "/include"))))))))) > + (home-page "https://github.com/google/googletest/") > + (synopsis "Test discovery and XUnit test framework") > + (description "Google Test features an XUnit test framework, automated test > +discovery, death tests, assertions, parameterized tests and XML test report > +generation.") > + (license bsd-3))) > -- > 2.7.4 > Patch pushed! -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted