[PATCH 1/2] gnu: Add gnash.

  • Done
  • quality assurance status badge
Details
5 participants
  • Ludovic Courtès
  • Christopher Baines
  • Nicolas Goaziou
  • Vinicius Monego
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Vinicius Monego
Severity
normal
V
V
Vinicius Monego wrote on 20 Nov 2020 21:05
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20201120200551.19145-1-monego@posteo.net
* 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:


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

Toggle diff (211 lines)
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@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.
#
@@ -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@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,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@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
V
V
Vinicius Monego wrote on 20 Nov 2020 21:07
[PATCH 2/2] gnu: Add lightspark.
(address . 44768@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20201120200751.19444-1-monego@posteo.net
* gnu/packages/animation.scm (lightspark): New variable.
---
gnu/packages/animation.scm | 66 ++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (98 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 3df3ce3eba..b43b1a4beb 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -25,9 +25,11 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
@@ -42,11 +44,15 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages networking)
+ #:use-module (gnu packages pcre)
#: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 sdl)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph))
@@ -393,3 +399,63 @@ audio or video backends, ensuring good performance.")
(home-page "https://www.gnu.org/software/gnash/")
(license license:gpl3+))))
+(define-public lightspark
+ (package
+ (name "lightspark")
+ (version "0.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lightspark/lightspark")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rgqqppnv4n3kv623sgr1zpc2fdsnrqzfiqgk4clcmfl5ipklg6f"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;requires Adobe Flex SDK, see README.tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relative-etc-dir
+ ;; Write default config file to ./etc instead of /etc.
+ (lambda _
+ (substitute* "CMakeLists.txt" (("\\/etc") "etc"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (invoke "./tests"))
+ #t))))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("nasm" ,nasm)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("curl" ,curl)
+ ("ffmpeg" ,ffmpeg)
+ ("freeglut" ,freeglut)
+ ("glew" ,glew)
+ ("glibmm" ,glibmm)
+ ("gnash" ,gnash)
+ ("libjpeg" ,libjpeg-turbo)
+ ("openssl" ,openssl)
+ ("pango" ,pango)
+ ("pcre2" ,pcre2)
+ ("rtmpdump" ,rtmpdump)
+ ("sdl2" ,sdl2)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("zlib" ,zlib)))
+ (home-page "https://lightspark.github.io/")
+ (synopsis "Flash player implementation")
+ (description
+ "Lightspark is a Flash player implementation for playing files in the SWF
+format. Lightspark can run as a web browser plugin or as a standalone
+application. Lightspark supports SWF files written on all versions of the
+ActionScript language.")
+ (license license:lgpl3+)))
--
2.20.1
V
V
Vinicius Monego wrote on 25 Nov 2020 00:04
[PATCH v2] gnu: Add gnash.
(address . 44768@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20201124230446.20948-1-monego@posteo.net
* gnu/packages/animation.scm (gnash): New variable.
* gnu/packages/patches/gnash-fix-giflib-version: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
I fixed some problems in the first patch. Resending a v2.

Removed pangox patch, use pangox-compat input instead.
Fixed year in the comment of last version.
Removed a stray comment in version.
Fixed jemalloc path.
Added python-wrapper to native-inputs.

gnu/local.mk | 2 +
gnu/packages/animation.scm | 98 ++++++++++++++++++-
.../patches/gnash-fix-giflib-version.patch | 13 +++
3 files changed, 112 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gnash-fix-giflib-version.patch

Toggle diff (173 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 14b626c600..cddca06b2c 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..245f36df3f 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")
@@ -301,3 +313,87 @@ 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 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 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-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
M
M
Mathieu Othacehe wrote on 25 Nov 2020 14:17
(name . Vinicius Monego)(address . monego@posteo.net)(address . 44768@debbugs.gnu.org)
87y2iplgn2.fsf@gnu.org
Hey Vinicius,

Toggle quote (2 lines)
> +of v8 and v9. It is possible to configure Gnash to use several differemt

Small typo here: "different".
Toggle quote (4 lines)
> + // Clean up allocated data.
> +-#if GIFLIB_MAJOR==5 && GIFLIB_MINOR==1
> ++#if GIFLIB_MAJOR==5 && GIFLIB_MINOR!=0

It would be nice to add a small comment with the patch to explain what
it does and who is the author.

Could you also rebase your "lightspark" patch on top of the gnash v2?

Thanks,

Mathieu
V
V
Vinicius Monego wrote on 25 Nov 2020 18:18
[PATCH v3 1/2] gnu: Add gnash.
(address . 44768@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20201125171857.28120-1-monego@posteo.net
* gnu/packages/animation.scm (gnash): New variable.
* gnu/packages/patches/gnash-fix-giflib-version: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
Corrected typo in the description
Added data about the patch in patch file

gnu/local.mk | 2 +
gnu/packages/animation.scm | 98 ++++++++++++++++++-
.../patches/gnash-fix-giflib-version.patch | 17 ++++
3 files changed, 116 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gnash-fix-giflib-version.patch

Toggle diff (177 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 14b626c600..cddca06b2c 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..102b0f47f7 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")
@@ -301,3 +313,87 @@ 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 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+))))
+
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);
--
2.20.1
V
V
Vinicius Monego wrote on 25 Nov 2020 18:18
[PATCH v3 2/2] gnu: Add lightspark.
(address . 44768@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20201125171857.28120-2-monego@posteo.net
* gnu/packages/animation.scm (lightspark): New variable.
---
Rebased on the previous commit

gnu/packages/animation.scm | 64 ++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)

Toggle diff (91 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 102b0f47f7..9b94c1d214 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -25,9 +25,11 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
@@ -43,6 +45,8 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jemalloc)
+ #:use-module (gnu packages networking)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -397,3 +401,63 @@ audio or video backends, ensuring good performance.")
(home-page "https://www.gnu.org/software/gnash/")
(license license:gpl3+))))
+(define-public lightspark
+ (package
+ (name "lightspark")
+ (version "0.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lightspark/lightspark")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rgqqppnv4n3kv623sgr1zpc2fdsnrqzfiqgk4clcmfl5ipklg6f"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;requires Adobe Flex SDK, see README.tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relative-etc-dir
+ ;; Write default config file to ./etc instead of /etc.
+ (lambda _
+ (substitute* "CMakeLists.txt" (("\\/etc") "etc"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (invoke "./tests"))
+ #t))))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("nasm" ,nasm)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("curl" ,curl)
+ ("ffmpeg" ,ffmpeg)
+ ("freeglut" ,freeglut)
+ ("glew" ,glew)
+ ("glibmm" ,glibmm)
+ ("gnash" ,gnash)
+ ("libjpeg" ,libjpeg-turbo)
+ ("openssl" ,openssl)
+ ("pango" ,pango)
+ ("pcre2" ,pcre2)
+ ("rtmpdump" ,rtmpdump)
+ ("sdl2" ,sdl2)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("zlib" ,zlib)))
+ (home-page "https://lightspark.github.io/")
+ (synopsis "Flash player implementation")
+ (description
+ "Lightspark is a Flash player implementation for playing files in the SWF
+format. Lightspark can run as a web browser plugin or as a standalone
+application. Lightspark supports SWF files written on all versions of the
+ActionScript language.")
+ (license license:lgpl3+)))
--
2.20.1
C
C
Christopher Baines wrote on 28 Nov 2020 17:12
Re: [bug#44768] [PATCH v3 1/2] gnu: Add gnash.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 44768@debbugs.gnu.org)
878saltq8u.fsf@cbaines.net
Vinicius Monego <monego@posteo.net> writes:

Toggle quote (7 lines)
> * gnu/packages/animation.scm (gnash): New variable.
> * gnu/packages/patches/gnash-fix-giflib-version: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> ---
> Corrected typo in the description
> Added data about the patch in patch file

Hi!

I've gone ahead and pushed this patch for gnash to master as
c76d0201f7cc639f51dbf259779d86dad62417cd.

The only thing I changed was moving the package up off the bottom of the
file.

I'll send another email about lightspark.

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl/CduFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XfpoRAAtEijqJ2mDoTRoV+yxotf0fmG9EW45fKX
gnd42k3Z1HPKTRJ8hDID4HJez40BVJ3IMvdO5TiaFRMRYkN5UDAGIUWjxiF+bhNj
tXqVr6aQNPl9Bnsahhbiyou9oYXNHWeyO6WLMm5VVqIjaF+pT3JEiZ0l1T72W+z5
+hGgm//BE5Q+4sd9YxfEydq/6yGepnkWdh/hDxibSWAVKUFg+NxTv+TlKZ8BPhY4
D9WL9Z9j4vqhJsPfgCtBHfIdfvbG6PSti3rDR5PoSusoqpWUP8FOUAThHVTu765G
J3rybgfS7qMtWuTtgGFg9SCQOHAZjcqWr7XGBT3z6fai3rXCjCI8Y2ElECLYTVZt
d69ik6O6T1YCbIP2U0sAhFtXj8XR9rGekAkxkRPq3rBLLCrFaIJJpsOShYml8sXQ
vPzKQnDBX+2jnrO3WOEijobtSPldfIuuggXuS0nzlp2mxAdH5H609FRCIr11MlLK
3J1q7qwjqf3GZ76EbQITHaHSl190ebtdTh4CUSu3JRpa0M8GEt8NRsLfZF20C8SM
V6sM/WbF7PvqQgTmhG5XINVeFFHZN1nZ5NfYglaWlpcQ45Xsqdl4dzwEMF5n/cZP
gEo/hhTmZOu10JhQelCkWswWmq4DCLycl+RXFTh+XR1oEPmoph3QzelylXXY+/Xt
tjLFT49nY8Y=
=THyL
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 28 Nov 2020 17:15
Re: [bug#44768] [PATCH v3 2/2] gnu: Add lightspark.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 44768@debbugs.gnu.org)
875z5ptq4a.fsf@cbaines.net
Vinicius Monego <monego@posteo.net> writes:

Toggle quote (4 lines)
> * gnu/packages/animation.scm (lightspark): New variable.
> ---
> Rebased on the previous commit

Thanks for the patch, the main thing I noticed with this is that there's
some bundled code, at least I spotted pugixml included in the lightspark
code, and Guix already has a package for pugixml.

If possible, lightspark should be built with pugixml from Guix.

Toggle quote (62 lines)
> gnu/packages/animation.scm | 64 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
> index 102b0f47f7..9b94c1d214 100644
> --- a/gnu/packages/animation.scm
> +++ b/gnu/packages/animation.scm
> @@ -25,9 +25,11 @@
> #:use-module (guix git-download)
> #:use-module (guix utils)
> #:use-module ((guix licenses) #:prefix license:)
> + #:use-module (guix build-system cmake)
> #:use-module (guix build-system gnu)
> #:use-module (gnu packages)
> #:use-module (gnu packages algebra)
> + #:use-module (gnu packages assembly)
> #:use-module (gnu packages autotools)
> #:use-module (gnu packages boost)
> #:use-module (gnu packages compression)
> @@ -43,6 +45,8 @@
> #:use-module (gnu packages image)
> #:use-module (gnu packages imagemagick)
> #:use-module (gnu packages jemalloc)
> + #:use-module (gnu packages networking)
> + #:use-module (gnu packages pcre)
> #:use-module (gnu packages perl)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages pulseaudio)
> @@ -397,3 +401,63 @@ audio or video backends, ensuring good performance.")
> (home-page "https://www.gnu.org/software/gnash/")
> (license license:gpl3+))))
>
> +(define-public lightspark
> + (package
> + (name "lightspark")
> + (version "0.8.3")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/lightspark/lightspark")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0rgqqppnv4n3kv623sgr1zpc2fdsnrqzfiqgk4clcmfl5ipklg6f"))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:tests? #f ;requires Adobe Flex SDK, see README.tests
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'relative-etc-dir
> + ;; Write default config file to ./etc instead of /etc.
> + (lambda _
> + (substitute* "CMakeLists.txt" (("\\/etc") "etc"))
> + #t))
> + (replace 'check
> + (lambda* (#:key tests? #:allow-other-keys)
> + (if tests?
> + (begin
> + (invoke "./tests"))
> + #t))))))

I'd normally write this as:

(when tests?
(invoke "./tests"))
#t

Toggle quote (31 lines)
> + (native-inputs
> + `(("gettext" ,gettext-minimal)
> + ("glib:bin" ,glib "bin")
> + ("nasm" ,nasm)
> + ("perl" ,perl)
> + ("pkg-config" ,pkg-config)
> + ("python" ,python-wrapper)))
> + (inputs
> + `(("cairo" ,cairo)
> + ("curl" ,curl)
> + ("ffmpeg" ,ffmpeg)
> + ("freeglut" ,freeglut)
> + ("glew" ,glew)
> + ("glibmm" ,glibmm)
> + ("gnash" ,gnash)
> + ("libjpeg" ,libjpeg-turbo)
> + ("openssl" ,openssl)
> + ("pango" ,pango)
> + ("pcre2" ,pcre2)
> + ("rtmpdump" ,rtmpdump)
> + ("sdl2" ,sdl2)
> + ("sdl2-mixer" ,sdl2-mixer)
> + ("zlib" ,zlib)))
> + (home-page "https://lightspark.github.io/")
> + (synopsis "Flash player implementation")
> + (description
> + "Lightspark is a Flash player implementation for playing files in the SWF
> +format. Lightspark can run as a web browser plugin or as a standalone
> +application. Lightspark supports SWF files written on all versions of the
> +ActionScript language.")
> + (license license:lgpl3+)))
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl/Cd4VfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XfU1Q/+KiU2IZj2uO7jW6jkhH6oIFf8a+X9XKA7
dgBFcAXjBgyQ6fl/DKH/k7rvS4ezL/4Py9tSlRTNqn0BYMinbK+W1/oOf6d7FOyx
MGWjd+Ek/01XAKZ6vn1X2XqOOREpXx//5ig2FAiy1UDAzf8U/XY+k2vE3riPfo6V
ws3r1tx90Ay+O2k2QzNyUCvVPISvTl/pcrBLwzq0h9QVfki2wYBPCBPIsosTx8xL
TZhbAcWpW4IJWqw3wL+zoo4ggHRyGv5DMhbzOj4tvBlDsIepqt4Q33CscEKfOxUM
AUMWXEHAchqAfHPBFHndDycn3FBKo6NxwjULt/RgdE3uvxFoau3hLHGkOcm83EiC
E/kzBOzOvogVY9nfi7XKng8FymDzn/JvVbRLwXeXyxOlPDeUrMIUjS3k88R0kzxv
JIW4avdUW/17BIRZRhfjD1KK7iPY7Fx9DJaWaXyiZMlT2fO9dom8hPDfXlJgBbhD
yJeyXjbPJGLfPCNiNfFgwPY830JRzPvVohb6ugDmUjXtQ3D//3woeoXypIIEN/A+
mb+fGH3U5+ZIHIxcTNeEZLDceMPx9kA6MGZGcweOGQb1jqPISms1Qch8Qt4HlSBx
kkruhGUanYHEfubpGk0eP1SiigpJfhISzrs72Hb1Ib1UZIoiPKP46mfX0gut2GdW
XyKrQc1VvoI=
=d6SQ
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 18 Dec 2020 13:54
control message for bug #44768
(address . control@debbugs.gnu.org)
87mtybe0l7.fsf@gnu.org
tags 44768 + moreinfo
quit
V
V
Vinicius Monego wrote on 2 Feb 2021 18:10
Re: [bug#44768] [PATCH v3 2/2] gnu: Add lightspark.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 44768@debbugs.gnu.org)
877dnqpf9f.fsf@posteo.net
Christopher Baines writes:

Toggle quote (13 lines)
> Vinicius Monego <monego@posteo.net> writes:
>
>> * gnu/packages/animation.scm (lightspark): New variable.
>> ---
>> Rebased on the previous commit
>
> Thanks for the patch, the main thing I noticed with this is that there's
> some bundled code, at least I spotted pugixml included in the lightspark
> code, and Guix already has a package for pugixml.
>
> If possible, lightspark should be built with pugixml from Guix.
>

Hello,

Sorry for the late response. I noticed that jxrlib is also in Guix, and
tried to unbundle both jxrlib and pugixml unsuccesfully.

In the case of jxrlib, JXRGlue fails to include JXRMeta:

#include <JXRMeta.h>
^~~~~~~~~~~

IIUC the include syntax is jxrlib/JXRMeta.h. It also fails in the Debian
package from where Guix pulls from.

In the case of pugixml the build fails with undefined references. I also
found this comment in the changelog:

* switch to internal xml parsing (based on pugixml)

which implies that the bundled pugixml is a fork and not a snapshot.

Toggle quote (69 lines)
>> gnu/packages/animation.scm | 64 ++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 64 insertions(+)
>>
>> diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
>> index 102b0f47f7..9b94c1d214 100644
>> --- a/gnu/packages/animation.scm
>> +++ b/gnu/packages/animation.scm
>> @@ -25,9 +25,11 @@
>> #:use-module (guix git-download)
>> #:use-module (guix utils)
>> #:use-module ((guix licenses) #:prefix license:)
>> + #:use-module (guix build-system cmake)
>> #:use-module (guix build-system gnu)
>> #:use-module (gnu packages)
>> #:use-module (gnu packages algebra)
>> + #:use-module (gnu packages assembly)
>> #:use-module (gnu packages autotools)
>> #:use-module (gnu packages boost)
>> #:use-module (gnu packages compression)
>> @@ -43,6 +45,8 @@
>> #:use-module (gnu packages image)
>> #:use-module (gnu packages imagemagick)
>> #:use-module (gnu packages jemalloc)
>> + #:use-module (gnu packages networking)
>> + #:use-module (gnu packages pcre)
>> #:use-module (gnu packages perl)
>> #:use-module (gnu packages pkg-config)
>> #:use-module (gnu packages pulseaudio)
>> @@ -397,3 +401,63 @@ audio or video backends, ensuring good performance.")
>> (home-page "https://www.gnu.org/software/gnash/")
>> (license license:gpl3+))))
>>
>> +(define-public lightspark
>> + (package
>> + (name "lightspark")
>> + (version "0.8.3")
>> + (source
>> + (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/lightspark/lightspark")
>> + (commit version)))
>> + (file-name (git-file-name name version))
>> + (sha256
>> + (base32 "0rgqqppnv4n3kv623sgr1zpc2fdsnrqzfiqgk4clcmfl5ipklg6f"))))
>> + (build-system cmake-build-system)
>> + (arguments
>> + `(#:tests? #f ;requires Adobe Flex SDK, see README.tests
>> + #:phases
>> + (modify-phases %standard-phases
>> + (add-after 'unpack 'relative-etc-dir
>> + ;; Write default config file to ./etc instead of /etc.
>> + (lambda _
>> + (substitute* "CMakeLists.txt" (("\\/etc") "etc"))
>> + #t))
>> + (replace 'check
>> + (lambda* (#:key tests? #:allow-other-keys)
>> + (if tests?
>> + (begin
>> + (invoke "./tests"))
>> + #t))))))
>
> I'd normally write this as:
>
> (when tests?
> (invoke "./tests"))
> #t
>

Ok, I will send an update soon with this change and an update to the
license list because I initially overlooked the 3rd party bundles.

Toggle quote (31 lines)
>> + (native-inputs
>> + `(("gettext" ,gettext-minimal)
>> + ("glib:bin" ,glib "bin")
>> + ("nasm" ,nasm)
>> + ("perl" ,perl)
>> + ("pkg-config" ,pkg-config)
>> + ("python" ,python-wrapper)))
>> + (inputs
>> + `(("cairo" ,cairo)
>> + ("curl" ,curl)
>> + ("ffmpeg" ,ffmpeg)
>> + ("freeglut" ,freeglut)
>> + ("glew" ,glew)
>> + ("glibmm" ,glibmm)
>> + ("gnash" ,gnash)
>> + ("libjpeg" ,libjpeg-turbo)
>> + ("openssl" ,openssl)
>> + ("pango" ,pango)
>> + ("pcre2" ,pcre2)
>> + ("rtmpdump" ,rtmpdump)
>> + ("sdl2" ,sdl2)
>> + ("sdl2-mixer" ,sdl2-mixer)
>> + ("zlib" ,zlib)))
>> + (home-page "https://lightspark.github.io/")
>> + (synopsis "Flash player implementation")
>> + (description
>> + "Lightspark is a Flash player implementation for playing files in the SWF
>> +format. Lightspark can run as a web browser plugin or as a standalone
>> +application. Lightspark supports SWF files written on all versions of the
>> +ActionScript language.")
>> + (license license:lgpl3+)))
V
V
Vinicius Monego wrote on 2 Feb 2021 18:29
[PATCH v4] gnu: Add lightspark.
(address . 44768@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20210202172934.16915-1-monego@posteo.net
* gnu/packages/animation.scm (lightspark): New variable.
---
Updated check phase, copyright year and licenses.

gnu/packages/animation.scm | 70 +++++++++++++++++++++++++++++++++++++-
1 file changed, 69 insertions(+), 1 deletion(-)

Toggle diff (108 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index c92c4ae7e7..180a9e4ee4 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -2,7 +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>
+;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,10 +25,12 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -45,6 +47,8 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jemalloc)
+ #:use-module (gnu packages networking)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -320,6 +324,70 @@ audio or video backends, ensuring good performance.")
(home-page "https://www.gnu.org/software/gnash/")
(license license:gpl3+))))
+(define-public lightspark
+ (package
+ (name "lightspark")
+ (version "0.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lightspark/lightspark")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rgqqppnv4n3kv623sgr1zpc2fdsnrqzfiqgk4clcmfl5ipklg6f"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;requires Adobe Flex SDK, see README.tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'prepare-build-environment
+ (lambda _
+ ;; Write default config file to ./etc instead of /etc.
+ (substitute* "CMakeLists.txt" (("\\/etc") "etc"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "./tests"))
+ #t)))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("nasm" ,nasm)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("curl" ,curl)
+ ("ffmpeg" ,ffmpeg)
+ ("freeglut" ,freeglut)
+ ("glew" ,glew)
+ ("glibmm" ,glibmm)
+ ("gnash" ,gnash)
+ ("gnutls" ,gnutls)
+ ("libjpeg" ,libjpeg-turbo)
+ ("openssl" ,openssl)
+ ("pango" ,pango)
+ ("pcre2" ,pcre2)
+ ("rtmpdump" ,rtmpdump)
+ ("sdl2" ,sdl2)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("zlib" ,zlib)))
+ (home-page "https://lightspark.github.io/")
+ (synopsis "Flash player implementation")
+ (description
+ "Lightspark is a Flash player implementation for playing files in the SWF
+format. Lightspark can run as a web browser plugin or as a standalone
+application. Lightspark supports SWF files written on all versions of the
+ActionScript language.")
+ (license (list license:lgpl3+ ;lightspark
+ license:mpl2.0 ;avmplus
+ license:bsd-2 ;jxrlib
+ license:expat)))) ;pugixml, PerlinNoise
+
(define-public papagayo
(let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
(revision "1"))
--
2.30.0
V
V
Vinicius Monego wrote on 30 Apr 2021 02:22
[PATCH v5] gnu: Add lightspark.
(address . 44768@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20210430002254.51419-1-monego@posteo.net
* gnu/packages/animation.scm (lightspark): New variable.
---
Updated version to 0.8.4.
Clarified some parts with comments.
Disabled NPAPI and PPAPI plugins in #:configure-flags.
Changed description.

gnu/packages/animation.scm | 80 +++++++++++++++++++++++++++++++++++++-
1 file changed, 79 insertions(+), 1 deletion(-)

Toggle diff (118 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 3a915c7fda..6b9a1cf00e 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
-;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,10 +25,12 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -45,6 +47,8 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jemalloc)
+ #:use-module (gnu packages networking)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -320,6 +324,80 @@ audio or video backends, ensuring good performance.")
(home-page "https://www.gnu.org/software/gnash/")
(license license:gpl3+))))
+;; This package provides a standalone (no browser plugin) version of
+;; Lightspark.
+(define-public lightspark
+ (package
+ (name "lightspark")
+ (version "0.8.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lightspark/lightspark")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mkvjmrjdqx4rsvavd619m144pdfkgs3jb6z7i9fmzyvh4i0jp37"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;requires Adobe Flex SDK, see README.tests
+ ;; Disable browser plugins because neither NPAPI nor PPAPI is
+ ;; supported in the browsers we have.
+ #:configure-flags
+ '("-DCOMPILE_NPAPI_PLUGIN=FALSE"
+ "-DCOMPILE_PPAPI_PLUGIN=FALSE")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'prepare-build-environment
+ (lambda _
+ ;; Use relative etc path.
+ (substitute* "CMakeLists.txt" (("\\/etc") "etc"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "./tests"))
+ #t)))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("nasm" ,nasm)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("curl" ,curl)
+ ("ffmpeg" ,ffmpeg)
+ ("freeglut" ,freeglut)
+ ("glew" ,glew)
+ ("glibmm" ,glibmm)
+ ("gnash" ,gnash)
+ ("gnutls" ,gnutls)
+ ("libjpeg" ,libjpeg-turbo)
+ ("openssl" ,openssl)
+ ("pango" ,pango)
+ ("pcre2" ,pcre2)
+ ("rtmpdump" ,rtmpdump)
+ ("sdl2" ,sdl2)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("zlib" ,zlib)))
+ (home-page "https://lightspark.github.io/")
+ (synopsis "Flash player implementation")
+ (description
+ "Lightspark is a Flash player implementation for playing files in the SWF
+format. It supports SWF files written on all versions of the ActionScript
+language.")
+ ;; NOTE: The bundled pugixml is a fork specific to Lightspark and
+ ;; incompatible with the one we have.
+ ;; FIXME: we also have jxrlib, but the build fails to find JXRMeta.h so we
+ ;; use the bundled one for now.
+ (license (list license:lgpl3+ ;lightspark
+ license:mpl2.0 ;avmplus
+ license:bsd-2 ;jxrlib
+ license:expat)))) ;pugixml, PerlinNoise
+
(define-public papagayo
(let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
(revision "1"))
--
2.31.1
N
N
Nicolas Goaziou wrote on 26 May 2021 15:34
(name . Vinicius Monego)(address . monego@posteo.net)(address . 44768-done@debbugs.gnu.org)
87im35hb40.fsf@nicolasgoaziou.fr
Hello,

Vinicius Monego <monego@posteo.net> writes:

Toggle quote (2 lines)
> * gnu/packages/animation.scm (lightspark): New variable.

I removed #t at the end of phases and applied the patch. Thank you!

Regards,
--
Nicolas Goaziou
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 44768@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 44768
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch