From 17b5aa6cfa94ea002024a7040d1c1a90a5af374e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 03:11:41 +0000 Subject: [PATCH 01/20] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index e07bd07..ef32029 100644 --- a/fltk.spec +++ b/fltk.spec @@ -6,7 +6,7 @@ Summary: C++ user interface toolkit Name: fltk Version: 1.3.8 -Release: 1%{?dist} +Release: 2%{?dist} # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details License: LGPLv2+ with exceptions @@ -151,6 +151,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 1.3.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Sat Nov 20 2021 Richard Shaw - 1.3.8-1 - Update to 1.3.8. From cea97d4577d9242ba15612eba63ea80b12ea4301 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 03:22:23 +0000 Subject: [PATCH 02/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index ef32029..bd2053a 100644 --- a/fltk.spec +++ b/fltk.spec @@ -6,7 +6,7 @@ Summary: C++ user interface toolkit Name: fltk Version: 1.3.8 -Release: 2%{?dist} +Release: 3%{?dist} # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details License: LGPLv2+ with exceptions @@ -151,6 +151,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 1.3.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Jan 20 2022 Fedora Release Engineering - 1.3.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 6ab01c0d48c027065c902e23c2c240db793a1ecc Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Sat, 27 Aug 2022 16:02:17 -0500 Subject: [PATCH 03/20] Spec file modernization and fixes: Update to SPDX license tag Clean up spec file formatting Remove obsolete snapshot build support Migrate from uname -i to uname -m --- fltk.spec | 69 ++++++++++++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/fltk.spec b/fltk.spec index bd2053a..837de0e 100644 --- a/fltk.spec +++ b/fltk.spec @@ -1,46 +1,37 @@ -#global snap r9671 - # trim changelog included in binary rpms %global _changelog_trimtime %(date +%s -d "1 year ago") -Summary: C++ user interface toolkit -Name: fltk -Version: 1.3.8 -Release: 3%{?dist} +Name: fltk +Version: 1.3.8 +Release: 4%{?dist} +Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details -License: LGPLv2+ with exceptions -URL: http://www.fltk.org/ +License: LGPL-2.0-or-later with exceptions +URL: http://www.fltk.org/ -%if "%{?snap:1}" == "1" -Source0: http://ftp.easysw.com/pub/fltk/snapshots/fltk-1.3.x-%{snap}.tar.bz2 -%else Source0: http://fltk.org/pub/%{name}/%{version}/%{name}-%{version}-source.tar.gz -%endif - Source1: fltk-config.sh Patch0: fltk-cmake.patch # add lib64 support, drop extraneous libs (bug #708185) and ldflags (#1112930) Patch1: fltk-1.3.4-fltk_config.patch -BuildRequires: gcc-c++ -BuildRequires: cmake -BuildRequires: desktop-file-utils -BuildRequires: doxygen -BuildRequires: texlive-latex -# fltk bug with pdf generation, investigate later -#BuildRequires: texlive-epstopdf -BuildRequires: pkgconfig(libjpeg) -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(gl) pkgconfig(glu) -BuildRequires: pkgconfig(ice) -BuildRequires: pkgconfig(sm) -BuildRequires: pkgconfig(xext) pkgconfig(xinerama) pkgconfig(xft) pkgconfig(xt) pkgconfig(x11) -BuildRequires: pkgconfig(xcursor) -BuildRequires: pkgconfig(xproto) -BuildRequires: pkgconfig(zlib) -BuildRequires: make +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: doxygen +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: texlive-latex +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(gl) pkgconfig(glu) +BuildRequires: pkgconfig(ice) +BuildRequires: pkgconfig(sm) +BuildRequires: pkgconfig(xext) pkgconfig(xinerama) pkgconfig(xft) pkgconfig(xt) pkgconfig(x11) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xproto) +BuildRequires: pkgconfig(zlib) %description FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit. @@ -77,11 +68,7 @@ Requires: %{name}-devel %prep -%if 0%{?snap:1} -%autosetup -p1 -n fltk-1.3.x-%{snap} -%else %autosetup -p1 -%endif %build @@ -100,8 +87,8 @@ make docs -C %{_vpath_builddir} %cmake_install # we only apply this hack to multilib arch's -%ifarch x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparc -%global arch %(uname -i 2>/dev/null || echo undefined) +%ifarch x86_64 %{ix86} +%global arch %(uname -m 2>/dev/null || echo undefined) mv $RPM_BUILD_ROOT%{_bindir}/fltk-config \ $RPM_BUILD_ROOT%{_bindir}/fltk-config-%{arch} install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fltk-config @@ -109,11 +96,12 @@ install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fltk-config %check -desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %ldconfig_scriptlets + %files %doc ANNOUNCEMENT CHANGES CREDITS README %license COPYING @@ -151,6 +139,13 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop %changelog +* Sat Aug 27 2022 Richard Shaw - 1.3.8-4 +- Spec file modernization and fixes: + Update to SPDX license tag + Clean up spec file formatting + Remove obsolete snapshot build support + Migrate from uname -i to uname -m + * Thu Jul 21 2022 Fedora Release Engineering - 1.3.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 2c3f3989da81c2c1f6848ee5e348d298b09a0f23 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Sat, 3 Sep 2022 16:13:32 -0500 Subject: [PATCH 04/20] Migrate MinGW build to native package. --- fltk.spec | 158 ++++++++++++++++++++++++++++++++++++----- mingw-fltk-cmake.patch | 22 ++++++ 2 files changed, 161 insertions(+), 19 deletions(-) create mode 100644 mingw-fltk-cmake.patch diff --git a/fltk.spec b/fltk.spec index 837de0e..eda8342 100644 --- a/fltk.spec +++ b/fltk.spec @@ -1,6 +1,9 @@ # trim changelog included in binary rpms %global _changelog_trimtime %(date +%s -d "1 year ago") +# MinGW is enabled by default, to disable use '--without mingw' +%bcond_without mingw + Name: fltk Version: 1.3.8 Release: 4%{?dist} @@ -16,10 +19,14 @@ Source1: fltk-config.sh Patch0: fltk-cmake.patch # add lib64 support, drop extraneous libs (bug #708185) and ldflags (#1112930) Patch1: fltk-1.3.4-fltk_config.patch +# Fix cmake install location for MinGW build +Patch2: mingw-fltk-cmake.patch BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: doxygen +# For MinGW builds +BuildRequires: fltk-fluid BuildRequires: gcc-c++ BuildRequires: make BuildRequires: texlive-latex @@ -33,39 +40,95 @@ BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xproto) BuildRequires: pkgconfig(zlib) -%description -FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit. -It provides modern GUI functionality without the bloat, and supports +%if %{with mingw} +# MinGW +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-gcc +BuildRequires: mingw32-binutils +BuildRequires: mingw32-gettext +BuildRequires: mingw32-win-iconv +BuildRequires: mingw32-zlib +# Libraries +BuildRequires: mingw32-libpng +BuildRequires: mingw32-libjpeg + +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils +BuildRequires: mingw64-gettext +BuildRequires: mingw64-win-iconv +BuildRequires: mingw64-zlib +# Libraries +BuildRequires: mingw64-libpng +BuildRequires: mingw64-libjpeg +%endif + + +%global _description \ +FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit. \ +It provides modern GUI functionality without the bloat, and supports \ 3D graphics via OpenGL and its built-in GLUT emulation. +%description +%{_description} %package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: libstdc++-devel -Requires: pkgconfig(fontconfig) -Requires: pkgconfig(gl) pkgconfig(glu) -Requires: pkgconfig(ice) pkgconfig(sm) -Requires: pkgconfig(xft) pkgconfig(xt) pkgconfig(x11) -Requires: pkgconfig(libjpeg) -Requires: pkgconfig(libpng) -Requires: pkgconfig(zlib) +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libstdc++-devel +Requires: pkgconfig(fontconfig) +Requires: pkgconfig(gl) pkgconfig(glu) +Requires: pkgconfig(ice) pkgconfig(sm) +Requires: pkgconfig(xft) pkgconfig(xt) pkgconfig(x11) +Requires: pkgconfig(libjpeg) +Requires: pkgconfig(libpng) +Requires: pkgconfig(zlib) %description devel %{summary}. %package static -Summary: Static libraries for %{name} -Requires: %{name}-devel = %{version}-%{release} +Summary: Static libraries for %{name} +Requires: %{name}-devel = %{version}-%{release} %description static %{summary}. %package fluid -Summary: Fast Light User Interface Designer -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-devel +Summary: Fast Light User Interface Designer +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-devel %description fluid %{summary}, an interactive GUI designer for %{name}. +%if %{with mingw} +%package -n mingw32-fltk +Summary: %{summary} + +%description -n mingw32-fltk +%{_description} + +# Win64 +%package -n mingw64-fltk +Summary: MinGW compiled fltk for the Win64 target + +%description -n mingw64-fltk +%{_description} + +%package -n mingw32-fltk-static +Summary: %{summary} + +%description -n mingw32-fltk-static +%{_description} + +# Win64 +%package -n mingw64-fltk-static +Summary: MinGW compiled fltk for the Win64 target + +%description -n mingw64-fltk-static +%{_description} + +%{?mingw_debug_package} +%endif + %prep %autosetup -p1 @@ -82,10 +145,18 @@ Requires: %{name}-devel make docs -C %{_vpath_builddir} +%if %{with mingw} +%mingw_cmake -DOPTION_BUILD_SHARED_LIBS=TRUE +%mingw_make_build +%endif + %install %cmake_install +# Deal with license file of same name +mv src/xutf8/COPYING ./COPYING.xutf8 + # we only apply this hack to multilib arch's %ifarch x86_64 %{ix86} %global arch %(uname -m 2>/dev/null || echo undefined) @@ -94,6 +165,11 @@ mv $RPM_BUILD_ROOT%{_bindir}/fltk-config \ install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fltk-config %endif +%if %{with mingw} +%mingw_make_install +%mingw_debug_install_post +%endif + %check desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop @@ -104,7 +180,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %files %doc ANNOUNCEMENT CHANGES CREDITS README -%license COPYING +%license COPYING COPYING.xutf8 %{_libdir}/libfltk.so.1.3* %{_libdir}/libfltk_forms.so.1.3* %{_libdir}/libfltk_gl.so.1.3* @@ -137,6 +213,50 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %{_datadir}/mime/packages/fluid.xml %{_datadir}/icons/hicolor/*/*/* +%if %{with mingw} +%files -n mingw32-fltk +%license COPYING COPYING.xutf8 +%{mingw32_bindir}/fltk-config +%{mingw32_bindir}/libfltk.dll +%{mingw32_libdir}/libfltk.dll.a +%{mingw32_bindir}/libfltk_forms.dll +%{mingw32_libdir}/libfltk_forms.dll.a +%{mingw32_bindir}/libfltk_images.dll +%{mingw32_libdir}/libfltk_images.dll.a +%{mingw32_bindir}/libfltk_gl.dll +%{mingw32_libdir}/libfltk_gl.dll.a +%{mingw32_includedir}/FL/ +%{mingw32_datadir}/cmake/fltk/ +%exclude %{mingw32_datadir}/man/* + +%files -n mingw64-fltk +%license COPYING COPYING.xutf8 +%{mingw64_bindir}/fltk-config +%{mingw64_bindir}/libfltk.dll +%{mingw64_libdir}/libfltk.dll.a +%{mingw64_bindir}/libfltk_forms.dll +%{mingw64_libdir}/libfltk_forms.dll.a +%{mingw64_bindir}/libfltk_images.dll +%{mingw64_libdir}/libfltk_images.dll.a +%{mingw64_bindir}/libfltk_gl.dll +%{mingw64_libdir}/libfltk_gl.dll.a +%{mingw64_includedir}/FL/ +%{mingw64_datadir}/cmake/fltk/ +%exclude %{mingw64_datadir}/man/* + +%files -n mingw32-fltk-static +%{mingw32_libdir}/libfltk.a +%{mingw32_libdir}/libfltk_forms.a +%{mingw32_libdir}/libfltk_images.a +%{mingw32_libdir}/libfltk_gl.a + +%files -n mingw64-fltk-static +%{mingw64_libdir}/libfltk.a +%{mingw64_libdir}/libfltk_forms.a +%{mingw64_libdir}/libfltk_images.a +%{mingw64_libdir}/libfltk_gl.a +%endif + %changelog * Sat Aug 27 2022 Richard Shaw - 1.3.8-4 diff --git a/mingw-fltk-cmake.patch b/mingw-fltk-cmake.patch new file mode 100644 index 0000000..a2dfe7a --- /dev/null +++ b/mingw-fltk-cmake.patch @@ -0,0 +1,22 @@ +Index: fltk-1.3.8/CMake/setup.cmake +=================================================================== +--- fltk-1.3.8.orig/CMake/setup.cmake ++++ fltk-1.3.8/CMake/setup.cmake +@@ -57,13 +57,15 @@ set (FLTK_DOCDIR ${CMAKE_INSTALL_DATADIR + ####################################################################### + + # set where config files go +-if (WIN32 AND NOT CYGWIN) ++if (MINGW) ++ set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/cmake/fltk) ++elseif (WIN32 AND NOT CYGWIN) + set (FLTK_CONFIG_PATH CMake) + elseif (APPLE AND NOT OPTION_APPLE_X11) + set (FLTK_CONFIG_PATH FLTK.framework/Resources/CMake) + else () + set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk CACHE FILEPATH "Install location for cmake files.") +-endif (WIN32 AND NOT CYGWIN) ++endif (MINGW) + + include(TestBigEndian) + TEST_BIG_ENDIAN(WORDS_BIGENDIAN) From 8d8372cde4afb2a9f129a0068c8c1d6933670650 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Mon, 5 Sep 2022 12:00:17 -0500 Subject: [PATCH 05/20] Fix second instance of uname -i in bash script. --- fltk-config.sh | 4 ++-- fltk.spec | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fltk-config.sh b/fltk-config.sh index c70522d..a212283 100644 --- a/fltk-config.sh +++ b/fltk-config.sh @@ -1,3 +1,3 @@ -#!/bin/bash +#!/usr/bin/bash -exec fltk-config-$(uname -i) "$@" +exec fltk-config-$(uname -m) "$@" diff --git a/fltk.spec b/fltk.spec index eda8342..7a516fd 100644 --- a/fltk.spec +++ b/fltk.spec @@ -6,7 +6,7 @@ Name: fltk Version: 1.3.8 -Release: 4%{?dist} +Release: 5%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -259,6 +259,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Mon Sep 05 2022 Richard Shaw - 1.3.8-5 +- Fix second instance of uname -i in bash script. + * Sat Aug 27 2022 Richard Shaw - 1.3.8-4 - Spec file modernization and fixes: Update to SPDX license tag From 1fc2276d8e27460d840f0fe17228b9e9a7410d96 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 03:38:44 +0000 Subject: [PATCH 06/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index 7a516fd..a580f16 100644 --- a/fltk.spec +++ b/fltk.spec @@ -6,7 +6,7 @@ Name: fltk Version: 1.3.8 -Release: 5%{?dist} +Release: 6%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -259,6 +259,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 1.3.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Mon Sep 05 2022 Richard Shaw - 1.3.8-5 - Fix second instance of uname -i in bash script. From 9b6370c6cd45d7b8fc935cd51d31f7a20bd98836 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 21 Apr 2023 18:12:00 -0400 Subject: [PATCH 07/20] Disable mingw in RHEL builds The mingw build is unwanted in RHEL and requires other unwanted dependencies. --- fltk.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index a580f16..f4b9d2a 100644 --- a/fltk.spec +++ b/fltk.spec @@ -1,8 +1,12 @@ # trim changelog included in binary rpms %global _changelog_trimtime %(date +%s -d "1 year ago") -# MinGW is enabled by default, to disable use '--without mingw' +# MinGW is enabled by default (except for RHEL), to disable use '--without mingw' +%if 0%{?rhel} +%bcond_with mingw +%else %bcond_without mingw +%endif Name: fltk Version: 1.3.8 From 85fb381ed188039f7a0f2a771131ce3e5f301eeb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 19:56:43 +0000 Subject: [PATCH 08/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index f4b9d2a..54894e0 100644 --- a/fltk.spec +++ b/fltk.spec @@ -10,7 +10,7 @@ Name: fltk Version: 1.3.8 -Release: 6%{?dist} +Release: 7%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -263,6 +263,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 1.3.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jan 19 2023 Fedora Release Engineering - 1.3.8-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From f8fdcea64f5c34200ec60754ba86917d77172e77 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 19 Jul 2023 17:34:11 -0400 Subject: [PATCH 09/20] BuildRequires: mingw*-gcc-c++ --- fltk.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fltk.spec b/fltk.spec index 54894e0..e60adca 100644 --- a/fltk.spec +++ b/fltk.spec @@ -48,6 +48,7 @@ BuildRequires: pkgconfig(zlib) # MinGW BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc +BuildRequires: mingw32-gcc-c++ BuildRequires: mingw32-binutils BuildRequires: mingw32-gettext BuildRequires: mingw32-win-iconv @@ -58,6 +59,7 @@ BuildRequires: mingw32-libjpeg BuildRequires: mingw64-filesystem >= 95 BuildRequires: mingw64-gcc +BuildRequires: mingw64-gcc-c++ BuildRequires: mingw64-binutils BuildRequires: mingw64-gettext BuildRequires: mingw64-win-iconv From ae97515034454e480092954c850cefb18e27d58c Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 1 Aug 2023 00:36:52 -0400 Subject: [PATCH 10/20] Disable mingw in flatpak builds --- fltk.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index e60adca..a25a48b 100644 --- a/fltk.spec +++ b/fltk.spec @@ -2,7 +2,7 @@ %global _changelog_trimtime %(date +%s -d "1 year ago") # MinGW is enabled by default (except for RHEL), to disable use '--without mingw' -%if 0%{?rhel} +%if 0%{?rhel} || 0%{?flatpak} %bcond_with mingw %else %bcond_without mingw From b74bfd4bdf3774934d2f7c517f7b0f8481616272 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 19:31:50 +0000 Subject: [PATCH 11/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index a25a48b..b5a93b2 100644 --- a/fltk.spec +++ b/fltk.spec @@ -10,7 +10,7 @@ Name: fltk Version: 1.3.8 -Release: 7%{?dist} +Release: 8%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -265,6 +265,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 1.3.8-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jul 19 2023 Fedora Release Engineering - 1.3.8-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 1e15b8e4e0ff481b2f05f9fed36a5ce7c0a34419 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 11:47:13 +0000 Subject: [PATCH 12/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index b5a93b2..44a68bf 100644 --- a/fltk.spec +++ b/fltk.spec @@ -10,7 +10,7 @@ Name: fltk Version: 1.3.8 -Release: 8%{?dist} +Release: 9%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -265,6 +265,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 1.3.8-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 1.3.8-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 1a97c3eff90fb44647803118f68704ea21c741c6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 23:21:33 +0000 Subject: [PATCH 13/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index 44a68bf..0d4c311 100644 --- a/fltk.spec +++ b/fltk.spec @@ -10,7 +10,7 @@ Name: fltk Version: 1.3.8 -Release: 9%{?dist} +Release: 10%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -265,6 +265,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 1.3.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jan 24 2024 Fedora Release Engineering - 1.3.8-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 13c401cba1a57740a538557ceecc2599808dfe05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Tue, 29 Oct 2024 22:38:00 +0000 Subject: [PATCH 14/20] Migrate to SPDX license This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- fltk.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index 0d4c311..6b30a75 100644 --- a/fltk.spec +++ b/fltk.spec @@ -14,7 +14,7 @@ Release: 10%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details -License: LGPL-2.0-or-later with exceptions +License: LGPL-2.0-or-later WITH FLTK-exception URL: http://www.fltk.org/ Source0: http://fltk.org/pub/%{name}/%{version}/%{name}-%{version}-source.tar.gz From 8fd15badcac5e99c7805c4373293c5787570e13e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 18:30:58 +0000 Subject: [PATCH 15/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index 6b30a75..7e71217 100644 --- a/fltk.spec +++ b/fltk.spec @@ -10,7 +10,7 @@ Name: fltk Version: 1.3.8 -Release: 10%{?dist} +Release: 11%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -265,6 +265,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 1.3.8-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 1.3.8-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 61eff03e4a199e8529dbb14b091066d2aa098f8e Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Sat, 22 Mar 2025 08:50:43 -0500 Subject: [PATCH 16/20] Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. Update to 1.3.11. --- .gitignore | 1 + fltk-cmake.patch | 8 ++++---- fltk.spec | 9 ++++++--- mingw-fltk-cmake.patch | 23 +++++++---------------- sources | 2 +- 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 1563c7c..e6b08dd 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /fltk-1.3.5-source.tar.gz /fltk-1.3.6-source.tar.gz /fltk-1.3.8-source.tar.gz +/fltk-1.3.11-source.tar.gz diff --git a/fltk-cmake.patch b/fltk-cmake.patch index 4813f9b..dc887a1 100644 --- a/fltk-cmake.patch +++ b/fltk-cmake.patch @@ -1,9 +1,9 @@ -Index: fltk-1.3.6/CMake/setup.cmake +Index: fltk-1.3.11/CMake/setup.cmake =================================================================== ---- fltk-1.3.6.orig/CMake/setup.cmake -+++ fltk-1.3.6/CMake/setup.cmake +--- fltk-1.3.11.orig/CMake/setup.cmake ++++ fltk-1.3.11/CMake/setup.cmake @@ -62,7 +62,7 @@ if (WIN32 AND NOT CYGWIN) - elseif (APPLE AND NOT OPTION_APPLE_X11) + elseif (APPLE) set (FLTK_CONFIG_PATH FLTK.framework/Resources/CMake) else () - set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk) diff --git a/fltk.spec b/fltk.spec index 7e71217..4e4cf92 100644 --- a/fltk.spec +++ b/fltk.spec @@ -9,15 +9,15 @@ %endif Name: fltk -Version: 1.3.8 -Release: 11%{?dist} +Version: 1.3.11 +Release: 1%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details License: LGPL-2.0-or-later WITH FLTK-exception URL: http://www.fltk.org/ -Source0: http://fltk.org/pub/%{name}/%{version}/%{name}-%{version}-source.tar.gz +Source0: https://github.com/%{name}/%{name}/releases/download/release-%{version}/%{name}-%{version}-source.tar.gz Source1: fltk-config.sh Patch0: fltk-cmake.patch @@ -265,6 +265,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Sat Mar 22 2025 Richard Shaw - 1.3.11-1 +- Update to 1.3.11. + * Thu Jan 16 2025 Fedora Release Engineering - 1.3.8-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/mingw-fltk-cmake.patch b/mingw-fltk-cmake.patch index a2dfe7a..5888202 100644 --- a/mingw-fltk-cmake.patch +++ b/mingw-fltk-cmake.patch @@ -1,22 +1,13 @@ -Index: fltk-1.3.8/CMake/setup.cmake +Index: fltk-1.3.11/CMake/setup.cmake =================================================================== ---- fltk-1.3.8.orig/CMake/setup.cmake -+++ fltk-1.3.8/CMake/setup.cmake -@@ -57,13 +57,15 @@ set (FLTK_DOCDIR ${CMAKE_INSTALL_DATADIR - ####################################################################### +--- fltk-1.3.11.orig/CMake/setup.cmake ++++ fltk-1.3.11/CMake/setup.cmake +@@ -58,7 +58,7 @@ set (FLTK_DOCDIR ${CMAKE_INSTALL_DATADIR # set where config files go --if (WIN32 AND NOT CYGWIN) -+if (MINGW) + if (WIN32 AND NOT CYGWIN) +- set (FLTK_CONFIG_PATH CMake) + set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/cmake/fltk) -+elseif (WIN32 AND NOT CYGWIN) - set (FLTK_CONFIG_PATH CMake) - elseif (APPLE AND NOT OPTION_APPLE_X11) + elseif (APPLE) set (FLTK_CONFIG_PATH FLTK.framework/Resources/CMake) else () - set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk CACHE FILEPATH "Install location for cmake files.") --endif (WIN32 AND NOT CYGWIN) -+endif (MINGW) - - include(TestBigEndian) - TEST_BIG_ENDIAN(WORDS_BIGENDIAN) diff --git a/sources b/sources index 37ad849..57538a7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fltk-1.3.8-source.tar.gz) = 5c1cbfc156c49888e25b90dcb9b1ab86a03447e08e00864c3c7ae8a0e32cfbd9154ee630054235c9edfd29fd1d0371ae77eff7b78094fb660dbbdec5cecfc8fb +SHA512 (fltk-1.3.11-source.tar.gz) = 697b622e949ed39709c41b688fceba07a95355d1c941f92df01dfd707bbd02bb778943dfc10a9b846b61dcb9927860622c32cfd71b8ffbe2294b401f9fdccfdb From 88180e905ee17ea4ba3c35786e7cdc262e5b39c9 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 21 Jun 2025 14:23:02 -0600 Subject: [PATCH 17/20] Make BR on fltk-fluid only for mingw builds as noted --- fltk.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fltk.spec b/fltk.spec index 4e4cf92..f094426 100644 --- a/fltk.spec +++ b/fltk.spec @@ -29,8 +29,6 @@ Patch2: mingw-fltk-cmake.patch BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: doxygen -# For MinGW builds -BuildRequires: fltk-fluid BuildRequires: gcc-c++ BuildRequires: make BuildRequires: texlive-latex @@ -45,6 +43,8 @@ BuildRequires: pkgconfig(xproto) BuildRequires: pkgconfig(zlib) %if %{with mingw} +# For MinGW builds +BuildRequires: fltk-fluid # MinGW BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc From 4ea4a2494df989a8b02becb5478346c06bc7ea9a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 20:38:22 +0000 Subject: [PATCH 18/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- fltk.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index f094426..a85ca8c 100644 --- a/fltk.spec +++ b/fltk.spec @@ -10,7 +10,7 @@ Name: fltk Version: 1.3.11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details @@ -265,6 +265,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 1.3.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sat Mar 22 2025 Richard Shaw - 1.3.11-1 - Update to 1.3.11. From ad44498c2f62d9f71f5c2f54c52bc8a584943b24 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 12 Jan 2026 12:51:03 -0500 Subject: [PATCH 19/20] Rebase to 1.4.4 --- .gitignore | 1 + fltk-1.3.4-fltk_config.patch | 52 --------- fltk-1.4.4-fltk_config.patch | 43 ++++++++ fltk-cmake.patch | 42 +++++-- fltk.spec | 205 ++++++++++++++++++++++++++--------- mingw-fltk-cmake.patch | 13 --- sources | 2 +- 7 files changed, 229 insertions(+), 129 deletions(-) delete mode 100644 fltk-1.3.4-fltk_config.patch create mode 100644 fltk-1.4.4-fltk_config.patch delete mode 100644 mingw-fltk-cmake.patch diff --git a/.gitignore b/.gitignore index e6b08dd..00d5bfb 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /fltk-1.3.6-source.tar.gz /fltk-1.3.8-source.tar.gz /fltk-1.3.11-source.tar.gz +/fltk-1.4.4-source.tar.gz diff --git a/fltk-1.3.4-fltk_config.patch b/fltk-1.3.4-fltk_config.patch deleted file mode 100644 index f1764c7..0000000 --- a/fltk-1.3.4-fltk_config.patch +++ /dev/null @@ -1,52 +0,0 @@ -Index: fltk-1.3.6/fltk-config.in -=================================================================== ---- fltk-1.3.6.orig/fltk-config.in -+++ fltk-1.3.6/fltk-config.in -@@ -42,8 +42,8 @@ CXX="@CXX@" - - # flags for C++ compiler: - ARCHFLAGS="@ARCHFLAGS@" --CFLAGS="@CFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@" --CXXFLAGS="@CXXFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@" -+CFLAGS="" -+CXXFLAGS="" - LDFLAGS="@LDFLAGS@" - LDLIBS="@LIBS@" - OPTIM="@OPTIM@" -@@ -226,7 +226,7 @@ if test "$BINARY_DIR" != ""; then - includes="-I$BINARY_DIR $includes" - fi - --if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32; then -+if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32 -a "$libdir" != /usr/lib64; then - libs=-L$libdir - else - libs= -@@ -234,23 +234,23 @@ fi - - # Calculate needed libraries - LDSTATIC="$libdir/libfltk.a $LDLIBS" --LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS" -+LDLIBS="-lfltk$SHAREDSUFFIX" - - if test x$use_forms = xyes; then - LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS" - LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC" - fi - if test x$use_gl = xyes; then -- LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIBS@ $LDLIBS" -+ LDLIBS="-lfltk_gl$SHAREDSUFFIX $LDLIBS" - LDSTATIC="$libdir/libfltk_gl.a @GLLIBS@ $LDSTATIC" - fi - if test x$use_images = xyes; then -- LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS" -+ LDLIBS="-lfltk_images$SHAREDSUFFIX $LDLIBS" - LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC" - fi - - if test x$use_cairo = xyes; then -- LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS" -+ LDLIBS="-lfltk_cairo$SHAREDSUFFIX $LDLIBS" - LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC" - fi - diff --git a/fltk-1.4.4-fltk_config.patch b/fltk-1.4.4-fltk_config.patch new file mode 100644 index 0000000..e61fcf0 --- /dev/null +++ b/fltk-1.4.4-fltk_config.patch @@ -0,0 +1,43 @@ +diff --git a/fltk-config.in b/fltk-config.in +index c23b79ce6..0b5cd922b 100644 +--- a/fltk-config.in ++++ b/fltk-config.in +@@ -264,7 +264,7 @@ if test -n "$BINARY_DIR"; then + includes="-I$BINARY_DIR $includes" + fi + +-if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32; then ++if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32 -a "$libdir" != /usr/lib64; then + libs="-L$libdir" + else + libs= +@@ -272,7 +272,7 @@ fi + + # Calculate needed libraries + LDSTATIC="$libdir/libfltk.a $LDLIBS" +-LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS" ++LDLIBS="-lfltk$SHAREDSUFFIX" + + if test x$use_forms = xyes; then + LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS" +@@ -280,17 +280,17 @@ if test x$use_forms = xyes; then + fi + + if test x$use_gl = xyes; then +- LDLIBS="-lfltk_gl$SHAREDSUFFIX $GLLIBS $LDLIBS" ++ LDLIBS="-lfltk_gl$SHAREDSUFFIX $LDLIBS" + LDSTATIC="$libdir/libfltk_gl.a $GLLIBS $LDSTATIC" + fi + + if test x$use_images = xyes; then +- LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS" ++ LDLIBS="-lfltk_images$SHAREDSUFFIX $LDLIBS" + LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC" + fi + + if test x$use_cairo = xyes -a -n "$CAIROLIBS"; then +- LDLIBS="$CAIROLIBS $LDLIBS" ++ LDLIBS="$LDLIBS" + LDSTATIC="$CAIROLIBS $LDSTATIC" + fi + diff --git a/fltk-cmake.patch b/fltk-cmake.patch index dc887a1..c000925 100644 --- a/fltk-cmake.patch +++ b/fltk-cmake.patch @@ -1,13 +1,33 @@ -Index: fltk-1.3.11/CMake/setup.cmake -=================================================================== ---- fltk-1.3.11.orig/CMake/setup.cmake -+++ fltk-1.3.11/CMake/setup.cmake -@@ -62,7 +62,7 @@ if (WIN32 AND NOT CYGWIN) - elseif (APPLE) - set (FLTK_CONFIG_PATH FLTK.framework/Resources/CMake) - else () -- set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk) -+ set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk CACHE FILEPATH "Install location for cmake files.") - endif (WIN32 AND NOT CYGWIN) +From e6064481c940ec0b487f84257d27eb2929d5013d Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Mon, 12 Jan 2026 07:55:53 -0500 +Subject: [PATCH] CMake: Use the correct install path for CMake data files + +Whether we are building natively or cross-compiling, we consistently +want to use a single path setup for installing CMake data files. +--- + CMake/setup.cmake | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/CMake/setup.cmake b/CMake/setup.cmake +index 266e1299a..3089f87a8 100644 +--- a/CMake/setup.cmake ++++ b/CMake/setup.cmake +@@ -93,13 +93,7 @@ set(STATICIMAGELIBS "") + ####################################################################### + + # set where config files go +-if(WIN32 AND NOT CYGWIN) +- set(FLTK_CONFIG_PATH CMake) +-elseif(APPLE AND NOT FLTK_BACKEND_X11) +- set(FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk) +-else() +- set(FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk) +-endif(WIN32 AND NOT CYGWIN) ++set(FLTK_CONFIG_PATH ${FLTK_LIBDIR}/cmake/fltk CACHE FILEPATH "Install location for cmake files.") include(TestBigEndian) + TEST_BIG_ENDIAN(WORDS_BIGENDIAN) +-- +2.52.0 + diff --git a/fltk.spec b/fltk.spec index a85ca8c..59c4b87 100644 --- a/fltk.spec +++ b/fltk.spec @@ -1,30 +1,35 @@ -# trim changelog included in binary rpms -%global _changelog_trimtime %(date +%s -d "1 year ago") +# Explicitly use Makefiles +%global _cmake_generator "Unix Makefiles" + +# FLTK major version (intentionally lazily evaluated!) +%define majorver %(echo "%{version}" | cut -d. -f1,2) + +# Break self-dependency cycles by disabling certain packages on major version bumps +%bcond bootstrap 0 # MinGW is enabled by default (except for RHEL), to disable use '--without mingw' -%if 0%{?rhel} || 0%{?flatpak} +%if 0%{?rhel} || 0%{?flatpak} || 0%{?with_bootstrap} %bcond_with mingw %else %bcond_without mingw %endif -Name: fltk -Version: 1.3.11 -Release: 2%{?dist} -Summary: C++ user interface toolkit +Name: fltk +Version: 1.4.4 +Release: 1%{?dist} +Summary: C++ user interface toolkit # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details -License: LGPL-2.0-or-later WITH FLTK-exception +License: LGPL-2.0-or-later WITH FLTK-exception URL: http://www.fltk.org/ Source0: https://github.com/%{name}/%{name}/releases/download/release-%{version}/%{name}-%{version}-source.tar.gz Source1: fltk-config.sh +# Use the correct cmake data install location Patch0: fltk-cmake.patch # add lib64 support, drop extraneous libs (bug #708185) and ldflags (#1112930) -Patch1: fltk-1.3.4-fltk_config.patch -# Fix cmake install location for MinGW build -Patch2: mingw-fltk-cmake.patch +Patch1: fltk-1.4.4-fltk_config.patch BuildRequires: cmake BuildRequires: desktop-file-utils @@ -32,19 +37,30 @@ BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: make BuildRequires: texlive-latex +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(libdecor-0) >= 0.2.0 BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(pango) pkgconfig(pangocairo) BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(gl) pkgconfig(glu) +BuildRequires: pkgconfig(gl) pkgconfig(glu) BuildRequires: pkgconfig(ice) -BuildRequires: pkgconfig(sm) -BuildRequires: pkgconfig(xext) pkgconfig(xinerama) pkgconfig(xft) pkgconfig(xt) pkgconfig(x11) +BuildRequires: pkgconfig(sm) +BuildRequires: pkgconfig(wayland-client) >= 1.18 +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-egl) +# includes cursor-shape and tablet-v2 with all current fixes +BuildRequires: pkgconfig(wayland-protocols) >= 1.46 +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xext) pkgconfig(xinerama) pkgconfig(xft) pkgconfig(xt) pkgconfig(x11) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xproto) BuildRequires: pkgconfig(zlib) %if %{with mingw} # For MinGW builds -BuildRequires: fltk-fluid +BuildRequires: fltk-fluid >= %{majorver} # MinGW BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc @@ -54,6 +70,7 @@ BuildRequires: mingw32-gettext BuildRequires: mingw32-win-iconv BuildRequires: mingw32-zlib # Libraries +BuildRequires: mingw32-cairo BuildRequires: mingw32-libpng BuildRequires: mingw32-libjpeg @@ -65,6 +82,7 @@ BuildRequires: mingw64-gettext BuildRequires: mingw64-win-iconv BuildRequires: mingw64-zlib # Libraries +BuildRequires: mingw64-cairo BuildRequires: mingw64-libpng BuildRequires: mingw64-libjpeg %endif @@ -82,6 +100,10 @@ It provides modern GUI functionality without the bloat, and supports \ Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: libstdc++-devel +Requires: pkgconfig(libdecor-0) >= 0.2.0 +Requires: pkgconfig(wayland-client) >= 1.18 +Requires: pkgconfig(wayland-cursor) +Requires: pkgconfig(xkbcommon) Requires: pkgconfig(fontconfig) Requires: pkgconfig(gl) pkgconfig(glu) Requires: pkgconfig(ice) pkgconfig(sm) @@ -98,40 +120,47 @@ Requires: %{name}-devel = %{version}-%{release} %description static %{summary}. +%package options +Summary: Fast Light Tool Kit Options Editor +Requires: %{name}%{?_isa} = %{version}-%{release} +%description options +%{summary}, an interactive options editor for applications +using %{name}. + %package fluid Summary: Fast Light User Interface Designer Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-devel %description fluid -%{summary}, an interactive GUI designer for %{name}. +%{summary}, an interactive GUI designer for %{name}. %if %{with mingw} %package -n mingw32-fltk -Summary: %{summary} - +Summary: MinGW compiled fltk for the Win32 target + %description -n mingw32-fltk %{_description} - + # Win64 %package -n mingw64-fltk Summary: MinGW compiled fltk for the Win64 target - + %description -n mingw64-fltk %{_description} - + %package -n mingw32-fltk-static -Summary: %{summary} - +Summary: MinGW compiled fltk for the Win32 target + %description -n mingw32-fltk-static %{_description} - + # Win64 %package -n mingw64-fltk-static Summary: MinGW compiled fltk for the Win64 target - + %description -n mingw64-fltk-static %{_description} - + %{?mingw_debug_package} %endif @@ -140,19 +169,31 @@ Summary: MinGW compiled fltk for the Win64 target %autosetup -p1 -%build -%cmake -DFLTK_CONFIG_PATH:PATH=%{_libdir}/cmake/fltk \ +%conf +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DFLTK_BUILD_SHARED_LIBS:BOOL=ON \ -DOpenGL_GL_PREFERENCE=GLVND \ - -DOPTION_BUILD_HTML_DOCUMENTATION:BOOL=ON \ - -DOPTION_BUILD_PDF_DOCUMENTATION:BOOL=OFF \ - -DOPTION_BUILD_SHARED_LIBS:BOOL=ON - -%cmake_build - -make docs -C %{_vpath_builddir} + -DFLTK_OPTION_CAIRO_WINDOW:BOOL=ON \ + -DFLTK_BUILD_HTML_DOCS:BOOL=ON \ + -DFLTK_BUILD_PDF_DOCS:BOOL=OFF \ + %{nil} + +%if %{with mingw} +%mingw_cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DFLTK_OPTION_CAIRO_WINDOW:BOOL=ON \ + -DFLTK_BUILD_SHARED_LIBS:BOOL=ON \ + -DFLTK_BUILD_HTML_DOCS:BOOL=OFF \ + -DFLTK_BUILD_PDF_DOCS:BOOL=OFF \ + %{nil} +%endif + + +%build +%cmake_build + +%cmake_build --target docs %if %{with mingw} -%mingw_cmake -DOPTION_BUILD_SHARED_LIBS=TRUE %mingw_make_build %endif @@ -160,20 +201,43 @@ make docs -C %{_vpath_builddir} %install %cmake_install +# Replace "static" applications with their "shared" equivalents +mv %{buildroot}%{_bindir}/fltk-options-shared %{buildroot}%{_bindir}/fltk-options +mv %{buildroot}%{_bindir}/fluid-shared %{buildroot}%{_bindir}/fluid + +# Delete installed demo applications +rm %{buildroot}%{_bindir}/{blocks,checkers,glpuzzle,sudoku} + # Deal with license file of same name mv src/xutf8/COPYING ./COPYING.xutf8 # we only apply this hack to multilib arch's %ifarch x86_64 %{ix86} %global arch %(uname -m 2>/dev/null || echo undefined) -mv $RPM_BUILD_ROOT%{_bindir}/fltk-config \ - $RPM_BUILD_ROOT%{_bindir}/fltk-config-%{arch} -install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fltk-config +mv %{buildroot}%{_bindir}/fltk-config \ + %{buildroot}%{_bindir}/fltk-config-%{arch} +install -p -m755 -D %{SOURCE1} %{buildroot}%{_bindir}/fltk-config %endif %if %{with mingw} %mingw_make_install %mingw_debug_install_post + +# Delete redundant man pages +rm -rf %{buildroot}%{mingw32_mandir} +rm -rf %{buildroot}%{mingw64_mandir} + +# Replace "static" applications with their "shared" equivalents +mv %{buildroot}%{mingw32_bindir}/fltk-options-shared.exe \ + %{buildroot}%{mingw32_bindir}/fltk-options.exe +mv %{buildroot}%{mingw64_bindir}/fltk-options-shared.exe \ + %{buildroot}%{mingw64_bindir}/fltk-options.exe + +# Delete useless fluid binaries +rm -rf %{buildroot}{%{mingw32_bindir},%{mingw64_bindir}}/fluid* + +# Delete installed demo applications +rm %{buildroot}{%{mingw32_bindir},%{mingw64_bindir}}/{blocks,checkers,glpuzzle,sudoku}.exe %endif @@ -181,16 +245,14 @@ install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fltk-config desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop -%ldconfig_scriptlets - - %files -%doc ANNOUNCEMENT CHANGES CREDITS README +%doc ANNOUNCEMENT CHANGES.txt CREDITS.txt README.txt %license COPYING COPYING.xutf8 -%{_libdir}/libfltk.so.1.3* -%{_libdir}/libfltk_forms.so.1.3* -%{_libdir}/libfltk_gl.so.1.3* -%{_libdir}/libfltk_images.so.1.3* +%{_libdir}/libfltk.so.%{majorver}{,.*} +%{_libdir}/libfltk_cairo.so.%{majorver}{,.*} +%{_libdir}/libfltk_forms.so.%{majorver}{,.*} +%{_libdir}/libfltk_gl.so.%{majorver}{,.*} +%{_libdir}/libfltk_images.so.%{majorver}{,.*} %files devel %doc %{_vpath_builddir}/documentation/html @@ -198,73 +260,112 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/fluid.desktop %{?arch:%{_bindir}/fltk-config-%{arch}} %{_includedir}/FL/ %{_libdir}/libfltk.so +%{_libdir}/libfltk_cairo.so %{_libdir}/libfltk_forms.so %{_libdir}/libfltk_gl.so %{_libdir}/libfltk_images.so %{_libdir}/cmake/fltk/ %{_mandir}/man1/fltk-config.1* +%{_mandir}/man1/fltk-options.1* %{_mandir}/man3/fltk.3* %{_mandir}/man6/*.6* %files static %{_libdir}/libfltk.a +%{_libdir}/libfltk_cairo.a %{_libdir}/libfltk_forms.a %{_libdir}/libfltk_gl.a %{_libdir}/libfltk_images.a +%files options +%{_bindir}/fltk-options +%{_mandir}/man1/fltk-options.1* +%{_datadir}/applications/fltk-options.desktop +%{_datadir}/mime/packages/fltk-options.xml +%{_datadir}/icons/hicolor/*/*/fltk-options.png + %files fluid %{_bindir}/fluid %{_mandir}/man1/fluid.1* %{_datadir}/applications/fluid.desktop %{_datadir}/mime/packages/fluid.xml -%{_datadir}/icons/hicolor/*/*/* +%{_datadir}/icons/hicolor/*/*/fluid.png %if %{with mingw} %files -n mingw32-fltk %license COPYING COPYING.xutf8 %{mingw32_bindir}/fltk-config +%{mingw32_bindir}/fltk-options-cmd.exe +%{mingw32_bindir}/fltk-options.exe %{mingw32_bindir}/libfltk.dll %{mingw32_libdir}/libfltk.dll.a +%{mingw32_bindir}/libfltk_cairo.dll +%{mingw32_libdir}/libfltk_cairo.dll.a %{mingw32_bindir}/libfltk_forms.dll %{mingw32_libdir}/libfltk_forms.dll.a %{mingw32_bindir}/libfltk_images.dll %{mingw32_libdir}/libfltk_images.dll.a +%{mingw32_bindir}/libfltk_jpeg.dll +%{mingw32_libdir}/libfltk_jpeg.dll.a +%{mingw32_bindir}/libfltk_png.dll +%{mingw32_libdir}/libfltk_png.dll.a %{mingw32_bindir}/libfltk_gl.dll %{mingw32_libdir}/libfltk_gl.dll.a +%{mingw32_bindir}/libfltk_z.dll +%{mingw32_libdir}/libfltk_z.dll.a %{mingw32_includedir}/FL/ -%{mingw32_datadir}/cmake/fltk/ -%exclude %{mingw32_datadir}/man/* +%{mingw32_libdir}/cmake/fltk/ %files -n mingw64-fltk %license COPYING COPYING.xutf8 %{mingw64_bindir}/fltk-config +%{mingw64_bindir}/fltk-options-cmd.exe +%{mingw64_bindir}/fltk-options.exe %{mingw64_bindir}/libfltk.dll %{mingw64_libdir}/libfltk.dll.a +%{mingw64_bindir}/libfltk_cairo.dll +%{mingw64_libdir}/libfltk_cairo.dll.a %{mingw64_bindir}/libfltk_forms.dll %{mingw64_libdir}/libfltk_forms.dll.a %{mingw64_bindir}/libfltk_images.dll %{mingw64_libdir}/libfltk_images.dll.a +%{mingw64_bindir}/libfltk_jpeg.dll +%{mingw64_libdir}/libfltk_jpeg.dll.a +%{mingw64_bindir}/libfltk_png.dll +%{mingw64_libdir}/libfltk_png.dll.a %{mingw64_bindir}/libfltk_gl.dll %{mingw64_libdir}/libfltk_gl.dll.a +%{mingw64_bindir}/libfltk_z.dll +%{mingw64_libdir}/libfltk_z.dll.a %{mingw64_includedir}/FL/ -%{mingw64_datadir}/cmake/fltk/ -%exclude %{mingw64_datadir}/man/* +%{mingw64_libdir}/cmake/fltk/ %files -n mingw32-fltk-static %{mingw32_libdir}/libfltk.a +%{mingw32_libdir}/libfltk_cairo.a %{mingw32_libdir}/libfltk_forms.a %{mingw32_libdir}/libfltk_images.a +%{mingw32_libdir}/libfltk_jpeg.a +%{mingw32_libdir}/libfltk_png.a %{mingw32_libdir}/libfltk_gl.a +%{mingw32_libdir}/libfltk_z.a %files -n mingw64-fltk-static %{mingw64_libdir}/libfltk.a +%{mingw64_libdir}/libfltk_cairo.a %{mingw64_libdir}/libfltk_forms.a %{mingw64_libdir}/libfltk_images.a +%{mingw64_libdir}/libfltk_jpeg.a +%{mingw64_libdir}/libfltk_png.a %{mingw64_libdir}/libfltk_gl.a +%{mingw64_libdir}/libfltk_z.a %endif %changelog +* Mon Jan 12 2026 Neal Gompa - 1.4.4-1 +- Rebase to 1.4.4 + * Wed Jul 23 2025 Fedora Release Engineering - 1.3.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/mingw-fltk-cmake.patch b/mingw-fltk-cmake.patch deleted file mode 100644 index 5888202..0000000 --- a/mingw-fltk-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: fltk-1.3.11/CMake/setup.cmake -=================================================================== ---- fltk-1.3.11.orig/CMake/setup.cmake -+++ fltk-1.3.11/CMake/setup.cmake -@@ -58,7 +58,7 @@ set (FLTK_DOCDIR ${CMAKE_INSTALL_DATADIR - - # set where config files go - if (WIN32 AND NOT CYGWIN) -- set (FLTK_CONFIG_PATH CMake) -+ set (FLTK_CONFIG_PATH ${FLTK_DATADIR}/cmake/fltk) - elseif (APPLE) - set (FLTK_CONFIG_PATH FLTK.framework/Resources/CMake) - else () diff --git a/sources b/sources index 57538a7..3d11223 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fltk-1.3.11-source.tar.gz) = 697b622e949ed39709c41b688fceba07a95355d1c941f92df01dfd707bbd02bb778943dfc10a9b846b61dcb9927860622c32cfd71b8ffbe2294b401f9fdccfdb +SHA512 (fltk-1.4.4-source.tar.gz) = 7d120a726a19f0f7172ddf18285baad949383a0bd368dcb6efe8ad21c0506c77edaf87dc53c9c31f3b2523fd1c0fd738e83d3e506459eb7159d390876c79a9a2 From 0f5ca176cac5520c6748ab6c28443eff284ac5dd Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Tue, 13 Jan 2026 07:34:23 -0500 Subject: [PATCH 20/20] Fix bootstrap macro name --- fltk.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fltk.spec b/fltk.spec index 59c4b87..0fe3a50 100644 --- a/fltk.spec +++ b/fltk.spec @@ -8,7 +8,7 @@ %bcond bootstrap 0 # MinGW is enabled by default (except for RHEL), to disable use '--without mingw' -%if 0%{?rhel} || 0%{?flatpak} || 0%{?with_bootstrap} +%if 0%{?rhel} || 0%{?flatpak} || 0%{?_with_bootstrap} %bcond_with mingw %else %bcond_without mingw