stella: new package
authorSergio Prado <sergio.prado@e-labworks.com>
Tue, 26 Jul 2016 20:29:51 +0000 (17:29 -0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 27 Jul 2016 20:46:32 +0000 (22:46 +0200)
Stella is a multi-platform Atari 2600 VCS emulator.

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/Config.in
package/stella/0001-Add-cross-compilation-support.patch [new file with mode: 0644]
package/stella/0002-Do-not-strip-when-installing.patch [new file with mode: 0644]
package/stella/Config.in [new file with mode: 0644]
package/stella/stella.hash [new file with mode: 0644]
package/stella/stella.mk [new file with mode: 0644]

index ec45eafbb0ac1872f7ca05e2923d6d0859ebcfa0..2e05a3ad5d9e74496923badc9b8eb04a7c097b65 100644 (file)
@@ -220,6 +220,7 @@ menu "Games"
        source "package/prboom/Config.in"
        source "package/rubix/Config.in"
        source "package/sl/Config.in"
+       source "package/stella/Config.in"
        source "package/supertuxkart/Config.in"
 endmenu
 
diff --git a/package/stella/0001-Add-cross-compilation-support.patch b/package/stella/0001-Add-cross-compilation-support.patch
new file mode 100644 (file)
index 0000000..3266d31
--- /dev/null
@@ -0,0 +1,29 @@
+From fba2627bebc7d497f64827a0517316e9b5c64c0a Mon Sep 17 00:00:00 2001
+From: Sergio Prado <sergio.prado@e-labworks.com>
+Date: Tue, 26 Jul 2016 13:24:00 -0300
+Subject: [PATCH 1/2] Add cross-compilation support
+
+Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
+---
+ configure | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 0d90a4f0acde..a4afea8e1880 100755
+--- a/configure
++++ b/configure
+@@ -502,8 +502,9 @@ if test -n "$_host"; then
+                       _host_os=win32
+                       ;;
+               *)
+-                      echo "Cross-compiling to unknown target, please add your target to configure."
+-                      exit 1
++                      echo "Cross-compiling to $_host target"
++                      DEFINES="$DEFINES -DUNIX"
++                      _host_os=unix
+                       ;;
+       esac
+       
+-- 
+1.9.1
+
diff --git a/package/stella/0002-Do-not-strip-when-installing.patch b/package/stella/0002-Do-not-strip-when-installing.patch
new file mode 100644 (file)
index 0000000..cba4b08
--- /dev/null
@@ -0,0 +1,26 @@
+From a86140353cb2e162d88da9caa1716915be2f6893 Mon Sep 17 00:00:00 2001
+From: Sergio Prado <sergio.prado@e-labworks.com>
+Date: Tue, 26 Jul 2016 13:25:12 -0300
+Subject: [PATCH 2/2] Do not strip when installing
+
+Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6dd0129587b3..b1aea5eed4a1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -172,7 +172,7 @@ config.mak: $(srcdir)/configure
+ install: all
+       $(INSTALL) -d "$(DESTDIR)$(BINDIR)"
+-      $(INSTALL) -c -s -m 755 "$(srcdir)/stella$(EXEEXT)" "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)"
++      $(INSTALL) -c -m 755 "$(srcdir)/stella$(EXEEXT)" "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)"
+       $(INSTALL) -d "$(DESTDIR)$(DOCDIR)"
+       $(INSTALL) -c -m 644 "$(srcdir)/Announce.txt" "$(srcdir)/Changes.txt" "$(srcdir)/Copyright.txt" "$(srcdir)/License.txt" "$(srcdir)/README-SDL.txt" "$(srcdir)/Readme.txt" "$(srcdir)/Todo.txt" "$(srcdir)/docs/index.html" "$(srcdir)/docs/debugger.html" "$(DESTDIR)$(DOCDIR)/"
+       $(INSTALL) -d "$(DESTDIR)$(DOCDIR)/graphics"
+-- 
+1.9.1
+
diff --git a/package/stella/Config.in b/package/stella/Config.in
new file mode 100644 (file)
index 0000000..55f177f
--- /dev/null
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_STELLA
+       bool "stella"
+       select BR2_PACKAGE_SDL2
+       select BR2_PACKAGE_LIBPNG
+       select BR2_PACKAGE_ZLIB
+       depends on !BR2_STATIC_LIBS # sdl2
+       depends on BR2_INSTALL_LIBSTDCPP
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+       help
+         Stella is a multi-platform Atari 2600 VCS emulator.
+
+         http://stella.sourceforge.net/
+
+comment "stella needs a toolchain w/ dynamic library, C++, gcc >= 4.8"
+       depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/stella/stella.hash b/package/stella/stella.hash
new file mode 100644 (file)
index 0000000..71defd2
--- /dev/null
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 b2727a0e2d3b112d35dcb89b4bdc789e2c7f15e9d9c7054a69a2f67facd7416e  stella-4.7.2-src.tar.xz
diff --git a/package/stella/stella.mk b/package/stella/stella.mk
new file mode 100644 (file)
index 0000000..2e9d57b
--- /dev/null
@@ -0,0 +1,38 @@
+################################################################################
+#
+# stella
+#
+################################################################################
+
+STELLA_VERSION = 4.7.2
+STELLA_SOURCE = stella-$(STELLA_VERSION)-src.tar.xz
+STELLA_SITE = http://downloads.sourceforge.net/stella
+STELLA_LICENSE = GPLv2+
+STELLA_LICENSE_FILES = Copyright.txt License.txt
+
+STELLA_DEPENDENCIES = sdl2 libpng zlib
+
+STELLA_CONF_OPTS = \
+       --host=$(GNU_TARGET_NAME) \
+       --prefix=/usr \
+       --with-sdl-prefix=$(STAGING_DIR)/usr
+
+# The configure script is not autoconf based, so we use the
+# generic-package infrastructure
+define STELLA_CONFIGURE_CMDS
+       (cd $(@D); \
+               $(TARGET_CONFIGURE_OPTS) \
+               $(TARGET_CONFIGURE_ARGS) \
+               ./configure $(STELLA_CONF_OPTS) \
+       )
+endef
+
+define STELLA_BUILD_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define STELLA_INSTALL_TARGET_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install
+endef
+
+$(eval $(generic-package))