summaryrefslogtreecommitdiff
path: root/gnu/packages/disk.scm
diff options
context:
space:
mode:
authorMorgan Smith <Morgan.J.Smith@outlook.com>2023-10-20 13:55:53 -0400
committerLudovic Courtès <ludo@gnu.org>2023-11-22 16:51:46 +0100
commitf40f9178e665bce158e24eeb5fd1592cdb9dc374 (patch)
tree16c4666ecd9fe2e727a6928621b21fefb82758cb /gnu/packages/disk.scm
parenta8dafaddf4d7a51711c8262a99721dffa259d73b (diff)
gnu: Add findimagedupes.
* gnu/packages/disk.scm (findimagedupes): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/disk.scm')
-rw-r--r--gnu/packages/disk.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 9d2e170cc0..113455eee5 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,6 +62,7 @@
#:use-module (gnu packages file-systems)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -71,6 +73,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages hurd)
#:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss)
@@ -102,6 +105,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system scons)
@@ -343,6 +347,61 @@ fdisk. fdisk is used for the creation and manipulation of disk partition
tables, and it understands a variety of different formats.")
(license license:gpl3+)))
+(define-public findimagedupes
+ (package
+ (name "findimagedupes")
+ (version "2.20.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jhnc/findimagedupes")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zfxmc6c1z4hzsq3k85xxida1v291frq4wbmxv9cg4jmw0ddk5ic"))))
+ (build-system perl-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ ;; There's no ‘make install’ target.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "findimagedupes"
+ (string-append #$output "/bin"))))
+ (add-after 'unpack 'use-image-magick
+ ;; TODO: package perl-graphics-magick and switch this out
+ (lambda _
+ (substitute* "findimagedupes"
+ (("Graphics::Magick")
+ "Image::Magick"))))
+ (add-after 'unpack 'set-inline-dir
+ (lambda _
+ (substitute* "findimagedupes"
+ (("/usr/local")
+ #$output))))
+ (add-after 'install 'inline-generation
+ (lambda _
+ (mkdir-p (string-append #$output "/lib/findimagedupes"))
+ (invoke (string-append #$output "/bin/findimagedupes"))))
+ (add-after 'install 'wrap-findimagedupes
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-program (string-append #$output
+ "/bin/findimagedupes")
+ `("PERL5LIB" ":" prefix
+ (,(getenv "PERL5LIB") ,(string-append #$output
+ "/lib/perl5/site_perl")))))))))
+ (inputs (list bash-minimal perl-db-file perl-file-mimeinfo
+ perl-image-magick perl-inline-c))
+ (home-page "https://github.com/jhnc/findimagedupes")
+ (synopsis "Find visually similar or duplicate images")
+ (description "findimagedupes compares a list of files for visual
+similarity.")
+ (license license:gpl3+)))
+
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")