guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add googletest


From: Lukas Gradl
Subject: Re: [PATCH] Add googletest
Date: Thu, 09 Jun 2016 17:17:37 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Efraim Flashner <address@hidden> writes:

> On Sun, Jun 05, 2016 at 04:09:28PM -0500, Lukas Gradl wrote:
>> Efraim Flashner <address@hidden> 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 <address@hidden>
>> >> 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 <address@hidden>
>> >>  ;;; Copyright © 2016 Efraim Flashner <address@hidden>
>> >>  ;;; Copyright © 2016 Roel Janssen <address@hidden>
>> >> +;;; Copyright © 2016 Lukas Gradl <address@hidden>
>> >>  ;;;
>> >>  ;;; 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 <address@hidden>
>> 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 <address@hidden>
>>  ;;; Copyright © 2016 Efraim Flashner <address@hidden>
>>  ;;; Copyright © 2016 Roel Janssen <address@hidden>
>> +;;; Copyright © 2016 Lukas Gradl <address@hidden>
>>  ;;;
>>  ;;; 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!

Thank you!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]