;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages video)
#:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#: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 pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages yasm)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages zip))
(define-public aalib
(version "1.4rc5")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/aa-project/"
- name "-" version ".tar.gz"))
+ (uri (string-append "mirror://sourceforge/aa-project/aa-lib/"
+ version "/" name "-" version ".tar.gz"))
(sha256
(base32
"1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv"))))
(sha256
(base32
"0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2"))
- (patches (map search-patch '("liba52-enable-pic.patch"
- "liba52-set-soname.patch"
- "liba52-use-mtune-not-mcpu.patch"
- "liba52-link-with-libm.patch")))))
+ (patches (search-patches "liba52-enable-pic.patch"
+ "liba52-set-soname.patch"
+ "liba52-use-mtune-not-mcpu.patch"
+ "liba52-link-with-libm.patch"))))
(build-system gnu-build-system)
;; XXX We need to run ./bootstrap because of the build system fixes above.
(native-inputs
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/libdv/libdv-" version ".tar.gz"))
+ "mirror://sourceforge/" name "/" name "/"
+ version "/" name "-" version ".tar.gz"))
(sha256
(base32
"1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"))))
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "3.0")
+ (version "3.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "0w74b165l4ry4y72f4xmgd357pvbc7yr61y313v3ai6787p2rwqj"))))
+ "1nris3flwqd4v4b65yrrv9aqhsab7cb9lfp4wpxz6bi0m3r13g3i"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
(format #t "setting LD_LIBRARY_PATH to ~s~%" path)
(setenv "LD_LIBRARY_PATH" path)
#t))))))
- (home-page "http://www.ffmpeg.org/")
+ (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+)))
+(define-public ffmpeg-2.8
+ (package
+ (inherit ffmpeg)
+ (version "2.8.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0z0mcj2q3ysp9qdn1ks03g5sn2zxyr06vxs4al0m4b5b3in8mglp"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ffmpeg)
+ ((#:configure-flags flags)
+ `(map (lambda (flag)
+ (if (string=? flag "--disable-mipsdsp")
+ "--disable-mipsdspr1"
+ flag))
+ ,flags))))))
+
(define-public vlc
(package
(name "vlc")
- (version "2.2.1")
+ (version "2.2.4")
(source (origin
(method url-fetch)
(uri (string-append
- "http://download.videolan.org/pub/videolan/vlc/"
+ "https://download.videolan.org/pub/videolan/vlc/"
version "/vlc-" version ".tar.xz"))
(sha256
(base32
- "1jqzrzrpw6932lbkf863xk8cfmn4z2ngbxz7w8ggmh4f6xz9sgal"))))
+ "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; There are two occurrences where __DATE__ and __TIME__ are
+ ;; used to capture the build time and show it to the user.
+ '(substitute* (find-files "." "help\\.c(pp)?$")
+ (("__DATE__") "\"2016\"")
+ (("__TIME__") "\"00:00\"")))))
(build-system gnu-build-system)
(native-inputs
`(("git" ,git) ; needed for a test
("avahi" ,avahi)
("dbus" ,dbus)
("flac" ,flac)
- ("ffmpeg" ,ffmpeg)
+ ("ffmpeg" ,ffmpeg-2.8) ;fails to build against ffmpeg 3.0
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("gnutls" ,gnutls)
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
+ ;("qtx11extras" ,qtx11extras)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("speex" ,speex)
`("--disable-a52" ; FIXME: reenable once available
,(string-append "LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ffmpeg")
- "/lib")))) ; needed for the tests
+ "/lib")) ;needed for the tests
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'remove-visual-tests
+ ;; Some of the tests require using the display to test out VLC,
+ ;; which fails in our sandboxed build system
+ (lambda _
+ (substitute* "test/run_vlc.sh"
+ (("./vlc --ignore-config") "echo"))
+ #t))
+ (add-after 'install 'regenerate-plugin-cache
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The 'install-exec-hook' rule in the top-level Makefile.am
+ ;; generates 'lib/vlc/plugins/plugins.dat', a plugin cache, using
+ ;; 'vlc-cache-gen'. This file includes the mtime of the plugins
+ ;; it references. Thus, we first reset the timestamps of all
+ ;; these files, and then regenerate the cache such that the
+ ;; mtimes it includes are always zero instead of being dependent
+ ;; on the build time.
+ (let* ((out (assoc-ref outputs "out"))
+ (pkglibdir (string-append out "/lib/vlc"))
+ (plugindir (string-append pkglibdir "/plugins"))
+ (cachegen (string-append pkglibdir "/vlc-cache-gen")))
+ ;; TODO: Factorize 'reset-timestamps'.
+ (for-each (lambda (file)
+ (let ((s (lstat file)))
+ (unless (eq? (stat:type s) 'symlink)
+ (utime file 0 0 0 0))))
+ (find-files plugindir))
+ (zero? (system* cachegen plugindir))))))))
(home-page "https://www.videolan.org/")
(synopsis "Audio and video framework")
(description "VLC is a cross-platform multimedia player and framework
(define-public mpv
(package
(name "mpv")
- (version "0.16.0")
+ (version "0.18.0")
(source (origin
(method url-fetch)
(uri (string-append
".tar.gz"))
(sha256
(base32
- "1fiqxx85s418qynq2fp0v7cpzrz8j285hwmc4fqgn5ny1vg1jdpw"))
+ "0az0zqb2rakak51zsvfqzj9a8jiqpvc61jxap8hjdkkb9y6n6mmn"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system waf-build-system)
(native-inputs
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "waf") "waf")
(setenv "CC" "gcc"))))
- #:configure-flags (list "--enable-gpl3" "--enable-zsh-comp")
+ #:configure-flags (list "--enable-libmpv-shared" "--enable-zsh-comp")
;; No check function defined.
#:tests? #f))
(home-page "https://mpv.io/")
projects while introducing many more.")
(license license:gpl2+)))
+(define-public gnome-mpv
+ (package
+ (name "gnome-mpv")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases"
+ "/download/v" version "/gnome-mpv-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0"))))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("libepoxy" ,libepoxy)
+ ("mpv" ,mpv)))
+ (build-system glib-or-gtk-build-system)
+ (home-page "https://github.com/gnome-mpv/gnome-mpv")
+ (synopsis "GTK+ frontend for the mpv media player")
+ (description "GNOME MPV is a simple GTK+ frontend for the mpv media player.
+GNOME MPV interacts with mpv via the client API exported by libmpv, allowing
+access to mpv's powerful playback capabilities.")
+ (license license:gpl3+)))
+
(define-public libvpx
(package
(name "libvpx")
name "-" version ".tar.bz2"))
(sha256
(base32
- "15v7qw0ydyxn08ksb6lxn1l51pxgpwgshdwd3275yrr5hs86fv9h"))))
+ "15v7qw0ydyxn08ksb6lxn1l51pxgpwgshdwd3275yrr5hs86fv9h"))
+ (patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2016.03.01")
+ (version "2016.06.14")
(source (origin
(method url-fetch)
- (uri (string-append "http://youtube-dl.org/downloads/"
+ (uri (string-append "https://youtube-dl.org/downloads/"
version "/youtube-dl-"
version ".tar.gz"))
(sha256
(base32
- "0w2dy54rnsi8fbzpnf07lpn3zzv5lhdfscanld4ai0rrrzmrl3zw"))))
+ "0fmvpqipc1xwagvk7ih4slmv1xz1rb6s8wpndhypwvrq4pnnm9ns"))))
(build-system python-build-system)
- (native-inputs `(("python-setuptools" ,python-setuptools)))
- (home-page "http://youtube-dl.org")
+ (home-page "https://youtube-dl.org")
(arguments
;; The problem here is that the directory for the man page and completion
;; files is relative, and for some reason, setup.py uses the
(define-public libbluray
(package
(name "libbluray")
- (version "0.9.2")
+ (version "0.9.3")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.videolan.org/videolan/"
+ (uri (string-append "https://download.videolan.org/videolan/"
name "/" version "/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "1sp71j4agcsg17g6b85cqz78pn5vknl5pl39rvr6mkib5ps99jgg"))))
+ "1q1whviqv5sr9nr372h31zwid1rvbfbx3z4lzr8lnj25xha6cdm6"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-bdjava")))
(native-inputs `(("pkg-config" ,pkg-config)))
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libxml2" ,libxml2)))
- (home-page "http://www.videolan.org/developers/libbluray.html")
+ (home-page "https://www.videolan.org/developers/libbluray.html")
(synopsis "Blu-Ray Disc playback library")
(description
"libbluray is a library designed for Blu-Ray Disc playback for media
(define-public avidemux
(package
(name "avidemux")
- (version "2.6.10")
+ (version "2.6.12")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/avidemux/avidemux_"
- version ".tar.gz"))
+ "mirror://sourceforge/" name "/" name "/" version "/"
+ name "_" version ".tar.gz"))
(sha256
(base32
- "1vas43bwb15q2wv3dpp7fgp8dc6szinmwl7i0ziq2vv5l2128v0p"))
- (patches (map search-patch '("avidemux-install-to-lib.patch")))))
+ "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn"))
+ (patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
("glu" ,glu)
("jack" ,jack-1)
("lame" ,lame)
+ ("libva" ,libva)
+ ("libvdpau" ,libvdpau)
("libvorbis" ,libvorbis)
("libvpx" ,libvpx)
("libxv" ,libxv)
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
+ ("qttools" ,qttools)
("sdl" ,sdl)
("sqlite" ,sqlite)
("yasm" ,yasm)
#:phases
;; Make sure files inside the included ffmpeg tarball are
;; patch-shebanged.
- (alist-cons-before
- 'patch-source-shebangs 'unpack-ffmpeg
- (lambda _
- (with-directory-excursion "avidemux_core/ffmpeg_package"
- (system* "tar" "xf" "ffmpeg-2.6.1.tar.bz2")
- (delete-file "ffmpeg-2.6.1.tar.bz2")))
- (alist-cons-after
- 'patch-source-shebangs 'repack-ffmpeg
+ (modify-phases %standard-phases
+ (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"))))
+ (add-after 'patch-source-shebangs 'repack-ffmpeg
(lambda _
(with-directory-excursion "avidemux_core/ffmpeg_package"
- (substitute* "ffmpeg-2.6.1/configure"
+ (substitute* "ffmpeg-2.7.6/configure"
(("#! /bin/sh") (string-append "#!" (which "bash"))))
- (system* "tar" "cjf" "ffmpeg-2.6.1.tar.bz2" "ffmpeg-2.6.1"
+ (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.6.1")))
- (alist-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")))
- (alist-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
+ (delete-file-recursively "ffmpeg-2.7.6"))))
+ (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"))))
+ (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 "../" srcdir)
"-DENABLE_QT5=True"
args)
- (system* "make" "-j"
- (number->string (parallel-job-count)))
- (system* "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")))
- ;; Remove .exe and .dll file.
- (delete-file-recursively
- (string-append out "/share/ADM6_addons"))))
- (alist-delete 'install
- %standard-phases)))))))
+ (system* "make" "-j"
+ (number->string (parallel-job-count)))
+ (system* "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")))
+ ;; Remove .exe and .dll file.
+ (delete-file-recursively
+ (string-append out "/share/ADM6_addons")))))
+ (delete 'install))))
(home-page "http://fixounet.free.fr/avidemux/")
(synopsis "Video editor")
(description "Avidemux is a video editor designed for simple cutting,
(define-public vapoursynth
(package
(name "vapoursynth")
- (version "28")
+ (version "32")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version))
(sha256
(base32
- "0pnrawcg1j65i46yim0z447lglq1af5zgx0lkqf1x5xl1bfwc0v7"))))
+ "1j08whj946v2kkpgxsfhpca8xf0ax9iqzn73wvwjx319p9j0ymp9"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(inputs
`(("ffmpeg" ,ffmpeg)
("libass" ,libass)
- ("tesseract-ocr" ,tesseract-ocr)))
+ ("tesseract-ocr" ,tesseract-ocr)
+ ("zimg" ,zimg)))
(arguments
'(#:phases
(modify-phases %standard-phases
(define-public mlt
(package
(name "mlt")
- (version "0.9.8")
+ (version "6.2.0")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/mlt/mlt/mlt-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/mltframework/mlt/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0rmrkj7z9g3nr4099f3ff0r14l3ixcfnlx2cdbkqa6pxin0pv9bz"))))
+ "1zwzfgxrcbwkxnkiwv0a1rzxdnnaly90yyarl9wdw84nx11ffbnx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
("jack" ,jack-1)
("ladspa" ,ladspa)
("libsamplerate" ,libsamplerate)
+ ("pulseaudio" ,pulseaudio)
("sdl" ,sdl)
("sox" ,sox)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://www.mltframework.org/")
+ (home-page "https://www.mltframework.org/")
(synopsis "Author, manage, and run multitrack audio/video compositions")
(description
"MLT is a multimedia framework, designed and developed for television
(define-public v4l-utils
(package
(name "v4l-utils")
- (version "1.8.1")
+ (version "1.10.1")
(source (origin
(method url-fetch)
- (uri (string-append "http://linuxtv.org/downloads/v4l-utils"
+ (uri (string-append "https://linuxtv.org/downloads/v4l-utils"
"/v4l-utils-" version ".tar.bz2"))
(sha256
(base32
- "0cqv8drw0z0kfmz4f50a8kzbrz6vbj6j6q78030hgshr7yq1jqig"))))
+ "1h1nhg5cmmzlbipak526nk4bm6d0yb217mll75f3rpg7kz1cqiv1"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
("glu" ,glu)
("libjpeg" ,libjpeg)
("libx11" ,libx11)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
("eudev" ,eudev)))
(synopsis "Realtime video capture utilities for Linux")
(description "The v4l-utils provide a series of libraries and utilities to
(define-public obs
(package
(name "obs")
- (version "0.13.2")
+ (version "0.15.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jp9000/obs-studio"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1awaqlhlzlqqnwqixw54z40hqcnr3fwlclq4vlsy2kvsfyqjfr2b"))))
+ "18fycg7xlj2i89wdb9c5js0bnl964s1lpmnvmfyj11zi9k061wsg"))))
(build-system cmake-build-system)
- (arguments '(#:tests? #f)) ; no tests
+ (arguments
+ `(#:tests? #f ; no tests
+ ,@(if (any (cute string-prefix? <> (or (%current-target-system)
+ (%current-system)))
+ '("arm" "mips"))
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-architecture-specific-instructions
+ ;; non-Intel platforms fail to build with the architecture
+ ;; specific compiler flags included by default.
+ (lambda _
+ (substitute* "libobs/CMakeLists.txt"
+ (("if\\(NOT MSVC\\)") "if(MSVC)"))
+ #t))))
+ '())))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
("libxcomposite" ,libxcomposite)
("mesa" ,mesa)
("pulseaudio" ,pulseaudio)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)
("v4l-utils" ,v4l-utils)
("zlib" ,zlib)))
(synopsis "Live streaming software")
(description "Vdpauinfo is a tool to query the capabilities of a VDPAU
implementation.")
(license (license:x11-style "file://COPYING"))))
+
+(define-public recordmydesktop
+ (package
+ (name "recordmydesktop")
+ (version "0.3.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/" name "/" name "/"
+ version "/recordmydesktop-" version ".tar.gz"))
+ (sha256
+ (base32
+ "133kkl5j0r877d41bzj7kj0vf3xm8x80yyx2n8nqxrva304f58ik"))))
+ (build-system gnu-build-system)
+ (inputs `(("popt" ,popt)
+ ("zlib" ,zlib)
+ ("libx11" ,libx11)
+ ("libice" ,libice)
+ ("libsm" ,libsm)
+ ("libxfixes" ,libxfixes)
+ ("libxdamage" ,libxdamage)
+ ("libxext" ,libxext)
+ ("libvorbis" ,libvorbis)
+ ("libtheora" ,libtheora)))
+ (home-page "http://recordmydesktop.sourceforge.net/")
+ (synopsis "Desktop session video recorder")
+ (description
+ "recordMyDesktop is a command-line tool that captures the activity in
+your graphical desktop and encodes it as a video. This is a useful tool for
+making @dfn{screencasts}.")
+ (license license:gpl2+)))