summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorVinicius Monego <monego@posteo.net>2020-11-25 14:18:56 -0300
committerChristopher Baines <mail@cbaines.net>2020-11-28 15:56:08 +0000
commitc76d0201f7cc639f51dbf259779d86dad62417cd (patch)
tree29c64f4cccb022f282ef942b60a06dddbb7064bf /gnu
parente2b4450d188320783a35086d52c14ac9d47cf7f0 (diff)
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 <mail@cbaines.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/animation.scm97
-rw-r--r--gnu/packages/patches/gnash-fix-giflib-version.patch17
3 files changed, 115 insertions, 1 deletions
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 <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
+# Copyright © 2020 Vinicius Monego <monego@posteo.net>
#
# 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 <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,19 +28,30 @@
#: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 @@ need for tweening, preventing the need to hand-draw each frame. This package
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<IOChannel> 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);