aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/python24.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/python24.scm')
-rw-r--r--gn/packages/python24.scm520
1 files changed, 520 insertions, 0 deletions
diff --git a/gn/packages/python24.scm b/gn/packages/python24.scm
new file mode 100644
index 0000000..cc5e61c
--- /dev/null
+++ b/gn/packages/python24.scm
@@ -0,0 +1,520 @@
+(define-module (gn packages python24)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system python)
+ #:use-module (gn packages python)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages tcl)
+ #:use-module (srfi srfi-1))
+
+;; TODO: Check against 'guix lint -c cve python2.4' list:
+;; CVE-2019-9740, CVE-2019-9947, CVE-2019-9948, CVE-2018-1060, CVE-2018-1061,
+;; CVE-2014-9365, CVE-2012-0845, CVE-2012-1150, CVE-2011-1521, CVE-2011-4940,
+;; CVE-2010-3492, CVE-2008-5031, CVE-2008-5983
+(define-public python-2.4
+ (package
+ (inherit python-2)
+ (name "python2.4")
+ (version "2.4.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.python.org/ftp/python/"
+ version "/Python-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "021y88a4ki07dgq19yhg6zfvmncfiz7h5b2255438i9zmlwl246s"))))
+ (outputs '("out"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-2)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'create-setup-local
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((zlib (assoc-ref inputs "zlib"))
+ (tcl (assoc-ref inputs "tcl"))
+ (tk (assoc-ref inputs "tk"))
+ (gdbm (assoc-ref inputs "gdbm"))
+ (read (assoc-ref inputs "readline"))
+ (ssl (assoc-ref inputs "openssl")))
+ (with-output-to-file "Modules/Setup.local"
+ (lambda _
+ (format #t "readline readline.c -I~a/include -L~a/lib -lreadline~@
+ _ssl _ssl.c -DUSE_SSL -I$~a/include/openssl -L~a/lib -lssl -lcrypto~@
+ _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT -L~a/lib -I~a/include -L~a/lib -I~a/include -ltk~a -ltcl~a~@
+ gdbm gdbmmodule.c -I~a/include -L~a/lib -lgdbm~@
+ zlib zlibmodule.c -I~a/include -L~a/lib -lz~%"
+read read ssl ssl tcl tcl tk tk ,(version-major+minor (package-version tcl)) ,(version-major+minor (package-version tcl)) gdbm gdbm zlib zlib))))
+ #t))
+ (add-before 'check 'delete-failing-tests
+ (lambda _
+ (for-each
+ (lambda (file)
+ (delete-file (string-append "Lib/test/" file)))
+ '("test_socket.py" "test_anydbm.py" "test_whichdb.py" "test_zlib.py"))
+ #t))
+ (add-after 'check 'find-netinet-in-h
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((glibc (assoc-ref inputs "libc")))
+ (substitute* (find-files "Lib/plat-generic" ".*")
+ (("/usr/include/netinet/in.h")
+ (string-append glibc "/include/netinet/in.h")))
+ #t)))
+ (delete 'move-tk-inter)))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "PYTHONPATH")
+ (files '("lib/python2.4/site-packages")))))
+ (properties '((cpe-name . "python")))))
+
+(define (default-python2.4)
+ "Return the default Python-2.4 package."
+ ;; Lazily resolve the binding.
+ (let ((python (resolve-interface '(gn packages python24))))
+ (module-ref python 'python-2.4)))
+
+(define package-with-python24
+ ((@@ (guix build-system python) package-with-explicit-python) (delay (default-python2.4))
+ "python-" "python24-"
+ #:variant-property 'python24-variant))
+
+(define (strip-python24-variant p)
+ (package
+ (inherit p)
+ (properties (alist-delete 'python24-variant (package-properties p)))))
+
+(define-public python24-htmlgen
+ (package
+ (name "python24-htmlgen")
+ (version "0.9")
+ ;(version "0.99")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "htmlgen" version))
+ (sha256
+ (base32
+ "14xzjgwdqgs1vs5mq7mg3w48snvgb77yywv64mg8k6qhapmnafdw"))))
+ ;"1kbn6jcbf2mpb9f8hm5gcsipy7habqrq4794lpdbzm5mqxlclmnl"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4))
+ (native-inputs
+ `(("python24-setuptools" ,python24-setuptools)))
+ (propagated-inputs
+ `(("python24-asserts" ,python24-asserts)))
+ (home-page "https://github.com/srittau/python-htmlgen")
+ (synopsis "Python HTML 5 Generator")
+ (description "Python-htmlgen is a library to generate HTML from classes.")
+ (license license:expat)))
+
+(define-public python24-setuptools
+ (package
+ (inherit python-setuptools)
+ (name "python24-setuptools")
+ (version "1.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "setuptools" version))
+ (sha256
+ (base32
+ "1gfvalhvzcskwj85r3lh9sx190f8k807vz5zln8agaw31ak8cf96"))))
+ (arguments
+ `(#:python ,python-2.4
+ #:tests? #f)))) ; skip the tests
+
+(define-public python24-asserts
+ (package
+ (name "python24-asserts")
+ (version "0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asserts" version))
+ (sha256
+ (base32
+ "05ffy111giwv6sqx97vzzsvcra0gxzx2ilv16gyw135v583frxbn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4))
+ (native-inputs
+ `(("python24-setuptools" ,python24-setuptools)))
+ (home-page "https://github.com/srittau/python-asserts")
+ (synopsis "Stand-alone Assertions for Python")
+ (description "Stand-alone Assertions for Python")
+ (license license:expat)))
+
+(define-public python24-pyx
+ (package
+ (name "python24-pyx")
+ (version "0.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyx" version))
+ (sha256
+ (base32
+ "13kyhqx19rw7dlv2xapdb68j8l9laq6nrpgkyd6549qwidmb4dz8"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4))
+ (native-inputs
+ `(("python24-setuptools" ,python24-setuptools)))
+ (home-page "http://pyx.sourceforge.net/")
+ (synopsis "Python package for the generation of PostScript, PDF, and SVG files")
+ (description "Python package for the generation of PostScript, PDF, and SVG files")
+ (license license:gpl2+)))
+
+(define-public python24-pyxlwriter
+ (package
+ (name "python24-pyxlwriter")
+ (version "0.4a3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/pyxlwriter/pyxlwriter/"
+ version "/pyXLWriter-" version ".zip"))
+ (sha256
+ (base32
+ "1kfsi6la9y53rwayszgayfmkjfknpp650v69a0hwd1fcfk1df735"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:use-setuptools? #f
+ #:tests? #f)) ; no tests
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://sourceforge.net/projects/pyxlwriter/")
+ (synopsis "Python library for generating Excel compatible spreadsheets")
+ (description "PyXLWriter is a Python library for generating Excel compatible
+spreadsheets. It's a port of John McNamara's Perl @code{Spreadsheet::WriteExcel}
+module version 1.01 to Python. It allows writing of Excel compatible
+spreadsheets without the need for COM objects.")
+ (license license:lgpl2.1+)))
+
+(define-public python24-pil
+ (package
+ (inherit python2-pil1)
+ (name "python24-pil")
+ (arguments
+ (substitute-keyword-arguments (package-arguments python2-pil1)
+ ((#:python _) python-2.4)))))
+
+(define-public python24-piddle
+ (package
+ (inherit python2-piddle-1.0.15)
+ (name "python24-piddle")
+ (arguments
+ (substitute-keyword-arguments (package-arguments python2-piddle-1.0.15)
+ ((#:python _) python-2.4)))
+ (propagated-inputs
+ `(("python24-pil" ,python24-pil)))))
+
+;; Apparently this is the library which mimics python-2.6+'s json library
+(define-public python24-simplejson
+ (let ((base (package-with-python24 python-simplejson)))
+ (package
+ (inherit base)
+ (version "2.0.9") ; last version to officially support python2.4
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "simplejson" version))
+ (sha256
+ (base32
+ "1vlkxibal9ljabybawnqr3jh6f6g21c5pbrzl65z9vwbfxhg9kdb"))))
+ (native-inputs
+ `(("python24-setuptools" ,python24-setuptools)
+ ,@(package-native-inputs base))))))
+
+(define-public python24-numarray
+ (package
+ (name "python24-numarray")
+ (version "1.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/numpy/Old Numarray/" version
+ "/numarray-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x1i4j7yni7k4p9kjxs1lgln1psdmyrz65wp2yr35yn292iw2vbg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:use-setuptools? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (invoke "python" "setup.py" "config" "build"
+ "--gencode" "--use_lapack")))
+ (add-after 'unpack 'find-lapack-and-openblas
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((lapack (assoc-ref inputs "lapack"))
+ (blas (assoc-ref inputs "openblas")))
+ (substitute* "cfg_packages.py"
+ (("lapack_libs = .*'m']")
+ "lapack_libs = ['lapack', 'openblas', 'm']\n")
+ (("lapack_dirs = .*")
+ (string-append "lapack_dirs = ['"
+ lapack "/lib', '" blas "/lib']\n"))
+ (("lapack_include_dirs = .*")
+ (string-append "lapack_include_dirs = ['"
+ lapack "/include', '" blas "/include']\n")))
+ #t)))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "python" "setup.py" "config"
+ "install" "--use_lapack"
+ (string-append "--prefix=" out))))))
+ #:tests? #f)) ; no test target
+ (inputs
+ `(("lapack" ,lapack)
+ ("openblas" ,openblas)))
+ (home-page "http://www.numpy.org/")
+ (synopsis "Array processing of numbers, strings, records and objects")
+ (description "Numarray is an array processing package designed to
+efficiently manipulate large multi-dimensional arrays. Numarray is modelled
+after Numeric and features c-code generated from python template scripts, the
+capacity to operate directly on arrays in files, and improved type promotions.
+Numarray provides support for manipulating arrays consisting of numbers,
+strings, records, or objects using the same basic infrastructure and syntax.")
+ (license license:bsd-3)))
+
+(define-public python24-pp
+ (package
+ (name "python24-pp")
+ (version "1.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.parallelpython.com/downloads/pp/pp-" version ".zip"))
+ (sha256
+ (base32
+ "0qkxcyclz3vgwpl6xvsrg76q59dj0wwy8qx15567bafv659ypyb1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:use-setuptools? #f
+ #:tests? #f)) ; no tests
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "http://www.parallelpython.com")
+ (synopsis "Parallel and distributed programming for Python")
+ (description "PP is a python module which provides mechanism for parallel
+execution of python code on SMP (systems with multiple processors or cores) and
+clusters (computers connected via network).")
+ (license license:bsd-3)))
+
+(define GN1-thirdparty-sources
+ (origin
+ (method url-fetch/tarbomb)
+ ;; ipfs get QmTPwYT2pehdxdG1TiHEzVzLgbeuhJ4utXShuz3twA84AB
+ (uri "file:///gnu/store/p33a2sh3x2nhiiphdw9nly80njg6p8fi-thirdparty.tgz")
+ (file-name "GN1-thirdparty")
+ (sha256
+ (base32
+ "0nnp6g412hjfrcn3k2yrfb14sxv06k0149whc7qmv678nyj5zhfa"))))
+
+(define-public python24-json-GN1
+ (package
+ (name "python24-json-GN1")
+ (version "GN1")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sitedir (string-append out "/lib/python2.4/site-packages/json/")))
+ (mkdir-p sitedir)
+ (copy-recursively "thirdparty/json" sitedir)
+ #t))))))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:lgpl2.1+)))
+
+(define-public python24-svg-GN1
+ (package
+ (name "python24-svg-GN1")
+ (version "1.0")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sitedir (string-append out "/lib/python2.4/site-packages/svg/")))
+ (mkdir-p sitedir)
+ (copy-recursively "thirdparty/svg" sitedir)
+ #t))))))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:bsd-4)))
+
+(define-public python24-htmlgen-GN1
+ (package
+ (name "python24-htmlgen-GN1")
+ (version "2.5")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sitedir (string-append out "/lib/python2.4/site-packages/htmlgen/")))
+ (mkdir-p sitedir)
+ (copy-recursively "thirdparty/htmlgen" sitedir)
+ #t))))))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:bsd-2))) ; I'm not actually sure, checked HTMLgen.py
+
+(define-public python24-pyx-GN1
+ (package
+ (name "python24-pyx-GN1")
+ (version "0.8")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sitedir (string-append out "/lib/python2.4/site-packages/pyx/")))
+ (mkdir-p sitedir)
+ (copy-recursively "thirdparty/pyx" sitedir)
+ #t))))))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:gpl2+)))
+
+(define-public python24-pyxlwriter-GN1
+ (package
+ (name "python24-pyxlwriter-GN1")
+ (version "0.4a3")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sitedir (string-append out "/lib/python2.4/site-packages/pyXLWriter/")))
+ (mkdir-p sitedir)
+ (copy-recursively "thirdparty/pyXLWriter" sitedir)
+ #t))))))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:lgpl2.1+)))
+
+(define-public python24-pp-GN1
+ (package
+ (name "python24-pp-GN1")
+ (version "1.5.7")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:use-setuptools? #f
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "thirdparty/pp-1.5.7") #t)))))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:bsd-3)))
+
+(define-public python24-numarray-GN1
+ (package
+ (name "python24-numarray-GN1")
+ (version "1.5.2")
+ (source GN1-thirdparty-sources)
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2.4
+ #:use-setuptools? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (invoke "python" "setup.py" "config" "build"
+ "--gencode" "--use_lapack")))
+ (add-after 'unpack 'find-lapack-and-openblas
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((lapack (assoc-ref inputs "lapack"))
+ (blas (assoc-ref inputs "openblas")))
+ (substitute* "cfg_packages.py"
+ (("lapack_libs = .*'m']")
+ "lapack_libs = ['lapack', 'openblas', 'm']\n")
+ (("lapack_dirs = .*")
+ (string-append "lapack_dirs = ['"
+ lapack "/lib', '" blas "/lib']\n"))
+ (("lapack_include_dirs = .*")
+ (string-append "lapack_include_dirs = ['"
+ lapack "/include', '" blas "/include']\n")))
+ #t)))
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "thirdparty/numarray-1.5.2")
+ (for-each make-file-writable (find-files "."))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "python" "setup.py" "config"
+ "install" "--use_lapack"
+ (string-append "--prefix=" out))))))
+ #:tests? #f)) ; no test target
+ (inputs
+ `(("lapack" ,lapack)
+ ("openblas" ,openblas)))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license license:bsd-3)))