summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-07-22 12:10:23 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-22 12:41:10 +0900
commit4b6110a6c3ebf0b60b56d6021d15593be18a8d04 (patch)
tree5e58e7e297e0b77d2ff5fee3b89c324af8affbae
parent729674f8d25fd99178de898c04a996f8554d50bf (diff)
gnu: Add gpac.
* gnu/packages/video.scm (gpac): New variable. Change-Id: Ifdbcc0ba7a8c0cefdee76ce97d55ec8d92c98505
-rw-r--r--gnu/packages/video.scm76
1 files changed, 75 insertions, 1 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1891885e40..523e89ee2d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -50,7 +50,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com>
-;;; Copyright © 2021-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
@@ -182,6 +182,7 @@
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
+ #:use-module (gnu packages openkinect)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
@@ -2396,6 +2397,79 @@ or peak normalization to a certain target level. Batch processing of several
input files is possible, including video files.")
(license license:expat)))
+(define-public gpac
+ (let ((commit "68875fcff08d7422bbf10cb0327403189589d9b6")
+ (revision "0"))
+ (package
+ (name "gpac")
+ ;; Use a git snapshot of the master branch, as it fixes build issues
+ ;; when using a recent ffmpeg release.
+ (version (git-version "2.4.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gpac/gpac")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rnbpcgnw31hadanwvmy0nr7prr4kypw0bmch75j6gvndy63bpgi"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list (string-append "--cc=" #$(cc-for-target))
+ (string-append "--cxx=" #$(cxx-for-target))
+ ;; Help the configure script correctly detect the
+ ;; availability of freetype (see:
+ ;; <https://github.com/gpac/gpac/issues/3307>).
+ (format #f "--extra-cflags=-I~a"
+ (search-input-directory %build-inputs
+ "include/freetype2"))
+ ;; The gpac modules do not have a rpath to the main
+ ;; library, failing the validate-runpath phase (see:
+ ;; <https://github.com/gpac/gpac/issues/3306>).
+ (format #f "--extra-ldflags=-Wl,-rpath=~a/lib"
+ #$output)
+ "--verbose")
+ ;; The test suite is a git submodule that must synchronize its data
+ ;; from the network.
+ #:tests? #f))
+ (inputs
+ (list alsa-lib
+ curl
+ faad2
+ ffmpeg
+ freetype
+ glu
+ jack-2
+ liba52
+ libcaca
+ ;; The build currently fails with libcaption 0.7 (see:
+ ;; <https://github.com/gpac/gpac/issues/3305>).
+ ;;libcaption
+ libfreenect
+ libjpeg-turbo
+ libmad
+ libpng
+ libtheora
+ libvorbis
+ libx11
+ libxv
+ mesa
+ openssl
+ pulseaudio
+ sdl2
+ xvid
+ zlib))
+ (home-page "https://gpac.io/")
+ (synopsis "Video streaming and multimedia transcoding toolkit")
+ (description "GPAC is a multimedia framework focused on modularity and
+standards compliance. GPAC provides tools to process, inspect, package,
+stream, playback and interact with media content. Such content can be any
+combination of audio, video, subtitles, metadata, scalable graphics, encrypted
+media, 2D/3D graphics and ECMAScript.")
+ (license license:lgpl2.1+))))
+
(define-public vlc
(package
(name "vlc")