# # spec file for package finalcut # # Copyright (c) 2021 by Markus Gans # %define sover 0 Name: @PACKAGE@ Version: @VERSION@ Release: %{buildno} Summary: Console widget library License: LGPL-3.0-or-later Group: Development/Libraries/C and C++ URL: https://github.com/gansm/finalcut/ Source: https://github.com/gansm/finalcut/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: autoconf BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fontpackages-devel BuildRequires: gcc-c++ >= 5.1 BuildRequires: gdb BuildRequires: glib2-devel BuildRequires: gpm-devel BuildRequires: libtool BuildRequires: ncurses-devel %description FINAL CUT is a class library and widget toolkit with full mouse support for creating a text-based user interface. The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple windows on the screen. The C++ class design was inspired by the Qt framework. It provides common controls like dialog windows, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on. %package -n libfinal-devel Summary: Development files for the FINAL CUT text widget library Group: Development/Libraries/C and C++ Requires: bdftopcf Requires: coreutils Requires: gcc-c++ >= 5.1 Requires: gpm-devel Requires: grep Requires: gzip Requires: libfinal%{sover} = %{version} Requires: ncurses-devel Requires: sed Requires: vim Provides: libfinal-devel = %{version} Obsoletes: libfinal-devel < %{version} Recommends: libfinal-examples = %{version} %description -n libfinal-devel FINAL CUT is a class library and widget toolkit with full mouse support for creating a text-based user interface. The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple windows on the screen. The C++ class design was inspired by the Qt framework. It provides common controls like dialog windows, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on. %package -n libfinal-examples Summary: Example files for the FINAL CUT library Group: Development/Languages/C and C++ Provides: libfinal-examples = %{version} Obsoletes: libfinal-examples < %{version} %description -n libfinal-examples FINAL CUT is a class library and widget toolkit with full mouse support for creating a text-based user interface. The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple windows on the screen. The C++ class design was inspired by the Qt framework. It provides common controls like dialog windows, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on. %package -n libfinal%{sover} Summary: Console widget toolkit Group: System/Libraries %description -n libfinal%{sover} FINAL CUT is a class library and widget toolkit with full mouse support for creating a text-based user interface. The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple windows on the screen. The C++ class design was inspired by the Qt framework. It provides common controls like dialog windows, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on. %package bitmap-fonts Summary: X11 bitmap font for FINAL CUT Group: System/X11/Fonts Requires(pre): fontconfig # install the fonts only if we have X11 fonts anyways Supplements: packageand(libfinal%{sover}:xorg-x11-fonts-core) BuildArch: noarch %description bitmap-fonts Special X11 bitmap font used by FINAL CUT to display graphic objects. %prep %setup -q %build autoreconf -vif export CPPFLAGS="%{optflags} -Wall -Wextra -Wpedantic -flto" %ifnarch %ix86 x86_64 export CPPFLAGS="$CPPFLAGS -Wno-error=unused-parameter" %endif %configure --disable-static make %{?_smp_mflags} V=1 %install %if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?fc#} || 0%{?el#} %global _miscfontsdir %{_datadir}/fonts %endif make install libdir=%{buildroot}%{_libdir}/ \ includedir=%{buildroot}%{_includedir} \ bindir=%{buildroot}%{_bindir} \ docdir=%{buildroot}%{_docdir}/%{name}/ \ fontdir=%{buildroot}%{_miscfontsdir}/%{name}/ mkdir -p %{buildroot}%{_miscfontsdir}/%{name}/ mkdir -p %{buildroot}%{_docdir}/%{name} mkdir -p %{buildroot}%{_libdir}/%{name}/examples mkdir -p %{buildroot}/etc/fonts/conf.d mkdir -p %{buildroot}/usr/share/fontconfig/conf.avail cp -p examples/.libs/* %{buildroot}%{_libdir}/%{name}/examples cp -p examples/*.cpp %{buildroot}%{_libdir}/%{name}/examples cp -p examples/Makefile.clang %{buildroot}%{_libdir}/%{name}/examples cp -p examples/Makefile.gcc %{buildroot}%{_libdir}/%{name}/examples cp -p fonts/40-finalcut-newfont.conf %{buildroot}/usr/share/fontconfig/conf.avail ln -s /usr/share/fontconfig/conf.avail/40-finalcut-newfont.conf %{buildroot}/etc/fonts/conf.d/40-finalcut-newfont.conf rm -f %{buildroot}%{_libdir}/libfinal.la rm %{buildroot}%{_docdir}/%{name}/ChangeLog %{buildroot}%{_docdir}/%{name}/COPYING.LESSER # Add config for X font path mkdir -p %{buildroot}%{_datadir}/X11/xorg.conf.d cat < %{buildroot}%{_datadir}/X11/xorg.conf.d/80-finalcut-bitmap-fonts.conf Section "Files" FontPath "%{_miscfontsdir}/finalcut:unscaled" EndSection EOF # make sure we own all generated files for i in .fonts-config-timestamp encodings.dir fonts.dir fonts.scale; do > %{buildroot}%{_miscfontsdir}/finalcut/$i done %clean %{__rm} -rf %{buildroot} %post -n libfinal%{sover} -p /sbin/ldconfig %postun -n libfinal%{sover} -p /sbin/ldconfig %reconfigure_fonts_scriptlets -n %{name}-bitmap-fonts %files -n libfinal-devel %if 0%{?sle_version} > 120200 || 0%{?suse_version} > 1500 %license COPYING.LESSER %else %doc COPYING.LESSER %endif %doc ChangeLog README.md %exclude %{_docdir}/%{name}/examples %{_docdir}/%{name} %{_libdir}/libfinal.so %{_libdir}/pkgconfig/%{name}.pc %{_includedir}/final %files -n libfinal-examples %{_libdir}/%{name} %files -n libfinal%{sover} %{_libdir}/libfinal.so.* %files bitmap-fonts %dir %{_miscfontsdir} %dir %{_miscfontsdir}/finalcut %{_miscfontsdir}/finalcut/*.gz %{_miscfontsdir}/finalcut/fonts.alias %ghost %{_miscfontsdir}/finalcut/fonts.dir %ghost %{_miscfontsdir}/finalcut/fonts.scale %ghost %{_miscfontsdir}/finalcut/encodings.dir %ghost %{_miscfontsdir}/finalcut/.fonts-config-timestamp %dir /etc/fonts/conf.d/ %dir /usr/share/fontconfig/conf.avail %dir %{_datadir}/X11 %dir %{_datadir}/X11/xorg.conf.d %{_datadir}/X11/xorg.conf.d/80-finalcut-bitmap-fonts.conf /etc/fonts/conf.d/40-finalcut-newfont.conf /usr/share/fontconfig/conf.avail/40-finalcut-newfont.conf %changelog