From patchwork Fri Oct 20 17:55:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Morgan Smith X-Patchwork-Id: 55078 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 93AE527BBE9; Fri, 20 Oct 2023 19:04:02 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 967A527BBE2 for ; Fri, 20 Oct 2023 19:04:01 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qttqX-0003J0-0W; Fri, 20 Oct 2023 14:03:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qttqR-0003Ig-IZ for guix-patches@gnu.org; Fri, 20 Oct 2023 14:03:35 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qttqR-0000Ky-AD for guix-patches@gnu.org; Fri, 20 Oct 2023 14:03:35 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qttqs-0008NH-3i for guix-patches@gnu.org; Fri, 20 Oct 2023 14:04:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66652] [PATCH] gnu: Add findimagedupes. Resent-From: Morgan Smith Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 20 Oct 2023 18:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66652 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66652@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169782498732119 (code B ref -1); Fri, 20 Oct 2023 18:04:01 +0000 Received: (at submit) by debbugs.gnu.org; 20 Oct 2023 18:03:07 +0000 Received: from localhost ([127.0.0.1]:41416 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qttpy-0008Ly-PO for submit@debbugs.gnu.org; Fri, 20 Oct 2023 14:03:07 -0400 Received: from lists.gnu.org ([2001:470:142::17]:33096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qttps-0008LN-F8 for submit@debbugs.gnu.org; Fri, 20 Oct 2023 14:03:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qttpL-0002mT-JH for guix-patches@gnu.org; Fri, 20 Oct 2023 14:02:27 -0400 Received: from mail-dm6nam10olkn2082b.outbound.protection.outlook.com ([2a01:111:f400:7e88::82b] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qttpJ-00008x-C7 for guix-patches@gnu.org; Fri, 20 Oct 2023 14:02:27 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UkvHT4U9s6PQCdAFTRavHnsHchdQ+qFM5AF+s+8v+PtdCEx1cqa8fpGt2tmmDLG5H8q9LBLxl3T1teNVhhULhiFT1fHo082eoIkVP6Yd5JFf4z5IwUr4e0oW5X13hAhk+y2TwOdFwB5beD3YR8w6hs7WUumwvKd/UrO4NktZaQbhCqdGWH59w21woIzeI7MUntEjN3sHTxISOR/8z+SJKb053sDegn0eEnL5+4YF2r7qZjn67ILNoejBfFw/mmABopJP78AqsRxPIPfAtys0Z5IjxqaVYfokZcwP0HCTnBdP5tzYFwYgTuoj6AskwGTqQpIu/rD2ku8nO9Za0na4sA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Me8jb0sPVmRdPnGbCvSIQ/9RjvIYn0DU9Meo9mUOkkE=; b=An7lBZ+ze6pPJJfCTBZVCfkm7SJSGV662odWw7wI3KkxsOj9KlUmRnWgTaoTYczacG8hm2JR2qTmqCjgEInxx3VJC1QFJTWVrIbTYr4XtYdZUphcu1PI3ojTumAHLSIBJs2gyzfxbuClusZgyGpqxRNuz4bKYCVBHdPcyP9ZEub9Z7uGeJ0NMvQzoKjwGJxvNpZp30/TMEWGjyHE82IpN57/FYFInRvmUSUMbFIGnJ9ApTsAIlSL/myIOLgtjuu9YEyDxdrnhp22ZsSlf31e7PcWot+Si2Xbp+aPKma9RoHUDFPgPFZ2pcfE8B6bHq5LwUpiPNbwDiUIRBgV1AL1tA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Me8jb0sPVmRdPnGbCvSIQ/9RjvIYn0DU9Meo9mUOkkE=; b=AJxwbiesHLvcIfd4dxWhgrpXrO8AdrZSsJueg3vBF5zGWHbiQ5Lx1MkV167TKPy2KKIpwf8usana7Rua705trSmJOGFCsrbggGV1Eu/ahO9ULe+Rrv51mA6aL3H+8wjmZiBxby7ml123yKKDccXdLO2AEq0cg4WVpzE82VwlDZ1K1IwMo3OxI4duFBk3l0wT7ZukBOWs7AjFWQt0t1vANrb9ZQkn+x1m/kguj2Ima4MIZZU9fdok2lK3lV4PbfF/47efc8d1g2jU2WfWK8TAa8n2/Sedm9G97811KMuEiJRjzUFxKoXvBoA4+b6vOqB+HtMUPUyQXelPxd3/PYt8zw== Received: from DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) by SJ0PR03MB6614.namprd03.prod.outlook.com (2603:10b6:a03:38a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36; Fri, 20 Oct 2023 17:57:19 +0000 Received: from DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::c75b:8346:2a6a:fdcf]) by DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::c75b:8346:2a6a:fdcf%4]) with mapi id 15.20.6907.021; Fri, 20 Oct 2023 17:57:19 +0000 From: Morgan Smith Date: Fri, 20 Oct 2023 13:55:53 -0400 Message-ID: X-Mailer: git-send-email 2.41.0 X-TMN: [PQg7I3TT/bq7vF8WyCDQRj1Tnif85gg4] X-ClientProxiedBy: YQBPR0101CA0304.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:6d::7) To DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) X-Microsoft-Original-Message-ID: <14bfc534bb89906ca1058280ac37258b4be572af.1697824552.git.Morgan.J.Smith@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR03MB3163:EE_|SJ0PR03MB6614:EE_ X-MS-Office365-Filtering-Correlation-Id: c91fbdd0-3f04-4029-79c5-08dbd196008a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5Ygy004qDvEdZ/7/APrQADo3n0LTOFJzlGHDI5jkNr1UaRRrk8eLknS5ZNsUurXUxjFEfgdBIRSCr9F9QtnFK4uBz6URaRX4t5+yrtkusKgdBrNbZZN6G5hM2Bb89692DK+Jvjs25oxiiwAgI08awltAnOa767nf8k4SJw7tb+xtawpKGl0AH0+j0ju1DY8IpHKmMbAigbz5sWpluUqzMwf+TfrQENVOQ2jNQ4Xn1U+3N4OgnTeJsQ35/UDb2kOQ5EFOJORxXWaY/2oX0mR5CCQ/yV8ww74sh+L55Tc7DcTTqYmirEqsBFA14ZObFDQXqou2EnB9JqnoC/g/i9MddAAPfNMufImmTHzC9BSzTzFTnguaqbWs1sKB1/CZ8A1Bic+H74k/KN5XkHdsnAfBwASIEaDms+bZxPIFVV6UKOe8rcl96QtrvXD8yBX8s1ywv0TVFVaACvfRfhlcR8Z3N6/+46o9cTleJvUYv3n5qUffkMrfeIS+F5Ht0zcRL7vtXfMSilrLQNePS6/9EhO6qeqCCVUD0MkgvPVPhRyHwmdoVthTZxrHiyC10BILBvg4Wwh3x3FeMbHyH3azomgYMtOuVo36X3S4QdFbNF1HAG0= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SvpRmeR5Dbr/4ZDXROum1Da9KewYphLh7M0ysMrI6Qo3Q38bAe31Pz+0+RZhxtLQ3Di1dZmJZRwK9Ny6EKbMqYjxjjHsPwxUKiOn8+sb14ry5WDJpudb8Br6Q/CDfHeInh+azhVAJFLPDLF5+ICDYffbyY8pzgxvKkVXFQULc2FzV9K6fPmcVFGa5yP2/6HEdsYjoDXQ8MiGOUfDEHsFXWLTmJLxsa2nUbEMKuI2TkyqEzmKfFVSgyIC58lAncLx+BRNVWhO8bkMdyIZIAwBRkNcTfVe8EY/ohJyG2YPJ+nskasSHvYhdQpE7g5/lNTEnezukrIOrGJ+PuJPdrEuedPD0CoZLOD/zdaVCGJIg2xbdo/7rLK0bhZf+IfiYoumBTadU8ZiwGW1QLWVmHeEzX8T+zBXwl5sjdANFSjATZ0Fa09CZH+O+0Gad++dwiikfXGraRf5SXuaJ06n4OdzKTnPmc0TwNHuO5C4M3Wqw7dlBD1zZOOUxY7pMIYTRHJqTyXwxfe80Ogca/g0aFOaIOKOwk1YLQsmvGmgN9HuPWVxbTX/p7KAjvm+LCLiW4dTdVAhuXfVOSXYC5M/0vB4tjkRC98cke2BZkyfOzCUcCcsEWOvkHoJmP1OKcXbL5ZCdkACBZBBDQrK2uSjBoHGq0BeFFYl9ZS2GvBsQqooWzfKymu038JEqOnQEoLYdqrz8ynh4837O8ZCcImNIKEswCjDYJyTFFYnOQHPyN8FhqoqfYmMjYCOc7aCffnDYkbWTibbdXr+SJk1rdr7L1PK/3hJ7LmYh1DmtEOcKOSxqPT3RP2b+EFpW1qRseGdDh4rDHDQBInDjR0whkH/N2LO++UbSiEs603TKFk1MnLx5p9/gSq/xY2qMSO8lYLiKg+uiZYexvKXiNYWg7VLe9T+j9umP04kUHD93czp9gpDHzyMOTb08zEbvOhlzgtp8clq82RCQbEBgc++V/E10/FRwPX+hmH/xNxrc+LUVspdJfMylx879h8KJzwlMcFOedU0zh5QeRR8GBN3aFbLB8CnSKbtNp0uEg2h2hEzlnjZRC8hdImtzKTppVxAAlTHnKlL/NY1E+u3CQmxjzju8BbRIDUQcWBOnDzDMcazETLEuu1zVK6iLhw6qn34bJUfkbERUD2kOmzQ2NlzheM4Kl2Wv7cgk0xyy6YR6WGcVyjIGK6tAgA9Fs9YKm4IQfAslbX7PDcDOzqydeF6hVsrAPONw2G69IK/L1wVh4vigDxQU3g= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c91fbdd0-3f04-4029-79c5-08dbd196008a X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3163.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2023 17:57:19.1246 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6614 Received-SPF: pass client-ip=2a01:111:f400:7e88::82b; envelope-from=Morgan.J.Smith@outlook.com; helo=NAM10-DM6-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/disk.scm (findimagedupes): New variable. --- gnu/packages/disk.scm | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) -- 2.41.0 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 ;;; Copyright © 2022 Disseminate Dissent ;;; Copyright © 2023 Timotej Lazar +;;; Copyright © 2023 Morgan Smith ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ (define-module (gnu packages disk) #: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 @@ (define-module (gnu packages disk) #: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 @@ (define-module (gnu packages disk) #: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 @@ (define-public fdisk 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")