pythonDocs: 3.7 -> 3.10

Also include texinfo docs for Python 3 (they aren't generated for
Python 2)

A few minor fixes had to be made to generate.sh as well.
This commit is contained in:
Spencer Baugh 2022-09-13 10:26:32 -04:00 committed by Frederik Rietdijk
parent 627c3b44e4
commit 52117cce92
12 changed files with 148 additions and 32 deletions

View File

@ -2,13 +2,11 @@
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation rec {
pname = "python27-docs-html";
version = "2.7.16";
stdenv.mkDerivation {
name = "python27-docs-html-2.7.18";
src = fetchurl {
url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-html.tar.bz2";
sha256 = "1razs1grzhai65ihaiyph8kz6ncjkgp1gsn3c8v7kanf13lqim02";
url = http://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-docs-html.tar.bz2;
sha256 = "03igxwpqc2lvzspnj78zz1prnmfwwj00jbvh1wsxvb0wayd5wi10";
};
installPhase = ''
mkdir -p $out/share/doc/python27

View File

@ -2,13 +2,11 @@
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation rec {
pname = "python27-docs-pdf-a4";
version = "2.7.16";
stdenv.mkDerivation {
name = "python27-docs-pdf-a4-2.7.18";
src = fetchurl {
url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-pdf-a4.tar.bz2";
sha256 = "14ml1ynrlbhg43737bdsb8k5y39wsffqj4iwhylhb8n8l5dplfdq";
url = http://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-docs-pdf-a4.tar.bz2;
sha256 = "0rxb2fpxwivjpk5wi2pl1fqibr4khf9s0yq6a49k9b4awi9nkb6v";
};
installPhase = ''
mkdir -p $out/share/doc/python27

View File

@ -2,13 +2,11 @@
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation rec {
pname = "python27-docs-pdf-letter";
version = "2.7.16";
stdenv.mkDerivation {
name = "python27-docs-pdf-letter-2.7.18";
src = fetchurl {
url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-pdf-letter.tar.bz2";
sha256 = "019i8n48m71mn31v8d85kkwyqfgcgqnqh506y4a7fcgf656bajs0";
url = http://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-docs-pdf-letter.tar.bz2;
sha256 = "07hbqvrdlq01cb95r1574bxqqhiqbkj4f92wzlq4d6dq1l272nan";
};
installPhase = ''
mkdir -p $out/share/doc/python27

View File

@ -2,13 +2,11 @@
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation rec {
pname = "python27-docs-text";
version = "2.7.16";
stdenv.mkDerivation {
name = "python27-docs-text-2.7.18";
src = fetchurl {
url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-text.tar.bz2";
sha256 = "1da7swlykvc013684nywycinfz3v8dqkcmv0zj8p7l5lyi5mq03r";
url = http://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-docs-text.tar.bz2;
sha256 = "1wj7mxs52kp5lmn5mvv574sygkfnk00kbz9ya9c03yfq5dd5nvy8";
};
installPhase = ''
mkdir -p $out/share/doc/python27

View File

@ -0,0 +1,18 @@
# This file was generated and will be overwritten by ./generate.sh
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation {
name = "python310-docs-html-3.10.7";
src = fetchurl {
url = http://www.python.org/ftp/python/doc/3.10.7/python-3.10.7-docs-html.tar.bz2;
sha256 = "0j86z1vmaghzj5i4frvzyfb9qwsmm09g4f4ssx5w27cm30b8k0v1";
};
installPhase = ''
mkdir -p $out/share/doc/python310
cp -R ./ $out/share/doc/python310/html
'';
meta = {
maintainers = [ ];
};
}

View File

@ -0,0 +1,18 @@
# This file was generated and will be overwritten by ./generate.sh
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation {
name = "python310-docs-pdf-a4-3.10.7";
src = fetchurl {
url = http://www.python.org/ftp/python/doc/3.10.7/python-3.10.7-docs-pdf-a4.tar.bz2;
sha256 = "1gvi457dsj3ywwvxysp7idkk9ndngnby1dnfh1q8f5gv3kg4093r";
};
installPhase = ''
mkdir -p $out/share/doc/python310
cp -R ./ $out/share/doc/python310/pdf-a4
'';
meta = {
maintainers = [ ];
};
}

View File

@ -0,0 +1,18 @@
# This file was generated and will be overwritten by ./generate.sh
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation {
name = "python310-docs-pdf-letter-3.10.7";
src = fetchurl {
url = http://www.python.org/ftp/python/doc/3.10.7/python-3.10.7-docs-pdf-letter.tar.bz2;
sha256 = "0hzq5n6absqsh21jp6j5iaim9a1wq69d8lc2assldzb2zg4i75hr";
};
installPhase = ''
mkdir -p $out/share/doc/python310
cp -R ./ $out/share/doc/python310/pdf-letter
'';
meta = {
maintainers = [ ];
};
}

View File

@ -0,0 +1,18 @@
# This file was generated and will be overwritten by ./generate.sh
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation {
name = "python310-docs-texinfo-3.10.7";
src = fetchurl {
url = http://www.python.org/ftp/python/doc/3.10.7/python-3.10.7-docs-texinfo.tar.bz2;
sha256 = "0p0fifi84ijz4ng6krw7c1x965jhgysprkijblmlnax7x9rmqrdf";
};
installPhase = ''
mkdir -p $out/share/info
cp ./python.info $out/share/info
'';
meta = {
maintainers = [ ];
};
}

View File

@ -0,0 +1,18 @@
# This file was generated and will be overwritten by ./generate.sh
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation {
name = "python310-docs-text-3.10.7";
src = fetchurl {
url = http://www.python.org/ftp/python/doc/3.10.7/python-3.10.7-docs-text.tar.bz2;
sha256 = "1zbmm2fvdjnl214y41yffyqw3ywfai5r5npc00n1wkfxsdp7gcc3";
};
installPhase = ''
mkdir -p $out/share/doc/python310
cp -R ./ $out/share/doc/python310/text
'';
meta = {
maintainers = [ ];
};
}

View File

@ -7,7 +7,7 @@ pythonDocs = {
python27 = import ./2.7-html.nix {
inherit stdenv fetchurl lib;
};
python37 = import ./3.7-html.nix {
python310 = import ./3.10-html.nix {
inherit stdenv fetchurl lib;
};
};
@ -16,7 +16,7 @@ pythonDocs = {
python27 = import ./2.7-pdf-a4.nix {
inherit stdenv fetchurl lib;
};
python37 = import ./3.7-pdf-a4.nix {
python310 = import ./3.10-pdf-a4.nix {
inherit stdenv fetchurl lib;
};
};
@ -25,7 +25,7 @@ pythonDocs = {
python27 = import ./2.7-pdf-letter.nix {
inherit stdenv fetchurl lib;
};
python37 = import ./3.7-pdf-letter.nix {
python310 = import ./3.10-pdf-letter.nix {
inherit stdenv fetchurl lib;
};
};
@ -34,7 +34,13 @@ pythonDocs = {
python27 = import ./2.7-text.nix {
inherit stdenv fetchurl lib;
};
python37 = import ./3.7-text.nix {
python310 = import ./3.10-text.nix {
inherit stdenv fetchurl lib;
};
};
texinfo = {
recurseForDerivations = true;
python310 = import ./3.10-texinfo.nix {
inherit stdenv fetchurl lib;
};
};

View File

@ -1,8 +1,8 @@
#!/usr/bin/env bash
TYPES="html pdf-a4 pdf-letter text"
URL=http://docs.python.org/ftp/python/doc/VERSION/python-VERSION-docs-TYPE.tar.bz2
VERSIONS=$(for major in 2 3; do curl https://docs.python.org/$major/archives/ 2>/dev/null | perl -l -n -e'/<a href="python-([23].[0-9].[0-9]+)-docs-html.tar.bz2/ && print $1' | tail -n 1; done)
TYPES="html pdf-a4 pdf-letter text texinfo"
URL=http://www.python.org/ftp/python/doc/VERSION/python-VERSION-docs-TYPE.tar.bz2
VERSIONS=$(for major in 2 3; do curl https://docs.python.org/$major/archives/ 2>/dev/null | perl -l -n -e'/<a href="python-([23].[0-9]+.[0-9]+)-docs-html.tar.bz2/ && print $1' | tail -n 1; done)
echo "Generating expressions for:
${VERSIONS}
"
@ -24,6 +24,15 @@ EOF
for version in $VERSIONS; do
major=$(echo -n ${version}| cut -d. -f1)
minor=$(echo -n ${version}| cut -d. -f2)
if [ "${type}" = "texinfo" ]; then
if [ "${major}" = "2" ]; then
# Python 2 doesn't have pregenerated texinfos available
continue
fi
template=template-info.nix
else
template=template.nix
fi
outfile=${major}.${minor}-${type}.nix
hash=
if [ -e ${outfile} ]; then
@ -36,12 +45,13 @@ EOF
url=$(echo -n $URL |sed -e "s,VERSION,${version},g" -e "s,TYPE,${type},")
sha=$(nix-prefetch-url ${url} ${hash})
sed -e "s,VERSION,${version}," \
-e "s,MAJOR,${major}," \
-e "s,MINOR,${minor}," \
-e "s,TYPE,${type}," \
-e "s,URL,${url}," \
-e "s,SHA,${sha}," < template.nix > ${outfile}
-e "s,SHA,${sha}," < ${template} > ${outfile}
attrname=python${major}${minor}
cat >>default.nix <<EOF

View File

@ -0,0 +1,18 @@
# This file was generated and will be overwritten by ./generate.sh
{ stdenv, fetchurl, lib }:
stdenv.mkDerivation {
name = "pythonMAJORMINOR-docs-TYPE-VERSION";
src = fetchurl {
url = URL;
sha256 = "SHA";
};
installPhase = ''
mkdir -p $out/share/info
cp ./python.info $out/share/info
'';
meta = {
maintainers = [ ];
};
}