all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>
Cc: 55424@debbugs.gnu.org
Subject: [bug#55424] [PATCH 081/602] gnu: renpy: Build with Python 3.
Date: Fri, 17 Jun 2022 01:09:05 -0400	[thread overview]
Message-ID: <871qvnc1vy.fsf@gmail.com> (raw)
In-Reply-To: <210e32db4b99c02c1817dbb5b6979b47b5887399.camel@gmail.com> (Liliana Marie Prikler's message of "Fri, 17 Jun 2022 01:39:10 +0200")

Hi Liliana,

We have a nice opportunity at the moment to truly phase out Python 2
from Guix, with just a handful packages remaining that still depend on
it, so I'd like to focus on options other than re-introducing Python 2
dependencies at first.

I tried updating the package like so:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 4c1b97f041..89602dc127 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1208,7 +1208,8 @@ (define-public python-pygame
 
 (define-public python-pygame-sdl2
   (let ((real-version "2.1.0")
-        (renpy-version "7.4.11"))
+        ;; Use a pre-release version to match that of Renpy.
+        (renpy-version "8.0.0"))
     (package
       (inherit python-pygame)
       (name "python-pygame-sdl2")
@@ -1216,17 +1217,16 @@ (define-public python-pygame-sdl2
       (source
        (origin
          (method url-fetch)
-         (uri (string-append "https://www.renpy.org/dl/" renpy-version
+         (uri (string-append "https://www.renpy.org/dl/prerelease-8"
                              "/pygame_sdl2-" version ".tar.gz"))
-         (sha256 (base32 "0nxvca16299jx6sp0ys29rqixcs21ymhqwjfkbchhss0yar7qjgz"))
+         (sha256 (base32 "1ml3650czvzi0k9ap12zz7ykldhzzk0251ncl62wdmncfqfq98wd"))
          (modules '((guix build utils)))
          (snippet
           '(begin
              ;; drop generated sources
              (delete-file-recursively "gen")
              (delete-file-recursively "gen3")
-             (delete-file-recursively "gen-static")
-             #t))))
+             (delete-file-recursively "gen-static")))))
       (build-system python-build-system)
       (arguments
        `(#:tests? #f                ; tests require pygame to be installed first
@@ -1243,8 +1243,7 @@ (define-public python-pygame-sdl2
                                       (assoc-ref inputs "sdl-union")
                                       "/lib -Wl,-rpath,"
                                       (assoc-ref inputs "sdl-union")
-                                      "/lib -Wl,--enable-new-dtags -lSDL2"))
-               #t)))))
+                                      "/lib -Wl,--enable-new-dtags -lSDL2")))))))
       (inputs
        (list (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
       (native-inputs
@@ -1260,22 +1259,23 @@ (define-public python-pygame-sdl2
 (define-public renpy
   (package
     (name "renpy")
-    (version "7.4.11")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://www.renpy.org/dl/" version
-                           "/renpy-" version "-source.tar.bz2"))
-       (sha256 (base32 "0zkhg2sd2hglm9dkansf4h8sq7lm7iqslzl763ambp4kyfdvd07q"))
-       (modules '((guix build utils)))
-       (patches
-        (search-patches
-         "renpy-use-system-fribidi.patch"))
-       (snippet
-        '(with-directory-excursion "module"
-           ;; drop fribidi sources
-           (delete-file-recursively "fribidi-src")
-           #t))))
+    ;; Use a pre-release version to avoid Python 2, which the last stable 7.5
+    ;; release is still using.
+    (version "8.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.renpy.org/dl/prerelease-8"
+                                  "/renpy-" version "-source.tar.bz2"))
+              (modules '((guix build utils)))
+              (snippet
+               '(with-directory-excursion "module"
+                  ;; drop fribidi sources
+                  (delete-file-recursively "fribidi-src")))
+              (sha256
+               (base32
+                "0bxihc8lkjmp769i4ih74si76i0lvdw86dg5j005kbj4m4cpvvax"))
+              (patches
+               (search-patches "renpy-use-system-fribidi.patch"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f                      ; Ren'py doesn't seem to package tests
@@ -1299,7 +1299,7 @@ (define-public renpy
                                         "/bin/cython"))
              (setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))))
          (replace 'build
-           (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+           (lambda args
              ;; The "module" subdirectory contains a python (really cython)
              ;; project, which is built using a script, that is thankfully
              ;; named "setup.py".
--8<---------------cut here---------------end--------------->8---

It currently fails to build due to a new dependency, 'tinyfiledialogs':

--8<---------------cut here---------------start------------->8---
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fno-semantic-interposition -fPIC -I. -I/gnu/store/rvjwhr9ib88fm3s2h04n8jl4qpnb54rl-sdl-union-1.2.15/include -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include -I/gnu/store/rvjwhr9ib88fm3s2h04n8jl4qpnb54rl-sdl-union-1.2.15/include/SDL2 -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/jgmr3siy9dr8snlym3dfjbj0gmjzm2zk-ffmpeg-4.4.2/include -I/gnu/store/sh6j1xz8fz7a23x5y2w05rzxjamq4x7y-glew-2.1.0/include -I/gnu/store/9bx852151mzmmbpm92q46zk104qnan1d-python-pygame-sdl2-2.1.0-for-renpy-8.0.0/include/python3.9 -I/gnu/store/65i3nhcwmz0p8rqbg48gaavyky4g4hwk-python-3.9.9/include/python3.9 -c gen3/_renpytfd.c -o build/temp.linux-x86_64-3.9/gen3/_renpytfd.o -std=gnu99 -Wno-unused-function
gen3/_renpytfd.c:618:10: fatal error: tinyfiledialogs/tinyfiledialogs.h: No such file or directory
  618 | #include "tinyfiledialogs/tinyfiledialogs.h"
--8<---------------cut here---------------end--------------->8---

> OTOH if our stance is that we really
> don't want any python 2 stuff in Guix and rather have people use time
> machine, I think we should loudly break the package (by removing it)
> rather than silently.

That appears to be exactly what NixOS has done:

$ nix edit nixpkgs#renpy
error: renpy has been removed from nixpkgs, it was unmaintained and the
latest packaged version required python2

I think finishing the update started above would be a better option than
removing it, if we have the bandwidth to tackle the update.  Would you
like to give it a try?

Thanks,

Maxim




  reply	other threads:[~2022-06-17  5:10 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-15  4:44 [bug#55424] [PATCH 000/602] Purge Python 2 packages Maxim Cournoyer
2022-05-15  4:36 ` [bug#55424] [PATCH 001/602] packages: Fix typo in package-superseded doc Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 002/602] etc/committer: Prefix (sxml xpath) symbols to avoid name conflict Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 003/602] etc/committer: Teach it how to commit package removal Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 004/602] utils: Add a 'delete-expression' procedure Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 005/602] utils: Add a %guix-source-root-directory procedure Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 006/602] diagnostics: Fix typo about 0-indexed COL in location Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 007/602] gnu: Remove python-pytest-runner-2 Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 008/602] gnu: Remove python2-langkit Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 009/602] gnu: Remove graphios Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 010/602] gnu: Remove python2-pyalsaaudio Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 011/602] gnu: Remove ingen Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 012/602] gnu: Remove raul Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 013/602] gnu: Remove raul-devel Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 014/602] gnu: Remove python2-pyaudio Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 015/602] gnu: Remove python2-fastalite Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 016/602] gnu: Remove grit Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 017/602] gnu: Remove ribodiff Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 018/602] gnu: Remove python2-pybigwig Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 019/602] gnu: tetoolkit: Update to 2.2.1b Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 020/602] gnu: Remove pepr Maxim Cournoyer
2022-05-15  8:17     ` Maxime Devos
2022-05-16  3:11       ` Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 021/602] gnu: Remove python2-htseq Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 022/602] gnu: Remove python2-pybedtools Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 023/602] gnu: Remove bamm Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 024/602] gnu: Remove python2-dendropy Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 025/602] gnu: Remove poretools Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 026/602] gnu: Remove python2-warpedlmm Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 027/602] gnu: Remove miso Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 028/602] gnu: Remove python2-screed Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 029/602] gnu: Remove python2-pyfaidx Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 030/602] gnu: Remove python2-pbcore Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 031/602] gnu: Remove pyicoteo Maxim Cournoyer
2022-05-15  4:36   ` [bug#55424] [PATCH 032/602] gnu: Remove transmission-remote-cli Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 033/602] gnu: Remove python2-nose-timer Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 034/602] gnu: Remove python2-pytest-catchlog Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 035/602] gnu: Remove python2-testlib Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 036/602] gnu: Remove python2-nose2 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 037/602] gnu: Remove python2-pytest-capturelog Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 038/602] gnu: Remove python2-python-paramunittest Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 039/602] gnu: Remove python2-rednose Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 040/602] gnu: Remove python2-minimock Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 041/602] gnu: Remove python2-flexmock Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 042/602] gnu: Remove python2-discover Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 043/602] gnu: Remove python2-cov-core Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 044/602] gnu: Remove python2-pytest-flakes Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 045/602] gnu: Remove python2-pytest-subtesthack Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 046/602] gnu: Remove python2-nose-randomly Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 047/602] gnu: Remove domainfinder Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 048/602] gnu: Remove nmoldyn Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 049/602] gnu: Remove python2-neo4j-driver Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 050/602] gnu: Remove python2-redis Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 051/602] gnu: Remove python2-trollius-redis Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 052/602] gnu: Remove python2-peewee Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 053/602] gnu: Remove python2-ccm Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 054/602] gnu: Remove python2-apsw Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 055/602] gnu: Remove python2-py2neo Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 056/602] gnu: Remove python2-pyodbc-c Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 057/602] gnu: Remove python2-pymysql Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 058/602] gnu: Remove python2-hiredis Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 059/602] gnu: Remove python2-pytest-pep8 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 060/602] gnu: Remove python2-scikit-learn Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 061/602] gnu: Remove ocrodjvu Maxim Cournoyer
2022-05-15  8:25     ` Maxime Devos
2022-05-16  3:17       ` Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 062/602] gnu: Remove python2-pandas Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 063/602] gnu: Remove python2-html5lib Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 064/602] gnu: Remove python2-statsmodels Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 065/602] gnu: Remove python2-pytest-cache Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 066/602] gnu: Remove python2-fastlmm Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 067/602] gnu: Remove python2-parameterized Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 068/602] gnu: Remove python2-pytest-warnings Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 069/602] gnu: Remove python2-pyodbc Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 070/602] gnu: Remove python2-pickleshare Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 071/602] gnu: Remove djvusmooth Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 072/602] gnu: Remove omnitux Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 073/602] gnu: Remove childsplay Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 074/602] gnu: Remove python2-capstone Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 075/602] gnu: Remove lekha Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 076/602] gnu: Remove python2-stdnum Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 077/602] gnu: Remove python2-ledgerblue Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 078/602] gnu: Remove python2-keepkey Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 079/602] gnu: nototools: Update to 0.2.16 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 080/602] gnu: Remove python2-tmx Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 081/602] gnu: renpy: Build with Python 3 Maxim Cournoyer
2022-06-16 13:18     ` Liliana Marie Prikler
2022-06-16 17:11       ` Maxim Cournoyer
2022-06-16 18:51         ` Liliana Marie Prikler
2022-06-16 21:29           ` Maxim Cournoyer
2022-06-16 23:39             ` Liliana Marie Prikler
2022-06-17  5:09               ` Maxim Cournoyer [this message]
2022-05-15  4:37   ` [bug#55424] [PATCH 082/602] gnu: Remove slingshot Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 083/602] gnu: Remove python2-gpg Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 084/602] gnu: Remove python2-pygpgme Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 085/602] gnu: pius: Update to 3.0.0 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 086/602] gnu: Remove python2-pydot Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 087/602] gnu: dot2tex: Update to 2.11.3 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 088/602] gnu: Remove h-client Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 089/602] gnu: Remove python2-iso3166 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 090/602] gnu: Remove python2-iso639 Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 091/602] gnu: Remove key-mon Maxim Cournoyer
2022-05-15  4:37   ` [bug#55424] [PATCH 092/602] gnu: Remove python2-tegaki-recognize Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 093/602] gnu: Remove python2-pyusb Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 094/602] gnu: Remove python2-autograd Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 095/602] gnu: getmail: Deprecate with getmail6 Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 096/602] gnu: Remove python2-mailmanclient Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 097/602] gnu: Remove python2-musicbrainzngs Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 098/602] gnu: Remove python2-pyechonest Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 099/602] gnu: Remove mloop Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 100/602] gnu: Remove gtklick Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 101/602] gnu: Remove non-timeline Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 102/602] gnu: Remove non-mixer Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 103/602] gnu: Remove python2-ipy Maxim Cournoyer
2022-05-15  4:38   ` [bug#55424] [PATCH 104/602] gnu: Remove sala Maxim Cournoyer
2022-05-15  7:56 ` [bug#55424] [PATCH 000/602] Purge Python 2 packages Guillaume Le Vaillant
2022-05-16  3:12   ` Maxim Cournoyer
2022-05-31 19:17     ` bug#55424: " Maxim Cournoyer
2022-06-17  6:49 ` [bug#55424] [PATCH 1/4] gnu: Add back the distinction between python-renpy and renpy Liliana Marie Prikler
2022-06-17 13:14   ` Maxim Cournoyer
2022-06-17 13:35     ` Liliana Marie Prikler
2022-06-17  6:49 ` [bug#55424] [PATCH v2 1/6] " Liliana Marie Prikler
2022-06-17  8:25 ` [bug#55424] [PATCH v2 2/6] gnu: Add python-pefile Liliana Marie Prikler
2022-06-17  8:25 ` [bug#55424] [PATCH 2/4] " Liliana Marie Prikler
2022-06-17  8:26 ` [bug#55424] [PATCH 3/4] gnu: python-pygame-sdl2: Update to 2.1.0-0-1705c6e Liliana Marie Prikler
2022-06-17 13:36   ` Maxim Cournoyer
2022-06-17  8:26 ` [bug#55424] [PATCH v2 3/6] " Liliana Marie Prikler
2022-06-17  8:27 ` [bug#55424] [PATCH 4/4] gnu: renpy: Update to 7.99.99-0-3e854bc Liliana Marie Prikler
2022-06-17 13:43   ` Maxim Cournoyer
2022-06-17  8:27 ` [bug#55424] [PATCH v2 4/6] " Liliana Marie Prikler
2022-06-17 14:01 ` [bug#55424] [PATCH v2 5/6] gnu: renpy: Use new style Liliana Marie Prikler
2022-06-17 16:11   ` Maxim Cournoyer
2022-06-17 14:45 ` [bug#55424] [PATCH v2 6/6] guix: Modernize renpy-build-system Liliana Marie Prikler

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

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

  git send-email \
    --in-reply-to=871qvnc1vy.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=55424@debbugs.gnu.org \
    --cc=liliana.prikler@gmail.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.