From c76d0201f7cc639f51dbf259779d86dad62417cd Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Wed, 25 Nov 2020 14:18:56 -0300 Subject: [PATCH] gnu: Add gnash. * gnu/packages/animation.scm (gnash): New variable. * gnu/packages/patches/gnash-fix-giflib-version: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Christopher Baines --- gnu/local.mk | 2 + gnu/packages/animation.scm | 97 ++++++++++++++++++- .../patches/gnash-fix-giflib-version.patch | 17 ++++ 3 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gnash-fix-giflib-version.patch diff --git a/gnu/local.mk b/gnu/local.mk index fe94bcfc2e..773234980d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -38,6 +38,7 @@ # Copyright © 2020 Tanguy Le Carrour # Copyright © 2020 Martin Becze # Copyright © 2020 Malte Frank Gerdes +# Copyright © 2020 Vinicius Monego # # This file is part of GNU Guix. # @@ -1090,6 +1091,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-supported-locales.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ %D%/packages/patches/gmp-faulty-test.patch \ + %D%/packages/patches/gnash-fix-giflib-version.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-shell-disable-test.patch \ %D%/packages/patches/gnome-settings-daemon-gc.patch \ diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 3176a1237a..6bfe8f0a12 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Pkill -9 +;;; Copyright © 2020 Vinicius Monego ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,19 +28,30 @@ (define-module (gnu packages animation) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) + #:use-module (gnu packages dejagnu) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages graphics) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages jemalloc) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) #:use-module (gnu packages qt) - #:use-module (gnu packages video)) + #:use-module (gnu packages sdl) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages xiph)) ;; ETL, synfig, and Synfig Studio are updated in tandem. (define synfig-version "1.2.2") @@ -192,6 +204,89 @@ (define-public synfigstudio contains the graphical user interface for synfig.") (license license:gpl3+))) +;; This package provides a standalone (no browser plugin) version of Gnash. +(define-public gnash + ;; The last tagged release of Gnash was in 2013. + (let ((commit "583ccbc1275c7701dc4843ec12142ff86bb305b4") + (revision "0")) + (package + (name "gnash") + (version (git-version "0.8.11" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnash.git/") + (commit commit))) + (file-name (git-file-name name version)) + (patches (search-patches "gnash-fix-giflib-version.patch")) + (sha256 + (base32 "0fh0bljn0i6ypyh6l99afi855p7ki7lm869nq1qj6k8hrrwhmfry")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-static" + ;; Plugins are based on XULRunner and NPAPI only. Disable. + "--disable-plugins" + "--enable-gui=gtk" + "--enable-media=ffmpeg" + (string-append "--with-boost-incl=" + (assoc-ref %build-inputs "boost") "/include") + (string-append "--with-boost-lib=" + (assoc-ref %build-inputs "boost") "/lib") + (string-append "--with-ffmpeg-incl=" + (assoc-ref %build-inputs "ffmpeg") + "/include/libavcodec") + (string-append "--with-speex-incl=" + (assoc-ref %build-inputs "speex") "/include") + (string-append "--with-jemalloc-incl=" + (assoc-ref %build-inputs "jemalloc") + "/include/jemalloc") + (string-append "--with-speex-lib=" + (assoc-ref %build-inputs "speex") "/lib") + (string-append "--with-jpeg-incl=" + (assoc-ref %build-inputs "libjpeg") "/include") + (string-append "--with-zlib-incl=" + (assoc-ref %build-inputs "zlib") "/include") + (string-append "--with-png-incl=" + (assoc-ref %build-inputs "libpng") + "/include")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("dejagnu" ,dejagnu) ;for tests + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (inputs + `(("agg" ,agg) + ("atk" ,atk) + ("boost" ,boost) + ("curl" ,curl) + ("ffmpeg" ,ffmpeg-2.8) + ("freeglut" ,freeglut) + ("gconf" ,gconf) + ("giflib" ,giflib) + ("glib" ,glib) + ("gtk+" ,gtk+-2) + ("gtkglext" ,gtkglext) + ("jemalloc" ,jemalloc) + ("libjpeg" ,libjpeg-turbo) + ("libltdl" ,libltdl) + ("libpng" ,libpng) + ("pangox-compat" ,pangox-compat) + ("sdl" ,sdl) + ("speex" ,speex))) + (synopsis "Flash movie player") + (description + "Gnash is a Flash movie player. It supports SWF version v7 and some +of v8 and v9. It is possible to configure Gnash to use several different +audio or video backends, ensuring good performance.") + (home-page "https://www.gnu.org/software/gnash/") + (license license:gpl3+)))) + (define-public papagayo (let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7") (revision "1")) diff --git a/gnu/packages/patches/gnash-fix-giflib-version.patch b/gnu/packages/patches/gnash-fix-giflib-version.patch new file mode 100644 index 0000000000..44816d2a14 --- /dev/null +++ b/gnu/packages/patches/gnash-fix-giflib-version.patch @@ -0,0 +1,17 @@ +Description: Change GIFLIB_MINOR to allow matching with v5.2+ +Source: https://savannah.gnu.org/patch/index.php?9873 +Author: marius851000 + +diff --git a/libbase/GnashImageGif.cpp b/libbase/GnashImageGif.cpp +index 2ae5ddb..b87b1e7 100644 +--- a/libbase/GnashImageGif.cpp ++++ b/libbase/GnashImageGif.cpp +@@ -120,7 +120,7 @@ GifInput::GifInput(std::shared_ptr in) + GifInput::~GifInput() + { + // Clean up allocated data. +-#if GIFLIB_MAJOR==5 && GIFLIB_MINOR==1 ++#if GIFLIB_MAJOR==5 && GIFLIB_MINOR!=0 + DGifCloseFile(_gif, 0); + #else + DGifCloseFile(_gif);