SHA256
1
0
forked from pool/freeglut

Accepting request 780943 from devel:libraries:c_c++

- Add patch to fix build with GCC 10 bsc#1160391:
  * gcc10.patch

- 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/request/show/780943
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/freeglut?expand=0&rev=38
This commit is contained in:
Dominique Leuenberger 2020-03-05 22:17:05 +00:00 committed by Git OBS Bridge
commit cae074a9d8
8 changed files with 107 additions and 36 deletions

View File

@ -1,5 +1,3 @@
libglut3
freeglut-devel
requires -freeglut-<targettype>
requires "libglut3-<targettype> = <version>"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2
size 419095

3
freeglut-3.2.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68
size 440228

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Mar 2 12:40:01 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Add patch to fix build with GCC 10 bsc#1160391:
* gcc10.patch
-------------------------------------------------------------------
Thu Jan 9 08:04:16 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- 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

View File

@ -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,21 +12,21 @@
# 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
Patch0: gcc10.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig
@ -39,7 +39,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 +51,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 +67,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 +92,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 +107,13 @@ 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
%patch0 -p3
%build
%cmake \
-DFREEGLUT_BUILD_STATIC_LIBS=OFF
make %{?_smp_mflags}
%cmake_build
%install
%cmake_install
@ -129,30 +126,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

66
gcc10.patch Normal file
View File

@ -0,0 +1,66 @@
From b9998bbc1e1c329f6bf69c24606a2be7a4973b8c Mon Sep 17 00:00:00 2001
From: jtsiomb <jtsiomb@7f0cb862-5218-0410-a997-914c9d46530a>
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6446f630843eccadff2a8bd96c58845bb119006e7c7b441326c7edcde28edf9b
size 37531

BIN
openglut-0.6.3-doc.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.