Package: guix-patches;
Reported by: Vinicius Monego <monego <at> posteo.net>
Date: Fri, 20 Nov 2020 20:07:02 UTC
Severity: normal
Tags: moreinfo, patch
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: guix-patches <at> gnu.org Cc: Vinicius Monego <monego <at> posteo.net> Subject: [PATCH 1/2] gnu: Add gnash. Date: Fri, 20 Nov 2020 17:05:51 -0300
* gnu/packages/animation.scm (gnash): New variable. * gnu/packages/patches/gnash-do-not-depend-on-pangox: New file. * gnu/packages/patches/gnash-fix-giflib-version: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- Patch sources: https://savannah.gnu.org/patch/download.php?file_id=48366 https://savannah.gnu.org/patch/download.php?file_id=47859 gnu/local.mk | 3 + gnu/packages/animation.scm | 94 ++++++++++++++++++- .../gnash-do-not-depend-on-pangox.patch | 35 +++++++ .../patches/gnash-fix-giflib-version.patch | 13 +++ 4 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gnash-do-not-depend-on-pangox.patch create mode 100644 gnu/packages/patches/gnash-fix-giflib-version.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3a8f1e30fc..94ff78a3d4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -38,6 +38,7 @@ # Copyright © 2020 Tanguy Le Carrour <tanguy <at> bioneland.org> # Copyright © 2020 Martin Becze <mjbecze <at> riseup.net> # Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes <at> gmail.com> +# Copyright © 2020 Vinicius Monego <monego <at> posteo.net> # # This file is part of GNU Guix. # @@ -1083,6 +1084,8 @@ 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-do-not-depend-on-pangox.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..3df3ce3eba 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2019 Pkill -9 <pkill9 <at> runbox.com> +;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,19 +28,27 @@ #: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 perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages qt) - #:use-module (gnu packages video)) + #:use-module (gnu packages sdl) + #: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") @@ -301,3 +310,86 @@ waveform until they line up with the proper sounds.") lets you create traditional hand-drawn animations (cartoons) using both bitmap and vector graphics.") (license license:gpl2))) + +;; This package provides a standalone (no browser plugin) version of Gnash. +(define-public gnash + ;; The last tagged release of Gnash was in 2012. + (let ((commit "583ccbc1275c7701dc4843ec12142ff86bb305b4") + (revision "0")) + (package + (name "gnash") + (version (git-version "0.8.11" ;upstream has no version number + 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-do-not-depend-on-pangox.patch" + "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" + "--disable-jemalloc" ;FIXME: not found by pkg-config + "--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-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))) + (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) + ("pango" ,pango) + ("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 differemt +audio or video backends, ensuring good performance.") + (home-page "https://www.gnu.org/software/gnash/") + (license license:gpl3+)))) + diff --git a/gnu/packages/patches/gnash-do-not-depend-on-pangox.patch b/gnu/packages/patches/gnash-do-not-depend-on-pangox.patch new file mode 100644 index 0000000000..489baa089c --- /dev/null +++ b/gnu/packages/patches/gnash-do-not-depend-on-pangox.patch @@ -0,0 +1,35 @@ +From c63b5843ca1bb56bb825ba0521c3df81861f88c4 Mon Sep 17 00:00:00 2001 +From: Jan Tojnar <jtojnar <at> gmail.com> +Date: Thu, 6 Feb 2020 23:59:49 +0100 +Subject: [PATCH] Do not depend on pangox + +pangox has been removed from Pango years ago breaking the build +on modern distros. + +Gnash does not actually use pango directly at all. It looks like +it was added for static linking against GTK when not using pkg-config +but it was not updated or limited to non-pkg-config GTK builds +(pkg-config would provide the necessary transitive dependencies automatically). + +The proper solution would be removing all the pango checks and relying +on pkg-config but as a quick hack this should suffice. +--- + macros/pango.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/macros/pango.m4 b/macros/pango.m4 +index 96f0457e2..6f24eb2a2 100644 +--- a/macros/pango.m4 ++++ b/macros/pango.m4 +@@ -34,7 +34,7 @@ AC_DEFUN([GNASH_PATH_PANGO], + if test x$windows = xyes; then + pango_pkg=pangowin32 + else +- pango_pkg=pangox ++ pango_pkg=pango + fi + + if test x$cross_compiling = xno; then +-- +2.25.0 + 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..37213dac9b --- /dev/null +++ b/gnu/packages/patches/gnash-fix-giflib-version.patch @@ -0,0 +1,13 @@ +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); -- 2.20.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.