commit:     82e6b1388337dbb3ccc7ed554d2a2d328ff9ac83
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  2 20:38:59 2019 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Oct  2 20:40:04 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82e6b138

media-libs/lib3ds: Restore v1 and apply EAPI 7 plus other fixes

A bug in qgrep meant I didn't realise this version was in use. As it
turns out, media-libs/opencollada's dependency on v2 is bogus.

Forgot to mention before that I've dropped the freeglut and opengl
dependencies because they're not needed at all.

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 media-libs/lib3ds/Manifest                         |  1 +
 media-libs/lib3ds/files/lib3ds-1.3.0-mesh.c.patch  | 17 ++++
 .../lib3ds/files/lib3ds-1.3.0-pkgconfig.patch      | 94 ++++++++++++++++++++++
 media-libs/lib3ds/lib3ds-1.3.0-r1.ebuild           | 24 ++++++
 media-libs/lib3ds/lib3ds-1.3.0-r2.ebuild           | 31 +++++++
 5 files changed, 167 insertions(+)

diff --git a/media-libs/lib3ds/Manifest b/media-libs/lib3ds/Manifest
index 3c8d779efec..3fda88065c6 100644
--- a/media-libs/lib3ds/Manifest
+++ b/media-libs/lib3ds/Manifest
@@ -1 +1,2 @@
+DIST lib3ds-1.3.0.zip 443675 BLAKE2B 
7e9aa3b7d0c74013264430be24b1f8417f5ff7754bd77508fb85fee227c8675c023b6b805b3cda57a1ea3c1bbc7b0fbd37df8ed1c4d00ac295a39ffb0e3c1219
 SHA512 
7c866ea9721a7a124c25b4962e933a7066ec2e3c7998e5ae2ba93727f19b91bdb103699bada6d1e04b67e0a54b9f58d09382093569114a1846d86bb03821b8ac
 DIST lib3ds-20080909.zip 427233 BLAKE2B 
862a4606206c59e357b0b8805998a497de140b5e80aa3f6f7dd41288ebb1ffc12475b41d5327ee3c619a22c549897b28b444bac5df58192979af5c236859d86f
 SHA512 
ba7166dbd9fb97edc0f5cf0df56747b7e3c5aa1e62334ca995020a6ccd77284abc58e3fba80ec96ecf3765f5ce3121612c9f8c7dfedb2322f1cd2af85d567f87

diff --git a/media-libs/lib3ds/files/lib3ds-1.3.0-mesh.c.patch 
b/media-libs/lib3ds/files/lib3ds-1.3.0-mesh.c.patch
new file mode 100644
index 00000000000..1455660596b
--- /dev/null
+++ b/media-libs/lib3ds/files/lib3ds-1.3.0-mesh.c.patch
@@ -0,0 +1,17 @@
+diff -Naur lib3ds-1.3.0.orig/lib3ds/mesh.c lib3ds-1.3.0/lib3ds/mesh.c
+--- lib3ds-1.3.0.orig/lib3ds/mesh.c    2007-06-20 19:04:08.000000000 +0200
++++ lib3ds-1.3.0/lib3ds/mesh.c 2010-09-14 06:34:39.987807911 +0200
+@@ -87,8 +87,11 @@
+             faces=lib3ds_io_read_word(io);
+             for (i=0; i<faces; ++i) {
+               index=lib3ds_io_read_word(io);
+-              ASSERT(index<mesh->faces);
+-              strcpy(mesh->faceL[index].material, name);
++              if (index<mesh->faces) {
++                strncpy(mesh->faceL[index].material, name, 64);
++              } else {
++                // TODO warning
++              }
+             }
+           }
+           break;

diff --git a/media-libs/lib3ds/files/lib3ds-1.3.0-pkgconfig.patch 
b/media-libs/lib3ds/files/lib3ds-1.3.0-pkgconfig.patch
new file mode 100644
index 00000000000..41f658e5311
--- /dev/null
+++ b/media-libs/lib3ds/files/lib3ds-1.3.0-pkgconfig.patch
@@ -0,0 +1,94 @@
+diff -uNr lib3ds-1.2.0.orig/lib3ds-config.in lib3ds-1.2.0/lib3ds-config.in
+--- lib3ds-1.2.0.orig/lib3ds-config.in 2000-05-23 14:13:08.000000000 +0200
++++ lib3ds-1.2.0/lib3ds-config.in      2007-10-21 06:37:48.000000000 +0200
+@@ -1,9 +1,5 @@
+ #!/bin/sh
+ 
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-exec_prefix_set=no
+-
+ usage()
+ {
+     cat <<EOF
+@@ -22,6 +18,8 @@
+       usage 1 1>&2
+ fi
+ 
++PKG_CONFIG_ARGS=
++
+ while test $# -gt 0; do
+   case "$1" in
+   -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+@@ -30,23 +28,23 @@
+ 
+   case $1 in
+     --prefix=*)
+-      prefix=$optarg
++      PKG_CONFIG_ARGS="$PKG_CONFIG_ARGS --define-variable=prefix=$optarg"
+       if test $exec_prefix_set = no ; then
+-        exec_prefix=$optarg
++        PKG_CONFIG_ARGS="$PKG_CONFIG_ARGS 
--define-variable=exec_prefix=$optarg"
+       fi
+       ;;
+     --prefix)
+       echo_prefix=yes
+       ;;
+     --exec-prefix=*)
+-      exec_prefix=$optarg
++      PKG_CONFIG_ARGS="$PKG_CONFIG_ARGS --define-variable=exec_prefix=$optarg"
+       exec_prefix_set=yes
+       ;;
+     --exec-prefix)
+       echo_exec_prefix=yes
+       ;;
+     --version)
+-      echo @LIB3DS_VERSION@
++      pkg-config --modversion lib3ds
+       ;;
+     --cflags)
+       echo_cflags=yes
+@@ -62,23 +60,18 @@
+ done
+ 
+ if test "$echo_prefix" = "yes"; then
+-      echo $prefix
++  pkg-config $PKG_CONFIG_ARGS --variable=prefix lib3ds
+ fi
+ 
+ if test "$echo_exec_prefix" = "yes"; then
+-      echo $exec_prefix
++  pkg-config $PKG_CONFIG_ARGS --variable=exec_prefix lib3ds
+ fi
+ 
+ if test "$echo_cflags" = "yes"; then
+-      if test @includedir@ != /usr/include ; then
+-            echo -I@includedir@
+-      fi
++  pkg-config $PKG_CONFIG_ARGS --cflags lib3ds
+ fi
+ 
+ if test "$echo_libs" = "yes"; then
+-      if test @libdir@ != /usr/lib ; then
+-            my_linker_flags="-L@libdir@"
+-      fi
+-      echo ${my_linker_flags} -l3ds
+-fi      
++  pkg-config $PKG_CONFIG_ARGS --libs lib3ds
++fi
+ 
+diff -uNr lib3ds-1.2.0.orig/lib3ds.pc.in lib3ds-1.2.0/lib3ds.pc.in
+--- lib3ds-1.2.0.orig/lib3ds.pc.in     1970-01-01 01:00:00.000000000 +0100
++++ lib3ds-1.2.0/lib3ds.pc.in  2007-10-21 06:23:53.000000000 +0200
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: lib3ds
++Description: lib3ds
++Version: @VERSION@
++Requires:
++Libs: -L${libdir} -l3ds -lm
++Cflags: -I${includedir}

diff --git a/media-libs/lib3ds/lib3ds-1.3.0-r1.ebuild 
b/media-libs/lib3ds/lib3ds-1.3.0-r1.ebuild
new file mode 100644
index 00000000000..a15221ea080
--- /dev/null
+++ b/media-libs/lib3ds/lib3ds-1.3.0-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools-utils
+
+DESCRIPTION="library for managing 3D-Studio Release 3 and 4 .3DS files"
+HOMEPAGE="https://code.google.com/p/lib3ds/";
+SRC_URI="https://${PN}.googlecode.com/files/${P}.zip";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="static-libs"
+
+RDEPEND="media-libs/freeglut
+       virtual/opengl"
+DEPEND="${RDEPEND}
+       app-arch/unzip"
+PATCHES=(
+       "${FILESDIR}"/${P}-pkgconfig.patch
+       "${FILESDIR}"/${P}-mesh.c.patch
+)

diff --git a/media-libs/lib3ds/lib3ds-1.3.0-r2.ebuild 
b/media-libs/lib3ds/lib3ds-1.3.0-r2.ebuild
new file mode 100644
index 00000000000..a6db6a0139e
--- /dev/null
+++ b/media-libs/lib3ds/lib3ds-1.3.0-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="library for managing 3D-Studio Release 3 and 4 .3DS files"
+HOMEPAGE="https://code.google.com/p/lib3ds/";
+SRC_URI="https://${PN}.googlecode.com/files/${P}.zip";
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="static-libs"
+
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-pkgconfig.patch
+       "${FILESDIR}"/${P}-mesh.c.patch
+)
+
+src_configure() {
+       econf $(use_enable static-libs static)
+}
+
+src_install() {
+       default
+
+       if ! use static-libs; then
+               rm "${ED}/usr/$(get_libdir)/${PN}.la" || die
+       fi
+}

Reply via email to