Ricky Elrod 9264507
%global bootstrap 0
Ricky Elrod 6069c07
Ricky Elrod 6069c07
Name:           chicken
Ricky Elrod fce6d86
Version:        4.9.0.1
Ricky Elrod 1040bcb
Release:        4%{?dist}
Ricky Elrod 6069c07
Summary:        A practical and portable Scheme system
Ricky Elrod 6069c07
Ricky Elrod 6069c07
Group:          Development/Languages
Ricky Elrod 6069c07
License:        BSD
Ricky Elrod 6069c07
URL:            http://call-cc.org
Ricky Elrod 6069c07
Source0:        http://code.call-cc.org/releases/4.8.0/%{name}-%{version}.tar.gz
Ricky Elrod 25727bb
Patch0:         make_cflags_work.patch
Ricky Elrod e9ad65b
BuildRequires:  chrpath
Ricky Elrod daa0f51
Requires:       chicken-libs%{?_isa} = %{version}-%{release}
Ricky Elrod e65a417
Ricky Elrod e65a417
# Old docs subpackage, which is no longer a subpackage
Ricky Elrod e65a417
Obsoletes:      chicken-doc < 4.8.0.5-3
Ricky Elrod daa0f51
Provides:       chicken-doc = %{version}-%{release}
Ricky Elrod e65a417
Ricky Elrod e9ad65b
%if 0%{?rhel}
Ricky Elrod eace04d
BuildRequires:  net-tools
Ricky Elrod e9ad65b
%else
Ricky Elrod e9ad65b
BuildRequires:  hostname
Ricky Elrod e9ad65b
%endif
Ricky Elrod 6069c07
Ricky Elrod 366b453
%if %{bootstrap} == 0
Ricky Elrod c67af50
BuildRequires:  chicken
Ricky Elrod c67af50
%endif
Ricky Elrod c67af50
Ricky Elrod 24cfce7
Patch1: rhbz-1181483.patch
Ricky Elrod 67bdaa2
Patch2: rhbz-1231871.patch
Ricky Elrod 24cfce7
e0bd49f
%package libs
e0bd49f
Summary:        Chicken Scheme runtime library
e0bd49f
e0bd49f
%description libs
e0bd49f
The Chicken Scheme runtime library, linked to by programs compiled with
e0bd49f
Chicken.
e0bd49f
Ricky Elrod 6069c07
%description
Ricky Elrod 6069c07
CHICKEN is a compiler for the Scheme programming language.
Ricky Elrod 6069c07
CHICKEN produces portable, efficient C, supports almost all of the R5RS
Ricky Elrod 6069c07
Scheme language standard, and includes many enhancements and extensions.
Ricky Elrod 6069c07
Ricky Elrod 6069c07
%prep
Ricky Elrod 6069c07
%setup -q -n %{name}-%{version}
Ricky Elrod f30f873
%patch0 -p1
Ricky Elrod 24cfce7
%patch1 -p1
Ricky Elrod 1040bcb
%patch2 -p1
Ricky Elrod 6069c07
Ricky Elrod 6069c07
%build
Ricky Elrod 6069c07
%if %{bootstrap} == 0
Ricky Elrod 6069c07
Ricky Elrod 6069c07
# This removes all C code from the repo, and leaves us only with Scheme code.
Ricky Elrod 6069c07
# Otherwise, it will try to compile C, defeating the point of bootstrapping.
Ricky Elrod 6069c07
make PLATFORM=linux spotless
Ricky Elrod 6069c07
Ricky Elrod 6069c07
# The above command nukes a necessary buildtag file, and there's no way that
Ricky Elrod 6069c07
# I can find to regenerate it - so instead we just generate it ourselves.
Ricky Elrod 6069c07
echo "#define C_BUILD_TAG \"compiled $(date '+%Y-%m-%d') on $(hostname)\"" > buildtag.h
Ricky Elrod 6069c07
Ricky Elrod 6069c07
%endif
Ricky Elrod 6069c07
Ricky Elrod 14b8098
# Chicken's build system is freaking horrible.
Ricky Elrod 14b8098
# So, Fedora requires that we use optflags here - makes sense, they contain
Ricky Elrod 14b8098
# some security related flags, etc. The issue is that Chicken uses the same
Ricky Elrod 14b8098
# flags that it was compiled with when it compiles code for the end-user.
Ricky Elrod 14b8098
# So if we pass -Wall here, it'll give the user a bunch of warnings when they
Ricky Elrod 14b8098
# compile anything at all with `csc`. So that's lovely. -codeblock
Ricky Elrod cae8317
make CFLAGS="$(echo "%{optflags}" | sed 's/-Wall//') -Wformat" \
Ricky Elrod 6069c07
     PREFIX=%{_prefix} \
Ricky Elrod 6069c07
     BINDIR=%{_bindir} \
Ricky Elrod 6069c07
     LIBDIR=%{_libdir} \
Ricky Elrod 6069c07
     DATADIR=%{_datadir}/chicken \
Ricky Elrod 6069c07
     INCLUDEDIR=%{_includedir}/chicken \
Ricky Elrod 6069c07
     INFODIR=%{_infodir}/chicken \
Ricky Elrod 6069c07
     TOPMANDIR=%{_mandir} \
Ricky Elrod 6069c07
     DOCDIR=%{_docdir}/chicken \
Ricky Elrod 6069c07
     PLATFORM=linux
Ricky Elrod 6069c07
Ricky Elrod 6069c07
%install
Ricky Elrod cae8317
make CFLAGS="$(echo "%{optflags}" | sed 's/-Wall//') -Wformat" \
Ricky Elrod 6069c07
     PREFIX=%{_prefix} \
Ricky Elrod 6069c07
     BINDIR=%{_bindir} \
Ricky Elrod 6069c07
     LIBDIR=%{_libdir} \
Ricky Elrod 6069c07
     DATADIR=%{_datadir}/chicken \
Ricky Elrod 6069c07
     INCLUDEDIR=%{_includedir}/chicken \
Ricky Elrod 6069c07
     INFODIR=%{_infodir}/chicken \
Ricky Elrod 6069c07
     TOPMANDIR=%{_mandir} \
Ricky Elrod 6069c07
     DOCDIR=%{_docdir}/chicken \
Ricky Elrod 6069c07
     DESTDIR=%{buildroot} \
Ricky Elrod 6069c07
     PLATFORM=linux install
Ricky Elrod 6069c07
Ricky Elrod 6069c07
rm -f %{buildroot}/%{_docdir}/%{name}/LICENSE %{buildroot}/%{_docdir}/%{name}/README
Ricky Elrod 6069c07
Ricky Elrod 6069c07
find %{buildroot} -name \*.so -exec chrpath --delete \{\} \;
Ricky Elrod 6069c07
find %{buildroot} -name \*.a -exec rm \{\} \;
Ricky Elrod 6069c07
chrpath --delete %{buildroot}/%{_bindir}/*
Ricky Elrod 6069c07
e0bd49f
%post libs -p /sbin/ldconfig
Ricky Elrod 6069c07
e0bd49f
%postun libs -p /sbin/ldconfig
Ricky Elrod 6069c07
Ricky Elrod 6069c07
%files
Ricky Elrod 6069c07
%doc README LICENSE
Ricky Elrod 6069c07
%dir %{_datadir}/chicken
Ricky Elrod 6069c07
%{_datadir}/chicken/setup.defaults
Ricky Elrod 6069c07
%{_bindir}/chicken*
Ricky Elrod 6069c07
%{_bindir}/csc
Ricky Elrod 6069c07
%{_bindir}/csi
Ricky Elrod 6069c07
%dir %{_includedir}/chicken
Ricky Elrod 6069c07
%{_includedir}/chicken/chicken-config.h
Ricky Elrod 6069c07
%{_includedir}/chicken/chicken.h
Ricky Elrod 6069c07
%dir %{_libdir}/chicken
Ricky Elrod 791d26a
%dir %{_libdir}/chicken/7
Ricky Elrod 791d26a
%{_libdir}/chicken/7/*
Ricky Elrod 6069c07
%{_mandir}/man1/*
Ricky Elrod 6069c07
%{_docdir}/chicken/manual
Ricky Elrod 6069c07
Ricky Elrod e65a417
%files libs
Ricky Elrod e65a417
%{_libdir}/libchicken.so*
Ricky Elrod e65a417
Ricky Elrod 6069c07
%changelog
Ricky Elrod 1040bcb
* Mon Jun 13 2015 Ricky Elrod <relrod@redhat.com> - 4.9.0.1-4
Ricky Elrod 1040bcb
- Apply patch to work around out of bounds bug:
Ricky Elrod 1040bcb
  https://bugzilla.redhat.com/show_bug.cgi?id=1231871
Ricky Elrod 1040bcb
Ricky Elrod 886ab75
* Tue Jan 13 2015 Ricky Elrod <relrod@redhat.com> - 4.9.0.1-3
Ricky Elrod 24cfce7
- Apply patch to work around buffer overrun:
Ricky Elrod 24cfce7
  https://bugzilla.redhat.com/show_bug.cgi?id=1181483
Ricky Elrod 24cfce7
04ed663
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.9.0.1-2
04ed663
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
04ed663
Ricky Elrod 24cfce7
* Thu Aug 07 2014 Ricky Elrod <relrod@redhat.com> - 4.9.0.1-1
Ricky Elrod fce6d86
- Latest upstream release.
Ricky Elrod fce6d86
Ricky Elrod 9264507
* Sat Jun 07 2014 Ricky Elrod <relrod@redhat.com> - 4.9.0-4
Ricky Elrod 9264507
- Rebuild from previous bootstrap.
Ricky Elrod 9264507
Ricky Elrod 3264883
* Sat Jun 07 2014 Ricky Elrod <relrod@redhat.com> - 4.9.0-3
Ricky Elrod 3264883
- Bootstrap for el7.
Ricky Elrod 3264883
056beec
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.9.0-2
056beec
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
056beec
Ricky Elrod a602da8
* Wed Jun 4 2014 Ricky Elrod <codeblock@fedoraproject.org> - 4.9.0-1
Ricky Elrod a602da8
- Latest upstream release.
Ricky Elrod a602da8
Ricky Elrod 2922773
* Tue May 20 2014 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.6-2
Ricky Elrod 2922773
- Patch for CVE-2014-3776.
Ricky Elrod 2922773
Ricky Elrod 78aacb4
* Thu Apr 24 2014 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.6-1
Ricky Elrod 78aacb4
- Upstream 4.8.0.6.
Ricky Elrod 78aacb4
Ricky Elrod e65a417
* Sat Dec 14 2013 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.5-3
Ricky Elrod e65a417
- Get rid of docs subpackage.
Ricky Elrod e65a417
- Add a -libs subpackage for the runtime library.
Ricky Elrod e65a417
Ricky Elrod cae8317
* Sun Dec 8 2013 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.5-2
Ricky Elrod cae8317
- Add -Wformat for BZ #1037013.
Ricky Elrod cae8317
Ricky Elrod d1cc6ce
* Sun Nov 24 2013 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.5-1
Ricky Elrod d1cc6ce
- Upstream 4.8.0.5.
Ricky Elrod d1cc6ce
Ricky Elrod 0edfd5e
* Fri Sep 27 2013 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.4-4
Ricky Elrod 0edfd5e
- Add upstream patch for CVE-2013-4385, until 4.8.0.5 is released.
Ricky Elrod 0edfd5e
  http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commitdiff;h=cd1b9775005ebe220ba11265dbf5396142e65f26
Ricky Elrod 0edfd5e
Ricky Elrod 74611aa
* Mon Sep 02 2013 Ricky Elrod <codeblock@fedoraproject.org> - 4.8.0.4-3
Ricky Elrod 74611aa
- Nuke -Wall from optflags.
Ricky Elrod 74611aa
4efd01b
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.0.4-2
4efd01b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
4efd01b
Ricky Elrod aad7c77
* Wed Jul 17 2013 Ricky Elrod <codeblock@fedoraproject.org> 4.8.0.4-1
Ricky Elrod aad7c77
- Upstream 4.8.0.4.
Ricky Elrod aad7c77
Ricky Elrod 25727bb
* Sat May 11 2013 Ricky Elrod <codeblock@fedoraproject.org> 4.8.0.3-4
Ricky Elrod 25727bb
- Bootstrap again, with working CFLAGS.
Ricky Elrod 25727bb
Ricky Elrod a26bed0
* Wed May 08 2013 Ricky Elrod <codeblock@fedoraproject.org> 4.8.0.3-3
Ricky Elrod a26bed0
- Bootstrap.
Ricky Elrod a26bed0
Ricky Elrod e9ad65b
* Wed May 08 2013 Ricky Elrod <codeblock@fedoraproject.org> 4.8.0.3-2
Ricky Elrod e9ad65b
- Fix BuildRequires for RHEL building.
Ricky Elrod e9ad65b
Ricky Elrod 6069c07
* Sun May 05 2013 Ricky Elrod <codeblock@fedoraproject.org> 4.8.0.3-1
Ricky Elrod 6069c07
- Clean spec file up a lot.
Ricky Elrod 6069c07
- Bump to latest upstream release.
Ricky Elrod 6069c07
Ricky Elrod 6069c07
* Thu May 03 2012 J R Jones <fedora@zaniyah.org> 4.7.0-2
Ricky Elrod 6069c07
- Separated into separate sub-packages
Ricky Elrod 6069c07
Ricky Elrod 6069c07
* Thu May 03 2012 J R Jones <fedora@zaniyah.org> 4.7.0-1
Ricky Elrod 6069c07
- Specfile created.