public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alessandro Barbieri" <lssndrbarbieri@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/sionlibl/files/, sys-cluster/sionlib/, sys-cluster/sionlib/files/, ...
Date: Sun, 25 Jul 2021 20:18:57 +0000 (UTC)	[thread overview]
Message-ID: <1627244335.c27e0053fa68318c60dfb94d9c2728abd5086b35.Alessandro-Barbieri@gentoo> (raw)

commit:     c27e0053fa68318c60dfb94d9c2728abd5086b35
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sun Jul 25 20:17:19 2021 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sun Jul 25 20:18:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c27e0053

sys-cluster/*: merge sionlibl with sionlib

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-cluster/sionlib/Manifest                       |   3 +-
 sys-cluster/sionlib/files/respect-flags.patch      | 134 ---------------------
 .../files/sionlib-respect-flags.patch}             |   0
 sys-cluster/sionlib/metadata.xml                   |   3 +-
 sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild        | 117 ------------------
 .../sionlib-1.7.7.ebuild}                          |   9 +-
 sys-cluster/sionlibl/Manifest                      |   1 -
 sys-cluster/sionlibl/metadata.xml                  |  34 ------
 8 files changed, 10 insertions(+), 291 deletions(-)

diff --git a/sys-cluster/sionlib/Manifest b/sys-cluster/sionlib/Manifest
index 9046f5a2b..8fc118f36 100644
--- a/sys-cluster/sionlib/Manifest
+++ b/sys-cluster/sionlib/Manifest
@@ -1 +1,2 @@
-DIST sionlib-1.7.6.tar.gz 486418 BLAKE2B 885eb2012ec6da031f5ae8b093ee4f3e5bbe31c9b24a11576f2ad01b32ddd8a85051565034f0e6c756af51409fb89f9c79f80b35c8337f2dc7912cb9e54d909b SHA512 afdd8520f489bc940edc51ffa636a25cad778de07bfbb21d2bd2ab767e57b16044990d85ef44d2e6482a376196f5c6a2a6f1a71556dd987f8094dd396a971d1c
+DIST sionlib-1.7.7.tar.gz 489080 BLAKE2B 1ffd06d1b245034b28700af1249135347cdd731a7af23ad96a27b5b5a11d64d9a67249fcd1c44cea43face1066e7ae1d59681e84cef2041e18f02e0c3e8f70ee SHA512 f270467e09893adf1af6103557365acbc9a3e73fe08716a21de6f59b25be9b187ee1c1ec1d878a9599e735f98da470b5e2e184774c27ed0ff0c330c5bf0a5677
+DIST sionlibl-1.7.7.tar.gz 490515 BLAKE2B 76971dd6d80222144b40da345d58311911aab09c6a5250b85d4a2731d2f93cdbd39d87dd6bbafdeaba88f06603105076267f6956417916f118ec45e07fa59269 SHA512 6ef46a0905552c558595bf6b72225a290d73dc87fa33c9862de5e4bd4d683792437646f7b4ab8a463b4a50d1b4a79aec96a66e577e815de3f23e9274be2681af

diff --git a/sys-cluster/sionlib/files/respect-flags.patch b/sys-cluster/sionlib/files/respect-flags.patch
deleted file mode 100644
index 9ff5bd384..000000000
--- a/sys-cluster/sionlib/files/respect-flags.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-diff '--color=auto' -ru a/config/determine-cc.sh b/config/determine-cc.sh
---- a/config/determine-cc.sh	2021-04-25 01:09:35.175990108 +0200
-+++ b/config/determine-cc.sh	2021-04-25 01:10:02.876433713 +0200
-@@ -1,7 +1,6 @@
- #!/bin/sh
- # determine what compiler is behind "cc" (and presumably "CC" and "ftn") wrapper
- 
--CC=`which cc 2>/dev/null`
- COMP=
- if [ -z "$CC" ]; then
-   echo "No 'cc' located!"
-diff '--color=auto' -ru a/config/select-compiler.sh b/config/select-compiler.sh
---- a/config/select-compiler.sh	2021-04-25 01:09:35.175990108 +0200
-+++ b/config/select-compiler.sh	2021-04-25 01:10:26.882817842 +0200
-@@ -9,7 +9,7 @@
- CPS=""
- COMP=""
- 
--GNU=`which gcc 2> /dev/null`
-+GNU="${CC}"
- if [ -n "${GNU}" ]
- then
-   NCPS=`expr ${NCPS} + 1`
-diff '--color=auto' -ru a/config/select-mpi.sh b/config/select-mpi.sh
---- a/config/select-mpi.sh	2021-04-25 01:09:35.175990108 +0200
-+++ b/config/select-mpi.sh	2021-04-25 01:12:41.269962840 +0200
-@@ -76,7 +76,6 @@
-   if [ -z "${MPIS}" ]; then MPIS="${MPI}"; else MPIS="${MPIS}|${MPI}"; fi
- fi
- 
--MPICC=`which mpicc 2> /dev/null`
- if [ -n "${MPICC}" ]
- then
-   FMPI=""
-@@ -86,7 +85,7 @@
-   MPIROOTDIR1=`dirname ${MBINDIR}`
- 
-   echo "#include <mpi.h>" > conftest.c
--  mpicc -E conftest.c | grep '/mpi.h"' | head -1 > mpiconf.txt
-+  "${MPICC}" -E conftest.c | grep '/mpi.h"' | head -1 > mpiconf.txt
-   MINCDIR=`cat mpiconf.txt | sed -e 's#^.* "##' -e 's#/mpi.h".*##'`
-   if [ -n "${MINCDIR}" ]
-   then
-diff '--color=auto' -ru a/mf/Makefile.defs.linux-gomp b/mf/Makefile.defs.linux-gomp
---- a/mf/Makefile.defs.linux-gomp	2021-04-25 01:09:35.119989211 +0200
-+++ b/mf/Makefile.defs.linux-gomp	2021-04-25 01:52:32.378951608 +0200
-@@ -23,24 +23,19 @@
- #------------------------------------------------------------------------------
- # SIONlib General Settings
- #------------------------------------------------------------------------------
--OPTFLAGS = -g -O0 -Wall
-+CFLAGS   += -std=c99 $(PFLAG) $(OPTFLAGS) -fPIC
- 
--CC       = gcc
--CFLAGS   = -std=c99 $(PFLAG) $(OPTFLAGS) -fPIC
-+CXXFLAGS += $(PFLAG) $(OPTFLAGS) -fPIC
- 
--CXX      = g++
--CXXFLAGS = $(PFLAG) $(OPTFLAGS) -O3
--
--F77      = gfortran
--FFLAGS   = $(PFLAG) $(OPTFLAGS)
-+FFLAGS   += $(PFLAG) $(OPTFLAGS) -fPIC
- 
- F90      = $(F77)
--F90FLAGS = $(PFLAG) $(OPTFLAGS) -ffree-form
-+F90FLAGS += $(PFLAG) $(OPTFLAGS) -ffree-form -fPIC $(FCFLAGS)
- 
- FPP      =
- FDOPT    = -D
- 
--LDFLAGS  = $(PFLAG) $(OPTFLAGS) $(HINTSLIB)
-+LDFLAGS  += $(PFLAG) $(OPTFLAGS) $(HINTSLIB)
- UTILLIB  =
- FOBASE   = pomp_fwrapper_base.o
- 
-@@ -101,10 +96,6 @@
- #------------------------------------------------------------------------------
- 
- MPIENABLE = 1
--MPICC     = mpicc
--MPICXX    = mpicxx
--MPIF77    = mpif77
--MPIF90    = mpif90
- MPILIB    = -lmpich
- PMPILIB   = -lpmpich
- #PMPILIB   = # MPICH2
-@@ -139,8 +130,7 @@
- #------------------------------------------------------------------------------
- 
- SZLIB          = szlib
--SZLIB_OPTFLAGS = -O3
--SZLIB_CFLAGS   = -I$(TOPDIR)/utils/szlib -DELG_COMPRESSED -DCUBE_COMPRESSED
-+SZLIB_CFLAGS   = -I$(TOPDIR)/utils/szlib -DELG_COMPRESSED -DCUBE_COMPRESSED $(CFLAGS)
- SZLIB_LIBPATH  = -L$(TOPDIR)/utils/szlib
- SZLIB_LIB      = -lsc.z
- 
-diff '--color=auto' -ru a/src/fortraninterface/Makefile b/src/fortraninterface/Makefile
---- a/src/fortraninterface/Makefile	2021-04-25 01:09:35.141989563 +0200
-+++ b/src/fortraninterface/Makefile	2021-04-25 01:23:48.055976593 +0200
-@@ -109,7 +110,7 @@
- 	$(CPP) $(F90FLAGS) $(F90FLAGS_CPP) -P -E -I ../lib sion_f90.F90 > sion_f90.f90
- sion_f90.mod : sion_f90.o
- sion_f90.o : sion_f90.f90 sion_f77.h $(SION_HDRS)
--	$(F90) -c sion_f90.f90
-+	$(F90) $(F90FLAGS) -c sion_f90.f90
- 
- sion_f90_omp.o: sion_f90.o
- sion_f90_mpi.o: sion_f90.o
-@@ -121,21 +122,21 @@
- 	$(CPP) $(F90FLAGS) $(F90FLAGS_CPP) $(F90MPIFLAGS) -P -E -I ../lib sion_f90_mpi.F90 > sion_f90_mpi.f90
- sion_f90_mpi.mod : sion_f90_mpi.o
- sion_f90_mpi.o : sion_f90_mpi.f90 sion_f90.mod $(SION_HDRS)
--	$(MPIF90) -c sion_f90_mpi.f90
-+	$(MPIF90) $(F90FLAGS) $(F90MPIFLAGS) -c sion_f90_mpi.f90
- 
- # F90 Interface (OMP)
- sion_f90_omp.f90: sion_f90_omp.F90
- 	$(CPP) $(F90OMPFLAGS) $(F90FLAGS) $(F90FLAGS_CPP) -P -E -I ../lib sion_f90_omp.F90 > sion_f90_omp.f90
- sion_f90_omp.mod : sion_f90_omp.o 
- sion_f90_omp.o : sion_f90_omp.f90 sion_f90.mod $(SION_HDRS)
--	$(OMPF90) -c sion_f90_omp.f90
-+	$(OMPF90) $(F90FLAGS) $(F90OMPFLAGS) -c sion_f90_omp.f90
- 
- # F90 Interface (OMPI)
- sion_f90_ompi.f90: sion_f90_ompi.F90 $(SION_HDRS)
- 	$(CPP) $(F90MPIFLAGS) $(F90OMPFLAGS) $(F90FLAGS) $(F90FLAGS_CPP) -P -E -I ../lib sion_f90_ompi.F90 > sion_f90_ompi.f90
- sion_f90_ompi.mod : sion_f90_ompi.o
- sion_f90_ompi.o : sion_f90_ompi.f90 $(SION_HDRS)
--	$(MPIF90) -c sion_f90_ompi.f90
-+	$(MPIF90) $(F90FLAGS) $(F90MPIFLAGS) -c sion_f90_ompi.f90
- 
- 
- 

diff --git a/sys-cluster/sionlibl/files/sionlibl-respect-flags.patch b/sys-cluster/sionlib/files/sionlib-respect-flags.patch
similarity index 100%
rename from sys-cluster/sionlibl/files/sionlibl-respect-flags.patch
rename to sys-cluster/sionlib/files/sionlib-respect-flags.patch

diff --git a/sys-cluster/sionlib/metadata.xml b/sys-cluster/sionlib/metadata.xml
index 55c6754ef..df4593cce 100644
--- a/sys-cluster/sionlib/metadata.xml
+++ b/sys-cluster/sionlib/metadata.xml
@@ -20,7 +20,7 @@ SIONlib provides two different interfaces: one for parallel access (with impleme
 	</longdescription>
 	<use>
 		<!--<flag name="cuda">enable CUDA aware interface</flag>-->
-		<flag name="cxx">Disable C++ support</flag>
+		<flag name="cxx">Enable C++ support</flag>
 		<flag name="debug">enable SIONlib debug</flag>
 		<flag name="fortran">Enable Fortran support</flag>
 		<flag name="mpi">enable mpi</flag>
@@ -30,5 +30,6 @@ SIONlib provides two different interfaces: one for parallel access (with impleme
 		<flag name="parutils">Enable compilation of parutils (used for benchmarking)</flag>
 		<flag name="pthreads">configure SIONlib to use pthreads for locking</flag>
 		<!--<flag name="sionfwd">enable I/O forwarding with SIONfwd</flag>-->
+		<flag name="tools">Build the tooling version instead</flag>
 	</use>
 </pkgmetadata>

diff --git a/sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild b/sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild
deleted file mode 100644
index a63c7bc0f..000000000
--- a/sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_BUILDER="doxygen"
-DOCS_CONFIG_NAME="doxy"
-FORTRAN_NEEDED="fortran"
-PYTHON_COMPAT=( pypy3 python3_{7,8,9} )
-inherit docs flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Scalable I/O library for parallel access to task-local files"
-HOMEPAGE="https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html"
-SRC_URI="http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV} -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads python"
-#TODO: cuda sionfwd msa
-#--enable-sionfwd=/path/to/sionfwd
-#--msa=(hostname-regex|deep-est-sdv)]	MSA aware collective operations for the given system
-
-PATCHES=( "${FILESDIR}/respect-flags.patch" )
-
-RDEPEND="
-	mpi? ( virtual/mpi )
-	ompi? (
-		|| ( sys-devel/gcc:*[openmp] sys-libs/libomp )
-		virtual/mpi
-	)
-	openmp? ( || ( sys-devel/gcc:*[openmp] sys-libs/libomp ) )
-"
-DEPEND="
-	${RDEPEND}
-	${PYTHON_DEPS}
-"
-S="${WORKDIR}/${PN}"
-
-pkg_setup() {
-	FORTRAN_NEED_OPENMP=0
-	use openmp && FORTRAN_NEED_OPENMP=1
-	use ompi && FORTRAN_NEED_OPENMP=1
-
-	fortran-2_pkg_setup
-}
-
-src_prepare() {
-	default
-	sed 's/CXXFLAGS = $(CXXFLAGS)/CXXFLAGS = /' -i test/serial/Makefile || die
-	sed 's/`gcc/`${CC}/' -i config/determine-compiler-version.sh || die
-}
-
-src_configure() {
-	tc-export AR CC CXX F77 FC
-	export MPICC=/usr/bin/mpicc
-	export MPICXX=/usr/bin/mpicxx
-	export MPIF77=/usr/bin/mpif77
-	export MPIF90=/usr/bin/mpif90
-	export F90=$(tc-getFC)
-	export OMPF77=$(tc-getF77)
-	export OMPF90=$(tc-getFC)
-
-	append-fflags -fallow-argument-mismatch
-
-	local myconf=(
-		--disable-mic
-		--prefix="${T}/prefix/usr"
-	)
-
-	#custom configure?
-	use cxx || myconf+=( "--disable-cxx" )
-	use fortran || myconf+=( "--disable-fortran" )
-	use mpi || myconf+=( "--disable-mpi" )
-	use ompi || myconf+=( "--disable-ompi" )
-	use openmp || myconf+=( "--disable-omp" )
-	use parutils || myconf+=( "--disable-parutils" )
-	use pthreads || myconf+=( "--disable-pthreads" )
-
-	use debug && myconf+=( "--enable-debug" )
-	use python && myconf+=( "--enable-python=3" )
-
-	./configure "${myconf[@]}" || die
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}/fonts"
-	emake C_AR=$(tc-getAR) F90=$(tc-getFC)
-	docs_compile
-}
-
-src_install() {
-	mkdir -p "${T}/prefix/usr/share/doc/${PF}" || die
-	default
-
-	if use examples ; then
-		mv "${T}/prefix/usr/examples" "${T}/prefix/usr/share/doc/${PF}/" || die
-	else
-		rm -r "${T}/prefix/usr/examples" || die
-	fi
-
-	# move 64 bit libraries to lib64
-	libs64=( "${T}"/prefix/usr/lib/*64* )
-	if [[ ${#libs64[@]} -gt 0 ]]; then
-		mkdir "${T}/prefix/usr/lib64" || die
-		for l in "${libs64[@]}" ; do
-			mv "${l}" "${T}/prefix/usr/lib64/" || die
-		done
-	fi
-
-	rsync -ravXHA "${T}/prefix/usr" "${ED}/" || die
-	docompress -x "/usr/share/doc/${PF}/examples"
-
-	#TODO: build shared libs
-	#find "${ED}" -name '*.a' -delete || die
-	find "${ED}" -name '*.la' -delete || die
-}

diff --git a/sys-cluster/sionlibl/sionlibl-1.7.7.ebuild b/sys-cluster/sionlib/sionlib-1.7.7.ebuild
similarity index 91%
rename from sys-cluster/sionlibl/sionlibl-1.7.7.ebuild
rename to sys-cluster/sionlib/sionlib-1.7.7.ebuild
index 45b166425..e00956e3a 100644
--- a/sys-cluster/sionlibl/sionlibl-1.7.7.ebuild
+++ b/sys-cluster/sionlib/sionlib-1.7.7.ebuild
@@ -12,13 +12,16 @@ inherit docs flag-o-matic fortran-2 python-any-r1 toolchain-funcs
 
 DESCRIPTION="Scalable I/O library for parallel access to task-local files"
 HOMEPAGE="https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html"
-SRC_URI="http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV}l -> ${P}.tar.gz"
-S="${WORKDIR}/sionlib"
+SRC_URI="
+	!tools? ( http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV} -> ${P}.tar.gz )
+	tools? ( http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV}l -> ${PN}l-${PV}.tar.gz )
+"
+S="${WORKDIR}/${PN}"
 
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads python"
+IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads python tools"
 #TODO: cuda sionfwd msa
 #--enable-sionfwd=/path/to/sionfwd
 #--msa=(hostname-regex|deep-est-sdv)]	MSA aware collective operations for the given system

diff --git a/sys-cluster/sionlibl/Manifest b/sys-cluster/sionlibl/Manifest
deleted file mode 100644
index 8ce6ed0a6..000000000
--- a/sys-cluster/sionlibl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sionlibl-1.7.7.tar.gz 490515 BLAKE2B 76971dd6d80222144b40da345d58311911aab09c6a5250b85d4a2731d2f93cdbd39d87dd6bbafdeaba88f06603105076267f6956417916f118ec45e07fa59269 SHA512 6ef46a0905552c558595bf6b72225a290d73dc87fa33c9862de5e4bd4d683792437646f7b4ab8a463b4a50d1b4a79aec96a66e577e815de3f23e9274be2681af

diff --git a/sys-cluster/sionlibl/metadata.xml b/sys-cluster/sionlibl/metadata.xml
deleted file mode 100644
index 55c6754ef..000000000
--- a/sys-cluster/sionlibl/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="person">
-		<email>lssndrbarbieri@gmail.com</email>
-		<name>Alessandro Barbieri</name>
-	</maintainer>
-	<longdescription lang="en">
-SIONlib is a library for writing and reading data from several thousands of parallel tasks into/from one or a small number of physical files. Only the open and close functions are collective while file access can be performed independently.
-
-SIONlib can be used as a replacement for standard I/O APIs (e.g. POSIX) that are used to access distinct files from every parallel process. SIONlib will bundle the data into one or few files in a coordinated fashion in order to sidestep sequentialising mechanism in the file system. At the same time, the task-per-file picture is maintained for the application, every process has access to its logical file only. File access is performed using SIONlib equivalents to standard C-I/O functionality (fwrite becomes sion_write, fseek becomes sion_seek, etc.) which have similar semantics as their C counterparts.
-
-Internally, the physical files are sub-divided into sequences of blocks, which themselves contain one chunk of data belonging to every logical file. In case the amount to be written to a file is known up front, it can optionally be specified when opening the file and the sequence of blocks collapses into a single block with one chunk per task containing all of its data. If a chunk size cannot be specified ahead of time, a sensible default is chosen and reads and writes that cross chunk boundaries are handled transparently by SIONlib.
-
-SIONlib also uses information about the block size of the underlying file system, because access to the same block from different tasks often leads to contention.
-
-Both, the estimated chunk size and file system block size are used to align individual chunks with file system blocks. Ensuring contention-free access to file system blocks enables efficient parallel writing and reading.
-
-SIONlib provides two different interfaces: one for parallel access (with implementations for different parallel programming technologies such as MPI, OpenMP and hybrid MPI+OpenMP) and one for sequential access which is also used internally by the SIONlib utilities.
-	</longdescription>
-	<use>
-		<!--<flag name="cuda">enable CUDA aware interface</flag>-->
-		<flag name="cxx">Disable C++ support</flag>
-		<flag name="debug">enable SIONlib debug</flag>
-		<flag name="fortran">Enable Fortran support</flag>
-		<flag name="mpi">enable mpi</flag>
-		<flag name="python">enable python support</flag>
-		<flag name="ompi">enable hybrid openmp mpi</flag>
-		<flag name="openmp">enable openmp</flag>
-		<flag name="parutils">Enable compilation of parutils (used for benchmarking)</flag>
-		<flag name="pthreads">configure SIONlib to use pthreads for locking</flag>
-		<!--<flag name="sionfwd">enable I/O forwarding with SIONfwd</flag>-->
-	</use>
-</pkgmetadata>


                 reply	other threads:[~2021-07-25 20:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=1627244335.c27e0053fa68318c60dfb94d9c2728abd5086b35.Alessandro-Barbieri@gentoo \
    --to=lssndrbarbieri@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox