Compare commits

..

1 commit

Author SHA1 Message Date
Luis Guilherme Coelho 36ec6c12f3
packages: ocr: Add currently broken manga-ocr 2024-02-19 01:30:33 -03:00
14 changed files with 1286 additions and 1102 deletions

View file

@ -1,3 +1,3 @@
(channel
(version 0)
(url "https://codeberg.org/hashirama/ajattix.git"))
(url "https://codeberg.org/hashirama/ajatt-tools-guix.git"))

View file

@ -1,21 +1,20 @@
# ajattix
# ajatt-tools-guix
<a href="https://www.gnu.org/software/guile/">
<img src="https://git.ajattix.org/hashirama/ajattix/raw/branch/main/misc/gnu-guile-made.svg" alt="" />
<img src="https://luis-felipe.gitlab.io/media/badges/gnu-guile-made.svg" alt="" />
<br></br>
<img src="https://git.ajattix.org/hashirama/ajattix/raw/branch/main/misc/cover.png" alt="cover" width="30%" height="30%">
<img src="https://codeberg.org/hashirama/ajatt-tools-guix/raw/branch/main/misc/cover.png" alt="cover" width="23%" height="23%">
<a> Ajatt-tools + Guix = Ajattix !<br></br> A Guix channel containing tools for language learning!</a>
<a> A Guix channel containing tools for language learning!</a>
## Usage
To update Ajatt Tools along with Guix via guix pull, insert the following into ~/.config/guix/channels.scm channels list,
```scheme
(channel
(name 'ajattix)
(url "https://git.ajattix.org/hashirama/ajattix.git")
(name 'ajatt)
(url "https://codeberg.org/hashirama/ajatt-tools-guix.git")
(branch "main")
(introduction
(make-channel-introduction
@ -25,10 +24,10 @@ To update Ajatt Tools along with Guix via guix pull, insert the following into ~
```
<br></br>
<img src="https://codeberg.org/hashirama/ajatt-tools-guix/raw/branch/main/misc/lisp-warning.webp" alt="cover" width="10%" height="10%" style="float: right; margin-right: 30px;">
<img src="https://codeberg.org/hashirama/ajatt-tools-guix/raw/branch/main/misc/lisp-warning.webp" alt="cover" width="6%" height="6%" style="float: right; margin-right: 10px;">
<br></br>
### Contributors
<!-- contributors --> <a href="https://codeberg.org/hashirama"><img src="https://codeberg.org/avatars/cc776cef25c95b3e4c031cd4459b06be7f099a518dc60f4168dec79041eb3f71?size=512" width="60px" alt="" /></a> <a href="https://codeberg.org/anemofilia"><img src="https://codeberg.org/avatars/f30eb0cfbceeb010bbaf205d635916c1?size=512" width="60px" alt="" /></a> <a href="https://codeberg.org/crzjp"><img src="https://codeberg.org/avatars/55cf7daa6e277d5a1c7190901396f8be36130a9286a922b5ac24c4814161db14?size=512" width="60px" alt="" /></a> <a href="https://gitlab.vulnix.sh/spacecadet"><img src="https://git.ajattix.org/hashirama/ajattix/raw/branch/main/misc/contributors/spacecadet.jpg" width="60px" alt="" /></a> <!-- contributors -->
<!-- contributors --><a href="https://github.com/hashirama"><img src="https://codeberg.org/avatars/61e6073c8a5e0c564ba8df84483d310d2505b9e0c3d45011326d3f2a8fe440e1?size=512" width="60px" alt="" /></a> <a href="https://codeberg.org/anemofilia"><img src="https://codeberg.org/avatars/f30eb0cfbceeb010bbaf205d635916c1?size=512" width="60px" alt="" /></a> <a href="https://codeberg.org/crzjp"><img src="https://codeberg.org/avatars/55cf7daa6e277d5a1c7190901396f8be36130a9286a922b5ac24c4814161db14?size=512" width="60px" alt="" /></a> <!-- contributors -->

View file

@ -2,115 +2,29 @@
#:use-module (gnu packages video)
#:use-module (guix build-system copy)
#:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (guix search-paths)
#:use-module ((guix licenses) #:prefix license:))
(define-public navidrome-bin
(package
(name "navidrome-bin")
(version "0.51.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/navidrome/navidrome/releases/download/v"
version "/navidrome_" version "_linux_amd64.tar.gz"))
(sha256 "0s7p3nfk9qfv8agjajpn438l1hcfl5w2i4s1c8a0d6679xw2nckl")))
(build-system copy-build-system)
(supported-systems '("x86_64-linux"))
(arguments
`(#:install-plan '(("navidrome" "bin/"))))
(synopsis "Modern Music Server and Streamer compatible with Subsonic/Airsonic.")
(description "Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!")
(home-page "https://github.com/navidrome/navidrome")
(license license:gpl3)))
(define grep
(package
(name "grep")
(version "3.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz"))
(sha256
(base32
"10n3mc9n1xmg85hpxyr4wiqzfp27ffxzwhvkv021j27vnk0pr3a9"))
(patches (search-patches "grep-timing-sensitive-test.patch"))))
(build-system gnu-build-system)
(native-inputs (list perl)) ;some of the tests require it
(inputs (list pcre2))
(arguments
`(#:configure-flags
(list "--enable-perl-regexp")
#:phases
(modify-phases %standard-phases
(add-after 'install 'fix-egrep-and-fgrep
;; Patch 'egrep' and 'fgrep' to execute 'grep' via its
;; absolute file name instead of searching for it in $PATH.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(substitute* (list (string-append bin "/egrep")
(string-append bin "/fgrep"))
(("^exec grep")
(string-append "exec " bin "/grep"))))))
)))
(synopsis "Print lines matching a pattern")
(description
"grep is a tool for finding text inside files. Text is found by
matching a pattern provided by the user in one or many files. The pattern
may be provided as a basic or extended regular expression, or as fixed
strings. By default, the matching text is simply printed to the screen,
however the output can be greatly customized to include, for example, line
numbers. GNU grep offers many extensions over the standard utility,
including, for example, recursive directory searching.")
(license license:gpl3+)
(home-page "https://www.gnu.org/software/grep/")))
(define-public impd
(package
(name "impd")
(version "0.8.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Ajatt-Tools/impd.git")
(commit "903c450bb9d3135bf73d995d3d0e7b573a42bd5c")))
(sha256
(base32 "0pa68dcn10r3pvjx5bfg666il7r3bz449skfk36kw9wlfkzg1s4w"))))
(name "impd")
(version "0.8")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Ajatt-Tools/impd.git")
(commit (string-append "v" version))))
(sha256
(base32 "1wxmc628jh3prxrwbca4cdhfa58birdxr2nh76k11j1cjw939hzg"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("impd" "bin/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'make-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out") "/bin/impd")
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "grep")
"/bin")))))))))
(inputs (list grep))
;; (propagated-inputs (list ffmpeg)) ;; TODO fix this, since we need ffmpeg at runtime
#~'(("impd" "bin/"))))
(inputs (list ffmpeg))
(home-page "https://github.com/Ajatt-Tools/impd")
(synopsis "AJATT-style passive listening and condensed audio without bloat.")
(description "AJATT-style passive listening and condensed audio without bloat.")
(license license:gpl3)))
impd

View file

@ -11,7 +11,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module ((gnu packages qt) #:hide (qtspeech))
#:use-module (gnu packages qt)
#:use-module (gnu packages search)
#:use-module (gnu packages textutils)
#:use-module (gnu packages version-control)
@ -29,60 +29,56 @@
#:use-module (guix packages)
#:use-module (ajatt packages qt)
#:use-module (ajatt packages suckless)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages search)
#:use-module (gnu packages web)
#:use-module (gnu packages gcc)
#:use-module (gnu packages tls)
#:use-module (gnu packages cpp)
#:use-module (gnu packages glib)
#:use-module (gnu packages nss)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages certs)
#:use-module (gnu packages check)
#:use-module (guix build-system qt)
#:use-module (gnu packages curl)
#:use-module (guix utils)
#:use-module (guix search-paths)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download))
#:use-module ((guix licenses) #:prefix license:))
(define-public goldendict-ng
(package
(package
(name "goldendict-ng")
(version "24.05.14.1")
(version "24.02.16")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/xiaoyifang/goldendict-ng.git")
(commit "6486e7b57c3bd39b9ec63e2b34e2f5e8f17bf499")))
(sha256
(base32 "0li7zvxivgyffjm4gjlaw8syyqiaczn3778q1rl2ncp9l8008gxp"))))
(method git-fetch)
(uri
(git-reference
(url "https://github.com/xiaoyifang/goldendict-ng.git")
(commit "68c95001005fd77c95936589bbc2487ff3086019")))
(sha256
(base32 "10aghpghysc024jcd14hl6mslzags5jf9pbr8apndycczc4ybswy"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:cmake cmake
#:make-flags
#~(list "-j" "7")
(list #:cmake cmake
#:tests? #f
#:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release"
(string-append "PKG_CONFIG_PATH="
#$(this-package-input "qtbase")
"/include/qt6/QtPrintSupport"))
#~(list "-DCMAKE_BUILD_TYPE=Release")
#:phases
#~(modify-phases %standard-phases
(add-after 'wrap 'wrap-qt-process-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (search-input-file outputs "bin/goldendict")
`("QTWEBENGINE_RESOURCES_PATH" =
(,(search-input-directory
inputs "/share/qt6/resources")))
`("QTWEBENGINEPROCESS_PATH" =
(,(search-input-file
inputs "/lib/qt6/libexec/QtWebEngineProcess")))))))))
(add-after 'unpack 'absolutize-qt-headers
(lambda _
(let ((qtbase-file
(lambda (path)
(string-append "\"" #$qtbase path "\""))))
(substitute* "src/ui/mainwindow.cc"
(("<QPrinter>")
(qtbase-file
"/include/qt6/QtPrintSupport/QPrinter"))
(("<QPageSetupDialog>")
(qtbase-file
"/include/qt6/QtPrintSupport/QPageSetupDialog"))
(("<QPrintPreviewDialog>")
(qtbase-file
"/include/qt6/QtPrintSupport/QPrintPreviewDialog"))
(("<QPrintDialog>")
(qtbase-file
"/include/qt6/QtPrintSupport/QPrintDialog"))))))
(add-after 'wrap 'wrap-qt-process-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (search-input-file outputs "bin/goldendict")
`("QTWEBENGINE_RESOURCES_PATH" =
(,(search-input-directory
inputs "/share/qt6/resources")))
`("QTWEBENGINEPROCESS_PATH" =
(,(search-input-file
inputs "/lib/qt6/libexec/QtWebEngineProcess")))))))))
(native-inputs
(list hunspell
icu4c
@ -126,32 +122,32 @@ the complete markup, illustrations and other content retained, and allowing you
to type in words without any accents or correct case.")
(home-page "https://xiaoyifang.github.io/goldendict-ng/")
(license
(list license:gpl3+
license:zlib))))
(list license:gpl3+
license:zlib))))
(define-public suckless-dictpopup
(package
(name "suckless-dictpopup")
(version "2.5_stable")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/KonstantinDjairo/suckless_dictpopup.git")
(commit "5309e184d0a68bad266ca0f4bef7c3d73ccc5eef")))
(sha256
(base32 "1pnx25s101ydldcvsrh79imkpirw5j5n9qzp9pzi37fz1g1xbb1k"))))
(name "suckless-dictpopup")
(version "2.5_stable")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/KonstantinDjairo/suckless_dictpopup.git")
(commit "5309e184d0a68bad266ca0f4bef7c3d73ccc5eef")))
(sha256
(base32 "1pnx25s101ydldcvsrh79imkpirw5j5n9qzp9pzi37fz1g1xbb1k"))))
(build-system gnu-build-system)
(inputs
(list freetype
libxft
libx11
font-google-noto-sans-cjk
libxinerama
perl
sdcv
sselp))
(list freetype
libxft
libx11
font-google-noto-sans-cjk
libxinerama
perl
sdcv
sselp))
(arguments
(list #:tests? #f
#:make-flags
@ -162,201 +158,11 @@ to type in words without any accents or correct case.")
"/include/freetype2"))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _ (copy-file "config.def.h" "config.h"))))))
(replace 'configure
(lambda _ (copy-file "config.def.h" "config.h"))))))
(synopsis "A very lightweight popup dictionary written in C.")
(description "suckless_dictpopup is a very lightweight program to show popups
with the dictionary entries of the selected text. It uses Xlib for displaying
the popup and sdcv for the dictionary lookup.")
(home-page "https://github.com/KonstantinDjairo/suckless_dictpopup")
(license license:bsd-0)))
(define-public catch2-full
(package
(name "Catch2")
(version "3.5.2")
(source (origin
(method url-fetch)
(uri "https://github.com/catchorg/Catch2/archive/refs/tags/v3.5.2.tar.gz")
(sha256 (base32 "0vhc8zg69idw8lp7vr4hdkhsf9scqba33wizz6rl0vxpksj47596"))))
(build-system cmake-build-system)
(arguments ( list #:cmake cmake #:tests? #f))
(native-inputs
(list gcc-13 pkg-config))
(synopsis "Catch2 testing for C++")
(description
"Catch2 is mainly a unit testing framework for C++, but it also
provides basic micro-benchmarking features, and simple BDD macros.
Catch2's main advantage is that using it is both simple and natural.
Test names do not have to be valid identifiers, assertions look like
normal C++ boolean expressions, and sections provide a nice and local
way to share set-up and tear-down code in tests.")
(home-page "https://github.com/catchorg/Catch2")
(license
(list license:boost1.0))))
(define-public libcpr
(package
(name "cpr")
(version "1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/hashirama/libcpr.git")
(commit "528b3b235e9bf4c7e1b66e1b8d3a4451ba37d5e0")))
(sha256 (base32 "0040d3v4fjmjs253dc8cwqh5k484pvjybdq1rvwzmg0bwi0invjd"))))
(build-system cmake-build-system)
(arguments
( list #:cmake cmake #:tests? #f
))
(native-inputs
(list
openssl
gcc-13
curl
pkg-config
))
(inputs
(list
curl
openssl
))
(synopsis "C++ Requests: Curl for People ")
(description
"C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.
Despite its name, libcurl's easy interface is anything but, and making mistakes,
misusing it is a common source of error and frustration. Using the more expressive
language facilities of C++17 'or C++11 in case you use cpr < 1.10.0', this library
captures the essence of making network calls into a few concise idioms.")
(home-page "https://github.com/libcpr/cpr")
(license
(list license:expat))))
(define-public rdricpp
(package
(name "rdricpp")
(version "1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/hashirama/rdricpp.git")
(commit "63aa0e11e7244cbc06cbecabbc1ac96faee9dabc")))
(sha256 (base32 "0iz8gw7y1ybmds5d9wkzd15gj78k1flxziqn9wm424mhfp80h8bj"))))
(build-system cmake-build-system)
(arguments
( list #:cmake cmake
#:tests? #f
#:configure-flags
#~(list "-DGUIX=1") ))
(native-inputs
(list gcc-13 pkg-config))
(inputs
(list catch2-full))
(synopsis "Rikaitan Deinflector Reference Implementation in C++.")
(description
"Rikaitan Deinflector Reference Implementation in C++.")
(home-page "https://codeberg.org/hashirama/rdricpp")
(license
(list license:gpl3+
license:zlib))))
(define-public gd-tools
(package
(name "gd-tools")
(version "1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/hashirama/gd-tools.git")
(commit "a44fc99f9a4ae716b89afefbc96b77abcbe89307")))
(sha256 (base32 "0jpg7v3alfd3ls352vnp9wjrk2sd2jl81l2lzrqvank78f8jpwnd"))))
(build-system cmake-build-system)
(arguments
( list #:cmake cmake
;;#:tests? #f
#:configure-flags
#~(list "-DGUIX=1")
)
)
(native-inputs
(list
openssl
rdricpp
zlib
glib
gcc-13
curl
pkg-config
))
(inputs
(list
nlohmann-json
curl
openssl
nss-certs
marisa
catch2-full
libcpr
))
(synopsis "A set of helpful programs to enhance goldendict for immersion learning.")
(description
"A set of helpful programs to enhance goldendict for immersion learning.")
(home-page "https://codeberg.org/hashirama/gd-tools/")
(license
(list license:gpl3+
license:zlib))))
(define-public xcdat
(package
(name "xcdat")
(version "0.2.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/kampersanda/xcdat.git")
(commit "c1b97048259140ff5d5a22a29c1724e60112da4f")))
(sha256
(base32 "0kwfhv3kvbc4sl0bingncmpn9i210vv02lszjiqi91fa84rlxisj"))))
(build-system cmake-build-system)
(arguments
(list #:cmake cmake
#:tests? #f ))
(synopsis "Fast compressed trie dictionary library.")
(description
"Xcdat is a C++17 header-only library of a fast compressed string dictionary based on an improved double-array trie structure.")
(home-page "https://kampersanda.github.io/xcdat/")
(license
(list license:expat))))
goldendict-ng

36
ajatt/packages/ocr.scm Normal file
View file

@ -0,0 +1,36 @@
(define-module (ajatt packages ocr)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages xdisorg)
#:use-module (ajatt packages python-xyz))
(define-public manga-ocr
(package
(name "python-manga-ocr")
(version "0.1.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "manga-ocr" version))
(sha256
(base32 "1sxhk613ag1vk5hm6zxa0npjcn4gn0bgf1bq7id56qw44rlq1ki1"))))
(build-system pyproject-build-system)
(inputs (list python-fire
python-fugashi
python-jaconv
python-loguru
python-numpy
python-pillow
python-pyperclip
python-pytorch
python-transformers
python-unidic-lite))
(home-page "https://github.com/kha-white/manga-ocr")
(synopsis "OCR for Japanese manga")
(description "OCR for Japanese manga")
(license #f)))

File diff suppressed because it is too large Load diff

View file

@ -1,98 +0,0 @@
;;; Copyright © 2023 pat-hwaki
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
(define-module (ajatt packages readers)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages webkit)
#:use-module (guix build utils)
#:use-module (guix build-system meson)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:))
(define-public foliate
(let* ((commit "efddb107ae3c3a7c3acca73ad0c6a19981234e04")
(revision "0")
(version* (git-version "3.0.0" revision commit))
(foliate-js
(origin
(method git-fetch)
(uri (git-reference
;; changed url to ensure that the code will be
;; always available
(url "https://codeberg.org/hashirama/foliate-js")
(commit "ad25f6b5c3d9d044941d8ea858324b20a5352512")))
(file-name
(git-file-name "foliate-js" version*))
(sha256
(base32
"0yfjyfhnd2nd3yln7r3h1pm08x5pv5kxvkh853s9nd66n3h6k1j4")))))
(package
(name "foliate")
(version version*)
(source (origin
(method git-fetch)
(uri (git-reference
;; changed url to ensure that the code will be
;; always available
(url "https://codeberg.org/hashirama/foliate.git")
(commit "efddb107ae3c3a7c3acca73ad0c6a19981234e04")))
(file-name (git-file-name name version))
(sha256
(base32
"1wicjwa8gdsjcbrj5g2bv88x0ddsf6ql2j8r7hp2p692l1bhb9dp"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-foliate-js
(lambda _
(copy-recursively #$foliate-js "src/foliate-js")))
(add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))))
(add-after 'glib-or-gtk-wrap 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/foliate")))
;; Put existing typelibs before sushi's deps, so as to
;; correctly infer gdk-pixbuf.
(wrap-program prog
`("GI_TYPELIB_PATH" suffix
(,(getenv "GI_TYPELIB_PATH")))
;; for icon.
`("GDK_PIXBUF_MODULE_FILE" =
(,(getenv "GDK_PIXBUF_MODULE_FILE"))))))))))
(native-inputs
(list pkg-config
`(,glib "bin")
gettext-minimal
gobject-introspection
desktop-file-utils
foliate-js))
(inputs
(list libadwaita
glib
glib-networking
webkitgtk
gtk
gjs))
(home-page "https://johnfactotum.github.io/foliate/")
(synopsis "Read books in style")
(description "A simple and modern GTK e-book reader")
;; foliate foliate-js
(license (list license:gpl3 license:expat)))))
foliate

View file

@ -1,395 +0,0 @@
(define-module (ajatt packages video)
#:use-module (gnu packages video)
#:use-module (guix build-system copy)
#:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages assembly)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages tls)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (srfi srfi-26)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix hg-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system waf)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages bittorrent)
#:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages curl)
#:use-module (gnu packages dbm)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages guile)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnunet)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages hunspell)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
#:use-module (gnu packages messaging)
#:use-module (gnu packages music)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-web)
#:use-module (gnu packages php)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#: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 re2c)
#:use-module (gnu packages ruby)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages spice)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages upnp)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages python)
#:use-module ((guix licenses) #:prefix license:))
(define-public vvdec
(package
(name "vvdec")
(version "2.3.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/fraunhoferhhi/vvdec.git")
(commit "ad8f4bb7d6271b5fe6b3ab0a5e64114dec1af5d4")))
(sha256
(base32 "0qr4sp3gq3pxpl7nr2dxd628jmdwv09f76pgsyc5rydz05ahymym"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=1")
#:cmake cmake
#:tests? #f ))
(synopsis "VVdeC, the Fraunhofer Versatile Video Decoder.")
(description
"VVdeC, the Fraunhofer Versatile Video Decoder, is a fast software H.266/VVC decoder implementation supporting all features of the VVC Main10 profile.")
(home-page "https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html")
(license
(list license:bsd-3))))
(define-public ffmpeg-vvdec
(package
(inherit ffmpeg)
(name "ffmpeg-vvdec")
(version "7.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"1zz4n2zqazl5nlvil31aikf90hhvlq8pgwxij0iriy3yy6qfxsdw"))))
(outputs '("out" "debug"))
(build-system gnu-build-system)
(inputs
(append
;; XXX: rav1e depends on rust, which currently only works on x86_64.
;; See also the related configure flag when changing this.
(if (target-x86-64?) (list rav1e) '())
(list dav1d
fontconfig
freetype
frei0r-plugins
gnutls
vvdec
opus
ladspa
lame
libaom
libass
libbluray
libcaca
libcdio-paranoia
libdrm
libtheora
libva
libvdpau
libvorbis
libvpx
libwebp
libx11
libx264
mesa
openal
pulseaudio
sdl2
soxr
speex
srt
twolame
vidstab
x265
xvid
zlib)))
(native-inputs
(list bc
perl
pkg-config
python
texinfo
speex
yasm))
(arguments
(list
#:test-target "fate"
#:configure-flags
;; possible additional inputs:
;; --enable-avisynth enable reading of AviSynth script
;; files [no]
;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
;; --enable-libcelt enable CELT decoding via libcelt [no]
;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
;; and libraw1394 [no]
;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
;; --enable-libflite enable flite (voice synthesis) support via
;; libflite [no]
;; --enable-libgme enable Game Music Emu via libgme [no]
;; --enable-libgsm enable GSM de/encoding via libgsm [no]
;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
;; --enable-libmodplug enable ModPlug via libmodplug [no]
;; --enable-libnut enable NUT (de)muxing via libnut,
;; native (de)muxer exists [no]
;; --enable-libopencore-amrnb enable AMR-NB de/encoding via
;; libopencore-amrnb [no]
;; --enable-libopencore-amrwb enable AMR-WB decoding via
;; libopencore-amrwb [no]
;; --enable-libopencv enable video filtering via libopencv [no]
;; --enable-libopenjpeg enable JPEG 2000 de/encoding via
;; OpenJPEG [no]
;; --enable-librtmp enable RTMP[E] support via librtmp [no]
;; --enable-libschroedinger enable Dirac de/encoding via
;; libschroedinger [no]
;; --enable-libshine enable fixed-point MP3 encoding via
;; libshine [no]
;; --enable-libssh enable SFTP protocol via libssh [no]
;; (libssh2 does not work)
;; --enable-libstagefright-h264 enable H.264 decoding via
;; libstagefright [no]
;; --enable-libutvideo enable Ut Video encoding and decoding via
;; libutvideo [no]
;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
;; --enable-libvo-amrwbenc enable AMR-WB encoding via
;; libvo-amrwbenc [no]
;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
;; --enable-libxavs enable AVS encoding via xavs [no]
;; --enable-libzmq enable message passing via libzmq [no]
;; --enable-libzvbi enable teletext support via libzvbi [no]
;; --enable-opencl enable OpenCL code
#~(list
#$@(if (target-powerpc?)
;; These tests fail on powerpc64-le (see:
;; https://trac.ffmpeg.org/ticket/9604).
'("--ignore-tests=checkasm-sw_scale,filter-scale2ref_keep_aspect")
'())
"--enable-gpl" ;enable optional gpl licensed parts
"--enable-shared"
"--enable-frei0r"
"--enable-fontconfig"
"--enable-gnutls"
"--enable-ladspa"
"--enable-libaom"
"--enable-libass"
"--enable-libbluray"
"--enable-libcaca"
"--enable-libcdio"
"--enable-libdav1d"
"--enable-libfreetype"
"--enable-libmp3lame"
"--enable-libopus"
"--enable-libpulse"
#$@(if (target-x86-64?)
'("--enable-librav1e")
'())
"--enable-libsoxr"
"--enable-libspeex"
;; "--enable-libvvenc" TODO: this needs a patch
;; https://patchwork.ffmpeg.org/series/12059/mbox/
"--extra-cflags=-Ofast"
"--extra-cxxflags=-Ofast"
"--enable-libsrt"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"
"--enable-libvorbis"
"--enable-libvpx"
"--enable-libwebp"
"--enable-libxvid"
"--enable-libx264"
"--enable-libx265"
"--enable-openal"
"--enable-opengl"
"--enable-libdrm"
"--enable-vaapi"
"--enable-runtime-cpudetect"
;; The HTML pages take 7.2 MiB
"--disable-htmlpages"
;; The static libraries are 23 MiB
"--disable-static"
"--disable-stripping"
#$@(if (target-riscv64?)
'("--extra-cflags=-fPIC")
'())
;; Runtime cpu detection is not implemented on
;; MIPS, so we disable some features.
"--disable-mips32r2"
"--disable-mipsdsp"
"--disable-mipsdspr2"
"--disable-mipsfpu")
#:phases
#~(modify-phases %standard-phases
(replace 'configure
;; configure does not work followed by "SHELL=..." and
;; "CONFIG_SHELL=..."; set environment variables instead
(lambda* (#:key outputs configure-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "configure"
(("#! /bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
(apply invoke
"./configure"
(string-append "--prefix=" out)
;; Add $libdir to the RUNPATH of all the binaries.
(string-append "--extra-ldflags=-Wl,-rpath="
out "/lib")
configure-flags))))
(add-before 'check 'set-ld-library-path
(lambda _
;; Allow $(top_builddir)/ffmpeg to find its dependencies when
;; running tests.
(let* ((dso (find-files "." "\\.so$"))
(path (string-join (map dirname dso) ":")))
(format #t "setting LD_LIBRARY_PATH to ~s~%" path)
(setenv "LD_LIBRARY_PATH" path)))))))
(home-page "https://www.ffmpeg.org/")
(synopsis "Audio and video framework")
(description "FFmpeg is a complete, cross-platform solution to record,
convert and stream audio and video. It includes the libavcodec
audio/video codec library.")
(license license:gpl2+)))
ffmpeg-vvdec

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View file

@ -1,242 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="136.17218"
height="20.200001"
id="svg2"
version="1.1"
sodipodi:docname="gnu-guile-made.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
inkscape:export-filename="gnu-guix-packaged.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<title
id="title1620">GNU Guile &quot;Made&quot; Badge</title>
<sodipodi:namedview
pagecolor="#1d1d1d"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1011"
id="namedview24"
showgrid="false"
inkscape:showpageshadow="false"
inkscape:zoom="1"
inkscape:cx="90"
inkscape:cy="-32"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
borderlayer="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
showguides="false"
inkscape:pagecheckerboard="0"
inkscape:snap-grids="false"
inkscape:snap-page="true"
inkscape:snap-global="true" />
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient3627">
<stop
style="stop-color:#a9293d;stop-opacity:1"
offset="0"
id="stop3623" />
<stop
style="stop-color:#da3e49;stop-opacity:1"
offset="1"
id="stop3625" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient55633">
<stop
style="stop-color:#171717;stop-opacity:1"
offset="0"
id="stop55629" />
<stop
style="stop-color:#2b2b2b;stop-opacity:0.99806976"
offset="1"
id="stop55631" />
</linearGradient>
<rect
x="9094.3613"
y="2431.5554"
width="363.25549"
height="110.18591"
id="rect226" />
<color-profile
xlink:href="file:///usr/share/color/icc/ghostscript/ps_cmyk.icc"
id="color-profile1071"
name="Artifex-PS-CMYK-Profile" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient55633"
id="linearGradient62731"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-437.0775,90.06558)"
x1="437.17722"
y1="-69.965584"
x2="437.17722"
y2="-89.965584" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3627"
id="linearGradient3629"
x1="154.15495"
y1="20.1"
x2="154.15495"
y2="0.1"
gradientUnits="userSpaceOnUse" />
</defs>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:title>GNU Guile &quot;Made&quot; Badge</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:creator>
<cc:Agent>
<dc:title>Luis Felipe López Acevedo</dc:title>
</cc:Agent>
</dc:creator>
<dc:date>2022-07-15</dc:date>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer2"
transform="translate(-8865.4034,-1057.3243)" />
<text
xml:space="preserve"
id="text224"
style="font-style:normal;font-weight:normal;font-size:96px;line-height:0;font-family:sans-serif;white-space:pre;shape-inside:url(#rect226);fill:#000000;fill-opacity:1;stroke:none"
transform="translate(-8865.4034,-1909.6865)"><tspan
x="9094.3613"
y="2631.4797"
id="tspan1101"><tspan
dx="0 61.078125 61.078125"
style="line-height:1.35;fill:#ff6600"
id="tspan1099">40%</tspan></tspan></text>
<path
style="fill:#fd7e14;fill-opacity:1;stroke-width:0.707107"
d=""
id="path244" />
<path
style="fill:#fd7e14;fill-opacity:1;stroke-width:0.707107"
d=""
id="path246" />
<path
id="path62701"
style="fill:url(#linearGradient62731);fill-opacity:1;stroke:none;stroke-width:0.934342;stroke-linecap:round"
d="m 85.29754,0.1 v 20 H 2.09972 c -1.108,0 -2,-0.892 -2,-2 v -16 c 0,-1.108 0.892,-2 2,-2 z"
sodipodi:nodetypes="ccssssc" />
<text
xml:space="preserve"
style="font-size:11px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start;fill:#ffffff;fill-opacity:1"
x="23.31752"
y="14.200827"
id="text62705"><tspan
sodipodi:role="line"
id="tspan62703"
x="23.31752"
y="14.200827"
style="font-size:11px">GNU Guile</tspan></text>
<path
id="path62709"
style="fill:url(#linearGradient3629);fill-opacity:1;stroke:none;stroke-width:0.934342;stroke-linecap:round"
d="m 85.29754,0.1 v 20 h 48.85742 c 1.108,0 2,-0.892 2,-2 v -16 c 0,-1.108 -0.892,-2 -2,-2 z"
sodipodi:nodetypes="ccssssc" />
<g
id="g19622"
transform="translate(-9.2067868)">
<text
xml:space="preserve"
style="font-size:11px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle;fill:#5b0d28;fill-opacity:1"
x="119.68597"
y="15.228144"
id="text9958"><tspan
sodipodi:role="line"
id="tspan9956"
x="119.68597"
y="15.228144"
style="font-size:11px;text-align:center;text-anchor:middle;fill:#5b0d28;fill-opacity:1">Made</tspan></text>
<text
xml:space="preserve"
style="font-size:11px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1"
x="119.68597"
y="14.200827"
id="text62713"><tspan
sodipodi:role="line"
id="tspan62711"
x="119.68597"
y="14.200827"
style="font-size:11px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">Made</tspan></text>
</g>
<path
id="path62723"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.2;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2.1,0.1 c -1.108,0 -2,0.892 -2,2 v 16 c 0,1.108 0.892,2 2,2 h 131.97218 c 1.108,0 2,-0.892 2,-2 v -16 c 0,-1.108 -0.892,-2 -2,-2 z"
sodipodi:nodetypes="cssccsscc" />
<path
id="path62725"
style="fill:#6e0d26;fill-opacity:1;stroke:none;stroke-width:0.929612;stroke-linecap:round"
d="m 87.49591,19.99976 c -1.108,0 -2,-0.883 -2,-1.97981 V 2.18152 c 0,-1.09682 0.892,-1.97981 2,-1.97981 h -2 c -1.108,0 -2,0.88299 -2,1.97981 v 15.83843 c 0,1.09681 0.892,1.97981 2,1.97981 z" />
<g
id="g1427"
transform="matrix(0.07589004,0,0,0.07589004,5.6484002,17.697734)">
<path
style="fill:#d0343f;fill-opacity:1;stroke:none"
d="m 65.98098,-186.3647 c -42.61749,5.6234 -75.5,42.0966 -75.5,86.25 0,44.1533 32.88251,80.6266 75.5,86.25 v -25.3125 c -28.7462,-5.3924 -50.5,-30.6258 -50.5,-60.9375 0,-30.3117 21.7538,-55.5452 50.5,-60.9375 z"
id="path3864-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csccscc" />
<path
id="path3866-2"
d="m 88.98098,-186.3647 v 25.3125 c 28.74619,5.3923 50.5,30.6258 50.5,60.9375 0,30.3117 -21.75381,55.5451 -50.5,60.9375 v 25.3125 c 42.61749,-5.6234 75.5,-42.0967 75.5,-86.25 0,-44.1534 -32.88251,-80.6266 -75.5,-86.25 z"
style="fill:#ffffff;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsccsc" />
<path
d="m 121.84733,-98.931963 q 0,17.119303 -12.61422,29.508273 -12.614223,12.38897 -30.859797,12.38897 -19.14659,0 -32.211322,-12.501597 -13.064731,-12.501597 -13.064731,-30.747173 0,-17.90769 12.72685,-30.40929 12.839478,-12.50159 31.085052,-12.50159 13.627867,0 25.115818,7.32075 11.48796,7.32076 15.54253,18.58346 H 99.434562 q -7.88389,-11.03745 -22.863281,-11.03745 -12.163716,0 -20.047606,8.22177 -7.88389,8.10914 -7.88389,20.04761 0,11.938458 8.221771,20.047602 8.334398,8.109144 20.610741,8.109144 8.221771,0 14.64151,-3.829318 6.419739,-3.829318 9.798553,-10.812192 H 67.448494 v -14.416256 h 54.398836 z"
style="font-weight:600;font-size:112.627px;line-height:1.25;font-family:'URW Gothic L';-inkscape-font-specification:'URW Gothic L Semi-Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
id="path1225" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.6 KiB