[PATCH 1/2] gnu: Add gnash.

DoneSubmitted by Vinicius Monego.
Details
5 participants
  • Ludovic Courtès
  • Christopher Baines
  • Nicolas Goaziou
  • Vinicius Monego
  • Mathieu Othacehe
Owner
unassigned
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 email to 44768@debbugs.gnu.org