From e0219dcac21ed9e5f029ff40386d23e584e1e4ae Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 19 Aug 2007 06:22:05 +0000 Subject: [PATCH] initial glew import --- .cvsignore | 2 + LICENSE-README.fedora | 16 ++ glew-1.3.6-pathandstrip.patch | 57 ++++++++ glew-1.4.0-auto-make.patch | 19 +++ glew-1.4.0-license-doc.patch | 19 +++ ...1.4.0-unused-direct-shlib-dependency.patch | 24 +++ glew.spec | 137 ++++++++++++++++++ sources | 2 + 8 files changed, 276 insertions(+) create mode 100644 LICENSE-README.fedora create mode 100644 glew-1.3.6-pathandstrip.patch create mode 100644 glew-1.4.0-auto-make.patch create mode 100644 glew-1.4.0-license-doc.patch create mode 100644 glew-1.4.0-unused-direct-shlib-dependency.patch create mode 100644 glew.spec diff --git a/.cvsignore b/.cvsignore index e69de29..ae4bbae 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +glew-1.4.0-src-clean.tgz +glew-mesa-replacement-headers.tgz diff --git a/LICENSE-README.fedora b/LICENSE-README.fedora new file mode 100644 index 0000000..2edfb07 --- /dev/null +++ b/LICENSE-README.fedora @@ -0,0 +1,16 @@ +The original version of GLEW contains files under 4 licenses: +BSD +GPLv2+ +SGI Free Software License B +GLX Public License + +The last 2 licenses are not Free software licenses and thus not acceptable for +Fedora. The version shipped by Fedora has the encumbered files removed and +replaced by files from Mesa. These replacement files are licensed under the +MIT license, which is BSD and GPL compatible. + +Also note that the GPL licensed files are scripts which generate parts of the +C-code in GLEW, these scripts itself are only part of the GLEW sources shipped +by Fedora, not of the binary rpm. Thus the binary package is licensed under the +BSD license, and only under the BSD license. This is important for other +packages which use the GLEW library. diff --git a/glew-1.3.6-pathandstrip.patch b/glew-1.3.6-pathandstrip.patch new file mode 100644 index 0000000..a96cd29 --- /dev/null +++ b/glew-1.3.6-pathandstrip.patch @@ -0,0 +1,57 @@ +--- glew/Makefile.orig 2007-03-02 16:56:00.000000000 +0000 ++++ glew/Makefile 2007-03-04 19:56:19.000000000 +0000 +@@ -41,9 +41,9 @@ + endif + + GLEW_DEST ?= /usr +-BINDIR ?= $(GLEW_DEST)/bin +-LIBDIR ?= $(GLEW_DEST)/lib +-INCDIR ?= $(GLEW_DEST)/include/GL ++BINDIR ?= $(GLEW_DEST)$(bindir) ++LIBDIR ?= $(GLEW_DEST)$(libdir) ++INCDIR ?= $(GLEW_DEST)$(includedir)/GL + SHARED_OBJ_EXT ?= o + TARDIR = ../glew-$(GLEW_VERSION) + TARBALL = ../glew_$(GLEW_VERSION).tar.gz +@@ -57,7 +57,7 @@ + STRIP = + else + OPT = $(POPT) +-STRIP = -s ++STRIP = + endif + INCLUDE = -Iinclude + CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA) +@@ -121,7 +121,7 @@ + $(INSTALL) -m 0644 lib/$(LIB.SHARED) $(LIBDIR)/ + $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME) + else +- $(INSTALL) $(STRIP) -m 0644 lib/$(LIB.SHARED) $(LIBDIR)/ ++ $(INSTALL) $(STRIP) -m 0755 lib/$(LIB.SHARED) $(LIBDIR)/ + $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME) + endif + endif +@@ -137,7 +137,7 @@ + $(INSTALL) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/ + $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK) + else +- $(INSTALL) $(STRIP) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/ ++ $(INSTALL) $(STRIP) -m 0755 lib/$(LIB.STATIC) $(LIBDIR)/ + $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK) + endif + endif +--- glew/config/Makefile.linux.orig 2007-03-01 06:49:21.000000000 +0000 ++++ glew/config/Makefile.linux 2007-03-04 19:38:17.000000000 +0000 +@@ -9,10 +9,10 @@ + M_ARCH ?= $(shell arch) + ifeq (x86_64,${M_ARCH}) + LDFLAGS.EXTRA = -L/usr/X11R6/lib64 +-LIBDIR = $(GLEW_DEST)/lib64 ++LIBDIR = $(GLEW_DEST)$(libdir) + else + LDFLAGS.EXTRA = -L/usr/X11R6/lib +-LIBDIR = $(GLEW_DEST)/lib ++LIBDIR = $(GLEW_DEST)$(libdir) + endif + LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 + LDFLAGS.STATIC = -Wl,-Bstatic diff --git a/glew-1.4.0-auto-make.patch b/glew-1.4.0-auto-make.patch new file mode 100644 index 0000000..0756ddd --- /dev/null +++ b/glew-1.4.0-auto-make.patch @@ -0,0 +1,19 @@ +diff -up glew/auto/Makefile~ glew/auto/Makefile +--- glew/auto/Makefile~ 2007-08-06 21:39:42.000000000 +0200 ++++ glew/auto/Makefile 2007-08-06 21:39:42.000000000 +0200 +@@ -105,7 +105,6 @@ $(I.DEST)/glew.h: $(EXT)/.dummy + @echo "--------------------------------------------------------------------" + test -d $(I.DEST) || mkdir -p $(I.DEST) + cp -f $(SRC)/glew_license.h $@ +- cat $(SRC)/sgi_license.h >> $@ + cat $(SRC)/glew_head.h >> $@ + $(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@ + $(BIN)/make_header.pl GLAPIENTRY GL $(GL_EXT_SPEC) >> $@ +@@ -138,7 +137,6 @@ $(I.DEST)/glxew.h: $(EXT)/.dummy + @echo "Creating glxew.h" + @echo "--------------------------------------------------------------------" + cp -f $(SRC)/glew_license.h $@ +- cat $(SRC)/glx_license.h >> $@ + cat $(SRC)/glxew_head.h >> $@ + $(BIN)/make_header.pl '' GLX $(GLX_CORE_SPEC) >> $@ + $(BIN)/make_header.pl '' GLX $(GLX_EXT_SPEC) >> $@ diff --git a/glew-1.4.0-license-doc.patch b/glew-1.4.0-license-doc.patch new file mode 100644 index 0000000..67f2ea5 --- /dev/null +++ b/glew-1.4.0-license-doc.patch @@ -0,0 +1,19 @@ +diff -up glew/doc/credits.html~ glew/doc/credits.html +--- glew/doc/credits.html~ 2007-08-18 10:06:03.000000000 +0200 ++++ glew/doc/credits.html 2007-08-18 10:06:03.000000000 +0200 +@@ -88,10 +88,11 @@ which modifications were made by Michael +

+ GLEW is originally derived from the EXTGL project by Lev Povalahev. The +-source code is licensed under the modified BSD license, the SGI Free Software License B, and the GLX Public License. The automatic code +-generation scripts are released under the GPL. ++source code is licensed under the modified BSD license, parts which were ++licensed under the non free SGI Free Software License B and GLX Public ++License have been replaced ++by MIT licensed files from Mesa. The automatic code generation scripts are ++released under the GPL. +

+ + diff --git a/glew-1.4.0-unused-direct-shlib-dependency.patch b/glew-1.4.0-unused-direct-shlib-dependency.patch new file mode 100644 index 0000000..6e544d3 --- /dev/null +++ b/glew-1.4.0-unused-direct-shlib-dependency.patch @@ -0,0 +1,24 @@ +diff -up glew/config/Makefile.linux~ glew/config/Makefile.linux +--- glew/config/Makefile.linux~ 2007-08-18 09:56:12.000000000 +0200 ++++ glew/config/Makefile.linux 2007-08-18 09:56:12.000000000 +0200 +@@ -14,7 +14,7 @@ else + LDFLAGS.EXTRA = -L/usr/X11R6/lib + LIBDIR = $(GLEW_DEST)$(libdir) + endif +-LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 ++LDFLAGS.GL = -lGL + LDFLAGS.STATIC = -Wl,-Bstatic + LDFLAGS.DYNAMIC = -Wl,-Bdynamic + NAME = GLEW +diff -up glew/Makefile~ glew/Makefile +--- glew/Makefile~ 2007-08-18 10:26:11.000000000 +0200 ++++ glew/Makefile 2007-08-18 10:26:11.000000000 +0200 +@@ -96,7 +96,7 @@ bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.SRCS + $(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.SRCS) $(BIN.LIBS) + + bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.SRCS) lib/$(LIB.SHARED) +- $(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.SRCS) $(BIN.LIBS) ++ $(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.SRCS) $(BIN.LIBS) -lGLU + + %.o: %.c + $(CC) -c $(CFLAGS) -o $@ $< diff --git a/glew.spec b/glew.spec new file mode 100644 index 0000000..0a204f8 --- /dev/null +++ b/glew.spec @@ -0,0 +1,137 @@ +Name: glew +Version: 1.4.0 +Release: 3%{?dist} +Summary: The OpenGL Extension Wrangler Library +Group: System Environment/Libraries +License: BSD +URL: http://glew.sourceforge.net +# This is http://downloads.sourceforge.net/glew/glew-%{version}-src.tgz +# With the following files removed because they are subject to the +# "SGI Free Software License B" resp "GLX Public License" : +# include/GL/glew.h include/GL/glxew.h auto/src/glew_head.h +# auto/src/glxew_head.h auto/src/sgi_license.h auto/src/glx_license.h +# doc/sgi.txt doc/glx.txt +Source0: glew-%{version}-src-clean.tgz +# These are modified headers from Mesa, with all post GL[x] 1.1 defines and +# prototypes removed, these replace the removed encumbered auto/src/glew_head.h +# and auto/src/glxew_head.h files +Source1: glew-mesa-replacement-headers.tgz +Source2: LICENSE-README.fedora +Patch0: glew-1.3.6-pathandstrip.patch +Patch1: glew-1.4.0-auto-make.patch +Patch2: glew-1.4.0-unused-direct-shlib-dependency.patch +Patch3: glew-1.4.0-license-doc.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: libGLU-devel + +%description +The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++ +extension loading library. GLEW provides efficient run-time mechanisms for +determining which OpenGL extensions are supported on the target platform. +OpenGL core and extension functionality is exposed in a single header file. +GLEW is available for a variety of operating systems, including Windows, Linux, +Mac OS X, FreeBSD, Irix, and Solaris. + + +%package devel +Summary: Development files for glew +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: libGLU-devel + +%description devel +Development files for glew + + +%prep +%setup -q -a 1 -n %{name} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +cp %{SOURCE2} . +mkdir auto/registry +touch auto/registry/.dummy auto/extensions/.dummy +make -C auto ../include/GL/glew.h +make -C auto ../include/GL/glxew.h + + +%build +make %{?_smp_mflags} CFLAGS.EXTRA="$RPM_OPT_FLAGS" + + +%install +rm -rf $RPM_BUILD_ROOT +make install GLEW_DEST="$RPM_BUILD_ROOT" libdir=%{_libdir} bindir=%{_bindir} \ + includedir=%{_includedir} +rm $RPM_BUILD_ROOT%{_libdir}/libGLEW.a + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc LICENSE-README.fedora +%{_bindir}/* +%{_libdir}/libGLEW.so.* + +%files devel +%defattr(-,root,root,-) +%doc doc/* +%{_libdir}/libGLEW.so +%{_includedir}/GL/*.h + + +%changelog +* Sat Aug 18 2007 Hans de Goede 1.4.0-3 +- Fix multiple unused direct shlib dependencies in libGLEW.so +- Remove the "SGI Free Software License B" and "GLX Public License" tekst from + the doc dir in the tarbal +- Patch credits.html to no longer refer to the 2 non free licenses, instead it + now points to LICENSE-README.fedora +- Put API docs in -devel instead of main package + +* Mon Aug 6 2007 Hans de Goede 1.4.0-2 +- Remove SGI encumbered files to make this ok to go into Fedora +- Replace some removed files with (modified) mesa files +- Regenerate some of the removed files using the mesa replacemenmt files + and the scripts in the auto directory +- Readd wglew.h, some programs may need this to compile +- Update License tag for new Licensing Guidelines compliance + +* Sun May 06 2007 Ian Chapman 1.4.0-1%{?dist} +- Updated to 1.4.0 + +* Sun Mar 04 2007 Ian Chapman 1.3.6-1%{?dist} +- Updated to 1.3.6 +- Updated pathandstrip patch +- Dropped xlib patch - fixed upstream +- Dropped sed EOL replacements - fixed upstream +- Changed license to GPL + +* Fri Dec 01 2006 Ian Chapman 1.3.5-1%{?dist} +- Updated to 1.3.5 +- Fixed stripping of the binaries +- Reinstate parallel building, no longer appears broken +- Removed FC4 specifics from spec (no longer supported) + +* Tue Jun 20 2006 Ian Chapman 1.3.4-3%{?dist} +- Added buildrequire macros to determine fc4, fc5, fc6 due to X modularisation + +* Sun Jun 04 2006 Ian Chapman 1.3.4-2%{?dist} +- Replaced %%{_sed} macro with sed +- Replaced xorg-x11-devel (build)requires with libGLU-devel for compatibility + with modular / non-modular X +- Replaced source URL to use primary sf site rather than a mirror +- Removed superfluous docs from devel package +- Removed wglew.h, seems to be only useful for windows platforms + +* Thu May 11 2006 Ian Chapman 1.3.4-1.iss +- Initial Release diff --git a/sources b/sources index e69de29..c237cdc 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +c8b8f2db1b68886baf6c0849807884b4 glew-1.4.0-src-clean.tgz +211daf41c394153f3d989195898145a6 glew-mesa-replacement-headers.tgz