#
# spec file for package aalib
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: aalib
%define lname libaa1
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pkgconfig(x11)
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
BuildRequires: gpm
%endif
URL: https://aa-project.sourceforge.net/
# bug437293
%ifarch ppc64
Obsoletes: aalib-64bit
%endif
#
Version: 1.4.0
Release: 0
Summary: An ASCII Art Library
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
Source: http://sourceforge.net/projects/aa-project/files/aa-lib/1.4rc5/%{name}-1.4rc5.tar.gz
Source1: http://downloads.sourceforge.net/project/aa-project/aavga/1.0rc1/aavga-1.0rc1.tar.gz
Source2: http://downloads.sourceforge.net/project/aa-project/aview/1.3.0rc1/aview-1.3.0rc1.tar.gz
Source3: baselibs.conf
Patch1: fix_gpm_fd_handling.diff
Patch2: aavga.dif
Patch3: aalib-1.4.0.dif
Patch4: aview-1.3.0.patch
Patch5: aview-1.3.0-tmpvuln.diff
Patch6: aalib-distint.patch
Patch7: aview-signed-char.patch
Patch8: aview-includes.patch
Patch9: aalib-includes.patch
Patch10: aalib-reentrant.patch
Patch11: aalib-1.4.0-config.patch
Patch12: aalib-1.4.0-fdleak.patch
Patch13: aalib-ncurses-6.0-accessors.patch
PreReq: %install_info_prereq
BuildRequires: fdupes
%description
AA-lib is a low level gfx library. AA-lib does not require a graphics
device. In fact, there is no graphical output possible. AA-lib replaces
old-fashioned output methods with a powerful ASCII art renderer.
%package -n %lname
Summary: An ASCII Art Library
Group: System/Libraries
%description -n %lname
AA-lib is a low level gfx library. AA-lib does not require a graphics
device. In fact, there is no graphical output possible. AA-lib replaces
old-fashioned output methods with a powerful ASCII art renderer.
%package devel
Summary: Development Package for AAlib
Group: Development/Libraries/C and C++
# bug437293
%ifarch ppc64
Obsoletes: aalib-devel-64bit
%endif
#
Requires: %lname = %version
Requires: glibc-devel
Obsoletes: aalibdev
%description devel
Files needed for developing software that uses AAlib.
%prep
%setup -q -a 1 -b 2
%patch1
%patch3
%patch10
%patch11
%patch12
%patch13 -p1
cd aavga-1.0
%patch2
cd ../../aview-*
%patch4
%patch7
%patch8
cd ..
%patch5
%patch6
%patch9
%build
%{?suse_update_config}
autoreconf -fiv
export CFLAGS="%{optflags} -fstrength-reduce -fomit-frame-pointer"
%ifarch %ix86
export CFLAGS="$CFLAGS -falign-loops=2 -falign-jumps=2 -falign-functions=2"
%endif
%configure --disable-static --with-slang-driver=no --with-ncurses
%make_build
%install
%make_install
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}
cp -av ANNOUNCE AUTHORS COPYING INSTALL NEWS README %{buildroot}/%{_defaultdocdir}/%{name}
cd ../aview-1.3.0
PATH=%{buildroot}/%{_bindir}:$PATH \
CFLAGS="%{optflags} -I%{buildroot}/usr/include" \
LDFLAGS="-L%{buildroot}/%{_libdir}" \
LD_LIBRARY_PATH="%{buildroot}/%{_libdir}" \
./configure --prefix=/usr --mandir=%{_mandir}
make
%make_install
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}/aview
cp -av README* ANNOUNCE COPYING TODO *.lsm %{buildroot}/%{_defaultdocdir}/%{name}/aview
cd -
cd aavga-1.0
make CFLAGS="%{optflags}"
cp -av aavga.so %{buildroot}/%_libdir
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}/aavga
cp -av aavga.lsm COPYING README %{buildroot}/%{_defaultdocdir}/%{name}/aavga
cd ..
rm -f %{buildroot}%{_libdir}/*.la
%fdupes %{buildroot}/%{_prefix}
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%preun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files
%docdir %{_defaultdocdir}/%{name}
%{_defaultdocdir}/%{name}
%_bindir/aafire
%_bindir/aaflip
%_bindir/aainfo
%_bindir/aasavefont
%_bindir/aatest
%_bindir/asciiview
%_bindir/aview
%{_infodir}/aalib.info.gz
%{_infodir}/aalib.info-?.gz
%{_mandir}/man1/aafire.1.gz
%{_mandir}/man1/aview.1.gz
%{_mandir}/man1/asciiview.1.gz
%files -n %lname
%_libdir/libaa.so.1.0.4
%_libdir/libaa.so.1
%_libdir/aavga.so
%files devel
%_includedir/aalib.h
%_libdir/libaa.so
%_datadir/aclocal/aalib.m4
%_bindir/aalib-config
%{_mandir}/man3/aa_*.3.gz
%{_mandir}/man3/mem_d.3.gz
%{_mandir}/man3/save_d.3.gz
%changelog