unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Brian Cully via Guix-patches via <guix-patches@gnu.org>
To: 63044@debbugs.gnu.org
Cc: Brian Cully <bjc@spork.org>
Subject: [bug#63044] [PATCH 4/4] gnu: criu: Change timestamps to 1-Jan-1980 before compressing
Date: Sun, 23 Apr 2023 21:18:59 -0400	[thread overview]
Message-ID: <7ae6c1c4c32a5ce24695f7604a9dcba3f6c5974d.1682299133.git.bjc@spork.org> (raw)
In-Reply-To: <b4e732c441aac57f195b758806e339c3353eb5eb.1682299133.git.bjc@spork.org>

The zip library used by bdist in python-setuptools throws an error unless
files are from at least 1980.

 * gnu/packages/virtualization.scm (sssd) [change-file-datetimes]: new phase
---
 gnu/packages/virtualization.scm | 99 ++++++++++++++++++---------------
 1 file changed, 53 insertions(+), 46 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 20cbfcfcfe..910f8b321d 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -141,6 +141,7 @@ (define-module (gnu packages virtualization)
   #:use-module (guix git-download)
   #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix modules)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
@@ -1699,52 +1700,58 @@ (define-public criu
                              (search-input-file %build-inputs
                                                 "/bin/xmlto")))
       #:phases
-      #~(modify-phases %standard-phases
-          (delete 'configure)            ; no configure script
-          (add-after 'unpack 'fix-documentation
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              (substitute* "Documentation/Makefile"
-                (("-m custom.xsl")
-                 (string-append
-                  "-m custom.xsl --skip-validation -x "
-                  (assoc-ref inputs "docbook-xsl") "/xml/xsl/"
-                  #$(package-name docbook-xsl) "-"
-                  #$(package-version docbook-xsl)
-                  "/manpages/docbook.xsl")))))
-          (add-after 'unpack 'hardcode-variables
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              ;; Hardcode arm version detection
-              (substitute* "Makefile"
-                (("ARMV.*:=.*") "ARMV := 7\n"))
-              ;; Hard-code the correct PLUGINDIR above.
-              (substitute* "criu/include/plugin.h"
-                (("/var") (string-append (assoc-ref outputs "out"))))
-              ))
-          (add-before 'build 'fix-symlink
-            (lambda* (#:key inputs #:allow-other-keys)
-              ;; The file 'images/google/protobuf/descriptor.proto' points to
-              ;; /usr/include/..., which obviously does not exist.
-              (let* ((file "google/protobuf/descriptor.proto")
-                     (target (string-append "images/" file))
-                     (source (search-input-file
-                              inputs
-                              (string-append "include/" file))))
-                (delete-file target)
-                (symlink source target))))
-          (add-after 'install 'wrap
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              ;; Make sure 'crit' runs with the correct PYTHONPATH.
-              (let* ((site (string-append #$output "/lib/python"
-                                          #$(version-major+minor
-                                             (package-version python))
-                                          "/site-packages"))
-                     (path (getenv "GUIX_PYTHONPATH")))
-                (wrap-program (string-append #$output "/bin/crit")
-                  `("GUIX_PYTHONPATH" ":" prefix (,site ,path))))))
-          (add-after 'install 'delete-static-libraries
-            ;; Not building/installing these at all doesn't seem to be supported.
-            (lambda _
-              (for-each delete-file (find-files #$output "\\.a$")))))))
+      (with-imported-modules (source-module-closure '((guix utils)))
+        #~(modify-phases %standard-phases
+            (delete 'configure)            ; no configure script
+            (add-after 'unpack 'fix-documentation
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                (substitute* "Documentation/Makefile"
+                  (("-m custom.xsl")
+                   (string-append
+                    "-m custom.xsl --skip-validation -x "
+                    (assoc-ref inputs "docbook-xsl") "/xml/xsl/"
+                    #$(package-name docbook-xsl) "-"
+                    #$(package-version docbook-xsl)
+                    "/manpages/docbook.xsl")))))
+            (add-after 'unpack 'hardcode-variables
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                ;; Hardcode arm version detection
+                (substitute* "Makefile"
+                  (("ARMV.*:=.*") "ARMV := 7\n"))
+                ;; Hard-code the correct PLUGINDIR above.
+                (substitute* "criu/include/plugin.h"
+                  (("/var") (string-append (assoc-ref outputs "out"))))
+                ))
+            (add-before 'build 'fix-symlink
+              (lambda* (#:key inputs #:allow-other-keys)
+                ;; The file 'images/google/protobuf/descriptor.proto' points to
+                ;; /usr/include/..., which obviously does not exist.
+                (let* ((file "google/protobuf/descriptor.proto")
+                       (target (string-append "images/" file))
+                       (source (search-input-file
+                                inputs
+                                (string-append "include/" file))))
+                  (delete-file target)
+                  (symlink source target))))
+            (add-before 'install 'change-file-datetimes
+              (lambda _
+                (use-modules (guix utils))
+                (change-file-timestamps-recursively "./"
+                                                    "1980-01-01 00:00:00")))
+            (add-after 'install 'wrap
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                ;; Make sure 'crit' runs with the correct PYTHONPATH.
+                (let* ((site (string-append #$output "/lib/python"
+                                            #$(version-major+minor
+                                               (package-version python))
+                                            "/site-packages"))
+                       (path (getenv "GUIX_PYTHONPATH")))
+                  (wrap-program (string-append #$output "/bin/crit")
+                    `("GUIX_PYTHONPATH" ":" prefix (,site ,path))))))
+            (add-after 'install 'delete-static-libraries
+              ;; Not building/installing these at all doesn't seem to be supported.
+              (lambda _
+                (for-each delete-file (find-files #$output "\\.a$"))))))))
     (inputs
      (list protobuf
            python
-- 
2.39.2





  parent reply	other threads:[~2023-04-24  1:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-24  0:14 [bug#63044] [PATCH core-updates] Fix criu and sssd Brian Cully via Guix-patches via
2023-04-24  1:18 ` [bug#63044] [PATCH 1/4] gnu: criu: Use gexps Brian Cully via Guix-patches via
2023-04-24  1:18   ` [bug#63044] [PATCH 2/4] guix: utils: add `change-file-timestamps-recursively' procedure Brian Cully via Guix-patches via
2023-04-24  1:18   ` [bug#63044] [PATCH 3/4] gnu: sssd: Change timestamps to 1-Jan-1980 before compressing Brian Cully via Guix-patches via
2023-04-24  1:18   ` Brian Cully via Guix-patches via [this message]
2023-04-24 15:49 ` [bug#63044] [PATCH core-updates] Fix criu and sssd Brian Cully via Guix-patches via
2023-04-30 20:39   ` [bug#63044] [PATCH] gnu: python-setuptools: Disable date checking in bdist_egg.py Ludovic Courtès
2023-05-01  6:32     ` Lars-Dominik Braun
2023-05-01 17:36       ` Brian Cully via Guix-patches via
2023-05-03 20:05         ` Ludovic Courtès
2023-05-03 22:05           ` Brian Cully via Guix-patches via
2023-05-04  0:37             ` Brian Cully via Guix-patches via
2023-05-10 15:18               ` Ludovic Courtès
2023-05-12 22:37                 ` Brian Cully via Guix-patches via
2023-05-13  7:11               ` Lars-Dominik Braun
2023-05-02  0:32   ` jgart via Guix-patches via
2023-04-25 14:35 ` [bug#63044] [PATCH v2] gnu: python: " Brian Cully via Guix-patches via
2023-04-28 13:59   ` [bug#63044] [PATCH core-updates] Fix criu and sssd Brian Cully via Guix-patches via
2023-04-28 14:01 ` [bug#63044] [PATCH v3] gnu: python-setuptools: Disable date checking in bdist_egg.py Brian Cully via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7ae6c1c4c32a5ce24695f7604a9dcba3f6c5974d.1682299133.git.bjc@spork.org \
    --to=guix-patches@gnu.org \
    --cc=63044@debbugs.gnu.org \
    --cc=bjc@spork.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).