Content-Security-Policy: default-src 'none'
Content-Type: text/plain; charset=UTF-8
Content-Length: 10380
Content-Disposition: inline; filename="nss.scm"
Last-Modified: Thu, 06 Feb 2025 10:10:53 GMT
Expires: Sun, 04 Feb 2035 10:10:53 GMT
ETag: "640eb5b2e44ca1086792e779b55404d31e73d1d1"

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016-2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; 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 FITNES</td></tr></table>
<table class='tabs'><tr><td>
<a href='/guix/about/'>about</a><a href='/guix/'>summary</a><a href='/guix/refs/?id=10e99250f49d40563619c849b0d4ada31f985991'>refs</a><a href='/guix/log/tests/guix-repl.sh'>log</a><a href='/guix/tree/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>tree</a><a class='active' href='/guix/commit/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>commit</a><a href='/guix/diff/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>diff</a></td><td class='form'><form class='right' method='get' action='/guix/log/tests/guix-repl.sh'>
<input type='hidden' name='id' value='10e99250f49d40563619c849b0d4ada31f985991'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/guix/commit/?id=10e99250f49d40563619c849b0d4ada31f985991'>root</a>/<a href='/guix/commit/tests?id=10e99250f49d40563619c849b0d4ada31f985991'>tests</a>/<a href='/guix/commit/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>guix-repl.sh</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='10e99250f49d40563619c849b0d4ada31f985991'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><table summary='commit info' class='commit-info'>
<tr><th>author</th><td>Artyom V. Poptsov &lt;poptsov.artyom@gmail.com&gt;</td><td class='right'>2024-11-30 20:05:31 +0300</td></tr>
<tr><th>committer</th><td>Artyom V. Poptsov &lt;poptsov.artyom@gmail.com&gt;</td><td class='right'>2024-11-30 20:05:31 +0300</td></tr>
<tr><th>commit</th><td colspan='2' class='oid'><a href='/guix/commit/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>10e99250f49d40563619c849b0d4ada31f985991</a> (<a href='/guix/patch/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>patch</a>)</td></tr>
<tr><th>tree</th><td colspan='2' class='oid'><a href='/guix/tree/?id=10e99250f49d40563619c849b0d4ada31f985991'>496363c31da74d8527a71c16c54766f144914734</a> /<a href='/guix/tree/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991'>tests/guix-repl.sh</a></td></tr>
<tr><th>parent</th><td colspan='2' class='oid'><a href='/guix/commit/tests/guix-repl.sh?id=f8cb1c0a137c80fc13645dbdd827730e2f04d7dd'>f8cb1c0a137c80fc13645dbdd827730e2f04d7dd</a> (<a href='/guix/diff/tests/guix-repl.sh?id=10e99250f49d40563619c849b0d4ada31f985991&amp;id2=f8cb1c0a137c80fc13645dbdd827730e2f04d7dd'>diff</a>)</td></tr><tr><th>download</th><td colspan='2' class='oid'><a href='/guix/snapshot/guix-10e99250f49d40563619c849b0d4ada31f985991.tar.gz'>guix-10e99250f49d40563619c849b0d4ada31f985991.tar.gz</a><br/><a href='/guix/snapshot/guix-10e99250f49d40563619c849b0d4ada31f985991.zip'>guix-10e99250f49d40563619c849b0d4ada31f985991.zip</a><br/></td></tr></table>
<div class='commit-subject'>gnu: go-github-com-arceliar-phony: Move to golang-xyz.</div><div class='commit-msg'>* gnu/packages/golang.scm (go-github-com-arceliar-phony): Move from here...
* gnu/packages/golang-xyz.scm: ...to here.

Change-Id: Ia50f331f23326fa8ae6e12b410c12d06cb369bf7
</div><div class='diffstat-header'><a href='/guix/diff/?id=10e99250f49d40563619c849b0d4ada31f985991'>Diffstat</a> (limited to 'tests/guix-repl.sh')</div><table summary='diffstat' class='diffstat'></table><div class='diffstat-summary'>0 files changed, 0 insertions, 0 deletions</div><table summary='diff' class='diff'><tr><td></td></tr></table></div> <!-- class=content -->
                         <div class=footer>generated by
                             <a href="https://git.zx2c4.com/cgit/about/">
                                 cgit
                             </a>
                         </div>
                        </div> <!-- id=cgit -->
</body>
</html>
                                "include/nspr"))
                ;; Add $out/lib/nss to RPATH.
                (string-append "RPATH=" rpath)
                (string-append "LDFLAGS=" rpath)))
      #:modules '((guix build gnu-build-system)
                  (guix build utils)
                  (ice-9 ftw)
                  (ice-9 match)
                  (srfi srfi-26))
      #:tests? (not (or (%current-target-system)
                        ;; Tests take more than 30 hours on some architectures.
                        (target-riscv64?)
                        (target-ppc32?)))
      #:phases
      #~(modify-phases %standard-phases
          (replace 'configure
            (lambda _
              (setenv "CC" #$(cc-for-target))
              ;; No VSX on powerpc-linux.
              #$@(if (target-ppc32?)
                     #~((setenv "NSS_DISABLE_CRYPTO_VSX" "1"))
                     #~())
              ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
              #$@(if (target-64bit?)
                     #~((setenv "USE_64" "1"))
                     #~())))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (if tests?
                  (begin
                    ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for
                    ;; testing.  The latter requires a working DNS or /etc/hosts.
                    (setenv "DOMSUF" "localdomain")
                    (setenv "USE_IP" "TRUE")
                    (setenv "IP_ADDRESS" "127.0.0.1")

                    ;; The "PayPalEE.cert" certificate expires every six months,
                    ;; leading to test failures:
                    ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>.  To
                    ;; work around that, set the time to roughly the release date.
                    (invoke "faketime" "2022-11-01" "./nss/tests/all.sh"))
                  (format #t "test suite not run~%"))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append (assoc-ref outputs "bin") "/bin"))
                     (inc (string-append out "/include/nss"))
                     (lib (string-append out "/lib/nss"))
                     (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>))
                            ((obj) (string-append "dist/" obj)))))
                ;; Install nss-config to $out/bin.
                (install-file (string-append obj "/bin/nss-config")
                              (string-append out "/bin"))
                (delete-file (string-append obj "/bin/nss-config"))
                ;; Install nss.pc to $out/lib/pkgconfig.
                (install-file (string-append obj "/lib/pkgconfig/nss.pc")
                              (string-append out "/lib/pkgconfig"))
                (delete-file (string-append obj "/lib/pkgconfig/nss.pc"))
                (rmdir (string-append obj "/lib/pkgconfig"))
                ;; Install other files.
                (copy-recursively "dist/public/nss" inc)
                (copy-recursively (string-append obj "/bin") bin)
                (copy-recursively (string-append obj "/lib") lib)))))))
    (inputs (list sqlite zlib))
    (propagated-inputs (list nspr))               ;required by nss.pc.
    (native-inputs (list perl libfaketime which)) ;for tests

    ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when
    ;; another build is happening concurrently on the same machine.
    (properties '((timeout . 216000)))  ;60 hours

    (home-page "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS")
    (synopsis "Network Security Services")
    (description
     "Network Security Services (@dfn{NSS}) is a set of libraries designed to
support cross-platform development of security-enabled client and server
applications.  Applications built with NSS can support SSL v2 and v3, TLS,
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
security standards.")
    (license license:mpl2.0)))

