From 3060d99c1d23287f2090720c669f974cf9b451a5 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sat, 28 Apr 2018 14:03:47 -0700 Subject: [PATCH] gnu: Add python2-mat. * gnu/packages/photo.scm (python2-mat): New variable. --- gnu/packages/photo.scm | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 2c0c2313f..18dce878e 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix build-system python) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -52,6 +54,7 @@ #:use-module (gnu packages llvm) #:use-module (gnu packages man) #:use-module (gnu packages maths) + #:use-module (gnu packages music) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) @@ -521,3 +524,71 @@ workflow by facilitating the handling of large numbers of images. Most raw formats are supported, including Pentax Pixel Shift, Canon Dual-Pixel, and those from Foveon and X-Trans sensors.") (license license:gpl3+))) + +;; TODO: Add inputs for PDF support (e.g., Poppler bindings, python-pdfrw). +;; TODO: Add inputs for GUI support (e.g., gi - maybe gi is python-gobject?). +(define-public python2-mat + (package + (name "python2-mat") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://mat.boum.org/files/mat-" version ".tar.xz")) + (sha256 + (base32 + "1faiiq7cjspafjjf4kmm7bbn8m506qgcijbizpgdvlaaapdyg0h7")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:use-setuptools? #f + #:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'fix-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((share (string-append + (assoc-ref outputs "out") "/share")) + (exiftool (string-append + (assoc-ref inputs "perl-image-exiftool") + "/bin/exiftool")) + (shred (string-append + (assoc-ref inputs "coreutils") "/bin/shred"))) + (substitute* (find-files "." "\\.py$") + ;; MAT tries to find things in /usr/local/share and + ;; /usr/share. However, the things it's looking for are + ;; actually in the /share directory of its output, instead. + (("'/usr(/local)?/share") + (string-append "'" share)) + (("'exiftool'") + (string-append "'" exiftool "'")) + (("'g?shred'") + (string-append "'" shred "'"))) + #t)))))) + (propagated-inputs + `(("python2-pycairo" ,python2-pycairo) + ("python2-mutagen" ,python2-mutagen) + ("perl-image-exiftool" ,perl-image-exiftool))) + (native-inputs + `(("python2-distutils-extra" ,python2-distutils-extra) + ("intltool" ,intltool))) + (synopsis "Anonymize/remove metadata from files") + (description + "MAT (Metadata Anonymisation Toolkit) is a toolbox composed of a GUI +application, a CLI application and a library, to anonymize/remove metadata +from files. It supports the following file formats: + +@itemize @bullet +@item Portable Network Graphics (.png) +@item Joint Photographic Experts Group (.jpg, .jpeg, etc.) +@item Tagged Image File Format (.tif, tiff, etc.) +@item Open Documents (.odt, .odx, .ods, etc.) +@item Office OpenXml (.docx, .pptx, .xlsx, etc.) +@item Portable Document Fileformat (.pdf) +@item Tape Archives (.tar, .tar.bz2, etc.) +@item Moving Picture Experts Group (MPEG) (.mp3, .mp2, .mp1, etc.) +@item Ogg Vorbis (.ogg, etc.) +@item Free Lossless Audio Codec (.flac) +@item Torrent (.torrent) +@end itemize") + (home-page "https://mat.boum.org") + (license license:gpl2))) -- 2.17.0