From patchwork Sun Aug 31 23:51:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin X-Patchwork-Id: 43420 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 3600827BC4B; Mon, 1 Sep 2025 01:39:25 +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=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED 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 681C527BC49 for ; Mon, 1 Sep 2025 01:39:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ussZW-0006q3-8o; Sun, 31 Aug 2025 20:38:58 -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 1usrr6-00086M-F1 for guix-patches@gnu.org; Sun, 31 Aug 2025 19:53:04 -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 1usrr5-0004Id-3t for guix-patches@gnu.org; Sun, 31 Aug 2025 19:53:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:From:Date:To:Subject; bh=OAN8WQWzmk76eDTegpWQoNTAxGvYycmCn90Rfeh7MmI=; b=mjavixHnL9dw1iZmIyzzyTkzffx5WXPbOQWoPHXh8eqLgTe4wRXJtvsuNZJCwU17OUH93x2GAqc1TU+p5C9xlvnTOpXqQwC170elqfh4WjJ5zdY1thI3cDqkXeoqhDqlEV1D9b6VZYETXcbP/Lkr/ptq/WlibU/KCNa+wdBzPTXd5EXB6Dx2sfcJ42uJslcb5Hi5FyyCrOSEorTIxTKA38MnNakmlRJAZQugXl2I4BO+lIxKNyoZXjip4T/5FFIDF3/9F1Dq+z2ooXiXAIdVDCSrYu+KOhNCcPDL+vbjW1RJwjh7KIcXk2M2EFZSq13WpjOkC0l4flegBlgfzvBTKg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1usrr4-0003vp-K4 for guix-patches@gnu.org; Sun, 31 Aug 2025 19:53:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#79357] [PATCH] gnu: hydrus-network: Update to 636. Resent-From: Benjamin Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 31 Aug 2025 23:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 79357 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 79357@debbugs.gnu.org X-Debbugs-Original-To: "guix-patches@gnu.org" Received: via spool by submit@debbugs.gnu.org id=B.175668433615047 (code B ref -1); Sun, 31 Aug 2025 23:53:02 +0000 Received: (at submit) by debbugs.gnu.org; 31 Aug 2025 23:52:16 +0000 Received: from localhost ([127.0.0.1]:55772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1usrqC-0003uR-9B for submit@debbugs.gnu.org; Sun, 31 Aug 2025 19:52:16 -0400 Received: from lists.gnu.org ([2001:470:142::17]:53242) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1usrq9-0003tj-Ie for submit@debbugs.gnu.org; Sun, 31 Aug 2025 19:52:06 -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 1usrq1-0007qF-1g for guix-patches@gnu.org; Sun, 31 Aug 2025 19:51:57 -0400 Received: from mail-05.mail-europe.com ([85.9.206.169]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1usrpv-0004EA-IR for guix-patches@gnu.org; Sun, 31 Aug 2025 19:51:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=forestentity.net; s=protonmail3; t=1756684301; x=1756943501; bh=OAN8WQWzmk76eDTegpWQoNTAxGvYycmCn90Rfeh7MmI=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=DFrEyVQD3NCFZGUKBVVgenrQu+b2xM6Cb9S6Sy3o6pS/yxAmO2PcSy/LKPUUTn/n5 GqT2Hun4nJH3HQEGx2dl22w/qINd7tmBnG9HUEKmtqhvDLW/oH9OTHXg/sp0cROa5U WVxdCxcGjAPhXV/XwofIKSyso/rtl+SoaF+Ow/Cf5lkELK3sHlHVerBmmKIkvyOrf7 sdF9z8Zub5Wl7tU7nm2M+ZKqP1hOEt+mqE6raKYdgSllJQRkPHHyqrHuR9dVOm4yDD E+7fiQEJPNotk2lmKZ7zpolpjNjm1F97krkb6QNmbQbRnCokId5V275iLmsVo0urOX J0xMPN2LWzD+w== Date: Sun, 31 Aug 2025 23:51:36 +0000 Message-ID: Feedback-ID: 106629136:user:proton X-Pm-Message-ID: 57a2883195bd161ca66f0394c32f05c5ab9590ab MIME-Version: 1.0 Received-SPF: pass client-ip=85.9.206.169; envelope-from=benjamin@forestentity.net; helo=mail-05.mail-europe.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, HTML_MESSAGE=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=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-Mailman-Approved-At: Sun, 31 Aug 2025 20:38:47 -0400 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Benjamin X-ACL-Warn: , Benjamin via Guix-patches X-Patchwork-Original-From: Benjamin via Guix-patches via From: Benjamin 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 From eba4d0da5c01ce0efac6fffcd23f830d9b5fe1dd Mon Sep 17 00:00:00 2001 Message-ID: From: Benjamin Date: Sun, 31 Aug 2025 19:17:37 -0400 Subject: [PATCH] gnu: hydrus-network: Update to 636. * gnu/packages/image-viewers.scm (hydrus-network): Update to 636. [source]: Removed snippet, Hydrus no longer ships pre-built binaries [arguments] : Removed phase, Hydrus paths were reworked and these substitutes are no longer relevant or needed [arguments] : static directory is now copied to /site-packages/static [propagated-inputs]: Removed python-cloudscrapper and python-six, they are no longer required [inputs]: Removed swftools, no longer required --- gnu/packages/image-viewers.scm | 164 +++++++++++++-------------------- 1 file changed, 63 insertions(+), 101 deletions(-) base-commit: 43bb79fc29e7f4f2ea06be138df195609b11ea97 -- 2.50.1 diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index af80f441c7..4a0890d66b 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -1156,7 +1156,7 @@ (define-public xzgv (define-public hydrus-network (package (name "hydrus-network") - (version "630") ;upstream has a weekly release cycle + (version "636") ;upstream has a weekly release cycle (source (origin (method git-fetch) @@ -1165,112 +1165,74 @@ (define-public hydrus-network (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0x133m93nx2rphs0zymmhfknp1274r2fh2jc91rrv9vmdqfh9yyc")) - (modules '((guix build utils))) - (snippet - ;; Remove pre-built binaries from bin/. - #~(for-each delete-file (find-files "bin" "^swfrender"))))) + (base32 "0p1skd6gs14ic15w7mc5jpz5dxr8dhwdy7f7ryyg4m79pfmzaxpz")))) (build-system python-build-system) (arguments (list #:phases - #~(let ((static-dir "/share/hydrus/static")) - (modify-phases %standard-phases - ;; Hydrus is a python program but does not use setup.py or any - ;; other build system to build itself - it's delivered ready to - ;; run from the source. - (replace 'check - (lambda _ - (setenv "DISPLAY" ":0") - (setenv "XDG_CACHE_HOME" (getcwd)) - (setenv "HOME" (getcwd)) - (invoke "xvfb-run" "python" "hydrus_test.py"))) - ;; XXX: program help files are not built. Updating - ;; python-pymdown-extensions to its latest version might be the - ;; solution, but this would require also packaging its new build - ;; system that is not present in guix yet. - (delete 'build) - (add-before 'install 'patch-variables - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((ffmpeg (search-input-file inputs "/bin/ffmpeg")) - (swfrender (search-input-file inputs "/bin/swfrender")) - (upnpc (search-input-file inputs "/bin/upnpc")) - (out (assoc-ref outputs "out"))) - (with-directory-excursion "hydrus" - ;; Without this the program would incorrectly assume - ;; that it uses user's ffmpeg binary when it isn't. - (substitute* "client/ClientController.py" - (("if (HydrusVideoHandling\\.FFMPEG_PATH).*" _ var) - (string-append "if " var " == \"" ffmpeg "\":\n"))) - (with-directory-excursion "core" - (substitute* "HydrusConstants.py" - (("STATIC_DIR = .*") - (string-append "STATIC_DIR = \"" out static-dir "\"\n"))) - (with-directory-excursion "files" - (substitute* "HydrusFlashHandling.py" - (("SWFRENDER_PATH = .*\n") - (string-append "SWFRENDER_PATH = \"" swfrender "\"\n"))) - (substitute* "HydrusVideoHandling.py" - (("FFMPEG_PATH = .*\n") - (string-append "FFMPEG_PATH = \"" ffmpeg "\"\n")))) - (with-directory-excursion "networking" - (substitute* "HydrusNATPunch.py" - (("UPNPC_PATH = .*\n") - (string-append "UPNPC_PATH = \"" upnpc "\"\n"))))))))) - ;; Since everything lives in hydrus's root directory, it needs to - ;; be spread out to comply with guix's expectations. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (client (string-append out "/bin/hydrus")) - (server (string-append out "/bin/hydrus-server"))) - (copy-recursively "static" - (string-append out static-dir)) - (copy-recursively "hydrus" - (string-append out - "/lib/python" - (python-version - #$(this-package-input "python")) - "/site-packages/hydrus")) - (mkdir (string-append out "/bin")) - (copy-file "hydrus_client.py" client) - (chmod client #o0555) - (copy-file "hydrus_server.py" server) - (chmod server #o0555)))))))) + #~(modify-phases %standard-phases + ;; Hydrus is a python program but does not use setup.py or any + ;; other build system to build itself - it's delivered ready to + ;; run from the source. + (replace 'check + (lambda _ + (setenv "DISPLAY" ":0") + (setenv "XDG_CACHE_HOME" + (getcwd)) + (setenv "HOME" + (getcwd)) + (invoke "xvfb-run" "python" "hydrus_test.py"))) + ;; XXX: program help files are not built. Updating + ;; python-pymdown-extensions to its latest version might be the + ;; solution, but this would require also packaging its new build + ;; system that is not present in guix yet. + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (client (string-append out "/bin/hydrus")) + (server (string-append out "/bin/hydrus-server"))) + (copy-recursively "static" + (string-append out "/lib/python" + (python-version #$(this-package-input + "python")) + "/site-packages/static")) + (copy-recursively "hydrus" + (string-append out "/lib/python" + (python-version #$(this-package-input + "python")) + "/site-packages/hydrus")) + (mkdir (string-append out "/bin")) + (copy-file "hydrus_client.py" client) + (chmod client #o555) + (copy-file "hydrus_server.py" server) + (chmod server #o555))))))) ;; All native-inputs are only needed for the the check phase - (native-inputs - (list xvfb-run - python-nose - python-mock - python-httmock)) + (native-inputs (list xvfb-run python-nose python-mock python-httmock)) ;; All python packages were taken from static/build_files/linux/requirements.txt - (propagated-inputs - (list python-beautifulsoup4 - python-cbor2 - python-chardet - python-cloudscraper - python-dateparser - python-html5lib - python-lxml - python-lz4 - python-numpy - opencv ; its python bindings are a drop-in replacement for opencv-python-headless - python-pillow - python-psutil - python-pyopenssl - python-pyside-6 - python-pysocks - python-mpv - python-pyyaml - python-qtpy - python-requests - python-send2trash - python-service-identity - python-six - python-twisted)) - (inputs - (list swftools ffmpeg miniupnpc python)) + (propagated-inputs (list python-beautifulsoup4 + python-cbor2 + python-chardet + python-dateparser + python-html5lib + python-lxml + python-lz4 + python-numpy + ;; its python bindings are a drop-in replacement for opencv-python-headless + opencv + python-pillow + python-psutil + python-pyopenssl + python-pyside-6 + python-pysocks + python-mpv + python-pyyaml + python-qtpy + python-requests + python-send2trash + python-service-identity + python-twisted)) + (inputs (list ffmpeg miniupnpc python)) (synopsis "Organize your media with tags like a dektop booru") (description "The hydrus network client is an application written for