diff --git a/.gitignore b/.gitignore index dfd3dbf..c234d3f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ OpenGL-0.62.tar.gz +/OpenGL-0.66.tar.gz +/OpenGL-0.6702.tar.gz +/OpenGL-0.6704.tar.gz +/OpenGL-0.70.tar.gz +/OpenGL-0.70_repackaged.tar.gz diff --git a/perl-OpenGL-0.62-dist.patch b/0001-Don-t-check-current-display-for-extensions.patch similarity index 57% rename from perl-OpenGL-0.62-dist.patch rename to 0001-Don-t-check-current-display-for-extensions.patch index 6bdc334..01e624b 100644 --- a/perl-OpenGL-0.62-dist.patch +++ b/0001-Don-t-check-current-display-for-extensions.patch @@ -1,9 +1,7 @@ -Don't check current display for extensions, build all. - -diff -up OpenGL-0.62/Makefile.PL.dist OpenGL-0.62/Makefile.PL ---- OpenGL-0.62/Makefile.PL.dist 2009-12-11 01:10:00.000000000 +0100 -+++ OpenGL-0.62/Makefile.PL 2010-01-07 13:00:26.000000000 +0100 -@@ -579,9 +579,9 @@ my $build_config = +diff -up OpenGL-0.70/Makefile.PL.orig OpenGL-0.70/Makefile.PL +--- OpenGL-0.70/Makefile.PL.orig 2017-02-16 12:55:13.520410728 +0100 ++++ OpenGL-0.70/Makefile.PL 2017-02-16 13:01:34.612717648 +0100 +@@ -601,9 +601,9 @@ my $build_config = { FILES => "Config.pm ". @@ -16,26 +14,25 @@ diff -up OpenGL-0.62/Makefile.PL.dist OpenGL-0.62/Makefile.PL } }; -@@ -790,6 +790,7 @@ sub get_extensions +@@ -824,6 +824,7 @@ sub get_extensions print "GLUT not found\n"; } +=cut # Platform-specific makefiles for glversion my $make_ver; - if ($IS_MINGW) -@@ -848,7 +849,9 @@ sub get_extensions - print "get_extensions: no extensions found in $glv_file\n" if $verbose; - return ''; - } -- + if ($IS_STRAWBERRY) +@@ -882,6 +883,9 @@ sub get_extensions + die "get_extensions: no extensions found in $glv_file\n" if !keys %$gldata; + + print "This looks like OpenGL Version: $gldata->{VERSION}\n"; +=cut + use Config; + my $gldata = { }; # Parse glext_procs.h file - return '' if (!open(GLEXT,"glext_procs.h")); -@@ -867,10 +870,12 @@ sub get_extensions + open GLEXT, "glext_procs.h" or die "get_extensions: could not open glext_procs.h: $!\n"; +@@ -900,11 +904,12 @@ sub get_extensions # Create gl_exclude.h die "Unable to write to $exc_file\n" if (!open(GLEXC,">$exc_file")); @@ -44,7 +41,8 @@ diff -up OpenGL-0.62/Makefile.PL.dist OpenGL-0.62/Makefile.PL print GLEXC "//\n"; print GLEXC "// Generated for ".$gldata->{VENDOR}.", ".$gldata->{RENDERER}."\n"; print GLEXC "// OpenGL v".$gldata->{VERSION}.", using "; +- +=cut - # Fix GLUT flags based on results - if ($gldata->{GLUT} > 0) + if ($gldata->{FREEGLUT}) + { diff --git a/perl-OpenGL.spec b/perl-OpenGL.spec index a8dd16a..bbe7bad 100644 --- a/perl-OpenGL.spec +++ b/perl-OpenGL.spec @@ -1,37 +1,70 @@ -Name: perl-OpenGL -Version: 0.62 -Release: 6%{?dist} -Summary: Perl OpenGL bindings -License: GPL+ or Artistic -Group: Development/Libraries -URL: http://search.cpan.org/dist/OpenGL/ -Source0: http://www.cpan.org/authors/id/C/CH/CHM/OpenGL-%{version}.tar.gz -Patch0: perl-OpenGL-0.62-dist.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: freeglut-devel -BuildRequires: libXi-devel -BuildRequires: libXmu-devel -BuildRequires: libXext-devel -BuildRequires: libICE-devel -BuildRequires: perl(Test::More) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +%global cpanversion 0.70 + +Name: perl-OpenGL +Version: %{cpanversion}00 +Release: 32%{?dist} +Summary: Perl OpenGL bindings +# Automatically converted from old format: GPL+ or Artistic - review is highly recommended. +License: GPL-1.0-or-later OR Artistic-1.0-Perl +URL: http://sourceforge.net/projects/pogl/ +# +# stripped from a non-free files using ./repackage.sh %%{version} command, +# bug #1612850, +Source0: OpenGL-%{cpanversion}_repackaged.tar.gz +# GPLv2-licensed code for generating Source0 from an upstream tarball, +# bug #1612850, +Source1: repackage.sh +Patch0: 0001-Don-t-check-current-display-for-extensions.patch +BuildRequires: gcc +# gcc-c++ for libstdc++.so linked in Makefile.PL +BuildRequires: gcc-c++ +BuildRequires: coreutils +BuildRequires: findutils +BuildRequires: freeglut-devel +BuildRequires: libICE-devel +BuildRequires: libXext-devel +BuildRequires: libXi-devel +BuildRequires: libXmu-devel +BuildRequires: mesa-libGL-devel +BuildRequires: make +BuildRequires: perl-interpreter +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: perl(Config) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(ExtUtils::Liblist) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +BuildRequires: sed +# Run-time: +BuildRequires: perl(Carp) +BuildRequires: perl(DynaLoader) +BuildRequires: perl(Exporter) +# Tests: +BuildRequires: perl(Test::More) + +%{?perl_default_filter} %description Perl bindings to implementations of OpenGL and GLUT, providing virtually all -of the OpenGL 1.0, and 1.1 functions, and most of 1.2. +of the OpenGL 1.0, and 1.1 functions, and most of 1.2. %prep -%setup -q -n OpenGL-%{version} -%patch0 -p1 -b .dist +%setup -q -n OpenGL-%{cpanversion} +%patch -P0 -p1 +# Unbundle GL headers +find include -type f \! -name glprocs.h -exec rm {} + +# Remove executable bits +find -type f -exec chmod a-x {} + %build # This is basically not a test, but an interactive demo mv test.pl demo.pl -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" \ - dist=NO_EXCLUSIONS verbose +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" \ + dist=NO_EXCLUSIONS verbose # Certain OpenGL calls may not be present in our OpenGL # implementation, let us just ignore them. sed 's/PERL_DL_NONLAZY=1//' -i Makefile @@ -39,35 +72,183 @@ make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT - -make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT - -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; -find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \; -find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; - -%{_fixperms} $RPM_BUILD_ROOT/* +make pure_install DESTDIR=%{buildroot} +find %{buildroot} -type f -name .packlist -exec rm -f {} \; +find %{buildroot} -type f -name '*.bs' -size 0 -exec rm -f {} \; +%{_fixperms} %{buildroot}/* %check make test -%clean -rm -rf $RPM_BUILD_ROOT - - %files -%defattr(-,root,root,-) %{perl_vendorarch}/auto/* %{perl_vendorarch}/OpenGL* %{_mandir}/man3/* -%doc CHANGES COPYRIGHT GIT_CHANGES KNOWN_PROBLEMS README Release_Notes +%license COPYRIGHT +%doc CHANGES KNOWN_PROBLEMS README Release_Notes %doc SUPPORTS TODO demo.pl %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 0.7000-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jul 07 2025 Jitka Plesnikova - 0.7000-31 +- Perl 5.42 rebuild + +* Sat Jan 18 2025 Fedora Release Engineering - 0.7000-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Aug 06 2024 Miroslav Suchý - 0.7000-29 +- convert license to SPDX + +* Fri Jul 19 2024 Fedora Release Engineering - 0.7000-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jun 10 2024 Jitka Plesnikova - 0.7000-27 +- Perl 5.40 rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 0.7000-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.7000-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 0.7000-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Jitka Plesnikova - 0.7000-23 +- Perl 5.38 rebuild + +* Fri Jan 20 2023 Fedora Release Engineering - 0.7000-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.7000-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 30 2022 Jitka Plesnikova - 0.7000-20 +- Perl 5.36 rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 0.7000-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 0.7000-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 21 2021 Jitka Plesnikova - 0.7000-17 +- Perl 5.34 rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.7000-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.7000-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jun 22 2020 Jitka Plesnikova - 0.7000-14 +- Perl 5.32 rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 0.7000-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 01 2019 Petr Pisar - 0.7000-12 +- Remove a non-free header file from the source archive (bug #1612850) +- Remove executable bits from a documentation + +* Tue Sep 17 2019 Gwyn Ciesla - 0.7000-11 +- Rebuilt for new freeglut + +* Fri Jul 26 2019 Fedora Release Engineering - 0.7000-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 30 2019 Jitka Plesnikova - 0.7000-9 +- Perl 5.30 rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 0.7000-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.7000-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 27 2018 Jitka Plesnikova - 0.7000-6 +- Perl 5.28 rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 0.7000-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.7000-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.7000-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sun Jun 04 2017 Jitka Plesnikova - 0.7000-2 +- Perl 5.26 rebuild + +* Thu Feb 16 2017 Jitka Plesnikova - 0.7000-1 +- 0.70 bump + +* Sat Feb 11 2017 Fedora Release Engineering - 0.6704-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun May 15 2016 Jitka Plesnikova - 0.6704-5 +- Perl 5.24 rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 0.6704-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.6704-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jun 09 2015 Jitka Plesnikova - 0.6704-2 +- Perl 5.22 rebuild + +* Mon Jun 08 2015 Petr Pisar - 0.6704-1 +- 0.6704 bump +- Unbundle GL headers +- Do not use functions removed from Mesa (bug #1224294) + +* Fri Jun 05 2015 Jitka Plesnikova - 0.6702-5 +- Perl 5.22 rebuild + +* Wed Aug 27 2014 Jitka Plesnikova - 0.6702-4 +- Perl 5.20 rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 0.6702-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.6702-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Oct 28 2013 Lubomir Rintel (GoodData) - 0.6702-1 +- Update to a later release + +* Thu Oct 24 2013 Lubomir Rintel (GoodData) - 0.66-4 +- Bulk sad and useless attempt at consistent SPEC file formatting + +* Sun Aug 04 2013 Fedora Release Engineering - 0.66-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 17 2013 Petr Pisar - 0.66-2 +- Perl 5.18 rebuild + +* Wed Feb 27 2013 Petr Pisar - 0.66-1 +- 0.66 bump + +* Thu Feb 14 2013 Fedora Release Engineering - 0.62-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 20 2012 Fedora Release Engineering - 0.62-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jun 10 2012 Petr Pisar - 0.62-8 +- Perl 5.16 rebuild +- Specify all dependencies + +* Fri Jan 13 2012 Fedora Release Engineering - 0.62-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Fri Jun 17 2011 Marcela Mašláňová - 0.62-6 - Perl mass rebuild @@ -80,8 +261,8 @@ rm -rf $RPM_BUILD_ROOT * Tue May 04 2010 Marcela Maslanova - 0.62-3 - Mass rebuild with perl-5.12.0 -* Sun Jan 10 2010 Lubomir Rintel (Good Data) 0.62-2 +* Sun Jan 10 2010 Lubomir Rintel (GoodData) 0.62-2 - Require Xext to fix EL-5 build -* Thu Jan 07 2010 Lubomir Rintel (Good Data) 0.62-1 +* Thu Jan 07 2010 Lubomir Rintel (GoodData) 0.62-1 - Initial packaging diff --git a/repackage.sh b/repackage.sh new file mode 100755 index 0000000..425bf76 --- /dev/null +++ b/repackage.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# +# Copyright (C) 2010 Red Hat, Inc. +# Authors: +# Thomas Woerner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +version=$1 +[ -z "$version" ] && { echo "Usage: $0 "; exit 1; } + +# files to be removed without the main OpenGL-/ prefix +declare -a REMOVE +REMOVE[${#REMOVE[*]}]="include/GL/glu.h" + +# no changes below this line should be needed + +orig="OpenGL-${version}" +orig_tgz="${orig}.tar.gz" +repackaged="${orig}_repackaged" +repackaged_tar="${repackaged}.tar" +repackaged_tgz="${repackaged_tar}.gz" + +# pre checks +[ ! -f "${orig_tgz}" ] && { echo "ERROR: ${orig_tgz} does not exist"; exit 1; } +[ -f "${repackaged_tgz}" ] && { echo "ERROR: ${repackaged_tgz} already exist"; exit 1; } + +# repackage +failure=0 +gzip -dc "${orig_tgz}" > "${repackaged_tar}" +for file in "${REMOVE[@]}"; do + tar -f "${repackaged_tar}" --delete "${orig}/${file}" >> repackage.log + [ $? != 0 ] && { echo "ERROR: Could not remove file ${orig}/${file} from archive."; failure=1; } || echo "Removed ${orig}/${file} from archive." +done +[ $failure != 0 ] && { echo "See repackage.log for details."; exit 1; } +gzip -9 -n "${repackaged_tar}" + +# post checks +RET=0 +for file in "${REMOVE[@]}"; do + found=$(tar -ztvf "${repackaged_tgz}" | grep "${file}") + [ -n "$found" ] && { echo "ERROR: file ${file} is still in the repackaged archive."; RET=1; } +done + +[ $RET == 0 ] && echo "Sucessfully repackaged ${orig}: ${repackaged_tgz}" + +exit $RET diff --git a/sources b/sources index 8e1ba24..4a7b145 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -905407fa94ca0fc9c1e0ae7c140a4272 OpenGL-0.62.tar.gz +SHA512 (OpenGL-0.70_repackaged.tar.gz) = a5e352a49928f6c7eb2005efbe369f62d50a862f98980f45561570b550b0cf5bc2dee5370040ae39a6d5b1501e66e80a2d979c8419d194bd92b527ffa00fd637