commit:     c15d4e531c33e329cb041cfc06f21b59fca4faa5
Author:     Dennis Lamm <expeditioneer <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 22:12:11 2020 +0000
Commit:     Dennis Lamm <expeditioneer <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 22:42:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c15d4e53

media-libs/openctm: ebuild improvent

Closes: https://bugs.gentoo.org/729370

Signed-off-by: Dennis Lamm <expeditioneer <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/18754
Signed-off-by: Dennis Lamm <expeditioneer <AT> gentoo.org>

 media-libs/openctm/Manifest                        |  1 +
 ...eate-lib-with-correct-soname-and-symlinks.patch | 30 ++++++++
 .../files/openctm-1.0.3-do-not-set-rpath.patch     | 19 +++++
 ...-1.0.3-escape-hyphens-in-ctmconv-man-page.patch | 11 +++
 .../files/openctm-1.0.3-fix-install-paths.patch    | 32 +++++++++
 ...nk-ctmviewer-only-with-necessary-gtk-libs.patch | 13 ++++
 .../openctm-1.0.3-link-ctmviewer-with-libGL.patch  | 11 +++
 .../openctm-1.0.3-link-ctmviewer-with-libGLU.patch | 11 +++
 .../openctm/files/openctm-1.0.3-no-strip.patch     | 32 +++++++++
 .../files/openctm-1.0.3-respect-flags.patch        | 79 +++++++++++++++++++++
 .../files/openctm-1.0.3-use-system-libs.patch      | 81 ++++++++++++++++++++++
 media-libs/openctm/metadata.xml                    |  3 +
 media-libs/openctm/openctm-1.0.3-r1.ebuild         | 57 +++++++++++++++
 13 files changed, 380 insertions(+)

diff --git a/media-libs/openctm/Manifest b/media-libs/openctm/Manifest
index af6b78d6993..2ec444b8cda 100644
--- a/media-libs/openctm/Manifest
+++ b/media-libs/openctm/Manifest
@@ -1 +1,2 @@
+DIST openctm-1.0.3-src.tar.bz2 1507603 BLAKE2B 
379dad88ef3b069ee4167bdee8c1e86c6f1250c0db7bb108d12b6005f0cd19a4cafcaae51a8e1eddde7566fc9c8e361472268edb1806a5383f536d070ea4354a
 SHA512 
fdfa08d19ecbfea99ba01aa2032e941ed6313394a96bd69f8984c2d2d079d836c616471d2bdf6f40175e75659f3ad0ba41502bc3d8224091472f40893ea8746e
 DIST openctm_1.0.3+dfsg1.orig.tar.bz2 179792 BLAKE2B 
446fedc14e646b7cfc0aaac2d4f9b224482d74bf4faadd866b7121392e3863e3e42fe57f35654d4e9d7c056b3b8069dfb4668660d97ce7266d7850026654a88c
 SHA512 
4ea8c9230e01b57fce4d741df77713df8fb0493fbb20c8d4b183e3e8cec16f97e8003d2569b1c7cac07a17d334711673c0fed0c6c050bbdb901028ee9f6c32f6

diff --git 
a/media-libs/openctm/files/openctm-1.0.3-create-lib-with-correct-soname-and-symlinks.patch
 
b/media-libs/openctm/files/openctm-1.0.3-create-lib-with-correct-soname-and-symlinks.patch
new file mode 100644
index 00000000000..6b91f43aff7
--- /dev/null
+++ 
b/media-libs/openctm/files/openctm-1.0.3-create-lib-with-correct-soname-and-symlinks.patch
@@ -0,0 +1,30 @@
+--- a/lib/Makefile.linux
++++ b/lib/Makefile.linux
+@@ -33,7 +33,11 @@
+ RM = rm -f
+ DEPEND = $(CPP) -MM
+
+-DYNAMICLIB = libopenctm.so
++VERSION = 1.0.3
++SOVERSION = 1
++LIBNAME = libopenctm.so
++SONAME = $(LIBNAME).$(SOVERSION)
++DYNAMICLIB = $(LIBNAME).$(VERSION)
+
+ OBJS = openctm.o \
+        stream.o \
+@@ -64,10 +68,12 @@
+ all: $(DYNAMICLIB)
+
+ clean:
+-      $(RM) $(DYNAMICLIB) $(OBJS) $(LZMA_OBJS)
++      $(RM) $(DYNAMICLIB) $(SONAME) $(LIBNAME) $(OBJS) $(LZMA_OBJS)
+
+ $(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
+-      gcc -shared -s -Wl,-soname,$@ -o $@ $(OBJS) $(LZMA_OBJS) -lm
++      gcc -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(LZMA_OBJS) -lm
++      ln -s $(DYNAMICLIB) $(SONAME)
++      ln -s $(DYNAMICLIB) $(LIBNAME)
+
+ %.o: %.c
+       $(CC) $(CFLAGS) $<

diff --git a/media-libs/openctm/files/openctm-1.0.3-do-not-set-rpath.patch 
b/media-libs/openctm/files/openctm-1.0.3-do-not-set-rpath.patch
new file mode 100644
index 00000000000..e80e5cf34b4
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-do-not-set-rpath.patch
@@ -0,0 +1,19 @@
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -43,13 +43,13 @@
+       rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) 
$(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h
+
+ ctmconv: $(CTMCONVOBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -Wl,-rpath,. -lopenctm 
-ltinyxml
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm -ltinyxml
+
+ ctmviewer: $(CTMVIEWEROBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm 
-ltinyxml -ljpeg -lpnglite -lz -lglut -lGLU -lGLEW `pkg-config --libs gtk+-2.0`
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm -ltinyxml 
-ljpeg -lpnglite -lz -lglut -lGLU -lGLEW `pkg-config --libs gtk+-2.0`
+
+ ctmbench: $(CTMBENCHOBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
+
+ %.o: %.cpp
+       $(CPP) $(CPPFLAGS) -o $@ $<

diff --git 
a/media-libs/openctm/files/openctm-1.0.3-escape-hyphens-in-ctmconv-man-page.patch
 
b/media-libs/openctm/files/openctm-1.0.3-escape-hyphens-in-ctmconv-man-page.patch
new file mode 100644
index 00000000000..4f0a5d59889
--- /dev/null
+++ 
b/media-libs/openctm/files/openctm-1.0.3-escape-hyphens-in-ctmconv-man-page.patch
@@ -0,0 +1,11 @@
+--- a/doc/ctmconv.1
++++ b/doc/ctmconv.1
+@@ -24,7 +24,7 @@
+ Scale the mesh by a scalar factor.
+ .TP
+ .B --upaxis arg
+-Set up axis (X, Y, Z, -X, -Y, -Z). If != Z, the mesh will be flipped.
++Set up axis (X, Y, Z, \-X, \-Y, \-Z). If != Z, the mesh will be flipped.
+ .TP
+ .B --flip
+ Flip triangle orientation.

diff --git a/media-libs/openctm/files/openctm-1.0.3-fix-install-paths.patch 
b/media-libs/openctm/files/openctm-1.0.3-fix-install-paths.patch
new file mode 100644
index 00000000000..dd2e0c425f7
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-fix-install-paths.patch
@@ -0,0 +1,32 @@
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -47,19 +47,21 @@
+
+
+ # Installation settings
+-LIBDIR  = /usr/lib/
+-INCDIR  = /usr/local/include/
+-BINDIR  = /usr/local/bin/
+-MAN1DIR = /usr/local/share/man/man1/
+-CP = cp
++LIBDIR  = $(DESTDIR)/usr/$GENTOO_LIBDIR@/$(DEB_HOST_MULTIARCH)
++INCDIR  = $(DESTDIR)/usr/include/
++BINDIR  = $(DESTDIR)/usr/bin/
++MAN1DIR = $(DESTDIR)/usr/share/man/man1/
++CP = cp -P
+ MKDIR = mkdir -p
+
+-install:
+-      $(CP) lib/libopenctm.so $(LIBDIR)
++$(LIBDIR) $(INCDIR) $(BINDIR) $(MAN1DIR):
++      $(MKDIR) -p "$@"
++
++install: $(LIBDIR) $(INCDIR) $(BINDIR) $(MAN1DIR)
++      $(CP) lib/libopenctm.so* $(LIBDIR)
+       $(CP) lib/openctm.h $(INCDIR)
+       $(CP) lib/openctmpp.h $(INCDIR)
+       $(CP) tools/ctmconv $(BINDIR)
+       $(CP) tools/ctmviewer $(BINDIR)
+-      $(MKDIR) $(MAN1DIR)
+       $(CP) doc/ctmconv.1 $(MAN1DIR)
+       $(CP) doc/ctmviewer.1 $(MAN1DIR)

diff --git 
a/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-only-with-necessary-gtk-libs.patch
 
b/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-only-with-necessary-gtk-libs.patch
new file mode 100644
index 00000000000..370960721b5
--- /dev/null
+++ 
b/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-only-with-necessary-gtk-libs.patch
@@ -0,0 +1,13 @@
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -46,7 +46,9 @@
+       $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm -ltinyxml
+
+ ctmviewer: $(CTMVIEWEROBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm -ltinyxml 
-ljpeg -lpnglite -lz -lglut -lGLU -lGLEW `pkg-config --libs gtk+-2.0`
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm \
++      -ltinyxml -ljpeg -lpnglite -lz -lglut -lGLU -lGLEW \
++      -lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0
+
+ ctmbench: $(CTMBENCHOBJS)
+       $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm

diff --git 
a/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-with-libGL.patch 
b/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-with-libGL.patch
new file mode 100644
index 00000000000..b8409d4423d
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-with-libGL.patch
@@ -0,0 +1,11 @@
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -47,7 +47,7 @@
+
+ ctmviewer: $(CTMVIEWEROBJS)
+       $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm \
+-      -ltinyxml -ljpeg -lpnglite -lz -lglut -lGLU -lGLEW \
++      -ltinyxml -ljpeg -lpnglite -lz -lGL -lglut -lGLU -lGLEW \
+       -lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0
+
+ ctmbench: $(CTMBENCHOBJS)

diff --git 
a/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-with-libGLU.patch 
b/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-with-libGLU.patch
new file mode 100644
index 00000000000..1bf5d03e02d
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-link-ctmviewer-with-libGLU.patch
@@ -0,0 +1,11 @@
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -56,7 +56,7 @@
+       $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) 
-Wl,-rpath,. -lopenctm -ltinyxml
+
+ ctmviewer: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a 
$(ZLIBDIR)/libz.a libopenctm.so
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) 
-L$(ZLIBDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm -ltinyxml -ljpeg -lz 
-lglut `pkg-config --libs gtk+-2.0`
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) 
-L$(ZLIBDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm -ltinyxml -ljpeg -lz 
-lglut -lGLU `pkg-config --libs gtk+-2.0`
+
+ ctmbench: $(CTMBENCHOBJS) libopenctm.so
+       $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm

diff --git a/media-libs/openctm/files/openctm-1.0.3-no-strip.patch 
b/media-libs/openctm/files/openctm-1.0.3-no-strip.patch
new file mode 100644
index 00000000000..e42165c520b
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-no-strip.patch
@@ -0,0 +1,32 @@
+--- a/lib/Makefile.linux
++++ b/lib/Makefile.linux
+@@ -71,7 +71,7 @@
+       $(RM) $(DYNAMICLIB) $(SONAME) $(LIBNAME) $(OBJS) $(LZMA_OBJS)
+
+ $(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
+-      $(CC) $(LDFLAGS) -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) 
$(LZMA_OBJS) -lm
++      $(CC) $(LDFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $(OBJS) 
$(LZMA_OBJS) -lm
+       ln -s $(DYNAMICLIB) $(SONAME)
+       ln -s $(DYNAMICLIB) $(LIBNAME)
+
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -42,15 +42,15 @@
+       rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) 
$(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h
+
+ ctmconv: $(CTMCONVOBJS)
+-      $(CXX) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm 
-ltinyxml
++      $(CXX) $(LDFLAGS) -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm 
-ltinyxml
+
+ ctmviewer: $(CTMVIEWEROBJS)
+-      $(CXX) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm \
++      $(CXX) $(LDFLAGS) -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm \
+       -ltinyxml -ljpeg -lpnglite -lz -lGL -lglut -lGLU -lGLEW \
+       -lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0
+
+ ctmbench: $(CTMBENCHOBJS)
+-      $(CXX) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
++      $(CXX) $(LDFLAGS) -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
+
+ %.o: %.cpp
+       $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<

diff --git a/media-libs/openctm/files/openctm-1.0.3-respect-flags.patch 
b/media-libs/openctm/files/openctm-1.0.3-respect-flags.patch
new file mode 100644
index 00000000000..4a406d0caf8
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-respect-flags.patch
@@ -0,0 +1,79 @@
+--- a/lib/Makefile.linux
++++ b/lib/Makefile.linux
+@@ -27,9 +27,9 @@
+ 
###############################################################################
+
+ LZMADIR = liblzma
+-CC = gcc
+-CFLAGS = -O3 -W -Wall -c -fPIC -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM 
-std=c99 -pedantic
+-CFLAGS_LZMA = -O3 -W -Wall -c -fPIC -DLZMA_PREFIX_CTM -std=c99 -pedantic
++CFLAGS += -W -Wall -c -fPIC -std=c99 -pedantic
++INCDEF = -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM
++INCDEF_LZMA = -DLZMA_PREFIX_CTM
+ RM = rm -f
+ DEPEND = $(CPP) -MM
+
+@@ -71,15 +71,15 @@
+       $(RM) $(DYNAMICLIB) $(SONAME) $(LIBNAME) $(OBJS) $(LZMA_OBJS)
+
+ $(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
+-      gcc -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(LZMA_OBJS) -lm
++      $(CC) $(LDFLAGS) -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) 
$(LZMA_OBJS) -lm
+       ln -s $(DYNAMICLIB) $(SONAME)
+       ln -s $(DYNAMICLIB) $(LIBNAME)
+
+ %.o: %.c
+-      $(CC) $(CFLAGS) $<
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(INCDEF) $<
+
+ %.o: $(LZMADIR)/%.c
+-      $(CC) $(CFLAGS_LZMA) $<
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(INCDEF_LZMA) $<
+
+ depend:
+       $(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -29,8 +29,7 @@
+ GLEWDIR = /usr/include/GL
+ RPLYDIR = rply
+
+-CPP = g++
+-CPPFLAGS = -c -O3 -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) 
-I$(RPLYDIR) -I$(GLEWDIR)
++CXXFLAGS += -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) 
-I$(RPLYDIR) -I$(GLEWDIR)
+
+ MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o 
off.o wrl.o
+ CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS)
+@@ -43,18 +42,18 @@
+       rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) 
$(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h
+
+ ctmconv: $(CTMCONVOBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm -ltinyxml
++      $(CXX) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm 
-ltinyxml
+
+ ctmviewer: $(CTMVIEWEROBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm \
++      $(CXX) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -lopenctm \
+       -ltinyxml -ljpeg -lpnglite -lz -lGL -lglut -lGLU -lGLEW \
+       -lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0
+
+ ctmbench: $(CTMBENCHOBJS)
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
++      $(CXX) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
+
+ %.o: %.cpp
+-      $(CPP) $(CPPFLAGS) -o $@ $<
++      $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
+
+ ctmconv.o: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h
+ ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h 
meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h 
icons/icon_help.h
+@@ -83,7 +82,7 @@
+       ./bin2c phong.frag phongFragSrc > $@
+
+ bin2c: bin2c.cpp
+-      $(CPP) -Os -W -Wall -o $@ $<
++      $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -Os -W -Wall -o $@ $<
+
+ rply.o: $(RPLYDIR)/rply.c
+-      gcc -c -O2 -W -I$(RPLYDIR) -o $@ $<
++      $(CC) $(CPPFLAGS) $(CFLAGS) -c -O2 -W -I$(RPLYDIR) -o $@ $<

diff --git a/media-libs/openctm/files/openctm-1.0.3-use-system-libs.patch 
b/media-libs/openctm/files/openctm-1.0.3-use-system-libs.patch
new file mode 100644
index 00000000000..e6d158c6c3b
--- /dev/null
+++ b/media-libs/openctm/files/openctm-1.0.3-use-system-libs.patch
@@ -0,0 +1,81 @@
+--- a/tools/Makefile.linux
++++ b/tools/Makefile.linux
+@@ -26,39 +26,29 @@
+ 
###############################################################################
+
+ OPENCTMDIR = ../lib
+-GLEWDIR = glew
+-JPEGDIR = jpeg
++GLEWDIR = /usr/include/GL
+ RPLYDIR = rply
+-TINYXMLDIR = tinyxml
+-ZLIBDIR = zlib
+-PNGLITEDIR = pnglite
+
+ CPP = g++
+-CPPFLAGS = -c -O3 -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) 
-I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) 
-I$(PNGLITEDIR)
++CPPFLAGS = -c -O3 -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) 
-I$(RPLYDIR) -I$(GLEWDIR)
+
+ MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o 
off.o wrl.o
+ CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS)
+-CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o 
convoptions.o glew.o pnglite.o $(MESHOBJS)
+-CTMBENCHOBJS = ctmbench.o systimer.o
++CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o 
convoptions.o $(MESHOBJS)
++      CTMBENCHOBJS = ctmbench.o systimer.o
+
+ all: ctmconv ctmviewer ctmbench
+
+ clean:
+       rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) 
$(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h
+-      cd $(JPEGDIR) && $(MAKE) -f makefile.linux clean
+-      cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux clean
+-      cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux clean
+
+-libopenctm.so: $(OPENCTMDIR)/libopenctm.so
+-      cp $< $@
++ctmconv: $(CTMCONVOBJS)
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -Wl,-rpath,. -lopenctm 
-ltinyxml
+
+-ctmconv: $(CTMCONVOBJS) $(TINYXMLDIR)/libtinyxml.a libopenctm.so
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) 
-Wl,-rpath,. -lopenctm -ltinyxml
++ctmviewer: $(CTMVIEWEROBJS)
++      $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm 
-ltinyxml -ljpeg -lpnglite -lz -lglut -lGLU -lGLEW `pkg-config --libs gtk+-2.0`
+
+-ctmviewer: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a 
$(ZLIBDIR)/libz.a libopenctm.so
+-      $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) 
-L$(ZLIBDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm -ltinyxml -ljpeg -lz 
-lglut -lGLU `pkg-config --libs gtk+-2.0`
+-
+-ctmbench: $(CTMBENCHOBJS) libopenctm.so
++ctmbench: $(CTMBENCHOBJS)
+       $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm
+
+ %.o: %.cpp
+@@ -68,7 +58,7 @@
+ ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h 
meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h 
icons/icon_help.h
+ ctmbench.o: ctmbench.cpp systimer.h
+ common.o: common.cpp common.h
+-image.o: image.cpp image.h common.h $(JPEGDIR)/libjpeg.a
++image.o: image.cpp image.h common.h
+ systimer.o: systimer.cpp systimer.h
+ sysdialog_gtk.o: sysdialog_gtk.cpp sysdialog.h
+ convoptions.o: convoptions.cpp convoptions.h
+@@ -93,20 +83,5 @@
+ bin2c: bin2c.cpp
+       $(CPP) -Os -W -Wall -o $@ $<
+
+-$(JPEGDIR)/libjpeg.a:
+-      cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a
+-
+-$(ZLIBDIR)/libz.a:
+-      cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux
+-
+-glew.o: $(GLEWDIR)/glew.c
+-      gcc -c -Os -W -I$(GLEWDIR) -o $@ $<
+-
+ rply.o: $(RPLYDIR)/rply.c
+       gcc -c -O2 -W -I$(RPLYDIR) -o $@ $<
+-
+-pnglite.o: $(PNGLITEDIR)/pnglite.c
+-      gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $<
+-
+-$(TINYXMLDIR)/libtinyxml.a:
+-      cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux

diff --git a/media-libs/openctm/metadata.xml b/media-libs/openctm/metadata.xml
index 2dcfe570b10..770fe31ee81 100644
--- a/media-libs/openctm/metadata.xml
+++ b/media-libs/openctm/metadata.xml
@@ -8,6 +8,9 @@
                <email>3dpr...@gentoo.org</email>
                <name>Gentoo 3D print</name>
        </maintainer>
+       <slots>
+               <subslots>soname major version number</subslots>
+       </slots>
        <longdescription>
                OpenCTM - the Open Compressed Triangle Mesh file format - is a 
file format, a software library and a tool set for compression of 3D triangle 
meshes.
        </longdescription>

diff --git a/media-libs/openctm/openctm-1.0.3-r1.ebuild 
b/media-libs/openctm/openctm-1.0.3-r1.ebuild
new file mode 100644
index 00000000000..60585930f8e
--- /dev/null
+++ b/media-libs/openctm/openctm-1.0.3-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils multilib flag-o-matic toolchain-funcs
+
+MY_P=OpenCTM-${PV}
+
+DESCRIPTION="OpenCTM - the Open Compressed Triangle Mesh."
+HOMEPAGE="http://openctm.sourceforge.net";
+SRC_URI="https://downloads.sourceforge.net/project/openctm/${MY_P}/${MY_P}-src.tar.bz2
 -> ${P}-src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+DEPEND="
+       dev-libs/tinyxml
+       media-libs/glew:0=
+       media-libs/pnglite
+       sys-libs/zlib
+       virtual/jpeg:0
+       media-libs/freeglut
+       virtual/opengl
+       x11-libs/gtk+:2"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-escape-hyphens-in-ctmconv-man-page.patch"
+       "${FILESDIR}/${P}-link-ctmviewer-with-libGLU.patch"
+       "${FILESDIR}/${P}-use-system-libs.patch"
+       "${FILESDIR}/${P}-do-not-set-rpath.patch"
+       "${FILESDIR}/${P}-link-ctmviewer-only-with-necessary-gtk-libs.patch"
+       "${FILESDIR}/${P}-link-ctmviewer-with-libGL.patch"
+       "${FILESDIR}/${P}-create-lib-with-correct-soname-and-symlinks.patch"
+       "${FILESDIR}/${P}-fix-install-paths.patch"
+       "${FILESDIR}/${P}-respect-flags.patch"
+       "${FILESDIR}/${P}-no-strip.patch"
+)
+
+src_prepare() {
+       edos2unix lib/Makefile.linux
+
+       default
+}
+
+src_compile() {
+       emake CC=$(tc-getCC) CXX="$(tc-getCXX)" -f Makefile.linux
+}
+
+src_install() {
+  emake DESTDIR="${ED}" LIBDIR="${ED}/usr/$(get_libdir)" -f Makefile.linux 
install
+}

Reply via email to