;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 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 Eric Bavier <bavier@member.fsf.org>
+;;; 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 © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
-;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
;;; Copyright © 2018 Gábor Boskovit <boskovits@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
- #:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
+ #:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages man)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#: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 rdesktop)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
(package
(name "x265")
(version "2.9")
+ (outputs '("out" "static"))
(source
(origin
(method url-fetch)
(sha256
(base32
"090hp4216isis8q5gb7bwzia8rfyzni54z21jnwm97x3hiy6ibpb"))
- (patches (search-patches "x265-detect512-all-arches.patch"))
+ (patches (search-patches "x265-arm-flags.patch"
+ "x265-detect512-all-arches.patch"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "source/compat/getopt")
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
- ;; Ensure position independent code for everyone.
- #:configure-flags '("-DENABLE_PIC=TRUE")
+ #:configure-flags
+ ;; Ensure position independent code for everyone.
+ (list "-DENABLE_PIC=TRUE"
+ ,@(if (string-prefix? "armhf" (or (%current-system)
+ (%current-target-system)))
+ '("-DENABLE_ASSEMBLY=OFF")
+ '())
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'prepare-build
+ (add-after 'unpack 'prepare-build
(lambda _
(delete-file-recursively "build")
(chdir "source")
+ ;; recognize armv8 in 32-bit mode as ARM
+ (substitute* "CMakeLists.txt"
+ (("armv6l") "armv8l"))
+ #t))
+ (add-before 'configure 'build-12-bit
+ (lambda* (#:key (configure-flags '()) #:allow-other-keys)
+ (mkdir "../build-12bit")
+ (with-directory-excursion "../build-12bit"
+ (apply invoke
+ "cmake" "../source"
+ "-DHIGH_BIT_DEPTH=ON"
+ "-DEXPORT_C_API=OFF"
+ "-DENABLE_CLI=OFF"
+ "-DMAIN12=ON"
+ configure-flags)
+ (substitute* (cons "cmake_install.cmake"
+ (append
+ (find-files "CMakeFiles/x265-shared.dir" ".")
+ (find-files "CMakeFiles/x265-static.dir" ".")))
+ (("libx265") "libx265_main12"))
+ (invoke "make"))))
+ (add-before 'configure 'build-10-bit
+ (lambda* (#:key (configure-flags '()) #:allow-other-keys)
+ (mkdir "../build-10bit")
+ (with-directory-excursion "../build-10bit"
+ (apply invoke
+ "cmake" "../source"
+ "-DHIGH_BIT_DEPTH=ON"
+ "-DEXPORT_C_API=OFF"
+ "-DENABLE_CLI=OFF"
+ configure-flags)
+ (substitute* (cons "cmake_install.cmake"
+ (append
+ (find-files "CMakeFiles/x265-shared.dir" ".")
+ (find-files "CMakeFiles/x265-static.dir" ".")))
+ (("libx265") "libx265_main10"))
+ (invoke "make"))))
+ (add-after 'install 'install-more-libs
+ (lambda _
+ (with-directory-excursion "../build-12bit"
+ (invoke "make" "install"))
+ (with-directory-excursion "../build-10bit"
+ (invoke "make" "install"))))
+ (add-before 'strip 'move-static-libs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static")))
+ (mkdir-p (string-append static "/lib"))
+ (with-directory-excursion
+ (string-append out "/lib")
+ (for-each
+ (lambda (file)
+ (rename-file file
+ (string-append static "/lib/" file)))
+ (find-files "." "\\.a$"))))
#t)))))
(home-page "http://x265.org/")
(synopsis "Library for encoding h.265/HEVC video streams")
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "4.0.2")
+ (version "4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "15rgzcmdccy4flajs63gkz4n3k24wkkg50r13l1r83lrxg4hqp59"))))
+ "150rrm549fy1x71c9whmyi5knyd9sliwvmcsm438bdgg4v8c93m3"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
("libbluray" ,libbluray)
("libcaca" ,libcaca)
("libcdio-paranoia" ,libcdio-paranoia)
+ ("libdrm" ,libdrm)
("libtheora" ,libtheora)
("libva" ,libva)
("libvdpau" ,libvdpau)
"--enable-libx265"
"--enable-openal"
"--enable-opengl"
+ "--enable-libdrm"
"--enable-runtime-cpudetect"
(define-public ffmpeg-3.4
(package
(inherit ffmpeg)
- (version "3.4.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
- version ".tar.xz"))
- (sha256
- (base32
- "1iizgnhjbhar9y1ykqlj1czqanlv24knkfq5vvfnppv5x00pcvrq"))))))
-
-(define-public ffmpeg-2.8
- (package
- (inherit ffmpeg)
- (version "2.8.15")
+ (version "3.4.5")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "065xbvnfmxfbfrc14cavpqyd2slil99vcjksw4ndb7w8zdh0wp3v"))))
- (arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
- ((#:configure-flags flags)
- `(map (lambda (flag)
- (if (string=? flag "--disable-mipsdsp")
- "--disable-mipsdspr1"
- flag))
- ,flags))))))
+ "0b59qk5wpc5ksiha76jbhb859g5gxa4w0k6afh3kgvgajiivs73l"))))))
(define-public ffmpegthumbnailer
(package
(name "ffmpegthumbnailer")
(version "2.2.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/dirkvdb/"
- name "/archive/" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dirkvdb/ffmpegthumbnailer.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "13qs4iwd4l3iiim30s5051n80z0vgsnikym8vsn321cnm9algiwb"))))
+ "0kl8aa547icy9b05njps02a8sw4yn4f8fzs228kig247sn09s4cp"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
videoformats depend on the configuration flags of ffmpeg.")
(license license:gpl2+)))
-;; Fix build with newer x264.
-(define %vlc-libx264-compat.patch
- (origin
- (method url-fetch)
- (uri (string-append "https://git.videolan.org/?p=vlc.git;a=patch;h="
- "a8953ba707cca1f2de372ca24513296bcfcdaaa8"))
- (file-name "vlc-libx264-compat.patch")
- (sha256
- (base32
- "04igckbdp3sbp8vh0ihmhcf3yjyyk9r3cd5dm9mn9j6vipi1dg3g"))))
-
(define-public vlc
(package
(name "vlc")
- (version "3.0.4")
+ (version "3.0.5")
(source (origin
(method url-fetch)
(uri (string-append
"https://download.videolan.org/pub/videolan/vlc/"
(car (string-split version #\-))
"/vlc-" version ".tar.xz"))
- (patches (list %vlc-libx264-compat.patch))
(sha256
(base32
- "17jsq0zqpqyxw4ckvjba0hf6zk8ywc4wf8sy3z03hh3ij0vxpwq1"))))
+ "1nvj00khy08sing0mdnw6virmiq579mrk5rvpx9710nlxggqgh7m"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
("libkate" ,libkate)
("libmad" ,libmad)
("libmatroska" ,libmatroska)
+ ("libmicrodns" ,libmicrodns)
("libmodplug" ,libmodplug)
("libmpeg2" ,libmpeg2)
("libogg" ,libogg)
("opus" ,opus)
("perl" ,perl)
("pulseaudio" ,pulseaudio)
+ ("protobuf" ,protobuf)
("python" ,python-wrapper)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
(synopsis "Audio and video framework")
(description "VLC is a cross-platform multimedia player and framework
that plays most multimedia files as well as DVD, Audio CD, VCD, and various
-treaming protocols.")
+streaming protocols.")
(license license:gpl2+)))
(define-public mplayer
(name "mpv")
(version "0.29.1")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/mpv-player/mpv/archive/v" version
- ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mpv-player/mpv.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "08x63hlpj6s8xixmdbx6raff5p5mih7cnk0bcql9f3wrs5hx9ygr"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl) ; for zsh completion file
(add-before
'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
- (copy-file (assoc-ref inputs "waf") "waf")
+ (let ((waf (assoc-ref inputs "waf")))
+ (copy-file (string-append waf "/bin/waf") "waf"))
(setenv "CC" "gcc")
#t)))
#:configure-flags (list "--enable-libmpv-shared"
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2018.10.05")
+ (version "2019.01.10")
(source (origin
(method url-fetch)
- (uri (string-append "https://yt-dl.org/downloads/"
- version "/youtube-dl-"
+ (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
+ "download/" version "/youtube-dl-"
version ".tar.gz"))
(sha256
(base32
- "1iq02kwxdgh07bf0w0fvbsjbdshs4kja35gy8m70ji9cj10l1mbw"))))
+ "07r1y06697vhbkbf8pix4cnybaqmlf1wb2df5glj2xv8nl6f51gd"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
(("os\\.path\\.join\\('/usr', 'share'")
(string-append "os.path.join('"
(assoc-ref %outputs "out")
- "', 'share'"))))))))
+ "', 'share'")))
+ #t)))))
(inputs
`(("python2-wxpython" ,python2-wxpython)
("youtube-dl" ,youtube-dl)))
(name "you-get")
(version "0.4.1077")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/soimort/you-get/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/soimort/you-get.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "04vxc91k627qgsqs8dhqajrb6vpj4pw21jlwbha28qakfiz2x11k"))))
+ "1rwkn3wb3r70b8cqj40qdknkg9kqbgzkvi901hbpy2a8s1b7858n"))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
(define-public youtube-viewer
(package
(name "youtube-viewer")
- (version "3.4.1")
+ (version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0axgb95lx81psgrb2a5rfdd8gl4mhsrzf41jas6l58d1xkaj54ri"))))
+ "1s7hv2a46cx2nbdykrijqfh8hdkf3zqn6q8sg3ajnnc5agaspyrg"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
#:module-build-flags '("--gtk")
#:phases
(modify-phases %standard-phases
+ (add-after 'install 'install-desktop
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sharedir (string-append out "/share")))
+ (install-file "share/gtk-youtube-viewer.desktop"
+ (string-append sharedir "/applications"))
+ (install-file "share/icons/gtk-youtube-viewer.png"
+ (string-append sharedir "/pixmaps"))
+ #t)))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(add-before 'patch-source-shebangs 'unpack-ffmpeg
(lambda _
(with-directory-excursion "avidemux_core/ffmpeg_package"
- (system* "tar" "xf" "ffmpeg-2.7.6.tar.bz2")
- (delete-file "ffmpeg-2.7.6.tar.bz2"))))
+ (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"))))
- (system* "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"))))
+ (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"))))
+ (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
- (zero?
- (and
- (apply system* "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)
- (system* "make" "-j"
+ (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)))
- (system* "make" "install"))))))))
+ (invoke "make" "install"))))))
(mkdir out)
- (and (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")))
+ (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")))))
+ (string-append out "/share/ADM6_addons"))
+ #t)))
(delete 'install))))
(home-page "http://fixounet.free.fr/avidemux/")
(synopsis "Video editor")
(name "vapoursynth")
(version "37")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/vapoursynth/vapoursynth/archive/R"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vapoursynth/vapoursynth.git")
+ (commit (string-append "R" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1g3hc079jw4mz1cmkv2y28pdb556wqc8ql7iravgh1rg8j3f1zi5"))))
+ "1ma2s7dxk6y6l04qj1jvgwia4xj7999ny3a1yx2vbk5l83giam2p"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(lambda _
(chdir "build/generic")
(substitute* "configure"
- (("#! /bin/sh") (string-append "#!" (which "sh")))))))
+ (("#! /bin/sh") (string-append "#!" (which "sh"))))
+ #t)))
;; No 'check' target.
#:tests? #f))
(home-page "https://www.xvid.com/")
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8"))))
+ "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8"))
+ (patches (search-patches "streamlink-update-test.patch"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
("python-websocket-client" ,python-websocket-client)
("python-iso3166" ,python-iso3166)
("python-iso639" ,python-iso639)
- ("python-isodate", python-isodate)
+ ("python-isodate" ,python-isodate)
("python-pycryptodome" ,python-pycryptodome)
("python-requests" ,python-requests)
("python-urllib3" ,python-urllib3)))
(lambda* (#:key outputs #:allow-other-keys)
(install-file "plugins/rofi-twitchy"
(string-append (assoc-ref outputs "out")
- "/bin")))))))
+ "/bin"))
+ #t)))))
(inputs
`(("python-requests" ,python-requests)
("streamlink" ,streamlink)))
(name "mlt")
(version "6.10.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mltframework/mlt/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mltframework/mlt.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1zzdj1g3g24q6v8hd0v34lv0pkh37a13fhjpl44h1ffi00mz3577"))
+ "0ki86yslr5ywa6sz8pjrgd9a4rn2rr4mss2zkmqi7pq8prgsm1fr"))
(modules '((guix build utils)))
(snippet '(begin
;; As of glibc 2.26, <xlocale.h> no longer is.
(define-public obs
(package
(name "obs")
- (version "20.1.3")
+ (version "22.0.3")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/jp9000/obs-studio"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/obsproject/obs-studio.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1g5z6z050v25whc7n3xvg6l238wmg5crp7ihvk73qngvzxr8bg28"))))
+ "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests
(version "0.3.11")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/MaartenBaert/ssr/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MaartenBaert/ssr.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal"))))
+ "0n702dnv4qshgn3b90ixvplfafjhgz6040yir5vy8khjdpciysq4"))))
(build-system cmake-build-system)
;; Although libx11, libxfixes, libxext are listed as build dependencies in
;; README.md, the program builds and functions properly without them.
(version "0.2.8")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/mps-youtube/mps-youtube/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mps-youtube/mps-youtube.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0x7cmfh199q9j396v7bz81nnvanfllhsg86489i5dw2p3yyc9wnm"))))
+ "1w1jhw9rg3dx7vp97cwrk5fymipkcy2wrbl1jaa38ivcjhqg596y"))))
(build-system python-build-system)
(arguments
;; Tests need to be disabled until #556 upstream is fixed. It reads as if the
(define-public handbrake
(package
(name "handbrake")
- (version "0.10.5")
+ (version "1.1.2")
(source (origin
(method url-fetch)
- (uri (string-append "https://handbrake.fr/rotation.php?file="
- "HandBrake-" version ".tar.bz2"))
- (file-name (string-append "handbrake-" version ".tar.bz2"))
+ (uri (string-append "https://download.handbrake.fr/releases/"
+ version "/HandBrake-" version "-source.tar.bz2"))
(sha256
(base32
- "1w720y3bplkz187wgvy4a4xm0vpppg45mlni55l6yi8v2bfk14pv"))
- (patches (search-patches "handbrake-pkg-config-path.patch"))
+ "0bny0hwlr55g2c69rsamv0xvwmfh1s4a582b9vq20xv5ly84m6ms"))
(modules '((guix build utils)))
(snippet
- ;; Remove bundled libraries and source not necessary for
- ;; running under a GNU environment.
+ ;; Remove "contrib" and source not necessary for
+ ;; building/running under a GNU environment.
'(begin
- (for-each delete-file-recursively '("contrib" "macosx" "win"))
+ (for-each delete-file-recursively
+ '("contrib" "macosx" "win"))
+ (substitute* "make/include/main.defs"
+ ;; Disable unconditional inclusion of "contrib" libraries
+ ;; (ffmpeg, libvpx, libdvdread, libdvdnav, and libbluray),
+ ;; which would lead to fetching and building of these
+ ;; libraries. Use our own instead.
+ (("MODULES \\+= contrib") "# MODULES += contrib"))
#t))))
(build-system glib-or-gtk-build-system)
(native-inputs
(inputs
`(("bzip2" ,bzip2)
("dbus-glib" ,dbus-glib)
- ("ffmpeg" ,ffmpeg-3.4) ;compilation errors with ffmpeg-4
+ ("ffmpeg" ,ffmpeg)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("gtk+" ,gtk+)
+ ("jansson" ,jansson)
("lame" ,lame)
("libass" ,libass)
("libbluray" ,libbluray)
("libmpeg2" ,libmpeg2)
("libnotify" ,libnotify)
("libogg" ,libogg)
+ ("libopus" ,opus)
("libsamplerate" ,libsamplerate)
("libtheora" ,libtheora)
("libvorbis" ,libvorbis)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ;tests require Ruby and claim to be unsupported
+ #:configure-flags
+ (list (string-append "CPPFLAGS=-I"
+ (assoc-ref %build-inputs "libxml2")
+ "/include/libxml2")
+ "LDFLAGS=-lx265")
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
(substitute* "gtk/module.rules"
((".*autogen\\.sh.*") ""))
(invoke "sh" "./gtk/autogen.sh")))
- (add-before 'configure 'disable-contrib
- (lambda _
- (substitute* "make/include/main.defs"
- ;; Disable unconditional inclusion of some "contrib"
- ;; libraries (ffmpeg, libvpx, libdvdread, libdvdnav,
- ;; and libbluray), which would lead to fetching and
- ;; building of these libraries. Use our own instead.
- (("MODULES \\+= contrib") "# MODULES += contrib"))
- #t))
- (add-before 'configure 'fix-x265-linking
- (lambda _
- (substitute* "test/module.defs"
- ;; Fix missing library during linking error
- (("TEST.GCC.l =") "TEST.GCC.l = x265"))
- #t))
(replace 'configure
(lambda* (#:key outputs configure-flags #:allow-other-keys)
;; 'configure' is not an autoconf-generated script, and
(description
"HandBrake is a tool for converting video from any format to a selection
of modern, widely supported codecs.")
- ;; Most under GPL version 2 or later, and portions under BSD 3 Clause
- (license (list license:gpl2+ license:bsd-3))))
+ ;; Some under GPLv2+, some under LGPLv2.1+, and portions under BSD3.
+ ;; Combination under GPLv2. See LICENSE.
+ (license license:gpl2)))
(define-public openh264
(package
(version "2.23")
(home-page "https://github.com/FFMS/ffms2")
(source (origin
- (method url-fetch)
- (uri (string-append home-page "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FFMS/ffms2.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1vbkab8vrplxz5xgag8ggzkwp4f7nf285pd0l2a7zy66n6i2m6xh"))))
+ "0dkz5b3gxq5p4xz0qqg6l2sigszrlsinz3skyf0ln4wf3zrvf8m5"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(sha256
(base32
"11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5"))
- (patches (search-patches "aegisub-icu59-include-unistr.patch"))))
+ (patches (search-patches "aegisub-icu59-include-unistr.patch"
+ "aegisub-boost68.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(version "1.12.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/pitivi/gst-transcoder/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pitivi/gst-transcoder.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9"))))
+ "0nw1zykqc6c8xs3ri55pm00pwyz93z4y4nd880apfiwj7yv5p3az"))))
(build-system meson-build-system)
(inputs
`(("gobject-introspection" ,gobject-introspection)
(native-inputs
`(("autoconf" ,autoconf-wrapper)
("automake" ,automake)
+ ("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("libjpeg" ,libjpeg)
(name "l-smash")
(version "2.14.5")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/" name "/" name "/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/l-smash/l-smash.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0dary0h65kq6sv93iabv25djlvzr5ckdcp3ywagbix44wqfw7xz6"))))
+ "0rcq9727im6kd8da8b7kzzbzxdldvmh5nsljj9pvr4m3lj484b02"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no tests
(name "vidstab")
(version "1.1.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/georgmartius/vid.stab/"
- "archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/georgmartius/vid.stab.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1fy03n343djfdi19msac81833v5iivpv635yjzrx9nkfwm9s1lhl"))))
+ "0a3frpm2kdbx7vszhg64p3alisag73bcspl7fp3a2f1kgq7rbh38"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; tests are not run as part of standard build process
prone to erratic camera shakes. Vidstab targets these video contents to help
create smoother and stable videos.")
(license license:gpl2+)))
+
+(define-public libopenshot
+ (package
+ (name "libopenshot")
+ (version "0.2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenShot/libopenshot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1x4kv05pdq1pglb6y056aa7llc6iyibyhzg93k7zwj0q08cp5ixd"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Allow overriding of the python installation dir
+ (substitute* "src/bindings/python/CMakeLists.txt"
+ (("(SET\\(PYTHON_MODULE_PATH.*)\\)" _ set)
+ (string-append set " CACHE PATH "
+ "\"Python bindings directory\")")))
+ #t))
+ (patches (search-patches "libopenshot-tests-with-system-libs.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python)
+ ("swig" ,swig)
+ ("unittest++" ,unittest-cpp)))
+ (propagated-inputs ;all referenced in installed headers
+ `(("cppzmq" ,cppzmq)
+ ("ffmpeg" ,ffmpeg)
+ ("imagemagick" ,imagemagick)
+ ("jsoncpp" ,jsoncpp)
+ ("libopenshot-audio" ,libopenshot-audio)
+ ("qt" ,qt) ;widgets, core, gui, multimedia, and multimediawidgets
+ ("zeromq" ,zeromq)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DPYTHON_MODULE_PATH:PATH=" %output "/lib/python"
+ ,(version-major+minor (package-version python))
+ "/site-packages")
+ "-DUSE_SYSTEM_JSONCPP:BOOL=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'set-vars
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "LIBOPENSHOT_AUDIO_DIR"
+ (assoc-ref inputs "libopenshot-audio"))
+ (setenv "ZMQDIR"
+ (assoc-ref inputs "zeromq"))
+ (setenv "UNITTEST_DIR"
+ (string-append (assoc-ref inputs "unittest++")
+ "/include/UnitTest++"))
+ #t)))))
+ (home-page "https://openshot.org")
+ (synopsis "Video-editing, animation, and playback library")
+ (description "OpenShot Library (libopenshot) is a powerful C++ video
+editing library with a multi-threaded and feature rich video editing
+API. It includes bindings for Python, Ruby, and other languages.")
+ (license license:lgpl3+)))
+
+(define-public openshot
+ (package
+ (name "openshot")
+ (version "2.4.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenShot/openshot-qt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qdw1mli4y9qhrnllnkaf6ydgw5vfvdb90chs4i679k0x0jyb9a2"))))
+ (build-system python-build-system)
+ (inputs
+ `(("ffmpeg" ,ffmpeg)
+ ("libopenshot" ,libopenshot)
+ ("python" ,python)
+ ("python-pyqt" ,python-pyqt)
+ ("python-pyzmq" ,python-pyzmq)
+ ("python-requests" ,python-requests)
+ ("qtsvg" ,qtsvg)))
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ (delete 'build) ;install phase does all the work
+ (add-before 'install 'set-tmp-home
+ (lambda _
+ ;; src/classes/info.py "needs" to create several
+ ;; directories in $HOME when loaded during build
+ (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/")))))))))
+ (home-page "https://openshot.org")
+ (synopsis "Video editor")
+ (description "OpenShot takes your videos, photos, and music files and
+helps you create the film you have always dreamed of. Easily add sub-titles,
+transitions, and effects and then export your film to many common formats.")
+ (license license:gpl3+)))
+
+(define-public dav1d
+ (package
+ (name "dav1d")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.videolan.org/pub/videolan/"
+ "dav1d/" version "/dav1d-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0dw0liday8cbyrirhm6bgzhxg4cdy66nspfkdlq338gdsfqcvrsc"))))
+ (build-system meson-build-system)
+ (native-inputs `(("nasm" ,nasm)))
+ (home-page "https://code.videolan.org/videolan/dav1d")
+ (synopsis "AV1 decoder")
+ (description "dav1d is a new AV1 cross-platform decoder, and focused on
+speed and correctness.")
+ (license license:bsd-2)))
+
+(define-public wlstream
+ (let ((commit "182076a94562b128c3a97ecc53cc68905ea86838")
+ (revision "1"))
+ (package
+ (name "wlstream")
+ (version (git-version "0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atomnuker/wlstream.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
+ (build-system meson-build-system)
+ (native-inputs `(("libdrm" ,libdrm)
+ ("pkg-config" ,pkg-config)))
+ (inputs `(("ffmpeg" ,ffmpeg)
+ ("pulseaudio" ,pulseaudio)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (home-page "https://github.com/atomnuker/wlstream")
+ (synopsis "Screen capture tool for Wayland sessions")
+ (description "Wlstream is a screen capture tool for recording audio and
+video from a Wayland session.")
+ (license license:lgpl2.1+))))