diff mbox series

[bug#57050,v2,02/13] gnu: stex: Fix read-only gifs and math directories.

Message ID 3cbb1636a31c0896f85e3a6f04ddef096a6be29a.1660215295.git.philip@philipmcgrath.com
State Accepted
Headers show
Series gnu: Update Racket to 8.6. Add Zuo. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Philip McGrath Aug. 11, 2022, 11:08 a.m. UTC
Excplicitly set the user write bit when initializing the gifs or math
directories from the skeletons installed in the store. See also upstream
discussion at <https://github.com/dybvig/stex/pull/6>. This problem
would be exposed by the upcoming changes to Racket's build system.

* gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it.
[version]: Increment revision to 1.2.2-3.afa6075.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/chez.scm                         |  5 ++-
 .../stex-copy-from-immutable-store.patch      | 41 +++++++++++++++++++
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch

Comments

Liliana Marie Prikler Aug. 11, 2022, 11:13 a.m. UTC | #1
Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath:
> Excplicitly set the user write bit when initializing the gifs or math
> directories from the skeletons installed in the store. See also
> upstream
> discussion at <https://github.com/dybvig/stex/pull/6>. This problem
> would be exposed by the upcoming changes to Racket's build system.
> 
> * gnu/packages/patches/stex-copy-from-immutable-store.patch: New
> patch.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it.
> [version]: Increment revision to 1.2.2-3.afa6075.
> ---
>  gnu/local.mk                                  |  1 +
>  gnu/packages/chez.scm                         |  5 ++-
>  .../stex-copy-from-immutable-store.patch      | 41
> +++++++++++++++++++
>  3 files changed, 46 insertions(+), 1 deletion(-)
>  create mode 100644 gnu/packages/patches/stex-copy-from-immutable-
> store.patch
> 
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 1bd791fb0c..d35c6748c9 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1826,6 +1826,7 @@ dist_patch_DATA
> =                                         \
>    %D%/packages/patches/slim-
> reset.patch                                \
>    %D%/packages/patches/slim-
> login.patch                                \
>    %D%/packages/patches/slim-display.patch                      \
> +  %D%/packages/patches/stex-copy-from-immutable-store.patch    \
>    %D%/packages/patches/syslinux-gcc10.patch                    \
>    %D%/packages/patches/syslinux-strip-gnu-property.patch       \
>    %D%/packages/patches/snappy-add-O2-flag-in-
> CmakeLists.txt.patch      \
> diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
> index 043f2ae47a..4c253effa0 100644
> --- a/gnu/packages/chez.scm
> +++ b/gnu/packages/chez.scm
> @@ -595,7 +595,7 @@ (define-public stex-bootstrap
>    ;; This commit includes a fix which we would otherwise want to use
> as
>    ;; patch.  Let's revert to tagged releases as soon as one becomes
> available.
>    (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c")
> -        (revision "2"))
> +        (revision "3"))
You don't need to bump the revision to introduce a patch.  Other than
that LGTM, but could you also do this with a build phase using make-
file-writable?  (It's fine if not, just curious where the actual issue
lies)


Cheers
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1bd791fb0c..d35c6748c9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1826,6 +1826,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/slim-reset.patch				\
   %D%/packages/patches/slim-login.patch				\
   %D%/packages/patches/slim-display.patch			\
+  %D%/packages/patches/stex-copy-from-immutable-store.patch	\
   %D%/packages/patches/syslinux-gcc10.patch			\
   %D%/packages/patches/syslinux-strip-gnu-property.patch	\
   %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch	\
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 043f2ae47a..4c253effa0 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -595,7 +595,7 @@  (define-public stex-bootstrap
   ;; This commit includes a fix which we would otherwise want to use as
   ;; patch.  Let's revert to tagged releases as soon as one becomes available.
   (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c")
-        (revision "2"))
+        (revision "3"))
     (hidden-package
      (package
        (name "stex")
@@ -613,6 +613,9 @@  (define-public stex-bootstrap
           (sha256
            (base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp"))
           (file-name (git-file-name name version))
+          (patches
+           ;; submitted upstream in https://github.com/dybvig/stex/pull/6
+           (search-patches "stex-copy-from-immutable-store.patch"))
           (snippet
            #~(for-each delete-file
                        '("sbin/install" "doc/stex.pdf" "doc/stex.html")))))
diff --git a/gnu/packages/patches/stex-copy-from-immutable-store.patch b/gnu/packages/patches/stex-copy-from-immutable-store.patch
new file mode 100644
index 0000000000..4562e431c1
--- /dev/null
+++ b/gnu/packages/patches/stex-copy-from-immutable-store.patch
@@ -0,0 +1,41 @@ 
+From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001
+From: Philip McGrath <philip@philipmcgrath.com>
+Date: Thu, 28 Apr 2022 22:56:20 -0400
+Subject: [PATCH] fix read-only gifs and math directories
+
+An installed copy of stex might have all write permission bits removed,
+even for the owner of the installed files: this is the case with Guix
+package of stex, for example. If such an installation is used to
+initialize the gifs or math directories (e.g. for an out-of-source
+build), tar likewise creates them without write permissions, preventing
+subdirectories from being created later. Set the user write bit
+explicitly to avoid this problem.
+  Mf-stex
+
+Related to https://github.com/racket/racket/pull/4203
+---
+
+Submitted upstream in https://github.com/dybvig/stex/pull/6
+
+ Mf-stex | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Mf-stex b/Mf-stex
+index 09ec6f3..11fb214 100644
+--- a/Mf-stex
++++ b/Mf-stex
+@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles)
+ 
+ gifs:
+ 	(cd $(STEXLIB); tar -cf - gifs) | tar -xpf -
++	chmod u+w gifs
+ 
+ math:
+ 	(cd $(STEXLIB); tar -cf - math) | tar -xpf -
++	chmod u+w math
+ 
+ $(mathfiles): $(x).hthirdrun $(figps)
+ 	echo -n gifs= > $(mathfiles)
+-- 
+2.32.0
+