fix #948696: new upstream bugfix release, drop patches

- fix #925363: aarch64 support
This commit is contained in:
Tomas Smetana 2013-04-08 13:57:51 +02:00
parent 13feca5817
commit ec1f563228
9 changed files with 8 additions and 370 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
freeglut-2.6.0.tar.gz freeglut-2.6.0.tar.gz
openglut-0.6.3-doc.tar.gz openglut-0.6.3-doc.tar.gz
/freeglut-2.8.0.tar.gz /freeglut-2.8.0.tar.gz
/freeglut-2.8.1.tar.gz

View File

@ -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

View File

@ -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;
}
}

View File

@ -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 <X11/Xlib.h>
#include <X11/extensions/XInput2.h>
+/* 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);

View File

@ -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;
}

View File

@ -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@

View File

@ -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);

View File

@ -1,7 +1,7 @@
Summary: A freely licensed alternative to the GLUT library Summary: A freely licensed alternative to the GLUT library
Name: freeglut Name: freeglut
Version: 2.8.0 Version: 2.8.1
Release: 8%{?dist} Release: 1%{?dist}
URL: http://freeglut.sourceforge.net URL: http://freeglut.sourceforge.net
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# For the manpages # For the manpages
@ -19,14 +19,6 @@ BuildRequires: libXi-devel libICE-devel
Provides: glut = 3.7 Provides: glut = 3.7
Obsoletes: 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 %description
freeglut is a completely open source alternative to the OpenGL Utility Toolkit freeglut is a completely open source alternative to the OpenGL Utility Toolkit
(GLUT) library with an OSI approved free software license. GLUT was originally (GLUT) library with an OSI approved free software license. GLUT was originally
@ -56,10 +48,6 @@ license.
%prep %prep
%setup -q -a 1 %setup -q -a 1
%patch0 -p1 -b .fixld
%patch1 -p1 -b .fix-glext
%patch2 -p1 -b .fixXInput
%patch3 -p1 -b .btnmask
%build %build
# --disable-warnings -> don't add -Werror to CFLAGS # --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 %changelog
* Mon Apr 08 2013 Tomas Smetana <tsmetana@redhat.com> - 2.8.1-1
- fix #948696: new upstream bugfix release, drop patches
- fix #925363: aarch64 support
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-8 * Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

View File

@ -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 cf6c3e8cd7711e2b75ff8d7950ac2f97 openglut-0.6.3-doc.tar.gz