summaryrefslogtreecommitdiffstats
path: root/package/libsoil
diff options
context:
space:
mode:
authorBernd Kuhls <bernd.kuhls@t-online.de>2015-11-07 11:24:17 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-12-19 14:46:55 +0100
commit1e7eb1f25261bbe389d4d1f52ae806b77d14e7d3 (patch)
treee7a0cceb55af0fc0f7f9a39b1e2f1f5e222683a3 /package/libsoil
parent98c868d3a41d7e091eab2ab6c3488fa42d294fb5 (diff)
downloadbuildroot-1e7eb1f25261bbe389d4d1f52ae806b77d14e7d3.tar.gz
buildroot-1e7eb1f25261bbe389d4d1f52ae806b77d14e7d3.zip
package/libsoil: new package
Needed for these new Kodi addons: kodi-screensaver-asterwave kodi-screensaver-cpblobs kodi-screensaver-matrixtrails kodi-screensaver-planestate kodi-visualisation-fountain [Thomas: - don't pass LIBSOIL_CFLAGS since this variable no longer exists. - pass TARGET_CONFIGURE_OPTS on the right hand side of make for the install steps, like was done for the build step.] Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/libsoil')
-rw-r--r--package/libsoil/0001-fix-makefile.patch40
-rw-r--r--package/libsoil/Config.in12
-rw-r--r--package/libsoil/libsoil.hash2
-rw-r--r--package/libsoil/libsoil.mk40
4 files changed, 94 insertions, 0 deletions
diff --git a/package/libsoil/0001-fix-makefile.patch b/package/libsoil/0001-fix-makefile.patch
new file mode 100644
index 0000000000..3b8004821c
--- /dev/null
+++ b/package/libsoil/0001-fix-makefile.patch
@@ -0,0 +1,40 @@
+Various makefile fixes to allow cross compilation
+
+Partly ported from
+http://anonscm.debian.org/cgit/pkg-games/libsoil.git/tree/debian/patches/linking_correctly.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff -uNr "soil.org/projects/makefile/alternate Makefile.txt" "soil/projects/makefile/alternate Makefile.txt"
+--- "soil.org/projects/makefile/alternate Makefile.txt" 2008-07-07 18:13:28.000000000 +0200
++++ "soil/projects/makefile/alternate Makefile.txt" 2015-11-07 11:15:04.140106336 +0100
+@@ -1,8 +1,8 @@
+ MAKE = make
+-CC = gcc
+-INSTALL_FILE = install -p -o root -g root -m 644
+-INSTALL_DIR = install -p -o root -g root -d
+-LN = ln -s
++CC = $(GCC)
++INSTALL_FILE = $(INSTALL) -m 644
++INSTALL_DIR = $(INSTALL) -d
++LN = ln -sf
+ RM = rm -fv
+ CFLAGS += -c -O2 -Wall
+ LDFLAGS +=
+@@ -23,13 +23,13 @@
+ all: $(OFILES) lib
+
+ %.o: %.c
+- $(CC) $(CFLAGS) $< -o $@
++ $(CC) $(CFLAGS) -c -fPIC $< -o $@
+
+ lib: $(OFILES)
+ # create static library
+- ar -cvq $(LIBNAME).a $(OFILES)
++ $(AR) -cvq $(LIBNAME).a $(OFILES)
+ # create shared library
+- gcc -shared -Wl,-soname,$(LIBNAME).so.$(MAJOR) -o $(LIBNAME).so.$(VERSION) $(OFILES)
++ $(CC) -shared -Wl,-soname,$(LIBNAME).so.$(MAJOR) -o $(LIBNAME).so.$(VERSION) $(OFILES) -lGL -lm
+
+ install:
+ $(INSTALL_DIR) $(DESTDIR)/$(INCLUDEDIR)
diff --git a/package/libsoil/Config.in b/package/libsoil/Config.in
new file mode 100644
index 0000000000..aea0cc3548
--- /dev/null
+++ b/package/libsoil/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBSOIL
+ bool "libsoil"
+ depends on BR2_PACKAGE_HAS_LIBGL
+ depends on !BR2_STATIC_LIBS
+ help
+ SOIL is a tiny C library used primarily for uploading
+ textures into OpenGL.
+
+ http://www.lonesock.net/soil.html
+
+comment "libsoil needs an OpenGL backend and a toolchain w/ dynamic library"
+ depends on !BR2_PACKAGE_HAS_LIBGL || BR2_STATIC_LIBS
diff --git a/package/libsoil/libsoil.hash b/package/libsoil/libsoil.hash
new file mode 100644
index 0000000000..175569b9f6
--- /dev/null
+++ b/package/libsoil/libsoil.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 a2305b8d64f6d636e36d669bbdb0ca5445d1345c754b3d61d3f037dad2e5f701 soil.zip
diff --git a/package/libsoil/libsoil.mk b/package/libsoil/libsoil.mk
new file mode 100644
index 0000000000..eb8c2ce86d
--- /dev/null
+++ b/package/libsoil/libsoil.mk
@@ -0,0 +1,40 @@
+################################################################################
+#
+# libsoil
+#
+################################################################################
+
+LIBSOIL_VERSION = 20080707
+LIBSOIL_SOURCE = soil.zip
+LIBSOIL_SITE = http://www.lonesock.net/files
+LIBSOIL_INSTALL_STAGING = YES
+LIBSOIL_DEPENDENCIES = libgl
+LIBSOIL_LICENSE = Public Domain, MIT
+LIBSOIL_LICENSE_FILES = src/stb_image_aug.c src/image_helper.c
+LIBSOIL_MAKEFILE = "../projects/makefile/alternate Makefile.txt"
+
+define LIBSOIL_EXTRACT_CMDS
+ $(UNZIP) -d $(@D) $(DL_DIR)/$(LIBSOIL_SOURCE)
+ mv $(@D)/Simple\ OpenGL\ Image\ Library/* $(@D)
+endef
+
+define LIBSOIL_BUILD_CMDS
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -f $(LIBSOIL_MAKEFILE) \
+ -C $(@D)/src
+endef
+
+define LIBSOIL_INSTALL_STAGING_CMDS
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -f $(LIBSOIL_MAKEFILE) \
+ DESTDIR=$(STAGING_DIR) install \
+ INSTALL=$(INSTALL) \
+ -C $(@D)/src
+endef
+
+define LIBSOIL_INSTALL_TARGET_CMDS
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -f $(LIBSOIL_MAKEFILE) \
+ DESTDIR=$(TARGET_DIR) install \
+ INSTALL=$(INSTALL) \
+ -C $(@D)/src
+endef
+
+$(eval $(generic-package))
OpenPOWER on IntegriCloud