362c54a
Name:           ecl
5bbdb9e
Version:        16.1.3
79105db
Release:        6%{?dist}
362c54a
Summary:        Embeddable Common-Lisp
362c54a
d70ceb9
License:        LGPLv2+ and BSD and MIT and Public Domain
352f7b6
URL:            https://common-lisp.net/project/ecl/
5bbdb9e
Source0:        https://common-lisp.net/project/ecl/static/files/release/%{name}-%{version}.tgz
b1e10a1
# The manual has not yet been released.  Use the following commands to generate
b1e10a1
# the manual tarball:
352f7b6
#   git clone https://gitlab.com/embeddable-common-lisp/ecl-doc.git
b1e10a1
#   cd ecl-doc
352f7b6
#   git checkout a0bab55012b31416dfc8b36da75745a2a7a71621
352f7b6
#   rm -fr .git*
b1e10a1
#   cd ..
5b57319
#   tar cJf ecl-doc.tar.xz ecl-doc
aeaa3d5
Source1:        %{name}-doc.tar.xz
aeaa3d5
Source2:        %{name}.desktop
064bced
# A modified version of src/util/ecl.svg with extra whitespace removed.  The
064bced
# extra whitespace made the icon appear very small and shoved into a corner.
aeaa3d5
Source3:        %{name}.svg
7ce55bb
# This patch was sent upstream on 4 Feb 2012.  It fixes a few warnings
064bced
# from the C compiler that indicate situations that might be dangerous at
064bced
# runtime.
5bbdb9e
Patch0:         %{name}-16.1.3-warnings.patch
aeaa3d5
# Do not use a separate thread to handle signals by default if built with
Jerry James c18999b
# boehm-gc support.
aeaa3d5
# This prevents a deadlock when building maxima with ecl support in
aeaa3d5
# fedora, and should handle by default these problems:
aeaa3d5
# http://trac.sagemath.org/sage_trac/ticket/11752
aeaa3d5
# http://www.mail-archive.com/ecls-list@lists.sourceforge.net/msg00644.html
5bbdb9e
Patch1:         %{name}-16.1.3-signal_handling_thread.patch
Jerry James 878d864
# GCC does not implement support for #pragma STDC FENV_ACCESS
5bbdb9e
Patch2:         %{name}-16.1.3-fenv-access.patch
Rex Dieter 8e04e2d
# fix when building with -Werror=format-security, upstreamable
5bbdb9e
Patch3:         %{name}-16.1.3-end_of_line.patch
5bbdb9e
# Upstream patch to fix the SSE printer
5bbdb9e
Patch4:         %{name}-16.1.3-sse-printer.patch
5bbdb9e
# Upstream patch to fix maxima test failure with atan with signed zero
5bbdb9e
Patch5:         %{name}-16.1.3-atan.patch
064bced
b27e96f
BuildRequires:  gcc
d70ceb9
BuildRequires:  libX11-devel
d70ceb9
BuildRequires:  pkgconfig
b06034a
BuildRequires:  gmp-devel
920d2e4
BuildRequires:  gc-devel
Jerry James 58995c0
BuildRequires:  libatomic_ops-static
7ce55bb
BuildRequires:  libffi-devel
b1e10a1
BuildRequires:  emacs-common
Jerry James 58995c0
BuildRequires:  docbook5-schemas
Jerry James 58995c0
BuildRequires:  docbook5-style-xsl
b1e10a1
BuildRequires:  xmlto
064bced
BuildRequires:  desktop-file-utils
aeaa3d5
Requires:       gcc
aeaa3d5
Requires:       libgcc%{?_isa}
aeaa3d5
Requires:       glibc-devel%{?_isa}
648975b
Requires:       gc-devel%{?_isa}
648975b
Requires:       gmp-devel%{?_isa}
1a29016
Requires:       libffi-devel%{?_isa}
7ce55bb
Requires:       hicolor-icon-theme
7ce55bb
Requires(post): coreutils
7ce55bb
Requires(postun): coreutils
362c54a
362c54a
%description
d70ceb9
ECL (Embeddable Common Lisp) is an implementation of the Common Lisp
d70ceb9
language as defined by the ANSI X3J13 specification.  ECL features a
d70ceb9
bytecode compiler and interpreter, the ability to build standalone
d70ceb9
executables and libraries, and extensions such as ASDF, sockets, and
d70ceb9
Gray streams.
362c54a
362c54a
# no -devel package for header files is split off
362c54a
# since they are required by the main package
362c54a
5f4df50
362c54a
%prep
d70ceb9
%setup -q
b1e10a1
%setup -q -T -D -a 1
d70ceb9
%patch0
7ce55bb
%patch1
Jerry James 878d864
%patch2
Jerry James 58995c0
%patch3
5bbdb9e
%patch4
5bbdb9e
%patch5
d70ceb9
d70ceb9
# Remove spurious executable bits
d70ceb9
find src/c -type f -perm /0111 | xargs chmod a-x
d70ceb9
find src/h -type f -perm /0111 | xargs chmod a-x
362c54a
5bbdb9e
# Temporary fix for missing braces in initializers, causes build failure
5bbdb9e
sed -i 's/{.*,.*,.*,.*,.*}/{&}/g' src/c/symbols_list.h
5bbdb9e
sed -i 's/{.*,.*,.*,.*}/{&}/g' src/c/unicode/ucd_names_pair.c
5bbdb9e
362c54a
362c54a
%build
7ce55bb
%configure --enable-unicode=yes --enable-c99complex --enable-threads=yes \
5bbdb9e
  --with-__thread --with-clx --disable-rpath --with-sse=auto \
352f7b6
  CPPFLAGS=$(pkg-config --cflags libffi) \
5bbdb9e
  CFLAGS="%{optflags} -Wno-unused -Wno-return-type -Wno-unknown-pragmas"
e32b97c
make
5b57319
mkdir -p ecl-doc/tmp
b1e10a1
make -C ecl-doc
5b57319
rm ecl-doc/html/ecl2.proc
362c54a
362c54a
362c54a
%install
5f4df50
make DESTDIR=$RPM_BUILD_ROOT install
b1e10a1
b1e10a1
# Remove installed files that are in the wrong place
362c54a
rm -fr $RPM_BUILD_ROOT%{_docdir}
b1e10a1
rm -f $RPM_BUILD_ROOT%{_libdir}/Copyright
b1e10a1
rm -f $RPM_BUILD_ROOT%{_libdir}/LGPL
b1e10a1
b1e10a1
# Install the man pages
b1e10a1
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
b1e10a1
sed -e "s|@bindir@|%{_bindir}|" src/doc/ecl.man.in > \
b1e10a1
  $RPM_BUILD_ROOT%{_mandir}/man1/ecl.1
b1e10a1
cp -p src/doc/ecl-config.man.in $RPM_BUILD_ROOT%{_mandir}/man1/ecl-config.1
362c54a
d70ceb9
# Add missing executable bits
d70ceb9
chmod a+x $RPM_BUILD_ROOT%{_libdir}/ecl-%{version}/dpp
d70ceb9
chmod a+x $RPM_BUILD_ROOT%{_libdir}/ecl-%{version}/ecl_min
d70ceb9
064bced
# Install the desktop file
064bced
desktop-file-install --dir=$RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE2}
064bced
064bced
# Install the desktop icon
064bced
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps
064bced
cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps
064bced
362c54a
a56f3ff
%ldconfig_scriptlets
362c54a
362c54a
362c54a
%files
362c54a
%{_bindir}/ecl
362c54a
%{_bindir}/ecl-config
064bced
%{_datadir}/applications/ecl.desktop
064bced
%{_datadir}/icons/hicolor/scalable/apps/ecl.svg
ae6a741
%{_libdir}/ecl*
ea72e23
%{_libdir}/libecl.so.16.1*
352f7b6
%{_libdir}/libecl.so.16
Rex Dieter 5d073eb
%{_libdir}/libecl.so
b06034a
%{_includedir}/ecl
b1e10a1
%{_mandir}/man1/*
352f7b6
%doc examples CHANGELOG ecl-doc/html
Jerry James 87b6d15
%doc src/doc/amop.txt src/doc/types-and-classes
5bbdb9e
%license COPYING LICENSE
362c54a
362c54a
362c54a
%changelog
79105db
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.1.3-6
79105db
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
79105db
0472d06
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.1.3-5
0472d06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0472d06
4ff0796
* Thu Jan 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 16.1.3-4
4ff0796
- Remove obsolete scriptlets
4ff0796
22d0e6b
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 16.1.3-3
22d0e6b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
22d0e6b
426d715
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 16.1.3-2
426d715
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
426d715
5bbdb9e
* Fri Feb 24 2017 Jerry James <loganjerry@gmail.com> - 16.1.3-1
5bbdb9e
- New upstream release
5bbdb9e
1383d49
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 16.1.2-2
1383d49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
1383d49
ea72e23
* Fri Mar  4 2016 Jerry James <loganjerry@gmail.com> - 16.1.2-1
ea72e23
- New upstream release
ea72e23
4b81972
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 16.0.0-2
4b81972
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
4b81972
352f7b6
* Sat Oct  3 2015 Jerry James <loganjerry@gmail.com> - 16.0.0-1
352f7b6
- New upstream release
352f7b6
- Drop many upstreamed patches
352f7b6
74a5d6e
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.5.1-10
74a5d6e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
74a5d6e
Jerry James 01cab73
* Fri Feb 20 2015 Jerry James <loganjerry@gmail.com> - 13.5.1-9
Jerry James 01cab73
- Fix stack direction detection (broken with gcc 5)
Jerry James 01cab73
Jerry James 87b6d15
* Fri Feb 13 2015 Jerry James <loganjerry@gmail.com> - 13.5.1-8
Jerry James 87b6d15
- Use license macro
Jerry James 87b6d15
2bd4c93
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.5.1-7
2bd4c93
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
2bd4c93
b3c5fee
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.5.1-6
b3c5fee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
b3c5fee
Rex Dieter 8e04e2d
* Sun May 18 2014 Rex Dieter <rdieter@fedoraproject.org> 13.5.1-5
Rex Dieter 8e04e2d
- fix configure check for end-of-line when using -Werror=format-security
Rex Dieter 8e04e2d
Rex Dieter 85f2f34
* Wed May 14 2014 Rex Dieter <rdieter@fedoraproject.org> 13.5.1-4
Rex Dieter d4c9d1c
- backport GC_start_call_back fixes
Rex Dieter 85f2f34
6689bfc
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.5.1-3
6689bfc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
6689bfc
b400193
* Wed Jul  3 2013 Jerry James <loganjerry@gmail.com> - 13.5.1-2
b400193
- Update -warnings patch with more fixes from upstream
b400193
Jerry James 878d864
* Mon Jun  3 2013 Jerry James <loganjerry@gmail.com> - 13.5.1-1
Jerry James 878d864
- New upstream release
Jerry James 878d864
- Drop upstreamed -fixes patch
Jerry James 878d864
- Add -fenv-access patch to work around a GCC limitation
Jerry James 878d864
11505ab
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 12.12.1-4
11505ab
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
11505ab
Jerry James 58995c0
* Thu Dec 20 2012 Jerry James <loganjerry@gmail.com> - 12.12.1-3
Jerry James 58995c0
- BR libatomic_ops-static instead of -devel (bz 889173)
Jerry James 58995c0
- Pull in upstream patches for bugs discovered post-release
Jerry James 58995c0
- Documentation needs docbook 5 schemas and XSL
Jerry James 58995c0
Rex Dieter 5d073eb
* Sat Dec 08 2012 Rex Dieter <rdieter@fedoraproject.org> 12.12.1-2
Rex Dieter 5d073eb
- track libecl soname, so bumps aren't a surprise
Rex Dieter 5d073eb
Jerry James c18999b
* Fri Dec  7 2012 Jerry James <loganjerry@gmail.com> - 12.12.1-1
Jerry James c18999b
- New upstream release
Jerry James c18999b
- Drop upstreamed patches
Jerry James c18999b
5b57319
* Wed Aug  8 2012 Jerry James <loganjerry@gmail.com> - 12.7.1-1
5b57319
- New upstream release
5b57319
- Add sighandler patch to fix thread-enabled build
5b57319
3baa961
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 12.2.1-5
3baa961
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
3baa961
1a29016
* Tue Jul 03 2012 Rex Dieter <rdieter@fedoraproject.org> 12.2.1-4
1a29016
- ecl missing Requires: libffi-devel (#837102)
1a29016
aeaa3d5
* Wed Jun 13 2012 Jerry James <loganjerry@gmail.com> - 12.2.1-3
aeaa3d5
- Fix Requires so 32-bit gcc is not dragged into 64-bit platforms (bz 831383)
aeaa3d5
- Apply multiple fixes from bz 821183
aeaa3d5
- Rebuild to fix bz 822296
aeaa3d5
648975b
* Thu Apr 26 2012 Jerry James <loganjerry@gmail.com> - 12.2.1-2
648975b
- Add missing Requires (bz 816675)
648975b
7ce55bb
* Sat Feb  4 2012 Jerry James <loganjerry@gmail.com> - 12.2.1-1
7ce55bb
- New upstream release
7ce55bb
- Fix source URL
7ce55bb
d5aa225
* Fri Jan  6 2012 Jerry James <loganjerry@gmail.com> - 11.1.1-2
d5aa225
- Rebuild for GCC 4.7
d5aa225
- Drop unnecessary spec file elements (clean script, etc.)
d5aa225
baed36b
* Thu Oct 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 11.1.1-1.2
baed36b
- rebuild with new gmp without compat lib
baed36b
327fdd1
* Mon Oct 10 2011 Peter Schiffer <pschiffe@redhat.com> - 11.1.1-1.1
327fdd1
- rebuild with new gmp
327fdd1
064bced
* Tue Mar  1 2011 Jerry James <loganjerry@gmail.com> - 11.1.1-1
064bced
- New release 11.1.1
064bced
- Drop libffi patch (fixed upstream)
064bced
- Add -configure and -warnings patches
064bced
- Add SSE2 support on x86_64
064bced
- Disable rpath explicitly, as it is now enabled by default
064bced
- Add desktop file and icon
064bced
6545a82
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 10.4.1-2
6545a82
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
6545a82
b1e10a1
* Mon Apr 12 2010 Jerry James <loganjerry@gmail.com> - 10.4.1-1
b1e10a1
- New release 10.4.1
b1e10a1
- Drop upstreamed semaphore patch
b1e10a1
- Add manual built from ecl-doc sources, replaces info documentation
b1e10a1
c50f68e
* Tue Mar  9 2010 Jerry James <loganjerry@gmail.com> - 10.3.1-1
c50f68e
- New release 10.3.1
c50f68e
d70ceb9
* Wed Feb 24 2010 Jerry James <loganjerry@gmail.com> - 10.2.1-1
d70ceb9
- New release 10.2.1
d70ceb9
fed7daf
* Sun Aug  9 2009 Gerard Milmeister <gemi@bluewin.ch> - 9.8.1-1
fed7daf
- new release 9.8.1
fed7daf
e87927b
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.6.1-2
e87927b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
e87927b
ae6a741
* Tue Jun 16 2009 Gerard Milmeister <gemi@bluewin.ch> - 9.6.1-1
ae6a741
- new release 9.6.1
550c71c
981be14
* Mon Oct  6 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.9l-2
981be14
- disable ppc64 (fails to build)
981be14
e32b97c
* Wed Aug  6 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.9l-1
e32b97c
- new release 0.9l
e32b97c
9798baf
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9j-2
9798baf
- Autorebuild for GCC 4.3
9798baf
b06034a
* Sat Dec 29 2007 Gerard Milmeister <gemi@bluewin.ch> - 0.9j-1
b06034a
- new release 0.9j
b06034a
ad4e9f1
* Mon Aug 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.9i-3
ad4e9f1
- Rebuild for FE6
ad4e9f1
2b01f1e
* Sun Jul 23 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.9i-2
2b01f1e
- release number fix
2b01f1e
5f4df50
* Sat Jul  8 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.9i-1
5f4df50
- new version 0.9i
5f4df50
692ac5e
* Wed Mar 15 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.9h-5
692ac5e
- patch for gcc 4.1
692ac5e
362c54a
* Tue Mar 14 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.9h-4
362c54a
- removed buildreq perl
362c54a
362c54a
* Fri Mar 10 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.9h-3
362c54a
- fixed permissions and texinfo problems
362c54a
362c54a
* Sun Dec  4 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.9h-2
362c54a
- buildreq m4, texinfo
362c54a
362c54a
* Mon Nov 21 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.9h-1
362c54a
- New Version 0.9h
362c54a
362c54a
* Sat Aug 20 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.9g-1
362c54a
- New Version 0.9g
362c54a
362c54a
* Sun Apr 10 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.9e-1.cvs20050410
362c54a
- CVS Version 20050410
362c54a
362c54a
* Sun Apr 10 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.9e-1
362c54a
- New Version 0.9e
362c54a
362c54a
* Sat Nov  6 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.9-0.fdr.1.d
362c54a
- New Version 0.9d
362c54a
362c54a
* Sat Mar 27 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.9-0.fdr.1.c
362c54a
- First Fedora release