finalcut/finalcut.spec.in

157 lines
5.0 KiB
RPMSpec

#
# spec file for package finalcut
#
# Copyright (c) 2018 by Markus Gans
#
%define libname libfinal
%define libsoname %{libname}0
Name: @PACKAGE@
Version: @VERSION@
Release: %{buildno}
Summary: The Final Cut
License: LGPL-3.0-only
Group: System/Libraries
Url: https://github.com/gansm/finalcut/
Source: finalcut-%{version}.tar.gz
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
Requires: autoconf-archive
Requires: bdftopcf
Requires: gcc-c++
Requires: grep
Requires: gzip
Requires: sed
Requires: tr
# Additionally required for tool operations
Requires: xxd
%if 0%{?suse_version}
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
BuildRequires: gpm
%endif
%else
BuildRequires: gpm-devel
%endif
%description
The 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 devel
Summary: Development files for the final cut library
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
Requires: %{name} = %{version}
%description devel
The 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 %{libsoname}
Summary: Console widget toolkit
Group: System/Libraries
Provides: %{libname} = %{version}
Provides: %{name} = %{version}
%description -n %{libsoname}
The 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 static
Summary: Console widget toolkit
Group: System/Libraries
%description static
The 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.
%prep
%setup -q -n %{name}-%{version}
%build
autoreconf -v --install --force
%define warn_flags -Wall -Wextra -Wpedantic
export CPPFLAGS="$RPM_OPT_FLAGS %{warn_flags}"
%configure
make %{?_smp_mflags} V=1
%install
make install libdir=${RPM_BUILD_ROOT}%{_libdir}/ \
includedir=${RPM_BUILD_ROOT}%{_includedir} \
bindir=${RPM_BUILD_ROOT}%{_bindir} \
docdir=${RPM_BUILD_ROOT}%{_docdir}/finalcut/
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/finalcut/examples
cp -p examples/.libs/* ${RPM_BUILD_ROOT}%{_libdir}/finalcut/examples
cp -p examples/*.cpp ${RPM_BUILD_ROOT}%{_libdir}/finalcut/examples
cp -p examples/Makefile.clang ${RPM_BUILD_ROOT}%{_libdir}/finalcut/examples
cp -p examples/Makefile.gcc ${RPM_BUILD_ROOT}%{_libdir}/finalcut/examples
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libfinal.la
%post -n %{libsoname} -p /sbin/ldconfig
%postun -n %{libsoname} -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(-,root,root)
%dir %{_docdir}/finalcut
%dir %{_libdir}/finalcut
%dir %{_libdir}/finalcut/examples
%{_docdir}/finalcut/*
%{_libdir}/pkgconfig/*
%{_libdir}/%{libname}.so
%{_libdir}/finalcut/*
%{_includedir}/*
%files -n %{libsoname}
%defattr(-,root,root)
%_libdir/%{libname}.so.*
%files static
%defattr (-,root,root)
%{_libdir}/%{libname}.a
%changelog
* Sun Nov 25 2018 Markus Gans <guru.mail@muenster.de> - 0.5.0-1
- Release (version 0.5.0)
* Sat Nov 04 2017 Markus Gans <guru.mail@muenster.de> - 0.4.0-1
- Release (version 0.4.0)
* Sun Nov 27 2016 Markus Gans <guru.mail@muenster.de> - 0.3.0-1
- Release (version 0.3.0)
* Sat Dec 19 2015 Markus Gans <guru.mail@muenster.de> - 0.2.0-1
- Release (version 0.2.0)
* Fri Sep 18 2015 Markus Gans <guru.mail@muenster.de> - 0.1.1-1
- Initial Release (version 0.1.1)