[alex] add a static subpackage and common subpackage
Jens Petersen
petersen at fedoraproject.org
Wed Dec 3 10:40:48 UTC 2014
commit a964910d3dd31f03fd04972699097f1064a5cfc7
Author: Jens Petersen <petersen at redhat.com>
Date: Wed Dec 3 20:40:47 2014 +1000
add a static subpackage and common subpackage
bcond static
probably only good for ghc-7.8 since non-intel archs
do not have shared libs before that.
alex.spec | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 81 insertions(+), 4 deletions(-)
---
diff --git a/alex.spec b/alex.spec
index 86c4e94..13b64e1 100644
--- a/alex.spec
+++ b/alex.spec
@@ -1,6 +1,7 @@
# https://fedoraproject.org/wiki/Packaging:Haskell
%bcond_without tests
+%bcond_without static
# no useful debuginfo for Haskell packages without C sources
%global debug_package %{nil}
@@ -8,7 +9,7 @@
Name: alex
# part of haskell-platform
Version: 3.1.3
-Release: 2%{?dist}
+Release: 1%{?dist}
Summary: Tool for generating lexical analysers in Haskell
License: BSD
@@ -29,6 +30,11 @@ BuildRequires: ghc-process-devel
BuildRequires: autoconf
BuildRequires: docbook-style-xsl
BuildRequires: libxslt
+%if %{with static}
+Requires: %{name}-common = %{release}
+Requires(post): %{_sbindir}/update-alternatives
+Requires(postun): %{_sbindir}/update-alternatives
+%endif
%description
Alex is a tool for generating lexical analysers in Haskell. It takes a
@@ -37,11 +43,36 @@ module containing code for scanning text efficiently. It is similar to the tool
lex or flex for C/C++.
+%if %{with static}
+%package common
+Summary: Common files for alex
+
+%description common
+This provides the common files for alex.
+
+
+%package static
+Summary: Static Haskell build
+Requires: %{name}-common = %{release}
+Requires(post): %{_sbindir}/update-alternatives
+Requires(postun): %{_sbindir}/update-alternatives
+
+%description static
+This provides a build with Haskell libraries statically linked.
+%endif
+
+
%prep
%setup -q
%build
+%if %{with static}
+%define ghc_without_dynamic 1
+%ghc_bin_build
+mv dist/build/%{name}/%{name}{,.static}
+%undefine ghc_without_dynamic
+%endif
%ghc_bin_build
cd doc
@@ -53,6 +84,13 @@ cd ..
%install
%ghc_bin_install
+%if %{with static}
+mv %{buildroot}%{_bindir}/%{name}{,.dynamic}
+install dist/build/%{name}/%{name}.static %{buildroot}%{_bindir}
+touch %{buildroot}%{_bindir}/%{name}
+%endif
+
+rm %{buildroot}%{_pkgdocdir}/LICENSE
%check
@@ -61,18 +99,57 @@ cd ..
%endif
+%if %{with static}
+%post
+%{_sbindir}/update-alternatives --install %{_bindir}/%{name} \
+ %{name} %{_bindir}/%{_bindir}/%{name}.dynamic 70
+
+
+%postun
+if [ $1 -eq 0 ] ; then
+ %{_sbindir}/update-alternatives --remove %{name} %{_bindir}/%{name}.dynamic
+fi
+
+
+%post static
+%{_sbindir}/update-alternatives --install %{_bindir}/%{name} \
+ %{name} %{_bindir}/%{_bindir}/%{name}.static 30
+
+
+%postun static
+if [ $1 -eq 0 ] ; then
+ %{_sbindir}/update-alternatives --remove %{name} %{_bindir}/%{name}.static
+fi
+%endif
+
+
%files
+%if %{with static}
+%ghost %{_bindir}/%{name}
+%{_bindir}/%{name}.dynamic
+%else
%doc ANNOUNCE LICENSE README TODO doc/alex examples
%{_bindir}/%{name}
%{_datadir}/%{name}-%{version}
+%endif
-%changelog
-* Fri Aug 15 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+%if %{with static}
+%files common
+%doc ANNOUNCE LICENSE README TODO doc/alex examples
+%{_datadir}/%{name}-%{version}
+
+%files static
+%ghost %{_bindir}/%{name}
+%{_bindir}/%{name}.static
+%endif
+
+
+%changelog
* Sun Aug 3 2014 Jens Petersen <petersen at redhat.com> - 3.1.3-1
- update to 3.1.3
+- add static and common subpackages
* Tue Jun 10 2014 Jens Petersen <petersen at redhat.com> - 3.0.5-37
- update to cblrpm-0.8.11
More information about the scm-commits
mailing list