;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Gábor Boskovit <boskovits@gmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Timo Eisenmann <eisenmann@fn.de>
+;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages elf)
#: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 lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
+ #:use-module (gnu packages markup)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages perl)
#: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)
television and DVD. It is also known as AC-3.")
(license license:gpl2+)))
+(define-public libaom
+ ;; The 1.0.0-errata1 release installs a broken pkg-config .pc file. This
+ ;; is fixed in libaom commit 0ddc150, but we use an even later commit.
+ (let ((commit "22b150bf040608028a56d8bf39e72f771383d836")
+ (revision "0"))
+ (package
+ (name "libaom")
+ (version (git-version "1.0.0-errata1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://aomedia.googlesource.com/aom/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pdd5h3n42607n6qmggz4yv8izhjr2kl6knb3kh7gh4v0vy47h1r"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python))) ; to detect the version
+ (arguments
+ `(#:tests? #f ;no check target
+ #:configure-flags
+ ;; build dynamic library
+ (list "-DBUILD_SHARED_LIBS=YES"
+ "-DENABLE_PIC=TRUE"
+ "-DAOM_TARGET_CPU=generic"
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")))))
+ (home-page "https://aomedia.googlesource.com/aom/")
+ (synopsis "AV1 video codec")
+ (description "Libaom is the reference implementation of AV1. It includes
+a shared library and encoder and decoder command-line executables.")
+ (license license:bsd-2))))
+
(define-public libmpeg2
(package
(name "libmpeg2")
(define-public mkvtoolnix
(package
(name "mkvtoolnix")
- (version "13.0.0")
+ (version "31.0.0")
(source
(origin
(method url-fetch)
name "-" version ".tar.xz"))
(sha256
(base32
- "0hknnnnx9661igm1r73dc7aqxnnrl5a8yvyvr1nhd9ymn2klwpl5"))
+ "0d8va2iamzc7y3wi71z8mk2vnqvnkgwb2p7casdfp37400x8r2pr"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled libraries.
(for-each delete-file-recursively
- '("lib/libebml"
+ '("lib/fmt"
+ "lib/libebml"
"lib/libmatroska"
"lib/nlohmann-json"
"lib/pugixml"
"lib/utf8-cpp"))
#t))))
(build-system gnu-build-system)
+ (outputs '("out" "gui")) ; "mkvtoolnix-gui" brings the closure size from ~300 MB to 1.5+ GB.
(inputs
`(("boost" ,boost)
("bzip2" ,bzip2)
+ ("cmark" ,cmark)
("libebml" ,libebml)
- ("flac" ,flac)
("file" ,file)
+ ("flac" ,flac)
+ ("fmt" ,fmt)
("libmatroska" ,libmatroska)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("lzo" ,lzo)
("pugixml" ,pugixml)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
("utfcpp" ,utfcpp)
("zlib" ,zlib)))
(native-inputs
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
+ ("qttools" ,qttools)
("ruby" ,ruby)))
(arguments
`(#:configure-flags
(assoc-ref %build-inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))
- (string-append "--with-extra-includes="
- (assoc-ref %build-inputs "nlohmann-json-cpp")
- "/include/nlohmann"))
+ "--enable-update-check=no"
+ "--enable-precompiled-headers=no")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'add-googletest
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(symlink
- (string-append (assoc-ref %build-inputs "googletest")
- "/include/gtest") "lib/gtest")
+ (string-append (assoc-ref inputs "googletest")
+ "/include/gtest") "lib/gtest")
#t))
(replace 'build
(lambda _
(invoke "rake" "tests/unit")))
(replace 'install
(lambda _
- (invoke "rake" "install"))))))
+ (invoke "rake" "install")))
+ (add-after 'install 'post-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move the Qt interface to "gui".
+ (let* ((out (assoc-ref outputs "out"))
+ (gui (assoc-ref outputs "gui"))
+ (strip-store-dir (lambda (path)
+ (substring path (string-prefix-length out path)))))
+ (for-each
+ (lambda (file)
+ (mkdir-p (string-append gui (dirname file)))
+ (rename-file (string-append out file)
+ (string-append gui file)))
+ (append '("/bin/mkvtoolnix-gui"
+ "/share/applications/org.bunkus.mkvtoolnix-gui.desktop"
+ "/share/metainfo/org.bunkus.mkvtoolnix-gui.appdata.xml"
+ "/share/mime/packages/org.bunkus.mkvtoolnix-gui.xml")
+ (map strip-store-dir (find-files out "\\.ogg$"))
+ (map strip-store-dir (find-files out "mkvtoolnix-gui\\.png$"))
+ (map strip-store-dir (find-files out "mkvtoolnix-gui\\.1"))))
+ (for-each
+ (lambda (file)
+ (delete-file-recursively (string-append out file)))
+ '("/share/applications"
+ "/share/metainfo"
+ "/share/mime"
+ "/share/mkvtoolnix")))
+ #t)))))
(home-page "https://mkvtoolnix.download")
(synopsis "Tools to create, alter and inspect Matroska files")
(description
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.4.9")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/"
- name "/" name "-" version ".tar.xz"))
+ "libmatroska/libmatroska-" version ".tar.xz"))
(sha256
- (base32
- "1j4mjzx6mjzfjf9hz8g4w84krf5jccmr5cyynll0j1vwv3aiv9iq"))))
+ (base32 "07md2gvy3x92ym2k449740mdji6mhknlajkndnhi507s4wcdrvzh"))))
(build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "4.1.1")
+ (version "4.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "11id9pm4azfrhpa4vr2yaw31dzgd55kl1zsxwn24sczx9n14jdrp"))))
+ "0gdnprc7gk4b7ckq8wbxbrj7i00r76r9a5g9mj7iln40512j0c0c"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
("opus" ,opus)
("ladspa" ,ladspa)
("lame" ,lame)
+ ("libaom" ,libaom)
("libass" ,libass)
("libbluray" ,libbluray)
("libcaca" ,libcaca)
"--enable-fontconfig"
"--enable-gnutls"
"--enable-ladspa"
+ "--enable-libaom"
"--enable-libass"
"--enable-libbluray"
"--enable-libcaca"
(define-public ffmpeg-3.4
(package
(inherit ffmpeg)
- (version "3.4.5")
+ (version "3.4.6")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "0b59qk5wpc5ksiha76jbhb859g5gxa4w0k6afh3kgvgajiivs73l"))))))
+ "0gmqbhg5jjcfanrxrl657zn12lzz73sfs8xwryfy7n9rn6f2fwim"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ffmpeg)
+ ((#:configure-flags flags)
+ `(delete "--enable-libaom" ,flags))))
+ (inputs (alist-delete "libaom"
+ (package-inputs ffmpeg)))))
(define-public ffmpeg-for-stepmania
(hidden-package
(substitute* "modules/text_renderer/freetype/text_layout.c"
(("# define FRIBIDI_NO_DEPRECATED 1") ""))
- ;; Fix build against Qt 5.11.
- (substitute* "modules/gui/qt/actions_manager.cpp"
- (("#include <vlc_keys.h>") "#include <vlc_keys.h>
-#include <QAction>"))
- (substitute* "modules/gui/qt/components/simple_preferences.cpp"
- (("#include <QFont>") "#include <QFont>
-#include <QButtonGroup>"))
+ ;; Fix build with libssh2 > 1.8.0:
+ ;; <https://trac.videolan.org/vlc/ticket/22060>
+ ;; <https://git.videolan.org/?p=vlc.git;a=commit;h=11449b5cd8b415768e010d9b7c1d6ba3cea21f82>
+ (substitute* "modules/access/sftp.c"
+ (("010801") "010900"))
#t)))
(add-after 'strip 'regenerate-plugin-cache
(lambda* (#:key outputs #:allow-other-keys)
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-after
+ 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((ytdl (assoc-ref inputs "youtube-dl")))
+ (substitute* "player/lua/ytdl_hook.lua"
+ (("\"youtube-dl\",")
+ (string-append "\"" ytdl "/bin/youtube-dl\",")))
+ #t)))
(add-before
'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2019.02.18")
+ (version "2019.04.24")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/"
version ".tar.gz"))
(sha256
(base32
- "1sr0f6ixpaqyp3cf29zswx84y3nfabwnk3sljcgvgnmjp73zzfv1"))))
+ "1kzz3y2q6798mwn20i69imf48kb04gx3rznfl06hb8qv5zxm9gqz"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
(define-public you-get
(package
(name "you-get")
- (version "0.4.1210")
+ (version "0.4.1270")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1plw518hzpzzcr38phlnsbpq7aqnps8iwrgr68f6d41rppl1qb25"))))
+ "123g6x8sh32v4yn4ss55lfw7j79hgl3l6aiwgrk4ndq7dzhnz46q"))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
(define-public youtube-viewer
(package
(name "youtube-viewer")
- (version "3.5.2")
+ (version "3.5.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0sx0f7jgc41a4anflw02zqk5yivydn02nn78kxkn3fik6xdmv3yd"))))
+ "1j782m9rximybamd0qsc43hi7hgk333x9gy3ypzb61s0sifs0i6m"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(define-public avidemux
(package
(name "avidemux")
- (version "2.6.12")
+ (version "2.7.3")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/" name "/" name "/" version "/"
- name "_" version ".tar.gz"))
+ "mirror://sourceforge/avidemux/avidemux/" version "/"
+ "avidemux_" version ".tar.gz"))
(sha256
(base32
- "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn"))
+ "17x2mnnr5h8pp764p55l1xcn2ljnzhbj8cykajlllvk4rc4qwxld"))
(patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system)
(native-inputs
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
- ("qt" ,qt) ; FIXME: reenable modular qt after update - requires building
- ;("qtbase" ,qtbase) with -std=gnu++11.
- ;("qttools" ,qttools)
+ ("qtbase" ,qtbase)
+ ("qttools" ,qttools)
("sdl" ,sdl)
("sqlite" ,sqlite)
("yasm" ,yasm)
("zlib" ,zlib)))
(arguments
- `(#:tests? #f ; no check target
+ `(#:tests? #f ; no check target
#:phases
;; Make sure files inside the included ffmpeg tarball are
;; patch-shebanged.
- (modify-phases %standard-phases
- (add-before 'patch-source-shebangs 'unpack-ffmpeg
- (lambda _
- (with-directory-excursion "avidemux_core/ffmpeg_package"
- (invoke "tar" "xf" "ffmpeg-2.7.6.tar.bz2")
- (delete-file "ffmpeg-2.7.6.tar.bz2"))
- #t))
- (add-after 'patch-source-shebangs 'repack-ffmpeg
- (lambda _
- (with-directory-excursion "avidemux_core/ffmpeg_package"
- (substitute* "ffmpeg-2.7.6/configure"
- (("#! /bin/sh") (string-append "#!" (which "sh"))))
- (invoke "tar" "cjf" "ffmpeg-2.7.6.tar.bz2" "ffmpeg-2.7.6"
- ;; avoid non-determinism in the archive
- "--sort=name" "--mtime=@0"
- "--owner=root:0" "--group=root:0")
- (delete-file-recursively "ffmpeg-2.7.6"))
- #t))
- (replace 'configure
- (lambda _
- ;; Copy-paste settings from the cmake build system.
- (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
- #t))
- (replace 'build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib"))
- (top (getcwd))
- (sdl (assoc-ref inputs "sdl"))
- (build_component
- (lambda* (component srcdir #:optional (args '()))
- (let ((builddir (string-append "build_" component)))
- (mkdir builddir)
- (with-directory-excursion builddir
- (apply invoke "cmake"
- "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
- (string-append "-DCMAKE_INSTALL_PREFIX=" out)
- (string-append "-DCMAKE_INSTALL_RPATH=" lib)
- (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
- "\"-Wl,-rpath=" lib "\"")
- (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
- (string-append "-DSDL_INCLUDE_DIR="
- sdl "/include/SDL")
- (string-append "../" srcdir)
- "-DENABLE_QT5=True"
- args)
- (invoke "make" "-j"
- (number->string (parallel-job-count)))
- (invoke "make" "install"))))))
- (mkdir out)
- (build_component "core" "avidemux_core")
- (build_component "cli" "avidemux/cli")
- (build_component "qt4" "avidemux/qt4")
- (build_component "plugins_common" "avidemux_plugins"
- '("-DPLUGIN_UI=COMMON"))
- (build_component "plugins_cli" "avidemux_plugins"
- '("-DPLUGIN_UI=CLI"))
- (build_component "plugins_qt4" "avidemux_plugins"
- '("-DPLUGIN_UI=QT4"))
- (build_component "plugins_settings" "avidemux_plugins"
- '("-DPLUGIN_UI=SETTINGS"))
- ;; Remove .exe and .dll file.
- (delete-file-recursively
- (string-append out "/share/ADM6_addons"))
- #t)))
- (delete 'install))))
+ (let ((ffmpeg "ffmpeg-4.1.1"))
+ (modify-phases %standard-phases
+ (add-before 'patch-source-shebangs 'unpack-ffmpeg
+ (lambda _
+ (with-directory-excursion "avidemux_core/ffmpeg_package"
+ (invoke "tar" "xf" (string-append ffmpeg ".tar.bz2"))
+ (delete-file (string-append ffmpeg ".tar.bz2")))
+ #t))
+ (add-after 'patch-source-shebangs 'repack-ffmpeg
+ (lambda _
+ (with-directory-excursion "avidemux_core/ffmpeg_package"
+ (substitute* (string-append ffmpeg "/configure")
+ (("#! /bin/sh") (string-append "#!" (which "sh"))))
+ (invoke "tar" "cjf" (string-append ffmpeg ".tar.bz2") ffmpeg
+ ;; avoid non-determinism in the archive
+ "--sort=name" "--mtime=@0"
+ "--owner=root:0" "--group=root:0")
+ (delete-file-recursively ffmpeg))
+ #t))
+ (replace 'configure
+ (lambda _
+ ;; Copy-paste settings from the cmake build system.
+ (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+ (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
+ #t))
+ (replace 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (top (getcwd))
+ (sdl (assoc-ref inputs "sdl"))
+ (build_component
+ (lambda* (component srcdir #:optional (args '()))
+ (let ((builddir (string-append "build_" component)))
+ (mkdir builddir)
+ (with-directory-excursion builddir
+ (apply invoke "cmake"
+ "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
+ (string-append "-DCMAKE_INSTALL_PREFIX=" out)
+ (string-append "-DCMAKE_INSTALL_RPATH=" lib)
+ (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
+ "\"-Wl,-rpath=" lib "\"")
+ (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
+ (string-append "-DSDL_INCLUDE_DIR="
+ sdl "/include/SDL")
+ (string-append "../" srcdir)
+ "-DENABLE_QT5=True"
+ args)
+ (invoke "make" "-j"
+ (number->string (parallel-job-count)))
+ (invoke "make" "install"))))))
+ (mkdir out)
+ (build_component "core" "avidemux_core")
+ (build_component "cli" "avidemux/cli")
+ (build_component "qt4" "avidemux/qt4")
+ (build_component "plugins_common" "avidemux_plugins"
+ '("-DPLUGIN_UI=COMMON"))
+ (build_component "plugins_cli" "avidemux_plugins"
+ '("-DPLUGIN_UI=CLI"))
+ (build_component "plugins_qt4" "avidemux_plugins"
+ '("-DPLUGIN_UI=QT4"))
+ (build_component "plugins_settings" "avidemux_plugins"
+ '("-DPLUGIN_UI=SETTINGS"))
+ ;; Remove .exe and .dll file.
+ (delete-file-recursively
+ (string-append out "/share/ADM6_addons"))
+ #t)))
+ (delete 'install)))))
(home-page "http://fixounet.free.fr/avidemux/")
(synopsis "Video editor")
(description "Avidemux is a video editor designed for simple cutting,
(define-public xvid
(package
(name "xvid")
- (version "1.3.4")
+ (version "1.3.5")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz"))))
+ "1d0hy1w9sn6491a3vhyf3vmhq4xkn6yd4ralx1191s6qz5wz483w"))))
(build-system gnu-build-system)
(native-inputs `(("yasm" ,yasm)))
(arguments
(define-public obs
(package
(name "obs")
- (version "22.0.3")
+ (version "23.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i"))))
+ "1c0a5vy4h3qwz69qw3bydyk7r651ib5a9jna4yj6c25p3p9isdvp"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ; no tests
+ `(#:tests? #f)) ; no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
(define-public libsmpeg
(package
(name "libsmpeg")
- (version "0.4.5")
+ (version "0.4.5-401")
(source (origin
(method svn-fetch)
(uri (svn-reference
license:lgpl2.1+
license:gpl2))))
+;; for btanks
+(define-public libsmpeg-with-sdl1
+ (package (inherit libsmpeg)
+ (name "libsmpeg")
+ (version "0.4.5-399")
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "svn://svn.icculus.org/smpeg/trunk/")
+ (revision 399))) ; tagged release 0.4.5
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0jfi085rf3fa5xsn0vd3nqf32my8ph9c6a9445y7a8lrlz4dms64"))))
+ (inputs
+ `(("sdl" ,sdl)))))
+
(define-public libbdplus
(package
(name "libbdplus")
(define-public livemedia-utils
(package
(name "livemedia-utils")
- (version "2018.10.17")
+ (version "2019.03.06")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "1s69ipvdc6ldscp0cr1zpsll8xc3qcagr95nl84x7b1rbg4xjs3w"))
- (modules '((guix build utils)))
- (snippet '(begin
- ;; As of glibc 2.26, <xlocale.h> no longer is.
- (substitute* "liveMedia/include/Locale.hh"
- (("xlocale\\.h") "locale.h"))
- #t))))
+ "1gasdl95yjabv811knkmy5laj21a54z1jdfq36jdj984k1nw5l0b"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
(define-public libopenshot
(package
(name "libopenshot")
- (version "0.2.2")
+ (version "0.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1x4kv05pdq1pglb6y056aa7llc6iyibyhzg93k7zwj0q08cp5ixd"))
+ "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k"))
(modules '((guix build utils)))
(snippet '(begin
;; Allow overriding of the python installation dir
(string-append set " CACHE PATH "
"\"Python bindings directory\")")))
(delete-file-recursively "thirdparty")
- #t))
- (patches (search-patches "libopenshot-fixup-tests.patch"
- "libopenshot-tests-with-system-libs.patch"))))
+ #t))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("imagemagick" ,imagemagick)
("jsoncpp" ,jsoncpp)
("libopenshot-audio" ,libopenshot-audio)
- ("qt" ,qt) ;widgets, core, gui, multimedia, and multimediawidgets
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
("zeromq" ,zeromq)))
(arguments
`(#:configure-flags
(define-public openshot
(package
(name "openshot")
- (version "2.4.3")
+ (version "2.4.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1qdw1mli4y9qhrnllnkaf6ydgw5vfvdb90chs4i679k0x0jyb9a2"))))
+ "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "src/images/fonts") #t))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg)
+ ("font-ubuntu" ,font-ubuntu)
("libopenshot" ,libopenshot)
("python" ,python)
("python-pyqt" ,python-pyqt)
("qtsvg" ,qtsvg)))
(arguments
`(#:tests? #f ;no tests
+ #:modules ((guix build python-build-system)
+ (guix build qt-utils)
+ (guix build utils))
+ #:imported-modules (,@%python-build-system-modules
+ (guix build qt-utils))
#:phases (modify-phases %standard-phases
(delete 'build) ;install phase does all the work
+ (add-after 'unpack 'patch-font-location
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((font (assoc-ref inputs "font-ubuntu")))
+ (substitute* "src/classes/app.py"
+ (("info.IMAGES_PATH") (string-append "\"" font "\""))
+ (("fonts") "share/fonts/truetype")))
+ #t))
(add-before 'install 'set-tmp-home
(lambda _
;; src/classes/info.py "needs" to create several
(setenv "HOME" "/tmp")
#t))
(add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (wrap-program (string-append (assoc-ref outputs "out")
- "/bin/openshot-qt")
- `("QT_PLUGIN_PATH" prefix
- ,(list (string-append (assoc-ref inputs "qtsvg")
- "/lib/qt5/plugins/")))))))))
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-qt-program out "openshot-qt"))
+ #t)))))
(home-page "https://openshot.org")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
(define-public dav1d
(package
(name "dav1d")
- (version "0.1.0")
+ (version "0.2.2")
(source
(origin
(method url-fetch)
- (uri (string-append "https://downloads.videolan.org/pub/videolan/"
- "dav1d/" version "/dav1d-" version ".tar.xz"))
+ (uri (list ;; The canonical download site.
+ (string-append "https://downloads.videolan.org/pub/videolan/"
+ "dav1d/" version "/dav1d-" version ".tar.xz")
+
+ ;; Auto-generated tarballs from the Git repo?
+ (string-append "https://code.videolan.org/videolan/dav1d/-/"
+ "archive/" version "/dav1d-" version ".tar.bz2")))
(sha256
- (base32
- "0dw0liday8cbyrirhm6bgzhxg4cdy66nspfkdlq338gdsfqcvrsc"))))
+ (base32 "1llf4v486avj83d31670vdd5nshbq10qrx9vwrm1j078dh4ax4q0"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")
(description "Wlstream is a screen capture tool for recording audio and
video from a Wayland session.")
(license license:lgpl2.1+))))
+
+(define-public gaupol
+ (package
+ (name "gaupol")
+ (version "1.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/otsaloma/gaupol/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dk44fmcs86ymfxfbpdbrr4x5nn5hnv57wkqjyw61g779xjhlrd2"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("python-pygobject" ,python-pygobject)
+ ("gtk+" ,gtk+)
+ ("python-pycairo" ,python-pycairo) ; Required or else clicking on a subtitle line fails.
+ ("python-chardet" ,python-chardet) ; Optional: Character encoding detection.
+ ("gtkspell3" ,gtkspell3) ; Optional: Inline spell-checking.
+ ("iso-codes" ,iso-codes) ; Optional: Translations.
+ ("gstreamer" ,gstreamer)
+ ("gst-libav" ,gst-libav)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gst-plugins-bad" ,gst-plugins-bad)
+ ("gst-plugins-ugly" ,gst-plugins-ugly)))
+ (arguments
+ `(#:tests? #f ; Tests seem to require networking.
+ #:phases
+ (modify-phases %standard-phases
+ ;; gaupol's setup.py script does not support one of the Python build
+ ;; system's default flags, "--single-version-externally-managed".
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "python" "setup.py" "install"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ "--root=/")))
+ (add-after 'install 'wrap-gaupol
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ (wrap-program (string-append out "/bin/gaupol")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+ #t))
+ (add-after 'unpack 'patch-data-dir
+ ;; Fix some path variables that setup.py seems to garble.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "setup.py"
+ (("DATA_DIR = \\{!r\\}\"\\.format\\(data_dir\\)")
+ (string-append "DATA_DIR = '" out "/share/gaupol'\""))
+ (("LOCALE_DIR = \\{!r\\}\"\\.format\\(locale_dir\\)")
+ (string-append "LOCALE_DIR = '" out "/share/locale'\"")))
+ #t))))))
+ (synopsis "Editor for text-based subtitles")
+ (description
+ "Gaupol supports multiple subtitle file formats and provides means of
+creating subtitles, editing texts and timing subtitles to match video. The
+user interface features a builtin video player and is designed with attention
+to convenience of translating and batch processing of multiple documents.")
+ (home-page "https://otsaloma.io/gaupol/")
+ (license license:gpl3+)))