summaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm105
1 files changed, 104 insertions, 1 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 399c23fc0c..c972b62500 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -36,6 +36,7 @@
#:use-module ((guix licenses) #:select (expat zlib) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages fontutils)
@@ -72,6 +73,7 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1))
@@ -3272,6 +3274,7 @@ functions.")
(native-inputs
`(("python-nose" ,python-nose)
("python-sphinx" ,python-sphinx)
+ ("python-numpydoc" ,python-numpydoc)
("gfortran" ,gfortran)
("texlive" ,texlive)
("perl" ,perl)))
@@ -3329,7 +3332,13 @@ atlas_libs = openblas
(zero? (system* "python" "-c" "import scipy; scipy.test()"))))
(alist-delete
'check
- %standard-phases))))))
+ (alist-cons-after
+ 'unpack 'fix-tests
+ (lambda _
+ (substitute* "scipy/integrate/tests/test_quadpack.py"
+ (("libm.so") "libm.so.6"))
+ #t)
+ %standard-phases)))))))
(home-page "http://www.scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
@@ -5610,3 +5619,97 @@ Python Package Index (PyPI).")
(define-public python2-pip
(package-with-python2 python-pip))
+
+(define-public python-tlsh
+ (package
+ (name "python-tlsh")
+ (version "3.4.1") ;according to CMakeLists.txt
+ (home-page "https://github.com/trendmicro/tlsh")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ ;; This is a commit right after 3.4.1; see
+ ;; <https://github.com/trendmicro/tlsh/issues/9>.
+ (commit "3ae3f1f")))
+ (sha256
+ (base32
+ "12cvnr5ndm5cg6i7lch93id90kgwgrigjgrj8f186nh3h4bf9chj"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:out-of-source? #f
+ #:phases (modify-phases %standard-phases
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Build and install the Python bindings. The underlying
+ ;; C++ library is apparently not meant to be installed.
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "py_ext"
+ (and (system* "python" "setup.py" "build")
+ (system* "python" "setup.py" "install"
+ (string-append "--prefix=" out))))))))))
+ (inputs `(("python" ,python-wrapper))) ;for the bindings
+ (synopsis "Fuzzy matching library for Python")
+ (description
+ "Trend Micro Locality Sensitive Hash (TLSH) is a fuzzy matching library.
+Given a byte stream with a minimum length of 256 bytes, TLSH generates a hash
+value which can be used for similarity comparisons. Similar objects have
+similar hash values, which allows for the detection of similar objects by
+comparing their hash values. The byte stream should have a sufficient amount
+of complexity; for example, a byte stream of identical bytes will not generate
+a hash value.")
+ (license asl2.0)))
+
+(define-public python2-tlsh
+ (package
+ (inherit python-tlsh)
+ (name "python2-tlsh")
+ (inputs `(("python" ,python-2)))))
+
+(define-public python-libarchive-c
+ (package
+ (name "python-libarchive-c")
+ (version "2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/l/libarchive-c/libarchive-c-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "089lrz6xyrfnk55v35vis6jyqyyl77w093057djyspnd2744wi2n"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before
+ 'build 'reference-libarchive
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Retain the absolute file name of libarchive.so.
+ (let ((libarchive (assoc-ref inputs "libarchive")))
+ (substitute* "libarchive/ffi.py"
+ (("find_library\\('archive'\\)")
+ (string-append "'" libarchive
+ "/lib/libarchive.so'"))))
+
+ ;; Do not make a compressed egg (see
+ ;; <http://bugs.gnu.org/20765>).
+ (let ((port (open-file "setup.cfg" "a")))
+ (display "\n[easy_install]\nzip_ok = 0\n"
+ port)
+ (close-port port)
+ #t))))))
+ (inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("libarchive" ,libarchive)))
+ (home-page "https://github.com/Changaco/python-libarchive-c")
+ (synopsis "Python interface to libarchive")
+ (description
+ "This package provides Python bindings to libarchive, a C library to
+access possibly compressed archives in many different formats. It uses
+Python's @code{ctypes} foreign function interface (FFI).")
+ (license lgpl2.0+)))
+
+(define-public python2-libarchive-c
+ (package-with-python2 python-libarchive-c))