unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#44768] [PATCH 1/2] gnu: Add gnash.
@ 2020-11-20 20:05 Vinicius Monego
  2020-11-20 20:07 ` [bug#44768] [PATCH 2/2] gnu: Add lightspark Vinicius Monego
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Vinicius Monego @ 2020-11-20 20:05 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* gnu/packages/animation.scm (gnash): New variable.
* gnu/packages/patches/gnash-do-not-depend-on-pangox: New file.
* gnu/packages/patches/gnash-fix-giflib-version: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
Patch sources:

https://savannah.gnu.org/patch/download.php?file_id=48366
https://savannah.gnu.org/patch/download.php?file_id=47859

 gnu/local.mk                                  |  3 +
 gnu/packages/animation.scm                    | 94 ++++++++++++++++++-
 .../gnash-do-not-depend-on-pangox.patch       | 35 +++++++
 .../patches/gnash-fix-giflib-version.patch    | 13 +++
 4 files changed, 144 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gnash-do-not-depend-on-pangox.patch
 create mode 100644 gnu/packages/patches/gnash-fix-giflib-version.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3a8f1e30fc..94ff78a3d4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -38,6 +38,7 @@
 # Copyright © 2020 Tanguy Le Carrour <tanguy@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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH 2/2] gnu: Add lightspark.
  2020-11-20 20:05 [bug#44768] [PATCH 1/2] gnu: Add gnash Vinicius Monego
@ 2020-11-20 20:07 ` Vinicius Monego
  2020-11-24 23:04 ` [bug#44768] [PATCH v2] gnu: Add gnash Vinicius Monego
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Vinicius Monego @ 2020-11-20 20:07 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* gnu/packages/animation.scm (lightspark): New variable.
---
 gnu/packages/animation.scm | 66 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v2] gnu: Add gnash.
  2020-11-20 20:05 [bug#44768] [PATCH 1/2] gnu: Add gnash Vinicius Monego
  2020-11-20 20:07 ` [bug#44768] [PATCH 2/2] gnu: Add lightspark Vinicius Monego
@ 2020-11-24 23:04 ` Vinicius Monego
  2020-11-25 13:17   ` Mathieu Othacehe
  2020-11-25 17:18 ` [bug#44768] [PATCH v3 1/2] " Vinicius Monego
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Vinicius Monego @ 2020-11-24 23:04 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* 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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v2] gnu: Add gnash.
  2020-11-24 23:04 ` [bug#44768] [PATCH v2] gnu: Add gnash Vinicius Monego
@ 2020-11-25 13:17   ` Mathieu Othacehe
  0 siblings, 0 replies; 12+ messages in thread
From: Mathieu Othacehe @ 2020-11-25 13:17 UTC (permalink / raw)
  To: Vinicius Monego; +Cc: 44768


Hey Vinicius,

> +of v8 and v9.  It is possible to configure Gnash to use several differemt

Small typo here: "different".
                                                                       
> +     // 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




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v3 1/2] gnu: Add gnash.
  2020-11-20 20:05 [bug#44768] [PATCH 1/2] gnu: Add gnash Vinicius Monego
  2020-11-20 20:07 ` [bug#44768] [PATCH 2/2] gnu: Add lightspark Vinicius Monego
  2020-11-24 23:04 ` [bug#44768] [PATCH v2] gnu: Add gnash Vinicius Monego
@ 2020-11-25 17:18 ` Vinicius Monego
  2020-11-25 17:18   ` [bug#44768] [PATCH v3 2/2] gnu: Add lightspark Vinicius Monego
  2020-11-28 16:12   ` [bug#44768] [PATCH v3 1/2] gnu: Add gnash Christopher Baines
  2021-02-02 17:29 ` [bug#44768] [PATCH v4] gnu: Add lightspark Vinicius Monego
  2021-04-30  0:22 ` [bug#44768] [PATCH v5] " Vinicius Monego
  4 siblings, 2 replies; 12+ messages in thread
From: Vinicius Monego @ 2020-11-25 17:18 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* 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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v3 2/2] gnu: Add lightspark.
  2020-11-25 17:18 ` [bug#44768] [PATCH v3 1/2] " Vinicius Monego
@ 2020-11-25 17:18   ` Vinicius Monego
  2020-11-28 16:15     ` Christopher Baines
  2020-11-28 16:12   ` [bug#44768] [PATCH v3 1/2] gnu: Add gnash Christopher Baines
  1 sibling, 1 reply; 12+ messages in thread
From: Vinicius Monego @ 2020-11-25 17:18 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* gnu/packages/animation.scm (lightspark): New variable.
---
Rebased on the previous commit

 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))))))
+    (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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v3 1/2] gnu: Add gnash.
  2020-11-25 17:18 ` [bug#44768] [PATCH v3 1/2] " Vinicius Monego
  2020-11-25 17:18   ` [bug#44768] [PATCH v3 2/2] gnu: Add lightspark Vinicius Monego
@ 2020-11-28 16:12   ` Christopher Baines
  1 sibling, 0 replies; 12+ messages in thread
From: Christopher Baines @ 2020-11-28 16:12 UTC (permalink / raw)
  To: Vinicius Monego; +Cc: 44768

[-- Attachment #1: Type: text/plain, Size: 538 bytes --]


Vinicius Monego <monego@posteo.net> writes:

> * 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v3 2/2] gnu: Add lightspark.
  2020-11-25 17:18   ` [bug#44768] [PATCH v3 2/2] gnu: Add lightspark Vinicius Monego
@ 2020-11-28 16:15     ` Christopher Baines
  2021-02-02 17:10       ` Vinicius Monego
  0 siblings, 1 reply; 12+ messages in thread
From: Christopher Baines @ 2020-11-28 16:15 UTC (permalink / raw)
  To: Vinicius Monego; +Cc: 44768

[-- Attachment #1: Type: text/plain, Size: 4037 bytes --]


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.

>  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

> +    (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+)))


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v3 2/2] gnu: Add lightspark.
  2020-11-28 16:15     ` Christopher Baines
@ 2021-02-02 17:10       ` Vinicius Monego
  0 siblings, 0 replies; 12+ messages in thread
From: Vinicius Monego @ 2021-02-02 17:10 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 44768


Christopher Baines writes:

> 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.

>>  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.

>> +    (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+)))





^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v4] gnu: Add lightspark.
  2020-11-20 20:05 [bug#44768] [PATCH 1/2] gnu: Add gnash Vinicius Monego
                   ` (2 preceding siblings ...)
  2020-11-25 17:18 ` [bug#44768] [PATCH v3 1/2] " Vinicius Monego
@ 2021-02-02 17:29 ` Vinicius Monego
  2021-04-30  0:22 ` [bug#44768] [PATCH v5] " Vinicius Monego
  4 siblings, 0 replies; 12+ messages in thread
From: Vinicius Monego @ 2021-02-02 17:29 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* 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(-)

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44768] [PATCH v5] gnu: Add lightspark.
  2020-11-20 20:05 [bug#44768] [PATCH 1/2] gnu: Add gnash Vinicius Monego
                   ` (3 preceding siblings ...)
  2021-02-02 17:29 ` [bug#44768] [PATCH v4] gnu: Add lightspark Vinicius Monego
@ 2021-04-30  0:22 ` Vinicius Monego
  2021-05-26 13:34   ` bug#44768: " Nicolas Goaziou
  4 siblings, 1 reply; 12+ messages in thread
From: Vinicius Monego @ 2021-04-30  0:22 UTC (permalink / raw)
  To: 44768; +Cc: Vinicius Monego

* 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(-)

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#44768: [PATCH v5] gnu: Add lightspark.
  2021-04-30  0:22 ` [bug#44768] [PATCH v5] " Vinicius Monego
@ 2021-05-26 13:34   ` Nicolas Goaziou
  0 siblings, 0 replies; 12+ messages in thread
From: Nicolas Goaziou @ 2021-05-26 13:34 UTC (permalink / raw)
  To: Vinicius Monego; +Cc: 44768-done

Hello,

Vinicius Monego <monego@posteo.net> writes:

> * gnu/packages/animation.scm (lightspark): New variable.

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

Regards,
-- 
Nicolas Goaziou




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-05-26 13:36 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-20 20:05 [bug#44768] [PATCH 1/2] gnu: Add gnash Vinicius Monego
2020-11-20 20:07 ` [bug#44768] [PATCH 2/2] gnu: Add lightspark Vinicius Monego
2020-11-24 23:04 ` [bug#44768] [PATCH v2] gnu: Add gnash Vinicius Monego
2020-11-25 13:17   ` Mathieu Othacehe
2020-11-25 17:18 ` [bug#44768] [PATCH v3 1/2] " Vinicius Monego
2020-11-25 17:18   ` [bug#44768] [PATCH v3 2/2] gnu: Add lightspark Vinicius Monego
2020-11-28 16:15     ` Christopher Baines
2021-02-02 17:10       ` Vinicius Monego
2020-11-28 16:12   ` [bug#44768] [PATCH v3 1/2] gnu: Add gnash Christopher Baines
2021-02-02 17:29 ` [bug#44768] [PATCH v4] gnu: Add lightspark Vinicius Monego
2021-04-30  0:22 ` [bug#44768] [PATCH v5] " Vinicius Monego
2021-05-26 13:34   ` bug#44768: " Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).