From patchwork Sun Aug 14 12:46:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tomasz Jeneralczyk X-Patchwork-Id: 41662 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 3555127BBEA; Sun, 14 Aug 2022 13:48:27 +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.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 471D927BBE9 for ; Sun, 14 Aug 2022 13:48:26 +0100 (BST) Received: from localhost ([::1]:54538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oND2R-0002WV-8Q for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 08:48:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33034) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oND2A-0002Vc-Vq for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46405) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oND2A-0005pq-Mr for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oND2A-0003Gs-JM for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56803] [PATCH v2 1/6] gnu: Add swftools. References: In-Reply-To: Resent-From: Tomasz Jeneralczyk Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Aug 2022 12:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56803 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56803@debbugs.gnu.org Cc: Tomasz Jeneralczyk Received: via spool by 56803-submit@debbugs.gnu.org id=B56803.166048123512329 (code B ref 56803); Sun, 14 Aug 2022 12:48:02 +0000 Received: (at 56803) by debbugs.gnu.org; 14 Aug 2022 12:47:15 +0000 Received: from localhost ([127.0.0.1]:36139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1P-0003Cl-2c for submit@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:15 -0400 Received: from outgoing1.lunanode.net ([172.81.176.235]:56524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1J-0003CI-LA for 56803@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:12 -0400 Received: from mail1.lunanode.net (mail1.lunanode.net [170.75.162.243]) by outgoing1.lunanode.net (Postfix) with ESMTPS id E22E040011 for <56803@debbugs.gnu.org>; Sun, 14 Aug 2022 12:47:08 +0000 (UTC) From: Tomasz Jeneralczyk Date: Sun, 14 Aug 2022 14:46:18 +0200 Message-Id: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 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" X-getmail-retrieved-from-mailbox: Patches This package will built all of swftools' tools but one: PDF2SWF, so I purposefuly commented it out of description. Swftools includes the source tarball of an old version of xpdf and I have not been successful in replacing it with the version distributed in guix. However I believe the near-completeness of the package warrants a release. Also updated copyright and used modules. *gnu/packages/animation.scm (swftools): Add variable. --- gnu/packages/animation.scm | 93 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) base-commit: ca8c7a36dfbefd66841a2a6df4c9e44ba525c3e0 diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index ba8ce00fbd..6a017895a3 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2019 Pkill -9 ;;; Copyright © 2020, 2021 Vinicius Monego +;;; Copyright © 2022 Tomasz Jeneralczyk ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +48,7 @@ (define-module (gnu packages animation) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages jemalloc) + #:use-module (gnu packages mp3) #:use-module (gnu packages networking) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -496,3 +498,94 @@ (define-public pencil2d lets you create traditional hand-drawn animations (cartoons) using both bitmap and vector graphics.") (license license:gpl2))) + +(define-public swftools + ;; Last release of swftools was 0.9.2 on 2012-04-21 - it is really old and + ;; does not compile with what's available in guix, master on the other hand works. + (let ((commit "772e55a271f66818b06c6e8c9b839befa51248f4") + (revision "1")) + (package + (name "swftools") + (version (git-version "0.9.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/matthiaskramm/swftools") + (commit commit))) + (sha256 + (base32 "0a8a29rn7gpxnba3spnvkpdgr7mdlssvr273mzw5b2wjvbzard3w")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; To fix a linking error I followed the workaround in: + ;; https://github.com/matthiaskramm/swftools/issues/178 + ;; and implented it as a two-step snippet because substitute* + ;; does not match multiline regexes. + (substitute* "lib/lame/quantize.c" + ;; move inline keywords to the same line as their function headers + (("^inline.*\n") "inline ")) + (substitute* "lib/lame/quantize.c" + ;; make this particular function not inline + (("inline (void bitpressure_strategy1)" _ f) f)))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f)) ; no rule for check + (inputs (list zlib freetype giflib libjpeg-turbo lame)) + (home-page "http://www.swftools.org") + (synopsis "Collection of utilities for working with Adobe Flash files") + (description "SWFTools is a collection of utilities for working with +Adobe Flash files (SWF files). The tool collection includes programs for +reading SWF files, combining them, and creating them from other content (like +images, sound files, videos or sourcecode). The current collection is + comprised of the programs detailed below: + +@itemize +@comment PDF2SWF is not currentlybeing build alongside other tools. The next +@comment two lines should be uncommented if this will ever get fixed. +@comment @item +@comment @command{PDF2SWF} A PDF to SWF Converter. + +@item +@command{SWFCombine} A multi-function tool for inserting, contatenating, +stacking and changing parameters in SWFs. + +@item +@command{SWFStrings} Scans SWFs for text data. +@item +@command{SWFDump} Prints out various informations about SWFs. + +@item +@command{JPEG2SWF} Takes one or more JPEG pictures and generates a SWF +slideshow from them. + +@item +@command{PNG2SWF} Like JPEG2SWF, only for PNGs. + +@item +@command{GIF2SWF} Converts GIFs to SWF. Also able to handle animated gifs. + +@item +@command{WAV2SWF} Converts WAV audio files to SWFs, using the L.A.M.E. MP3 + encoder library. + +@item +@command{Font2SWF} Converts font files (TTF, Type1) to SWF. + +@item +@command{SWFBBox} Allows to read out, optimize and readjust SWF bounding boxes. + +@item +@command{SWFC} A tool for creating SWF files from simple script files. Supports +both ActionScript 2.0 aand 3.0. + +@item +@command{SWFExtract} Allows to extract Movieclips, Sounds, Images etc. from SWF + files. + +@item +@command{AS3Compile} A standalone ActionScript 3.0 compiler. Mostly compatible + with Flex. +@end itemize") + (license license:gpl2)))) From patchwork Sun Aug 14 12:46:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tomasz Jeneralczyk X-Patchwork-Id: 41663 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 3502827BBEA; Sun, 14 Aug 2022 13:48:35 +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.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable 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 EF24227BBE9 for ; Sun, 14 Aug 2022 13:48:34 +0100 (BST) Received: from localhost ([::1]:54534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oND2e-0002WB-DQ for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 08:48:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oND2B-0002Vq-Bt for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46406) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oND2B-0005py-2n for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oND2A-0003H0-Vw for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56803] [PATCH v2 2/6] gnu: Add python-xvfbwrapper. Resent-From: Tomasz Jeneralczyk Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Aug 2022 12:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56803 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56803@debbugs.gnu.org Cc: Tomasz Jeneralczyk Received: via spool by 56803-submit@debbugs.gnu.org id=B56803.166048123612335 (code B ref 56803); Sun, 14 Aug 2022 12:48:02 +0000 Received: (at 56803) by debbugs.gnu.org; 14 Aug 2022 12:47:16 +0000 Received: from localhost ([127.0.0.1]:36141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1P-0003Co-LU for submit@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:15 -0400 Received: from outgoing1.lunanode.net ([172.81.176.235]:56525) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1M-0003Cd-PQ for 56803@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:13 -0400 Received: from mail1.lunanode.net (mail1.lunanode.net [170.75.162.243]) by outgoing1.lunanode.net (Postfix) with ESMTPS id 84BBE4001C for <56803@debbugs.gnu.org>; Sun, 14 Aug 2022 12:47:12 +0000 (UTC) From: Tomasz Jeneralczyk Date: Sun, 14 Aug 2022 14:46:19 +0200 Message-Id: <2e41dc32468bd25fbf0aaae998a1fc3295b6e44d.1660481045.git.tj@schwi.pl> X-Mailer: git-send-email 2.37.1 In-Reply-To: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> References: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> MIME-Version: 1.0 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" X-getmail-retrieved-from-mailbox: Patches Also updates copyright. * gnu/packages/python-check.scm (python-xvfbwrapper): New variable. --- gnu/packages/python-check.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index e196f2eccb..ff5b956cad 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021 Bonface Munyoki Kilyungi ;;; Copyright © 2022 Malte Frank Gerdes ;;; Copyright © 2022 Felix Gruber +;;; Copyright © 2022 Tomasz Jeneralczyk ;;; ;;; This file is part of GNU Guix. ;;; @@ -2373,3 +2374,24 @@ (define-public python-pycotap attachments). @end itemize") (license license:expat))) + +(define-public python-xvfbwrapper + (package + (name "python-xvfbwrapper") + (version "0.2.9") + (source (origin + (method url-fetch) + (uri (pypi-uri "xvfbwrapper" version)) + (sha256 + (base32 + "097wxhvp01ikqpg1z3v8rqhss6f1vwr399zpz9a05d2135bsxx5w")))) + (build-system python-build-system) + (propagated-inputs (list xorg-server-for-tests)) + (home-page "https://github.com/cgoldberg/xvfbwrapper") + (synopsis "Python module for controlling virtual displays with Xvfb") + (description + "Xvfb (X virtual framebuffer) is a display server implementing +the X11 display server protocol. It runs in memory and does not require a +physical display. Only a network layer is necessary. Xvfb is useful for +running acceptance tests on headless servers.") + (license license:expat))) From patchwork Sun Aug 14 12:46:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tomasz Jeneralczyk X-Patchwork-Id: 41664 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 E998527BBEA; Sun, 14 Aug 2022 13:48:39 +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.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 8FC4D27BBE9 for ; Sun, 14 Aug 2022 13:48:39 +0100 (BST) Received: from localhost ([::1]:54564 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oND2k-0002YN-P6 for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 08:48:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33038) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oND2B-0002Vz-PX for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46407) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oND2B-0005q4-Ga for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oND2B-0003HA-Cu for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56803] [PATCH v2 3/6] gnu: Add python-mpv. Resent-From: Tomasz Jeneralczyk Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Aug 2022 12:48:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56803 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56803@debbugs.gnu.org Cc: Tomasz Jeneralczyk Received: via spool by 56803-submit@debbugs.gnu.org id=B56803.166048124112360 (code B ref 56803); Sun, 14 Aug 2022 12:48:03 +0000 Received: (at 56803) by debbugs.gnu.org; 14 Aug 2022 12:47:21 +0000 Received: from localhost ([127.0.0.1]:36145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1V-0003DH-15 for submit@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:21 -0400 Received: from outgoing1.lunanode.net ([172.81.176.235]:56526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1Q-0003D0-FB for 56803@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:18 -0400 Received: from mail1.lunanode.net (mail1.lunanode.net [170.75.162.243]) by outgoing1.lunanode.net (Postfix) with ESMTPS id 35A3C40011 for <56803@debbugs.gnu.org>; Sun, 14 Aug 2022 12:47:16 +0000 (UTC) From: Tomasz Jeneralczyk Date: Sun, 14 Aug 2022 14:46:20 +0200 Message-Id: <08140eaac786e693cc7ac33208e4080650dcfb26.1660481045.git.tj@schwi.pl> X-Mailer: git-send-email 2.37.1 In-Reply-To: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> References: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> MIME-Version: 1.0 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" X-getmail-retrieved-from-mailbox: Patches Author states that the license of the library is inherited from libmpv, which can be either GPLv2 or LPGLv2.1. That's why the package's license is set to be the same as mpv's. One of the tests had to be disabled because it would neither fail or pass, blocking all other tests from running and the package from finishing its build process. I have no clue on why it happens. Rarely some tests fail without any apparent reason. This is possibly related to: https://github.com/jaseg/python-mpv/issues/209 Also add copyright. * gnu/packages/python-xyz.scm (python-mpv): Add variable. --- gnu/packages/python-xyz.scm | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 13ab2f2c8b..51bf4d5c0b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -127,6 +127,7 @@ ;;; Copyright © 2022 Philip McGrath ;;; Copyright © 2022 Marek Felšöci ;;; Copyright © 2022 Hilton Chain +;;; Copyright © 2022 Tomasz Jeneralczyk ;;; ;;; This file is part of GNU Guix. ;;; @@ -30388,6 +30389,68 @@ (define-public python-bsdiff4 and @code{bspatch4}.") (license license:bsd-2))) +(define-public python-mpv + (package + (name "python-mpv") + (version "v1.0.1") + (source + (origin + ;; python-mpv from pypi does not include the tests directory. + (method git-fetch) + (uri (git-reference + (url "https://github.com/jaseg/python-mpv") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10w6j3n62ap45sf6q487kz8z6g58sha37i14fa2hhng794z7a8jh")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; One of the tests never completes, so neutering it using + ;; early return allows other test to run without issue. + (substitute* "tests/test_mpv.py" + ;; Note the typo in "prooperty" - this was fixed later in + ;; upstream but has no effect on whether the tests hangs or not. + (("test_wait_for_prooperty_event_overflow.*" line) + ;; The long whitespace between \n and return is to match the + ;; identation level, which is significant in python. + (string-append line "\n return\n"))))))) + (build-system python-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-reference-to-mpv + (lambda* (#:key inputs #:allow-other-keys) + ;; Without an absolute path it is not able find and + ;; load the libmpv library. + (substitute* "mpv.py" + (("sofile = .*") + (string-append "sofile = \"" + (search-input-file inputs "/lib/libmpv.so") + "\"\n"))))) + (add-before 'check 'prepare-for-tests + (lambda _ + ;; Fontconfig throws errors when it has no cache dir to use. + (setenv "XDG_CACHE_HOME" (getcwd)) + ;; Some tests fail without a writable and readable HOME. + (setenv "HOME" (getcwd))))))) + (native-inputs + (list python-xvfbwrapper)) ; needed for tests only + (inputs (list mpv)) + (propagated-inputs (list python-pillow)) ; for raw screenshots + (home-page "https://github.com/jaseg/python-mpv") + (synopsis "Python interface to the mpv media player") + (description + "python-mpv is a ctypes-based python interface to the mpv media player. +It gives you more or less full control of all features of the player, just +as the lua interface does.") + ;; From the project's README: + ;; python-mpv inherits the underlying libmpv's license, which can be either + ;; GPLv2 or later (default) or LGPLv2.1 or later. For details, see the mpv + ;; copyright page. + (license (package-license mpv)))) + (define-public python-biblib (let ((upstream-version "0.1.0") (commit "ab0e857b9198fe425ec9b02fcc293b5d9fd0c406") From patchwork Sun Aug 14 12:46:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tomasz Jeneralczyk X-Patchwork-Id: 41666 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 BF8E927BBEA; Sun, 14 Aug 2022 13:49:11 +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.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable 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 45E8227BBE9 for ; Sun, 14 Aug 2022 13:49:11 +0100 (BST) Received: from localhost ([::1]:55504 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oND3G-0003CB-F5 for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 08:49:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33042) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oND2C-0002W8-7Y for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46408) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oND2B-0005qC-UF for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oND2B-0003HH-QM for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56803] [PATCH v2 4/6] gnu: Add support for python in opencv Resent-From: Tomasz Jeneralczyk Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Aug 2022 12:48:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56803 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56803@debbugs.gnu.org Cc: Tomasz Jeneralczyk Received: via spool by 56803-submit@debbugs.gnu.org id=B56803.166048124412377 (code B ref 56803); Sun, 14 Aug 2022 12:48:03 +0000 Received: (at 56803) by debbugs.gnu.org; 14 Aug 2022 12:47:24 +0000 Received: from localhost ([127.0.0.1]:36148 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1Y-0003DZ-GK for submit@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:24 -0400 Received: from outgoing1.lunanode.net ([172.81.176.235]:56527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1U-0003DB-31 for 56803@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:20 -0400 Received: from mail1.lunanode.net (mail1.lunanode.net [170.75.162.243]) by outgoing1.lunanode.net (Postfix) with ESMTPS id D0EB740011 for <56803@debbugs.gnu.org>; Sun, 14 Aug 2022 12:47:19 +0000 (UTC) From: Tomasz Jeneralczyk Date: Sun, 14 Aug 2022 14:46:21 +0200 Message-Id: <369561a2fb573caf1233bf6e713fd1caeac2fce8.1660481045.git.tj@schwi.pl> X-Mailer: git-send-email 2.37.1 In-Reply-To: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> References: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> MIME-Version: 1.0 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" X-getmail-retrieved-from-mailbox: Patches The package already had all dependencies needed for its python bindings, so enabling python support was as easy as adding a flag. Which makes me think this was the intention from the start. Also add copyright. * gnu/packages/image-processing.scm (opencv)[arguments]: Change variable. --- gnu/packages/image-processing.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 3dfe086af8..f26691cad7 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Tomasz Jeneralczyk ;;; ;;; This file is part of GNU Guix. ;;; @@ -511,6 +512,8 @@ (define-public opencv ;; DISPATCH is the list of optional dispatches. "-DCPU_BASELINE=SSE2" + "-DBUILD_opencv_python3=ON" + ,@(match (%current-system) ("x86_64-linux" '("-DCPU_DISPATCH=NEON;VFPV3;FP16;SSE;SSE2;SSE3;SSSE3;SSE4_1;SSE4_2;POPCNT;AVX;FP16;AVX2;FMA3;AVX_512F;AVX512_SKX" From patchwork Sun Aug 14 12:46:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tomasz Jeneralczyk X-Patchwork-Id: 41667 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 17C3327BBEA; Sun, 14 Aug 2022 13:49:18 +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.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable 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 71DF527BBE9 for ; Sun, 14 Aug 2022 13:49:17 +0100 (BST) Received: from localhost ([::1]:55910 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oND3M-0003VL-Hu for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 08:49:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oND2C-0002WU-IV for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46409) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oND2C-0005qH-9E for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oND2C-0003HQ-5F for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56803] [PATCH v2 5/6] gnu: Update python-cloudscraper. Resent-From: Tomasz Jeneralczyk Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Aug 2022 12:48:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56803 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56803@debbugs.gnu.org Cc: Tomasz Jeneralczyk Received: via spool by 56803-submit@debbugs.gnu.org id=B56803.166048124712386 (code B ref 56803); Sun, 14 Aug 2022 12:48:04 +0000 Received: (at 56803) by debbugs.gnu.org; 14 Aug 2022 12:47:27 +0000 Received: from localhost ([127.0.0.1]:36150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1a-0003Di-RO for submit@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:27 -0400 Received: from outgoing1.lunanode.net ([172.81.176.235]:56528) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1X-0003DS-P7 for 56803@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:24 -0400 Received: from mail1.lunanode.net (mail1.lunanode.net [170.75.162.243]) by outgoing1.lunanode.net (Postfix) with ESMTPS id 89AB640011 for <56803@debbugs.gnu.org>; Sun, 14 Aug 2022 12:47:23 +0000 (UTC) From: Tomasz Jeneralczyk Date: Sun, 14 Aug 2022 14:46:22 +0200 Message-Id: X-Mailer: git-send-email 2.37.1 In-Reply-To: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> References: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> MIME-Version: 1.0 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" X-getmail-retrieved-from-mailbox: Patches Neither 1.2.58 nor 1.2.60 version of python-cloudscraper requires compatibility with python2 afaik. This removes possible collisions with packages that depend on the mainstream version of python-pyparsing. * gnu/packages/python-web.scm (python-cloudscraper): Update to 1.2.60 * gnu/packages/python-web.scm (python-cloudscraper)[propagated-inputs]: Change python-pyparsing to its mainstream version --- gnu/packages/python-web.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 896e60aba2..298c1e09de 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -53,6 +53,7 @@ ;;; Copyright © 2022 Peter Polidoro ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2022 Luis Henrique Gomes Higino +;;; Copyright © 2022 Tomasz Jeneralczyk ;;; ;;; This file is part of GNU Guix. ;;; @@ -6262,17 +6263,16 @@ (define-public python-http-ece (define-public python-cloudscraper (package (name "python-cloudscraper") - (version "1.2.58") + (version "1.2.60") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/VeNoMouS/cloudscraper") - ;; Corresponds to 1.2.58 - (commit "f3a3d067ea8b5238e9a0948aed0c3fa0d9c29b96"))) + (commit "1.2.60"))) (file-name (git-file-name name version)) (sha256 - (base32 "18fbp086imabjxly04rrchbf6n6m05bpd150zxbw7z2w3mjnpsqd")) + (base32 "00cmxgwdm0x1j4a4ipwvpzih735hdzidljbijk1b3laj3dgvnvsm")) (modules '((guix build utils))) (snippet '(with-directory-excursion "cloudscraper" @@ -6312,7 +6312,7 @@ (define-public python-cloudscraper python-requests python-requests-toolbelt python-responses - python-pyparsing-2.4.7)) + python-pyparsing)) (native-inputs (list python-pytest)) (home-page "https://github.com/venomous/cloudscraper") From patchwork Sun Aug 14 12:46:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tomasz Jeneralczyk X-Patchwork-Id: 41665 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 4DE3E27BBEA; Sun, 14 Aug 2022 13:49:05 +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.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 4FC9127BBE9 for ; Sun, 14 Aug 2022 13:49:04 +0100 (BST) Received: from localhost ([::1]:55302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oND39-00033m-Gy for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 08:49:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oND2C-0002XX-Uq for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46410) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oND2C-0005qN-LC for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oND2C-0003Ha-H1 for guix-patches@gnu.org; Sun, 14 Aug 2022 08:48:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56803] [PATCH v2 6/6] gnu: Add hydrus-network. Resent-From: Tomasz Jeneralczyk Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Aug 2022 12:48:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56803 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56803@debbugs.gnu.org Cc: Tomasz Jeneralczyk Received: via spool by 56803-submit@debbugs.gnu.org id=B56803.166048126512460 (code B ref 56803); Sun, 14 Aug 2022 12:48:04 +0000 Received: (at 56803) by debbugs.gnu.org; 14 Aug 2022 12:47:45 +0000 Received: from localhost ([127.0.0.1]:36153 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1s-0003Eo-7V for submit@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:45 -0400 Received: from outgoing1.lunanode.net ([172.81.176.235]:56529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oND1b-0003Dp-Kn for 56803@debbugs.gnu.org; Sun, 14 Aug 2022 08:47:42 -0400 Received: from mail1.lunanode.net (mail1.lunanode.net [170.75.162.243]) by outgoing1.lunanode.net (Postfix) with ESMTPS id 686E340011 for <56803@debbugs.gnu.org>; Sun, 14 Aug 2022 12:47:27 +0000 (UTC) From: Tomasz Jeneralczyk Date: Sun, 14 Aug 2022 14:46:23 +0200 Message-Id: <2a7e6f4b11784ab9dc680e1fe3255f6e15333e32.1660481045.git.tj@schwi.pl> X-Mailer: git-send-email 2.37.1 In-Reply-To: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> References: <458d155cb6f630e0e8aea1793a4c97b3d76520e6.1660481045.git.tj@schwi.pl> MIME-Version: 1.0 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" X-getmail-retrieved-from-mailbox: Patches Hydrus-network has a weekly release cycle and is meant to be used from its own directory so I artificially spread it out to comply with guix's expectations. I was not able to build the program's help files. Fixing it would probably mean packaging a whole new build system for guix - more info in source comments. Also adds copyright and new used modules. * gnu/packages/image-viewers.scm (hydrus-network): Add variable. --- gnu/packages/image-viewers.scm | 133 +++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 88dbba866b..7878fe1048 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 dissent ;;; Copyright © 2022 Michael Rohleder +;;; Copyright © 2022 Tomasz Jeneralczyk ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,7 @@ (define-module (gnu packages image-viewers) #:use-module (guix build-system qt) #:use-module (gnu packages autotools) #:use-module (gnu packages algebra) + #:use-module (gnu packages animation) #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -84,14 +86,20 @@ (define-module (gnu packages image-viewers) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages suckless) #:use-module (gnu packages terminals) + #:use-module (gnu packages upnp) #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages)) @@ -973,3 +981,128 @@ (define-public xzgv (description "xzgv is a fast image viewer that provides extensive keyboard support.") (license license:gpl2+))) + +(define-public hydrus-network + (package + (name "hydrus-network") + (version "495") ; upstream has a weekly release cycle. + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hydrusnetwork/hydrus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03zhrcmjzbk37sl9nwjahfmr8aflss84c4xhg5ci5b8jvbbqmr1j")))) + (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 uses 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" "test.py"))) + ;; I was not able to build the program's help files. 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. I decided to cut short there. + (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"))) + (substitute* "HydrusFlashHandling.py" + (("SWFRENDER_PATH = .*\n") + (string-append "SWFRENDER_PATH = \"" swfrender "\"\n"))) + (substitute* "HydrusVideoHandling.py" + (("FFMPEG_PATH = .*\n") + (string-append "FFMPEG_PATH = \"" ffmpeg "\"\n"))) + (substitute* "networking/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 "client.py" client) + (chmod client #o0555) + (copy-file "server.py" server) + (chmod server #o0555)))))))) + ;; All native-inputs are only needed for the the check phase + (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-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-pylzma + python-pyopenssl + ;; since hydrus' version 494 it supports python-pyside-6 but it's not yet + ;; in guix. pyside-2 is still supported as a fallback. + python-pyside-2 + 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)) + (synopsis "Organize your media with tags like a dektop booru") + (description + "The hydrus network client is an application written for +internet-fluent media nerds who have large image/swf/webm collections. +It browses with tags instead of folders, a little like a booru on your desktop. +Advanced users can share tags and files anonymously through custom servers that +any user may run. Everything is free and privacy is the first concern.") + (home-page "https://hydrusnetwork.github.io/hydrus/") + (license license:wtfpl2)))