diff --git a/volpack-1.0c7-fix-casts.patch b/volpack-1.0c7-fix-casts.patch new file mode 100644 index 0000000..618dbe5 --- /dev/null +++ b/volpack-1.0c7-fix-casts.patch @@ -0,0 +1,12 @@ +diff -up volpack-1.0c7/examples/rendervolume.c.fix-casts volpack-1.0c7/examples/rendervolume.c +--- volpack-1.0c7/examples/rendervolume.c.fix-casts 2024-02-03 09:26:03.308261471 -0500 ++++ volpack-1.0c7/examples/rendervolume.c 2024-02-03 09:26:09.395311653 -0500 +@@ -207,7 +207,7 @@ char **argv; + strcpy(filename, "brainsmall.ppm"); + else + sprintf(filename, "brainsmall_%d.ppm", n + 1000); +- StorePGM(image, IMAGE_WIDTH, IMAGE_HEIGHT, filename); ++ StorePGM((char *)image, IMAGE_WIDTH, IMAGE_HEIGHT, filename); + + /* rotate by 5 degrees for next image */ + vpRotate(vpc, VP_Y_AXIS, 5.0); diff --git a/volpack-c99.patch b/volpack-c99.patch new file mode 100644 index 0000000..5d6f41c --- /dev/null +++ b/volpack-c99.patch @@ -0,0 +1,162 @@ +This patch adds missing #include directives, prototypes, and int types, +to improve compatibility with strict(er) C99 compilers + +Submitted upstream: + +diff --git a/examples/classifyvolume.c b/examples/classifyvolume.c +index 59e1353ed48cfdd0..2333fe055239f5a5 100644 +--- a/examples/classifyvolume.c ++++ b/examples/classifyvolume.c +@@ -37,6 +37,11 @@ + + #include "volume.h" + ++#include ++#include ++#include ++ ++int + main(argc, argv) + int argc; + char **argv; +diff --git a/examples/denfile.c b/examples/denfile.c +index 91d5ea19d6b52c87..750e9c186d30bcd3 100644 +--- a/examples/denfile.c ++++ b/examples/denfile.c +@@ -8,6 +8,9 @@ + #include + #include + ++#include ++#include ++ + #ifndef MIN + #define MIN(a, b) ((a) > (b) ? (b) : (a)) + #endif +@@ -18,6 +21,11 @@ + + #define MAX_READ_SIZE 8192 /* maximum # of bytes per read(2) call */ + ++int read_bytes(int fd, char *buf, int bytecount); ++int read_shorts(int fd, short *sbuf, int shortcount, int swap); ++int read_words(int fd, int *wbuf, int wordcount, int swap); ++int write_bytes(int fd, char *buf, int bytecount); ++ + /* + * read_den + * +@@ -211,6 +219,7 @@ int xlen, ylen, zlen; /* volume dimensions */ + * error or the full number of bytes could not be read. + */ + ++int + read_bytes(fd, buf, bytecount) + int fd; /* file descriptor to read from */ + char *buf; /* memory in which to store data */ +@@ -239,6 +248,7 @@ int bytecount; /* number of bytes to read */ + * error or the full number of shorts could not be read. + */ + ++int + read_shorts(fd, sbuf, shortcount, swap) + int fd; /* file descriptor to read from */ + short *sbuf; /* memory in which to store data */ +@@ -287,6 +297,7 @@ int swap; /* if nonzero then swap bytes */ + * error or the full number of words could not be read. + */ + ++int + read_words(fd, wbuf, wordcount, swap) + int fd; /* file descriptor to read from */ + int *wbuf; /* memory in which to store data */ +@@ -335,6 +346,7 @@ int swap; /* if nonzero then swap bytes */ + * Return value is 1 if the write was succesful or 0 if there was an error. + */ + ++int + write_bytes(fd, buf, bytecount) + int fd; /* file descriptor to write to */ + char *buf; /* memory containing data */ +diff --git a/examples/makeoctree.c b/examples/makeoctree.c +index b605d26605471f04..dba9e8dd27704415 100644 +--- a/examples/makeoctree.c ++++ b/examples/makeoctree.c +@@ -37,6 +37,10 @@ + + #include "volume.h" + ++#include ++#include ++ ++int + main() + { + vpContext *vpc; /* rendering context */ +diff --git a/examples/makevolume.c b/examples/makevolume.c +index 86484584c396e40c..f58c50fde38a23fa 100644 +--- a/examples/makevolume.c ++++ b/examples/makevolume.c +@@ -38,6 +38,9 @@ + #include + #include "volume.h" + ++#include ++#include ++ + int main() + { + vpContext *vpc; /* rendering context */ +diff --git a/examples/rendervolume.c b/examples/rendervolume.c +index a2173d30e894cc62..88fe162e8c84e152 100644 +--- a/examples/rendervolume.c ++++ b/examples/rendervolume.c +@@ -38,6 +38,12 @@ + #include + #include "volume.h" + ++#include ++#include ++ ++void StorePGM(char *image, int width, int height, char *filename); ++ ++int + main(argc, argv) + int argc; + char **argv; +@@ -210,6 +216,7 @@ char **argv; + return(0); + } + ++void + StorePGM(image, width, height, filename) + char *image; + int width, height; +diff --git a/examples/scalevolume.c b/examples/scalevolume.c +index a326f6aaab140871..0773c7a7d394e7c9 100644 +--- a/examples/scalevolume.c ++++ b/examples/scalevolume.c +@@ -44,8 +44,12 @@ + + #include + #include ++#include + #include + ++int write_den(char *filename, unsigned char *, int xlen, int ylen, int zlen); ++ ++int + main(argc, argv) + int argc; + char **argv; +diff --git a/src/makeopts.c b/src/makeopts.c +index 5cb954b1e7cdf04f..cf7794ed6f2df0c6 100644 +--- a/src/makeopts.c ++++ b/src/makeopts.c +@@ -43,6 +43,7 @@ + * Usage: makeopts output_file [compiler_options ...] + */ + ++int + main(argc, argv) + int argc; + char **argv; diff --git a/volpack.spec b/volpack.spec index 4b963ac..415a590 100644 --- a/volpack.spec +++ b/volpack.spec @@ -1,14 +1,19 @@ +# This code is old and ugly. +%global optflags %{optflags} -std=gnu17 + Name: volpack Version: 1.0c7 -Release: 11%{?dist} +Release: 37%{?dist} Summary: Portable library for fast volume rendering -Group: System Environment/Libraries -License: BSD +License: BSD-3-Clause URL: http://amide.sourceforge.net Source0: http://downloads.sourceforge.net/amide/%{name}/%{name}-%{version}.tgz Patch0: volpack-aarch64.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch1: volpack-c99.patch +Patch2: volpack-1.0c7-fix-casts.patch +BuildRequires: make +BuildRequires: gcc BuildRequires: m4 %description @@ -18,7 +23,6 @@ produce high-quality images. %package devel Summary: Shared libraries and header files for development using volpack -Group: Development/Libraries Requires: volpack = %{version}-%{release} %description devel @@ -29,7 +33,6 @@ library. %package doc Summary: Documentation and examples for help using volpack -Group: Documentation Requires: volpack = %{version}-%{release} %description doc @@ -39,7 +42,9 @@ programs using the volpack volume rendering library. %prep %setup -q -%patch0 -p1 -b .aarch64 +%patch -P0 -p1 -b .aarch64 +%patch -P1 -p1 -b .c99 +%patch -P2 -p1 -b .fix-casts %build @@ -62,35 +67,104 @@ chmod 644 test.csh popd -%post -p /sbin/ldconfig +%ldconfig_scriptlets -%postun -p /sbin/ldconfig - - -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog README %{_mandir}/man3/*.3* %{_libdir}/*.so.* %files devel -%defattr(-,root,root,-) %{_includedir}/* %{_libdir}/*.so %files doc -%defattr(-,root,root,-) %doc doc/ examples/ %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.0c7-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1.0c7-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 1.0c7-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Feb 25 2025 Tom Callaway - 1.0c7-34 +- force -std=gnu17 for compilation, this code is old and nasty + +* Sun Jan 19 2025 Fedora Release Engineering - 1.0c7-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1.0c7-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Feb 3 2024 Tom Callaway - 1.0c7-31 +- fix casts to resolve FTBFS + +* Sat Jan 27 2024 Fedora Release Engineering - 1.0c7-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.0c7-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.0c7-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 3 2022 Florian Weimer - 1.0c7-27 +- Port to C99 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.0c7-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.0c7-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.0c7-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 1.0c7-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.0c7-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 1.0c7-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.0c7-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 1.0c7-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 1.0c7-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 1.0c7-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.0c7-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.0c7-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0c7-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 1.0c7-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 1.0c7-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Mon Aug 18 2014 Fedora Release Engineering - 1.0c7-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild