diff options
Diffstat (limited to 'gn/packages/python24.scm')
-rw-r--r-- | gn/packages/python24.scm | 520 |
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))) |