From Fedora Project Wiki
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Binary Only Template =
= Binary Only Template =
This is a sample spec file for a Haskell Cabal package. This sample demonstrates how to package a Haskell Cabal package that contains only a  binary. It was generated automatically using cabal-rpm. It contains a few minor bugs, including missing dependency declarations. This is due to a limitation in cabal-rpm that needs to be fixed.  They have been added in manually.
This is a sample spec file for a Haskell Cabal package. This sample demonstrates how to package a Haskell Cabal package that contains only a  binary. It was orginally generated automatically using cabal-rpm, and then modified to overcome some of cabal-rpm's limitations: including missing dependency declarations which need to be added in manually.


<pre>
<pre>
%define hsc_name ghc
# ghc does not emit debug information
%define hsc_version 6.8.3
 
# Haskell compilers do not traditionally emit DWARF data.
%define debug_package %{nil}
%define debug_package %{nil}


Name: haProg
Name: haProg
Version: 0.9
Version: version
Release: 2%{?dist}
Release: 1%{?dist}
License: BSD
License: BSD
Group: Development/Languages
Group: Development/Languages
Line 18: Line 15:
Summary: Summary of %{name}
Summary: Summary of %{name}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{hsc_name} = %{hsc_version}, %{hsc_name}-prof = %{hsc_version}
# ghc has only been bootstrapped on the following archs:
ExclusiveArch: i386 x86_64 ppc
BuildRequires: ghc
BuildRequires: ...
BuildRequires: ...


Line 26: Line 25:


%prep
%prep
%setup -q -n %{name}-%{version}
%setup -q




%build
%build
%ghc_autotools -p enable
%cabal_configure
%ghc_build
%cabal_build




%install
%install
rm -rf ${RPM_BUILD_ROOT}
rm -rf ${RPM_BUILD_ROOT}
%ghc_install
%cabal_install
 
cd ${RPM_BUILD_ROOT}/%{_datadir}/doc/%{hsc_name}-%{name}-%{version}
rm -rf doc LICENSE README




Line 53: Line 49:


%changelog
%changelog
* Wed Aug 13 2008 Yaakov M. Nemoy <yankee@koan> - 0.9-2
* Day Month Date Year Fedora Haskell Packager <email@address> - version-release
- changed source
- initial packaging for Fedora
- added requirements
 
* Wed Aug 13 2008 cabal-rpm <cabal-devel@haskell.org> - 0.9-1
- spec file autogenerated by cabal-rpm
</pre>
</pre>

Latest revision as of 04:17, 25 November 2008

Binary Only Template

This is a sample spec file for a Haskell Cabal package. This sample demonstrates how to package a Haskell Cabal package that contains only a binary. It was orginally generated automatically using cabal-rpm, and then modified to overcome some of cabal-rpm's limitations: including missing dependency declarations which need to be added in manually.

# ghc does not emit debug information
%define debug_package %{nil}

Name: haProg
Version: version
Release: 1%{?dist}
License: BSD
Group: Development/Languages
URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{name}
Source: http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz
Summary: Summary of %{name}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# ghc has only been bootstrapped on the following archs:
ExclusiveArch:	i386 x86_64 ppc
BuildRequires: ghc
BuildRequires: ...

%description
Description of %{name}.


%prep
%setup -q


%build
%cabal_configure
%cabal_build


%install
rm -rf ${RPM_BUILD_ROOT}
%cabal_install


%clean
rm -rf ${RPM_BUILD_ROOT}


%files
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{name}


%changelog
* Day Month Date Year Fedora Haskell Packager <email@address> - version-release
- initial packaging for Fedora