diff --git a/.gitignore b/.gitignore index cea54e0..78c5933 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ freeglut-2.6.0.tar.gz openglut-0.6.3-doc.tar.gz /freeglut-2.8.0.tar.gz +/freeglut-2.8.1.tar.gz diff --git a/freeglut-2.4.0-cursor.patch b/freeglut-2.4.0-cursor.patch deleted file mode 100644 index fab7f9e..0000000 --- a/freeglut-2.4.0-cursor.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- src/freeglut_cursor.c.old 2006-10-11 20:49:13.000000000 +0200 -+++ src/freeglut_cursor.c 2006-10-11 20:51:43.000000000 +0200 -@@ -147,11 +147,13 @@ - } - } - -- if ( ( cursorIDToUse != GLUT_CURSOR_NONE ) && ( cursor == None ) ) { -+ if ( cursorIDToUse == GLUT_CURSOR_INHERIT ) { -+ XUndefineCursor( fgDisplay.Display, window->Window.Handle ); -+ } else if ( cursor != None ) { -+ XDefineCursor( fgDisplay.Display, window->Window.Handle, cursor ); -+ } else if ( cursorIDToUse != GLUT_CURSOR_NONE ) { - fgError( "Failed to create cursor" ); - } -- XDefineCursor( fgDisplay.Display, -- window->Window.Handle, cursor ); - } - - #elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE diff --git a/freeglut-2.6.0-noxwarn.patch b/freeglut-2.6.0-noxwarn.patch deleted file mode 100644 index 3c9f973..0000000 --- a/freeglut-2.6.0-noxwarn.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up freeglut-2.6.0/src/freeglut_main.c.noxwarn freeglut-2.6.0/src/freeglut_main.c ---- freeglut-2.6.0/src/freeglut_main.c.noxwarn 2010-05-31 10:49:29.002037712 +0200 -+++ freeglut-2.6.0/src/freeglut_main.c 2010-05-31 10:50:58.986037800 +0200 -@@ -1413,7 +1413,9 @@ void FGAPIENTRY glutMainLoopEvent( void - break; - - default: -- fgWarning ("Unknown X event type: %d\n", event.type); -+ /* Fedora patch: the unknown events seem to be quite frequent with -+ * the new xorg. Let's not spam the user with the messages */ -+ /* fgWarning ("Unknown X event type: %d\n", event.type); */ - break; - } - } diff --git a/freeglut-2.8.0-btnmask.patch b/freeglut-2.8.0-btnmask.patch deleted file mode 100644 index 0b150d4..0000000 --- a/freeglut-2.8.0-btnmask.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up freeglut-2.8.0/src/freeglut_xinput.c.btnmask freeglut-2.8.0/src/freeglut_xinput.c ---- freeglut-2.8.0/src/freeglut_xinput.c.btnmask 2012-08-27 15:55:07.841482330 +0200 -+++ freeglut-2.8.0/src/freeglut_xinput.c 2012-08-27 15:57:12.423604612 +0200 -@@ -13,6 +13,9 @@ - #include - #include - -+/* convert the XInput button state mask to the regular X mouse event button mask */ -+#define BUTTON_MASK(xistate) ((xistate) << 8) -+ - /* import function from freeglut_main.c */ - int fghGetXModifiers( int state ); - -@@ -188,7 +191,7 @@ void fgHandleExtensionEvents( XEvent* ba - std_ev.xcrossing.detail = evcross->detail; - std_ev.xcrossing.same_screen = evcross->same_screen; - std_ev.xcrossing.focus = evcross->focus; -- std_ev.xcrossing.state = *(unsigned int*)evcross->buttons.mask; -+ std_ev.xcrossing.state = BUTTON_MASK(*(unsigned int*)evcross->buttons.mask); - - XPutBackEvent(fgDisplay.Display, &std_ev); - break; -@@ -213,7 +216,7 @@ void fgHandleExtensionEvents( XEvent* ba - std_ev.xbutton.y = event->event_y; - std_ev.xbutton.x_root = event->root_x; - std_ev.xbutton.y_root = event->root_y; -- std_ev.xbutton.state = *(unsigned int*)event->buttons.mask; -+ std_ev.xbutton.state = BUTTON_MASK(*(unsigned int*)event->buttons.mask); - std_ev.xbutton.button = event->detail; - - XPutBackEvent(fgDisplay.Display, &std_ev); -@@ -245,7 +248,7 @@ void fgHandleExtensionEvents( XEvent* ba - std_ev.xmotion.y = event->event_y; - std_ev.xmotion.x_root = event->root_x; - std_ev.xmotion.y_root = event->root_y; -- std_ev.xmotion.state = *(unsigned int*)event->buttons.mask; -+ std_ev.xmotion.state = BUTTON_MASK(*(unsigned int*)event->buttons.mask); - std_ev.xmotion.is_hint = NotifyNormal; - - XPutBackEvent(fgDisplay.Display, &std_ev); diff --git a/freeglut-2.8.0-fixXInput.patch b/freeglut-2.8.0-fixXInput.patch deleted file mode 100644 index 983de70..0000000 --- a/freeglut-2.8.0-fixXInput.patch +++ /dev/null @@ -1,176 +0,0 @@ ---- freeglut-2.8.0/src/freeglut_xinput.c-before 2012-08-09 15:19:24.201786724 +0200 -+++ freeglut-2.8.0/src/freeglut_xinput.c 2012-08-09 15:19:28.219736211 +0200 -@@ -143,72 +143,120 @@ void fgPrintXIDeviceEvent(XIDeviceEvent* - * \brief This function is called when an Extension Event is received - * and calls the corresponding callback functions for these events. - */ --void fgHandleExtensionEvents( XEvent* base_ev ) { -- -+void fgHandleExtensionEvents( XEvent* base_ev ) -+{ -+ XEvent std_ev; /* standard single-pointer event to be added to the event queue */ - int i, button = 0; - XGenericEventCookie* cookie = (XGenericEventCookie*)&(base_ev->xcookie); - -+ /* initialize the generic fields from base_ev */ -+ std_ev.xany = base_ev->xany; -+ - if ( XGetEventData( fgDisplay.Display, cookie ) && (cookie->type == GenericEvent) && (cookie->extension == xi_opcode) ) { - - XIDeviceEvent* event = (XIDeviceEvent*)(cookie->data); -+ XIEnterEvent *evcross; - /*printf("XI2 event type: %d - %d\n", cookie->evtype, event->type );*/ - - SFG_Window* window = fgWindowByHandle( event->event ); - if (!window) return; - - switch (cookie->evtype) { -- -- case XI_Enter: -- case XI_Leave: -- fgState.Modifiers = fghGetXModifiers( ((XIEnterEvent*)event)->mods.base ); -- INVOKE_WCB( *window, MultiEntry, ( -- event->deviceid, -- (event->evtype == XI_Enter ? GLUT_ENTERED : GLUT_LEFT) -- )); -- #if _DEBUG -- fgPrintXILeaveEvent((XILeaveEvent*)event); -- #endif -- break; -- -- case XI_ButtonPress: -- case XI_ButtonRelease: -- fgState.Modifiers = fghGetXModifiers( event->mods.base ); -- INVOKE_WCB( *window, MultiButton, ( -- event->deviceid, -- event->event_x, -- event->event_y, -- (event->detail)-1, -- (event->evtype == XI_ButtonPress ? GLUT_DOWN : GLUT_UP) -- )); -- INVOKE_WCB( *window, Mouse, ( -- (event->detail)-1, -- (event->evtype == XI_ButtonPress ? GLUT_DOWN : GLUT_UP), -- event->event_x, -- event->event_y -- )); -- break; -- -- case XI_Motion: -- fgState.Modifiers = fghGetXModifiers( event->mods.base ); -- for (i = 0; i < event->buttons.mask_len; i++) if (event->buttons.mask[i]) button = 1; -- if (button) { -- INVOKE_WCB( *window, MultiMotion, ( event->deviceid, event->event_x, event->event_y ) ); -- INVOKE_WCB( *window, Motion, ( event->event_x, event->event_y ) ); -- } else { -- INVOKE_WCB( *window, MultiPassive, ( event->deviceid, event->event_x, event->event_y ) ); -- INVOKE_WCB( *window, Passive, ( event->event_x, event->event_y ) ); -+ case XI_Enter: -+ case XI_Leave: -+ evcross = (XIEnterEvent*)event; -+ -+ fgState.Modifiers = fghGetXModifiers( evcross->mods.base ); -+ INVOKE_WCB( *window, MultiEntry, ( -+ event->deviceid, -+ (event->evtype == XI_Enter ? GLUT_ENTERED : GLUT_LEFT) -+ )); -+ #if _DEBUG -+ fgPrintXILeaveEvent((XILeaveEvent*)event); -+ #endif -+ -+ /* Also process the standard crossing event */ -+ std_ev.type = evcross->evtype == XI_Enter ? EnterNotify : LeaveNotify; -+ std_ev.xcrossing.window = evcross->event; -+ std_ev.xcrossing.root = evcross->root; -+ std_ev.xcrossing.subwindow = evcross->child; -+ std_ev.xcrossing.x = evcross->event_x; -+ std_ev.xcrossing.y = evcross->event_y; -+ std_ev.xcrossing.x_root = evcross->root_x; -+ std_ev.xcrossing.y_root = evcross->root_y; -+ std_ev.xcrossing.mode = evcross->mode; -+ std_ev.xcrossing.detail = evcross->detail; -+ std_ev.xcrossing.same_screen = evcross->same_screen; -+ std_ev.xcrossing.focus = evcross->focus; -+ std_ev.xcrossing.state = *(unsigned int*)evcross->buttons.mask; -+ -+ XPutBackEvent(fgDisplay.Display, &std_ev); -+ break; -+ -+ case XI_ButtonPress: -+ case XI_ButtonRelease: -+ fgState.Modifiers = fghGetXModifiers( event->mods.base ); -+ INVOKE_WCB( *window, MultiButton, ( -+ event->deviceid, -+ event->event_x, -+ event->event_y, -+ event->detail-1, -+ (event->evtype == XI_ButtonPress ? GLUT_DOWN : GLUT_UP) -+ )); -+ -+ /* Also process the standard button event */ -+ std_ev.type = event->evtype == XI_ButtonPress ? ButtonPress : ButtonRelease; -+ std_ev.xbutton.window = event->event; -+ std_ev.xbutton.root = event->root; -+ std_ev.xbutton.subwindow = event->child; -+ std_ev.xbutton.x = event->event_x; -+ std_ev.xbutton.y = event->event_y; -+ std_ev.xbutton.x_root = event->root_x; -+ std_ev.xbutton.y_root = event->root_y; -+ std_ev.xbutton.state = *(unsigned int*)event->buttons.mask; -+ std_ev.xbutton.button = event->detail; -+ -+ XPutBackEvent(fgDisplay.Display, &std_ev); -+ break; -+ -+ case XI_Motion: -+ fgState.Modifiers = fghGetXModifiers( event->mods.base ); -+ for (i = 0; i < event->buttons.mask_len; i++) { -+ if (event->buttons.mask[i]) { -+ button = 1; - } -- #if _DEBUG -- fgPrintXIDeviceEvent(event); -- #endif -- break; -- -- default: -- #if _DEBUG -- fgWarning( "Unknown XI2 device event:" ); -- fgPrintXIDeviceEvent( event ); -- #endif -- break; -+ } -+ if (button) { -+ INVOKE_WCB( *window, MultiMotion, ( event->deviceid, event->event_x, event->event_y ) ); -+ } else { -+ INVOKE_WCB( *window, MultiPassive, ( event->deviceid, event->event_x, event->event_y ) ); -+ } -+ #if _DEBUG -+ fgPrintXIDeviceEvent(event); -+ #endif -+ -+ /* Also process the standard motion event */ -+ std_ev.type = MotionNotify; -+ std_ev.xmotion.window = event->event; -+ std_ev.xmotion.root = event->root; -+ std_ev.xmotion.subwindow = event->child; -+ std_ev.xmotion.time = event->time; -+ std_ev.xmotion.x = event->event_x; -+ std_ev.xmotion.y = event->event_y; -+ std_ev.xmotion.x_root = event->root_x; -+ std_ev.xmotion.y_root = event->root_y; -+ std_ev.xmotion.state = *(unsigned int*)event->buttons.mask; -+ std_ev.xmotion.is_hint = NotifyNormal; -+ -+ XPutBackEvent(fgDisplay.Display, &std_ev); -+ break; -+ -+ default: -+ #if _DEBUG -+ fgWarning( "Unknown XI2 device event:" ); -+ fgPrintXIDeviceEvent( event ); -+ #endif -+ break; - } - fgState.Modifiers = INVALID_MODIFIERS; - } diff --git a/freeglut-2.8.0-fixld.patch b/freeglut-2.8.0-fixld.patch deleted file mode 100644 index 63b16d1..0000000 --- a/freeglut-2.8.0-fixld.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff -up freeglut-2.8.0/progs/demos/CallbackMaker/Makefile.in.fixld freeglut-2.8.0/progs/demos/CallbackMaker/Makefile.in ---- freeglut-2.8.0/progs/demos/CallbackMaker/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/CallbackMaker/Makefile.in 2012-01-03 11:04:07.711906872 +0100 -@@ -110,7 +110,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/Fractals/Makefile.in.fixld freeglut-2.8.0/progs/demos/Fractals/Makefile.in ---- freeglut-2.8.0/progs/demos/Fractals/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/Fractals/Makefile.in 2012-01-03 11:04:07.711906872 +0100 -@@ -110,7 +110,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/Fractals_random/Makefile.in.fixld freeglut-2.8.0/progs/demos/Fractals_random/Makefile.in ---- freeglut-2.8.0/progs/demos/Fractals_random/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/Fractals_random/Makefile.in 2012-01-03 11:04:07.719906936 +0100 -@@ -111,7 +111,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/Lorenz/Makefile.in.fixld freeglut-2.8.0/progs/demos/Lorenz/Makefile.in ---- freeglut-2.8.0/progs/demos/Lorenz/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/Lorenz/Makefile.in 2012-01-03 11:04:07.720907364 +0100 -@@ -110,7 +110,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL -lm - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/One/Makefile.in.fixld freeglut-2.8.0/progs/demos/One/Makefile.in ---- freeglut-2.8.0/progs/demos/One/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/One/Makefile.in 2012-01-03 11:04:07.721907192 +0100 -@@ -109,7 +109,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/shapes/Makefile.in.fixld freeglut-2.8.0/progs/demos/shapes/Makefile.in ---- freeglut-2.8.0/progs/demos/shapes/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/shapes/Makefile.in 2012-01-03 11:04:07.722907340 +0100 -@@ -110,7 +110,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/smooth_opengl3/Makefile.in.fixld freeglut-2.8.0/progs/demos/smooth_opengl3/Makefile.in ---- freeglut-2.8.0/progs/demos/smooth_opengl3/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/smooth_opengl3/Makefile.in 2012-01-03 11:04:07.723914882 +0100 -@@ -110,7 +110,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ -diff -up freeglut-2.8.0/progs/demos/spaceball/Makefile.in.fixld freeglut-2.8.0/progs/demos/spaceball/Makefile.in ---- freeglut-2.8.0/progs/demos/spaceball/Makefile.in.fixld 2012-01-02 13:18:07.000000000 +0100 -+++ freeglut-2.8.0/progs/demos/spaceball/Makefile.in 2012-01-03 11:04:07.723914882 +0100 -@@ -111,7 +111,7 @@ LDFLAGS = @LDFLAGS@ - LIBM = @LIBM@ - LIBOBJS = @LIBOBJS@ - LIBRARY = @LIBRARY@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lm -lGL - LIBTOOL = @LIBTOOL@ - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - LIBUSBHID = @LIBUSBHID@ diff --git a/freeglut-glextconflict.patch b/freeglut-glextconflict.patch deleted file mode 100644 index d5c0ce8..0000000 --- a/freeglut-glextconflict.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- freeglut-2.8.0/progs/demos/smooth_opengl3/smooth_opengl3.c.orig 2012-08-02 18:52:39.007793150 -0400 -+++ freeglut-2.8.0/progs/demos/smooth_opengl3/smooth_opengl3.c 2012-08-02 18:52:41.387901801 -0400 -@@ -102,7 +102,6 @@ - typedef void (APIENTRY *PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); - typedef void (APIENTRY *PFNGLBUFFERDATAPROC) (GLenum target, ourGLsizeiptr size, const GLvoid *data, GLenum usage); - typedef GLuint (APIENTRY *PFNGLCREATESHADERPROC) (GLenum type); --typedef void (APIENTRY *PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const ourGLchar **string, const GLint *length); - typedef void (APIENTRY *PFNGLCOMPILESHADERPROC) (GLuint shader); - typedef GLuint (APIENTRY *PFNGLCREATEPROGRAMPROC) (void); - typedef void (APIENTRY *PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); diff --git a/freeglut.spec b/freeglut.spec index 959c694..c6b6c2c 100644 --- a/freeglut.spec +++ b/freeglut.spec @@ -1,7 +1,7 @@ Summary: A freely licensed alternative to the GLUT library Name: freeglut -Version: 2.8.0 -Release: 8%{?dist} +Version: 2.8.1 +Release: 1%{?dist} URL: http://freeglut.sourceforge.net Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz # For the manpages @@ -19,14 +19,6 @@ BuildRequires: libXi-devel libICE-devel Provides: glut = 3.7 Obsoletes: glut < 3.7 -# Fix linking of the examples -- we don't package them, they just need to -# compile and link -Patch0: freeglut-2.8.0-fixld.patch -# Fix for conflicting types found in GLext -Patch1: freeglut-glextconflict.patch -Patch2: freeglut-2.8.0-fixXInput.patch -Patch3: freeglut-2.8.0-btnmask.patch - %description freeglut is a completely open source alternative to the OpenGL Utility Toolkit (GLUT) library with an OSI approved free software license. GLUT was originally @@ -56,10 +48,6 @@ license. %prep %setup -q -a 1 -%patch0 -p1 -b .fixld -%patch1 -p1 -b .fix-glext -%patch2 -p1 -b .fixXInput -%patch3 -p1 -b .btnmask %build # --disable-warnings -> don't add -Werror to CFLAGS @@ -93,6 +81,10 @@ install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3 %changelog +* Mon Apr 08 2013 Tomas Smetana - 2.8.1-1 +- fix #948696: new upstream bugfix release, drop patches +- fix #925363: aarch64 support + * Wed Feb 13 2013 Fedora Release Engineering - 2.8.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild diff --git a/sources b/sources index 954a6e1..40705c1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -5db8651af306bc403fbfd36934a20e1d freeglut-2.8.0.tar.gz +918ffbddcffbac83c218bc52355b6d5a freeglut-2.8.1.tar.gz cf6c3e8cd7711e2b75ff8d7950ac2f97 openglut-0.6.3-doc.tar.gz