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