From 6b67e5fe9048248a79b4ebc01bfb7d81c46737307895bdb5a57d1ea4cdf83daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 9 Jan 2020 08:13:43 +0000 Subject: [PATCH 1/2] - Update to 3.2.1: * Various fixes around the place that happened since last release - Fetch the glut manpages from web to point them somewhere OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/freeglut?expand=0&rev=25 --- baselibs.conf | 2 -- freeglut-3.0.0.tar.gz | 3 --- freeglut-3.2.1.tar.gz | 3 +++ freeglut.changes | 7 ++++++ freeglut.spec | 48 ++++++++++++++++----------------------- glutman.tar.bz2 | 3 --- openglut-0.6.3-doc.tar.gz | 3 +++ 7 files changed, 33 insertions(+), 36 deletions(-) delete mode 100644 freeglut-3.0.0.tar.gz create mode 100644 freeglut-3.2.1.tar.gz delete mode 100644 glutman.tar.bz2 create mode 100644 openglut-0.6.3-doc.tar.gz diff --git a/baselibs.conf b/baselibs.conf index dafc2e4..3199e85 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,5 +1,3 @@ libglut3 freeglut-devel - requires -freeglut- requires "libglut3- = " - diff --git a/freeglut-3.0.0.tar.gz b/freeglut-3.0.0.tar.gz deleted file mode 100644 index 9760ccc..0000000 --- a/freeglut-3.0.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2 -size 419095 diff --git a/freeglut-3.2.1.tar.gz b/freeglut-3.2.1.tar.gz new file mode 100644 index 0000000..145b76c --- /dev/null +++ b/freeglut-3.2.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68 +size 440228 diff --git a/freeglut.changes b/freeglut.changes index 8618861..86d6625 100644 --- a/freeglut.changes +++ b/freeglut.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jan 9 08:04:16 UTC 2020 - Tomáš Chvátal + +- Update to 3.2.1: + * Various fixes around the place that happened since last release +- Fetch the glut manpages from web to point them somewhere + ------------------------------------------------------------------- Fri Mar 13 13:12:11 UTC 2015 - tchvatal@suse.com diff --git a/freeglut.spec b/freeglut.spec index 1677721..40bffa6 100644 --- a/freeglut.spec +++ b/freeglut.spec @@ -1,7 +1,7 @@ # # spec file for package freeglut # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,20 +12,19 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define _libname libglut3 Name: freeglut -Version: 3.0.0 +Version: 3.2.1 Release: 0 Summary: Freely licensed alternative to the GLUT library License: MIT -Group: System/Libraries -Url: http://freeglut.sourceforge.net/ +URL: http://freeglut.sourceforge.net/ Source: https://downloads.sourceforge.net/project/freeglut/%{name}/%{version}/%{name}-%{version}.tar.gz -Source1: glutman.tar.bz2 +Source1: https://downloads.sourceforge.net/openglut/openglut-0.6.3-doc.tar.gz Source2: baselibs.conf BuildRequires: cmake BuildRequires: gcc-c++ @@ -39,7 +38,6 @@ BuildRequires: pkgconfig(xxf86vm) Recommends: Mesa-demo-x Provides: mesaglut = 7.11 Obsoletes: mesaglut < 7.11 -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Freeglut is a completely open source alternative to the OpenGL Utility @@ -52,11 +50,10 @@ GLUT (and freeglut) allow the user to create and manage windows containing OpenGL contexts and also read the mouse, keyboard, and joystick functions on a wide range of platforms. -%package -n %_libname +%package -n %{_libname} Summary: Freely licensed alternative to the GLUT library -Group: Development/Libraries/X11 -%description -n %_libname +%description -n %{_libname} Freeglut is a completely open source alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT was originally written by Mark Kilgard to support the sample programs in the second edition OpenGL Redbook. Since @@ -69,8 +66,7 @@ joystick functions on a wide range of platforms. %package devel Summary: Development libraries, includes and man pages for freeglut (GLUT Library) -Group: Development/Libraries/X11 -Requires: %_libname = %{version} +Requires: %{_libname} = %{version} Requires: pkgconfig(gl) Requires: pkgconfig(glu) Provides: mesaglut-devel = 7.11 @@ -95,7 +91,6 @@ joystick functions on a wide range of platforms. %package demo Summary: Demonstration applications for the freeglut library -Group: System/X11/Utilities %description demo This package contains demonstration applications for the freeglut library. @@ -111,12 +106,12 @@ containing OpenGL contexts and also read the mouse, keyboard, and joystick functions on a wide range of platforms. %prep -%setup -q -b0 -b1 +%setup -q -a1 %build %cmake \ -DFREEGLUT_BUILD_STATIC_LIBS=OFF -make %{?_smp_mflags} +%cmake_build %install %cmake_install @@ -129,30 +124,27 @@ for i in *; do done popd > /dev/null -# old glut Manual Pages +# glut manpages mkdir -p %{buildroot}/%{_mandir}/man3 -for i in ../glut-3.7/man/glut/glut*; do - install -m 644 $i %{buildroot}/%{_mandir}/man3/`basename $i man`3 -done +install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3 -%post -n %_libname -p /sbin/ldconfig +%post -n %{_libname} -p /sbin/ldconfig +%postun -n %{_libname} -p /sbin/ldconfig -%postun -n %_libname -p /sbin/ldconfig - -%files -n %_libname -%defattr(-,root,root) -%doc AUTHORS COPYING README +%files -n %{_libname} +%license COPYING +%doc AUTHORS README %{_libdir}/libglut.so.* %files devel -%defattr(-,root,root) %{_includedir}/GL %{_libdir}/libglut.so -%{_libdir}/pkgconfig/freeglut.pc +%{_libdir}/pkgconfig/glut.pc +%dir %{_libdir}/cmake/FreeGLUT +%{_libdir}/cmake/FreeGLUT/* %{_mandir}/man3/* %files demo -%defattr(-,root,root) %{_libexecdir}/freeglut %changelog diff --git a/glutman.tar.bz2 b/glutman.tar.bz2 deleted file mode 100644 index a002db3..0000000 --- a/glutman.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6446f630843eccadff2a8bd96c58845bb119006e7c7b441326c7edcde28edf9b -size 37531 diff --git a/openglut-0.6.3-doc.tar.gz b/openglut-0.6.3-doc.tar.gz new file mode 100644 index 0000000..ecf4db9 --- /dev/null +++ b/openglut-0.6.3-doc.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:376b2f89680a9cdea0289de4e633e2287dcd80ba887a7b77ee7281934e5d2a38 +size 1060001 From 99f9bdda7bfe2e471c4409388c7df83719f826bd37ebfec8492d5e1c7c5f5468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 2 Mar 2020 12:46:56 +0000 Subject: [PATCH 2/2] - Add patch to fix build with GCC 10 bsc#1160391: * gcc10.patch OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/freeglut?expand=0&rev=26 --- freeglut.changes | 6 +++++ freeglut.spec | 2 ++ gcc10.patch | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 gcc10.patch diff --git a/freeglut.changes b/freeglut.changes index 86d6625..e4cbc7a 100644 --- a/freeglut.changes +++ b/freeglut.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Mar 2 12:40:01 UTC 2020 - Tomáš Chvátal + +- Add patch to fix build with GCC 10 bsc#1160391: + * gcc10.patch + ------------------------------------------------------------------- Thu Jan 9 08:04:16 UTC 2020 - Tomáš Chvátal diff --git a/freeglut.spec b/freeglut.spec index 40bffa6..da0ed76 100644 --- a/freeglut.spec +++ b/freeglut.spec @@ -26,6 +26,7 @@ URL: http://freeglut.sourceforge.net/ Source: https://downloads.sourceforge.net/project/freeglut/%{name}/%{version}/%{name}-%{version}.tar.gz Source1: https://downloads.sourceforge.net/openglut/openglut-0.6.3-doc.tar.gz Source2: baselibs.conf +Patch0: gcc10.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -107,6 +108,7 @@ joystick functions on a wide range of platforms. %prep %setup -q -a1 +%patch0 -p3 %build %cmake \ diff --git a/gcc10.patch b/gcc10.patch new file mode 100644 index 0000000..72fcb83 --- /dev/null +++ b/gcc10.patch @@ -0,0 +1,66 @@ +From b9998bbc1e1c329f6bf69c24606a2be7a4973b8c Mon Sep 17 00:00:00 2001 +From: jtsiomb +Date: Fri, 21 Feb 2020 22:25:31 +0000 +Subject: [PATCH] Work-around for an issue which cropped up with the release of + gcc-10. In their infinite wisdom, they decided to build with -fno-common as + default from now on, breaking every piece of C code which used to declare + common symbols in header files, as was the convention since the dawn of time. + We now have to duplicate all declarations to an arbitrary source file, and + change the header-file ones to prefix them with extern. + +git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1863 7f0cb862-5218-0410-a997-914c9d46530a +--- + freeglut/freeglut/src/fg_gl2.c | 14 ++++++++++++++ + freeglut/freeglut/src/fg_gl2.h | 14 +++++++------- + 2 files changed, 21 insertions(+), 7 deletions(-) + +diff --git a/freeglut/freeglut/src/fg_gl2.c b/freeglut/freeglut/src/fg_gl2.c +index 38b0acbb..54b4285b 100644 +--- a/freeglut/freeglut/src/fg_gl2.c ++++ b/freeglut/freeglut/src/fg_gl2.c +@@ -27,6 +27,20 @@ + #include "fg_internal.h" + #include "fg_gl2.h" + ++#ifndef GL_ES_VERSION_2_0 ++/* GLES2 has the corresponding entry points built-in, and these fgh-prefixed ++ * names are defined in fg_gl2.h header to reference them, for any other case, ++ * define them as function pointers here. ++ */ ++FGH_PFNGLGENBUFFERSPROC fghGenBuffers; ++FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; ++FGH_PFNGLBINDBUFFERPROC fghBindBuffer; ++FGH_PFNGLBUFFERDATAPROC fghBufferData; ++FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; ++FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; ++FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; ++#endif ++ + void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib) { + if (fgStructure.CurrentWindow != NULL) + fgStructure.CurrentWindow->Window.attribute_v_coord = attrib; +diff --git a/freeglut/freeglut/src/fg_gl2.h b/freeglut/freeglut/src/fg_gl2.h +index ab8ba5c7..fb3d4676 100644 +--- a/freeglut/freeglut/src/fg_gl2.h ++++ b/freeglut/freeglut/src/fg_gl2.h +@@ -67,13 +67,13 @@ typedef void (APIENTRY *FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); + typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); + typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); + +-FGH_PFNGLGENBUFFERSPROC fghGenBuffers; +-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; +-FGH_PFNGLBINDBUFFERPROC fghBindBuffer; +-FGH_PFNGLBUFFERDATAPROC fghBufferData; +-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; +-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; +-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; ++extern FGH_PFNGLGENBUFFERSPROC fghGenBuffers; ++extern FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; ++extern FGH_PFNGLBINDBUFFERPROC fghBindBuffer; ++extern FGH_PFNGLBUFFERDATAPROC fghBufferData; ++extern FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; ++extern FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; ++extern FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; + + # endif +