Name:           fltk
Version:        1.4.5
Release:        1
Summary:        C++ user interface toolkit
License:        LGPL-2.0-or-later with exceptions
URL:            http://www.fltk.org/
Source0:        https://github.com/%{name}/%{name}/releases/download/release-%{version}/%{name}-%{version}-source.tar.gz

Source1:        fltk-config.sh

Patch0001:      fltk-1.3.4-x-fluid_mimetype.patch

BuildRequires:  gcc-c++ desktop-file-utils libjpeg-devel pkgconfig(libpng) pkgconfig(gl) pkgconfig(glu) pkgconfig(ice)
BuildRequires:  pkgconfig(sm) pkgconfig(xext) pkgconfig(xinerama) pkgconfig(xft) pkgconfig(xt) pkgconfig(x11)
BuildRequires:  pkgconfig(xcursor) pkgconfig(xproto) zlib-devel autoconf

%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.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release} libstdc++-devel pkgconfig(gl) pkgconfig(glu)
Requires:       pkgconfig(ice) pkgconfig(sm) pkgconfig(xft) pkgconfig(xt) pkgconfig(x11)


%description    devel
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11),
Microsoft(r) Windows(r), and MacOS(r) X. FLTK provides modern GUI functionality without the bloat and supports 3D
graphics via OpenGL(r) and its built-in GLUT emulation. It was originally developed by Mr. Bill Spitzak and is
currently maintained by a small group of developers across the world with a central repository

%package static
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

%description fluid
%{summary}, an interactive GUI designer for %{name}.

%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_help

%prep
%autosetup -n %{name}-%{version} -p1

sed -i.silent '\,^.SILENT:,d' makeinclude.in
autoconf

%build
# set DSOFLAGS too, used to link shlibs (LDFLAGS used only for static libs)
%{?__global_ldflags:DSOFLAGS="%{__global_ldflags}" ; export DSOFLAGS}

%configure \
  --with-links \
  --with-optim="%{optflags}" \
  --disable-localjpeg \
  --disable-localzlib \
  --disable-localpng \
  --enable-shared \
  --enable-threads \
  --enable-xdbe \
  --enable-xinerama \
  --enable-xft

%make_build

%install
%make_install

make install-linux -C fluid DESTDIR=$RPM_BUILD_ROOT

# we only apply this hack to multilib arch's
%ifarch x86_64
%global arch %(uname -i 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
%endif

rm -rf __docs
mv $RPM_BUILD_ROOT%{_docdir}/fltk __docs

rm -rv $RPM_BUILD_ROOT%{_mandir}/cat*

%check
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop

%files
%license COPYING
%{_libdir}/*.so.*

%files devel
%{_bindir}/fltk-config
%{?arch:%{_bindir}/fltk-config-%{arch}}
%{_libdir}/*.so
%{_includedir}/FL/
%{_includedir}/Fl

%files help
%doc README* ANNOUNCEMENT CHANGES* CREDITS.txt __docs/*
%{_mandir}/man1/fltk-config.1*
%{_mandir}/man3/fltk.3*

%files static
%{_libdir}/libfltk.a
%{_libdir}/libfltk_forms.a
%{_libdir}/libfltk_gl.a
%{_libdir}/libfltk_images.a

%files fluid
%{_bindir}/fluid
%{_mandir}/man1/fluid.1*
%{_datadir}/applications/fluid.desktop
%{_datadir}/icons/hicolor/*/*/*

%files options
%{_bindir}/fltk-options
%{_mandir}/man1/fltk-options.1*

%changelog
* Wed Jun 24 2026 xiejing <xiejing@kylinos.cn> - 1.4.5-1
- update to version 1.4.5

* Sat Feb 28 2026 eaglegai <eaglegai@163.com> - 1.4.4-1
- update to version 1.4.4

* Sun Sep 29 2024 Funda Wang <fundawang@yeah.net> - 1.3.9-2
- cleanup spec

* Fri Dec 29 2023 Paul Thomas <paulthomas100199@gmail.com> - 1.3.9-1
- update to version 1.3.9

* Fri Dec 24 2021 liuyumeng <liuyumeng5@huawei.com> - 1.3.8-1
- update to fltk-1.3.8-1

* Thu Jul 20 2021 liuyumeng <liuyumeng5@huawei.com> - 1.3.5-2
- delete gdb in buildrequires

* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.3.5-1
- Type:enhancement
- Id:NA
- SUG:NA
- DESC:update version to 1.3.5

* Thu Oct 31 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.3.4-9
- Type:bugfix
- Id:NA
- SUG:NA
- DESC:modify the static package 

* Wed Sep 11 2019 openEuler jimmy<dukaitian@huawei.com> - 1.3.4-8
- Package init jimmy