[packages/poly2tri] - poly2tri-c project moved to poly2tri-c.spec; this spec updated for original poly2tri project - add

qboosh qboosh at pld-linux.org
Sat Jul 4 21:23:11 CEST 2015


commit 8140126b2f06be9a3af79e2fd852eb3a8543c17d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Jul 4 21:25:06 2015 +0200

    - poly2tri-c project moved to poly2tri-c.spec; this spec updated for original poly2tri project
    - added glfw3 patch (fixes build wtih glfw 3)

 poly2tri-build.patch |  13 ------
 poly2tri-glfw3.patch |  59 +++++++++++++++++++++++++++
 poly2tri.spec        | 112 ++++++++++++++++++++++++++++++++++-----------------
 3 files changed, 134 insertions(+), 50 deletions(-)
---
diff --git a/poly2tri.spec b/poly2tri.spec
index 8206c5d..28d8b7f 100644
--- a/poly2tri.spec
+++ b/poly2tri.spec
@@ -1,69 +1,107 @@
-Name:		poly2tri
-Version:	0.0
-%global         date 20150515
-%global         snapshot %{date}hg%{rev}
 Summary:	A 2D constrained Delaunay triangulation library
-Release:	0.%{date}.1
+Summary(pl.UTF-8):	Biblioteka triangulacji Delaunaya z ograniczeniami w 2D
+Name:		poly2tri
+# see wscript
+Version:	0.3.3
+%define	snap	20150515
+Release:	0.%{snap}.1
 License:	BSD
-Group:		Development/Libraries
+Group:		Libraries
+Source0:	https://poly2tri.googlecode.com/archive/26242d0aa7b85fe3bf8c64a343dbe8a88055de37.tar.gz
+# Source0-md5:	41a410f8b4de7cd6a3d64546c43a058b
+Patch0:		%{name}-glfw3.patch
 URL:		https://code.google.com/p/poly2tri
-Source0:	https://poly2tri-c.googlecode.com/archive/5ac75d6f09e4de35ef33289c69bc1d46c2a04970.tar.gz
-# Source0-md5:	844558199746106bd76043b716c10c85
-Patch0:		%{name}-build.patch
-BuildRequires:	Mesa-libGL-devel
-BuildRequires:	autoconf
-BuildRequires:	automake
-BuildRequires:	libtool
+BuildRequires:	OpenGL-devel
+BuildRequires:	glfw-devel >= 3
+BuildRequires:	libstdc++-devel
+BuildRequires:	libtool >= 2:1.5
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 Library based on the paper "Sweep-line algorithm for constrained
-Delaunay triangulation" by V. Domiter and and B. Zalik.
+Delaunay triangulation" by V. Domiter and B. Zalik.
+
+%description
+Biblioteka oparta na dokumencie "Sweep-line algorithm for constrained
+Delaunay triangulation" (Algorytm zamiatania płaszczyzny do
+triangulacji Delaunaya z ograniczeniami) autorstwa V. Domitera oraz B.
+Zalika.
 
 %package devel
-Summary:	Development files for %{name}
+Summary:	Development files for poly2tri library
+Summary(pl.UTF-8):	Pliki programistyczne biblioteki poly2tri
+Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
+Requires:	libstdc++-devel
 
 %description devel
-Development files for %{name}.
+Development files for poly2tri library.
+
+%description devel -l pl.UTF-8
+Pliki programistyczne biblioteki poly2tri.
+
+%package static
+Summary:	Static poly2tri library
+Summary(pl.UTF-8):	Statyczna biblioteka poly2tri
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static poly2tri library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka poly2tri.
 
 %prep
-%setup -q -n %{name}-c-5ac75d6f09e4
+%setup -q -n %{name}-26242d0aa7b8
 %patch0 -p1
 
 %build
-%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
+# it doesn't actually build the library
+#waf configure
+#waf build
+
+# ...so do it manually
+for f in poly2tri/common/shapes.cc poly2tri/sweep/{cdt,advancing_front,sweep_context,sweep}.cc ; do
+	libtool --mode=compile --tag=CXX %{__cxx} %{rpmcxxflags} %{rpmcppflags} -c $f
+done
+libtool --mode=link --tag=CXX %{__cxx} %{rpmldflags} %{rpmcxxflags} %{rpmcppflags} -o libpoly2tri.la shapes.lo cdt.lo advancing_front.lo sweep_context.lo sweep.lo -rpath %{_libdir}
 
-%configure \
-	--disable-silent-rules
-%{__make} -j1
+libtool --mode=link --tag=CXX %{__cxx} %{rpmldflags} %{rpmcxxflags} %{rpmcppflags} -o p2t testbed/main.cc libpoly2tri.la -lGL -lglfw
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/poly2tri/{common,sweep}}
 
-%{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT
+#waf install
 
-rm $RPM_BUILD_ROOT%{_libdir}/lib%{name}-c-*.{a,la}
+libtool --mode=install install libpoly2tri.la $RPM_BUILD_ROOT%{_libdir}
+libtool --mode=install install p2t $RPM_BUILD_ROOT%{_bindir}
+cp -p poly2tri/poly2tri.h $RPM_BUILD_ROOT%{_includedir}/poly2tri
+cp -p poly2tri/common/shapes.h $RPM_BUILD_ROOT%{_includedir}/poly2tri/common
+cp -p poly2tri/common/shapes.h $RPM_BUILD_ROOT%{_includedir}/poly2tri/common
+cp -p poly2tri/sweep/{cdt,advancing_front,sweep_context,sweep}.h $RPM_BUILD_ROOT%{_includedir}/poly2tri/sweep
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpoly2tri.la
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc README
-%attr(755,root,root) %{_bindir}/p2tc
-%attr(755,root,root) %ghost %{_libdir}/lib%{name}-c-*.so.0
-%attr(755,root,root) %{_libdir}/lib%{name}-c-*.so.*.*
+%doc AUTHORS LICENSE README
+%attr(755,root,root) %{_bindir}/p2t
+%attr(755,root,root) %{_libdir}/libpoly2tri.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpoly2tri.so.0
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib%{name}-c-*.so
-%{_includedir}/%{name}-c-*
-%{_pkgconfigdir}/poly2tri-c.pc
+%attr(755,root,root) %{_libdir}/libpoly2tri.so
+%{_includedir}/poly2tri
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libpoly2tri.a
diff --git a/poly2tri-build.patch b/poly2tri-build.patch
deleted file mode 100644
index ea4e7bf..0000000
--- a/poly2tri-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/poly2tri-c/refine/Makefile.am b/poly2tri-c/refine/Makefile.am
-index 8701b0d..85cba9f 100644
---- a/poly2tri-c/refine/Makefile.am
-+++ b/poly2tri-c/refine/Makefile.am
-@@ -1,6 +1,6 @@
- noinst_LTLIBRARIES = libp2tc-refine.la
- 
--libp2tc_refine_la_SOURCES = bounded-line.c bounded-line.h cdt.c cdt.h cdt-flipfix.c cdt-flipfix.h circle.c circle.h cluster.c cluster.h delaunay-terminator.c delaunay-terminator.h edge.c edge.h line.c line.h rmath.c rmath.h mesh.c mesh.h mesh-action.c mesh-action.h point.c point.h pslg.c pslg.h refine.h refiner.c refiner.h triangle.c triangle.h triangulation.h utils.c utils.h vector2.c vector2.h vedge.c vedge.h vtriangle.c vtriangle.h visibility.c visibility.h
-+libp2tc_refine_la_SOURCES = bounded-line.c bounded-line.h rcdt.c rcdt.h cdt-flipfix.c cdt-flipfix.h circle.c circle.h cluster.c cluster.h delaunay-terminator.c delaunay-terminator.h edge.c edge.h line.c line.h rmath.c rmath.h mesh.c mesh.h mesh-action.c mesh-action.h point.c point.h pslg.c pslg.h refine.h refiner.c refiner.h triangle.c triangle.h triangulation.h rutils.c rutils.h vector2.c vector2.h vedge.c vedge.h vtriangle.c vtriangle.h visibility.c visibility.h
- 
- P2TC_REFINE_publicdir = $(P2TC_publicdir)/refine
--P2TC_REFINE_public_HEADERS = bounded-line.h cdt.h circle.h cluster.h edge.h line.h mesh.h mesh-action.h point.h pslg.h refine.h refiner.h rmath.h triangle.h triangulation.h utils.h vector2.h vedge.h vtriangle.h visibility.h
-+P2TC_REFINE_public_HEADERS = bounded-line.h rcdt.h circle.h cluster.h edge.h line.h mesh.h mesh-action.h point.h pslg.h refine.h refiner.h rmath.h triangle.h triangulation.h rutils.h vector2.h vedge.h vtriangle.h visibility.h
diff --git a/poly2tri-glfw3.patch b/poly2tri-glfw3.patch
new file mode 100644
index 0000000..8ead0cc
--- /dev/null
+++ b/poly2tri-glfw3.patch
@@ -0,0 +1,59 @@
+--- poly2tri-26242d0aa7b8/testbed/main.cc.orig	2012-04-04 02:05:50.000000000 +0200
++++ poly2tri-26242d0aa7b8/testbed/main.cc	2015-07-04 18:11:18.741031421 +0200
+@@ -29,7 +29,7 @@
+  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  */
+ #include <cstdlib>
+-#include <GL/glfw.h>
++#include <GLFW/glfw3.h>
+ #include <time.h>
+ #include <fstream>
+ #include <string>
+--- poly2tri-26242d0aa7b8/testbed/main.cc.orig	2015-07-04 18:12:17.604362282 +0200
++++ poly2tri-26242d0aa7b8/testbed/main.cc	2015-07-04 19:18:06.324196570 +0200
+@@ -76,6 +76,7 @@
+ bool draw_map = false;
+ /// Create a random distribution of points?
+ bool random_distribution = false;
++GLFWwindow *window = NULL;
+ 
+ template <class C> void FreeClear( C & cntr ) {
+     for ( typename C::iterator it = cntr.begin(); 
+@@ -229,11 +230,10 @@
+ 
+   if (glfwInit() != GL_TRUE)
+     ShutDown(1);
+-  // 800 x 600, 16 bit color, no depth, alpha or stencil buffers, windowed
+-  if (glfwOpenWindow(window_width, window_height, 5, 6, 5, 0, 0, 0, GLFW_WINDOW) != GL_TRUE)
++  window = glfwCreateWindow(window_width, window_height, "Poly2Tri - C++", NULL, NULL);
++  if (window == NULL)
+     ShutDown(1);
+ 
+-  glfwSetWindowTitle("Poly2Tri - C++");
+   glfwSwapInterval(1);
+ 
+   glEnable(GL_BLEND);
+@@ -263,11 +263,11 @@
+ 
+     // escape to quit, arrow keys to rotate view
+     // Check if ESC key was pressed or window was closed
+-    running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED);
++    running = !glfwGetKey(window, GLFW_KEY_ESCAPE) && !glfwWindowShouldClose(window);
+ 
+-    if (glfwGetKey(GLFW_KEY_LEFT) == GLFW_PRESS)
++    if (glfwGetKey(window, GLFW_KEY_LEFT) == GLFW_PRESS)
+       rotate_y += delta_rotate;
+-    if (glfwGetKey(GLFW_KEY_RIGHT) == GLFW_PRESS)
++    if (glfwGetKey(window, GLFW_KEY_RIGHT) == GLFW_PRESS)
+       rotate_y -= delta_rotate;
+     // z axis always rotates
+     rotate_z += delta_rotate;
+@@ -280,7 +280,7 @@
+     }
+ 
+     // swap back and front buffers
+-    glfwSwapBuffers();
++    glfwSwapBuffers(window);
+   }
+ }
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/poly2tri.git/commitdiff/8140126b2f06be9a3af79e2fd852eb3a8543c17d



More information about the pld-cvs-commit mailing list