Skip to content

Commit

Permalink
Updated freeglut to 3.0.0.
Browse files Browse the repository at this point in the history
FreeGLUT 3.0.0 is finally available for download.

I'd like to thank everyone who contributed to FreeGLUT and made yet
another release possible.


FreeGLUT 3.0.0 RC3 is available on sourceforge.

Hopefully this will be the last release candidate. Please give it a spin,
and let us know if there are any release-critical bugs with this one.

Here's the list of changes since RC2:
------------------------------------------------------------------------
r1742 | jtsiomb | 2015-01-03 13:55:09 +0200 (Sat, 03 Jan 2015) | 2 lines

pkgconfig files should go to $(PREFIX)/lib, not $(PREFIX)/share. Closing bug #216

------------------------------------------------------------------------
r1743 | jtsiomb | 2015-02-18 02:37:05 +0200 (Wed, 18 Feb 2015) | 5 lines

Applied Daniel Macks' patch to use ${CMAKE_INSTALL_LIBDIR} instead of
hardcoding lib for the installation directory of libraries, with the
additional modification of installing the pkg-config files there too.
closing bug #217

------------------------------------------------------------------------
r1744 | jtsiomb | 2015-02-18 05:59:21 +0200 (Wed, 18 Feb 2015) | 3 lines

added INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR}) to make sure X11 header
files are correctly located, on systems where they are in weird places.
This closes bug: #218

------------------------------------------------------------------------
r1745 | jtsiomb | 2015-02-18 06:59:57 +0200 (Wed, 18 Feb 2015) | 7 lines

- changed the main INCLUDE_DIRECTORIES definition to place the main header
  locations first in the list instead of appending them. This gives priority to
  our freeglut*.h files instead of the old system-wide installed ones.
- removed the Xxf86vm hack from CMakeLists.txt: it seems like it's not needed
  any more in new versions of cmake, and it fails to link on MacOSX.

------------------------------------------------------------------------
r1746 | jtsiomb | 2015-02-18 07:03:16 +0200 (Wed, 18 Feb 2015) | 6 lines

MacOSX doesn't define HOST_NAME_MAX in unistd.h, which made freeglut fail to
build. Now, if the definition is missing, we'll just define it arbitrarilly as
255, which should be a safe value. This is just needed for an obscure X11 WM
protocol.

------------------------------------------------------------------------
r1747 | jtsiomb | 2015-02-18 07:20:50 +0200 (Wed, 18 Feb 2015) | 2 lines

removed the completely outdated FrequentlyAskedQuestions file


Apologies for the long delay between RC1 and RC2. If there are no
critical bugs with this one, we'll be able to release 3.0.0 shortly.

Here's the complete list of changes between RC1 and RC2:
------------------------------------------------------------------------
r1727 | dcnieho | 2014-11-03 06:18:51 +0200 (Mon, 03 Nov 2014) | 1 line

Added missing glutStrokeWidthf and glutStrokeLengthf for mobile support.
------------------------------------------------------------------------
r1728 | dcnieho | 2014-11-03 06:19:10 +0200 (Mon, 03 Nov 2014) | 3 lines

Added support for minimizing window.
Fixed issue where reshape callback would be called multiple times due to
conflicting window size messages on keyboard closure.
Fixed issue where changing orientation with the keyboard open would
cause multiple reshape events.
------------------------------------------------------------------------
r1729 | jtsiomb | 2014-11-04 13:47:27 +0200 (Tue, 04 Nov 2014) | 3 lines

- changed the minor so version for the new release to 3.10.0 (fg2.8.1
  was 3.9.0)
- made the so version numbers more prominent in the cmake file to make
  sure they're not forgotten in future releases

------------------------------------------------------------------------
r1730 | jtsiomb | 2014-12-02 07:22:12 +0200 (Tue, 02 Dec 2014) | 2 lines

include standard UNIX header fcntl.h in fg_joystick_x11.c, since fcntl()
is called conditionally in there (bug #192).

------------------------------------------------------------------------
r1731 | dcnieho | 2014-12-22 18:27:02 +0200 (Mon, 22 Dec 2014) | 3 lines

typofixes - https://github.com/vlajos/misspell_fixer

(cherry picked from commit c85ed83b848379d49d0869b84ab15851e2df8784)
------------------------------------------------------------------------
r1732 | jtsiomb | 2014-12-24 23:23:29 +0200 (Wed, 24 Dec 2014) | 2 lines

brought back the option to build either as "glut" or "freeglut":
FREEGLUT_REPLACE_GLUT

------------------------------------------------------------------------
r1733 | dcnieho | 2014-12-25 16:35:09 +0200 (Thu, 25 Dec 2014) | 1 line

CMake: FREEGLUT_REPLACE_GLUT option should not be visible on windows
------------------------------------------------------------------------
r1734 | dcnieho | 2014-12-25 16:35:17 +0200 (Thu, 25 Dec 2014) | 1 line

updated list of cmake switches in README.cmake



RC1 of the 3.0.0 release has been posted on the sourceforge website,
get it here:

Please do test and let us know of any issues you find.

There have been hundreds of commits over the last year or so, but here
are some important changes since 2.8.1:
- internal cleanup and reorganization, making it easier to add new
platforms while avoiding ifdef hell
- moved to CMake for buildsystem
- added martin newell's teacup and teaspoon to complement the teapot
- shapes now use vertex buffers internally for faster drawing
- shapes can now be drawn in forward compatible contexts, see new
functions glutSetVertexAttribCoord3, glutSetVertexAttribNormal, and
glutSetVertexAttribTexCoord2.
- new GLUT_GEOMETRY_VISUALIZE_NORMALS option to visualize the normals
of the shapes (these are frequently used for educational demos after
all)
- experimental support for Android and BlackBerry 10/BlackBerry
PlayBook mobile platforms, note that so far only a subset of FreeGLUT
is implemented
- can now set font of menu
- menu behavior corrected, multiple bugs fixed
- X11 fullscreen code updated, correctness improved
- time internally now 64 bit, so timers and such wont wrap for humanly
possible timeframes
  • Loading branch information
wiz committed Oct 1, 2016
1 parent 264fbc3 commit f211f6b
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 23 deletions.
17 changes: 11 additions & 6 deletions graphics/freeglut/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# $NetBSD: Makefile,v 1.17 2015/04/25 14:23:10 tnn Exp $
#
# $NetBSD: Makefile,v 1.18 2016/10/01 07:47:04 wiz Exp $

DISTNAME= freeglut-2.8.1
PKGREVISION= 1
DISTNAME= freeglut-3.0.0
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=freeglut/}

Expand All @@ -11,9 +9,16 @@ HOMEPAGE= http://freeglut.sourceforge.net/
COMMENT= Alternative to the OpenGL Utility Toolkit (GLUT) library
LICENSE= x11

USE_CMAKE= yes
CMAKE_ARGS+= -DFREEGLUT_REPLACE_GLUT:BOOL=OFF

USE_LANGUAGES= c c++
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-replace-glut

PKGCONFIG_OVERRIDE= freeglut.pc.in

post-install:
${RM} ${DESTDIR}${PREFIX}/include/GL/glut.h

.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
Expand Down
8 changes: 6 additions & 2 deletions graphics/freeglut/PLIST
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
@comment $NetBSD: PLIST,v 1.4 2009/06/14 20:05:41 joerg Exp $
@comment $NetBSD: PLIST,v 1.5 2016/10/01 07:47:04 wiz Exp $
include/GL/freeglut.h
include/GL/freeglut_ext.h
include/GL/freeglut_std.h
lib/libfreeglut.la
lib/libfreeglut.a
lib/libfreeglut.so
lib/libfreeglut.so.3
lib/libfreeglut.so.3.10.0
lib/pkgconfig/freeglut.pc
13 changes: 7 additions & 6 deletions graphics/freeglut/distinfo
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
$NetBSD: distinfo,v 1.6 2015/11/03 21:33:57 agc Exp $
$NetBSD: distinfo,v 1.7 2016/10/01 07:47:04 wiz Exp $

SHA1 (freeglut-2.8.1.tar.gz) = 7330b622481e2226c0c9f6d2e72febe96b03f9c4
RMD160 (freeglut-2.8.1.tar.gz) = 22a8de93e68657bb34200fba0124c99704b34f93
SHA512 (freeglut-2.8.1.tar.gz) = 935fddfa197c5f0ec74c5f2005fe5a0ebfd39f4a402cc79363da7cfe2e8576263130e44bd7e4f6c07ea53d3137bd7ca8ee8db85c0a09f25508fcf1b9ed07052e
Size (freeglut-2.8.1.tar.gz) = 1005343 bytes
SHA1 (patch-src_freeglut__joystick.c) = b2baf2f79113c3daa30cc77e483d1a4248f79ac8
SHA1 (freeglut-3.0.0.tar.gz) = fca52242f9344627a30f11487ee42002e6b0dacd
RMD160 (freeglut-3.0.0.tar.gz) = ce4129a22199516ecf24491f0ed026f40c3f5dae
SHA512 (freeglut-3.0.0.tar.gz) = 9c45d5b203b26a7ff92331b3e080a48e806c92fbbe7c65d9262dd18c39cd6efdad8a795a80f499a2d23df84b4909dbd7c1bab20d7dd3555d3d88782ce9dd15b0
Size (freeglut-3.0.0.tar.gz) = 419095 bytes
SHA1 (patch-src_freeglut__joystick.c) = a3f52010378afd1218ba12328a2b4626b758d483
SHA1 (patch-src_x11_fg__joystick__x11.c) = ccd79599939d936e4364c6e8d91a8ce0e058db78
29 changes: 20 additions & 9 deletions graphics/freeglut/patches/patch-src_freeglut__joystick.c
Original file line number Diff line number Diff line change
@@ -1,19 +1,30 @@
$NetBSD: patch-src_freeglut__joystick.c,v 1.1 2013/05/04 14:32:20 rodent Exp $
$NetBSD: patch-src_freeglut__joystick.c,v 1.2 2016/10/01 07:47:04 wiz Exp $

Fix usb.h include for NetBSD.

--- src/freeglut_joystick.c.orig 2011-09-28 01:37:26.000000000 +0000
+++ src/freeglut_joystick.c
@@ -152,7 +152,11 @@
--- src/fg_joystick.c.orig 2014-10-20 15:27:04.000000000 +0000
+++ src/fg_joystick.c
@@ -46,21 +46,20 @@

# ifdef HAVE_USB_JS
# if defined(__NetBSD__)
-/* XXX The below hack is done until freeglut's autoconf is updated. */
-# define HAVE_USBHID_H 1
# ifdef HAVE_USBHID_H
# include <usbhid.h>
# else
# include <usb.h>
# endif
+# include <dev/usb/usb.h>
# elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
# ifdef HAVE_USBHID_H
# include <usbhid.h>
# else
# include <libusbhid.h>
# endif
+# include <legacy/dev/usb/usb.h>
# endif
-# include <legacy/dev/usb/usb.h>
+# if defined(__NetBSD__)
+# include <dev/usb/usb.h>
+# else
+# include <legacy/dev/usb/usb.h>
+# endif
# include <dev/usb/usbhid.h>

/* Compatibility with older usb.h revisions */
51 changes: 51 additions & 0 deletions graphics/freeglut/patches/patch-src_x11_fg__joystick__x11.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
$NetBSD: patch-src_x11_fg__joystick__x11.c,v 1.1 2016/10/01 07:47:04 wiz Exp $

This code does not work on NetBSD, remove wrong ifdefs.

--- src/x11/fg_joystick_x11.c.orig 2014-12-02 05:22:12.000000000 +0000
+++ src/x11/fg_joystick_x11.c
@@ -50,7 +50,7 @@ void fgPlatformJoystickRawRead( SFG_Joys
{
int status;

-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
int len;

if ( joy->pJoystick.os->is_analog )
@@ -215,7 +215,7 @@ void fgPlatformJoystickRawRead( SFG_Joys

void fgPlatformJoystickOpen( SFG_Joystick* joy )
{
-#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__) || defined( __NetBSD__ )
+#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__)
int i = 0;
char *cp;
#endif
@@ -229,7 +229,7 @@ void fgPlatformJoystickOpen( SFG_Joystic
# endif
#endif

-#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__) || defined( __NetBSD__ )
+#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__)
for( i = 0; i < _JS_MAX_AXES; i++ )
joy->pJoystick.os->cache_axes[ i ] = 0.0f;

@@ -409,7 +409,7 @@ void fgPlatformJoystickOpen( SFG_Joystic

void fgPlatformJoystickInit( SFG_Joystick *fgJoystick[], int ident )
{
-#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__) || defined( __NetBSD__ )
+#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__)
fgJoystick[ ident ]->id = ident;
fgJoystick[ ident ]->error = GL_FALSE;

@@ -436,7 +436,7 @@ void fgPlatformJoystickInit( SFG_Joystic

void fgPlatformJoystickClose ( int ident )
{
-#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__) || defined( __NetBSD__ )
+#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__)
if( fgJoystick[ident]->pJoystick.os )
{
if( ! fgJoystick[ ident ]->error )

0 comments on commit f211f6b

Please sign in to comment.