cabal2spec and templates now live in cabal2spec package

epel9
Jens Petersen 16 years ago
parent 34b48fdbc8
commit c4a311b180

@ -1,48 +0,0 @@
# ghc does not emit debug information
%define debug_package %{nil}
Name: @PACKAGE@
Version: @VERSION@
Release: 1%{?dist}
Summary: *FIXME*
Group: *FIXME*
License: BSD?
URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{name}
Source0: http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
ExclusiveArch: i386 x86_64 ppc
BuildRequires: ghc
%description
*FIXME*
%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
* @DATE@ @PACKAGER@ <@EMAIL@> - @VERSION@-1
- initial packaging for Fedora created by cabal2spec

@ -1,142 +0,0 @@
%define ghc_version @GHC_VERSION@
%define pkg_libdir %{_libdir}/ghc-%{ghc_version}/%{name}-%{version}
%define pkg_docdir %{_docdir}/ghc/libraries/%{name}-%{version}
%bcond_without prof
%bcond_without doc
# ghc does not emit debug information
%define debug_package %{nil}
Name: @PACKAGE@
Version: @VERSION@
Release: 1%{?dist}
Summary: *FIXME*
Group: *FIXME*
License: BSD? *FIXME*
URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{name}
Source0: http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz
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 = %{ghc_version}
%if %{with prof}
BuildRequires: ghc-prof = %{ghc_version}
%endif
%description
*FIXME*
%package -n ghc-%{name}
Summary: Haskell %{name} library *FIXME*
Group: Development/Libraries
Provides: ghc-%{name}-devel = %{version}-%{release}
Requires: ghc = %{ghc_version}
Requires(post): ghc = %{ghc_version}
Requires(preun): ghc = %{ghc_version}
%description -n ghc-%{name}
Haskell %{name} library. *FIXME*
%if %{with doc}
%package -n ghc-%{name}-doc
Summary: Documentation for %{name}
Group: Development/Libraries
Requires: ghc-doc = %{ghc_version}
Requires(postun): ghc-doc = %{ghc_version}
%description -n ghc-%{name}-doc
This package contains development documentation files for the %{name} library.
%endif
%if %{with prof}
%package -n ghc-%{name}-prof
Summary: Profiling libraries for %{name}
Group: Development/Libraries
Requires: ghc-%{name} = %{version}-%{release}
Requires: ghc-prof = %{ghc_version}
%description -n ghc-%{name}-prof
This package contains profiling libraries for %{name}.
%endif
%prep
%setup -q
%build
%cabal_configure --ghc %{!?without_prof:-p}
%cabal build
%if %{with doc}
%cabal haddock
%endif
%ghc_gen_scripts
%install
rm -rf $RPM_BUILD_ROOT
%cabal_install
%ghc_install_scripts
%ghc_gen_filelists ghc-%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post -n ghc-%{name}
%ghc_register_pkg
%if %{with doc}
%post -n ghc-%{name}-doc
%ghc_reindex_haddock
%endif
%preun -n ghc-%{name}
if [ "$1" -eq 0 ] ; then
%ghc_unregister_pkg
fi
%if %{with doc}
%postun -n ghc-%{name}-doc
if [ "$1" -eq 0 ] ; then
%ghc_reindex_haddock
fi
%endif
%files
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{name}
%files -n ghc-%{name} -f ghc-%{name}.files
%defattr(-,root,root,-)
%if %{with doc}
%files -n ghc-%{name}-doc
%defattr(-,root,root,-)
%{pkg_docdir}
%endif
%if %{with prof}
%files -n ghc-%{name}-prof -f ghc-%{name}-prof.files
%defattr(-,root,root,-)
%endif
%changelog
* @DATE@ @PACKAGER@ <@EMAIL@> - @VERSION@-1
- initial packaging for Fedora created by cabal2spec

@ -1,131 +0,0 @@
%define pkg_name @PACKAGE@
%define ghc_version @GHC_VERSION@
%define pkg_libdir %{_libdir}/ghc-%{ghc_version}/%{pkg_name}-%{version}
%define pkg_docdir %{_docdir}/ghc/libraries/%{pkg_name}-%{version}
%bcond_without prof
%bcond_without doc
# ghc does not emit debug information
%define debug_package %{nil}
Name: ghc-%{pkg_name}
Version: @VERSION@
Release: 1%{?dist}
Summary: Haskell %{pkg_name} library *FIXME*
Group: Development/Libraries
License: BSD? *FIXME*
URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{pkg_name}
Source0: http://hackage.haskell.org/packages/archive/%{pkg_name}/%{version}/%{pkg_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: %{name}-devel = %{version}-%{release}
# ghc has only been bootstrapped on the following archs:
ExclusiveArch: i386 x86_64 ppc
BuildRequires: ghc = %{ghc_version}
%if %{with prof}
BuildRequires: ghc-prof = %{ghc_version}
%endif
Requires: ghc = %{ghc_version}
Requires(post): ghc = %{ghc_version}
Requires(preun): ghc = %{ghc_version}
%description
Haskell %{pkg_name} library for ghc-%{ghc_version}. *FIXME*
%if %{with doc}
%package doc
Summary: Documentation for %{name}
Group: Development/Libraries
Requires: ghc-doc = %{ghc_version}
Requires(postun): ghc-doc = %{ghc_version}
%description doc
This package contains development documentation files for the %{name} library.
%endif
%if %{with prof}
%package prof
Summary: Profiling libraries for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: ghc-prof = %{ghc_version}
%description prof
This package contains profiling libraries for %{name}.
%endif
%prep
%setup -q -n %{pkg_name}-%{version}
%build
%cabal_configure --ghc %{!?without_prof:-p}
%cabal build
%if %{with doc}
%cabal haddock
%endif
%ghc_gen_scripts
%install
rm -rf $RPM_BUILD_ROOT
%cabal_install
%ghc_install_scripts
%ghc_gen_filelists %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post
%ghc_register_pkg
%if %{with doc}
%post doc
%ghc_reindex_haddock
%endif
%preun
if [ "$1" -eq 0 ] ; then
%ghc_unregister_pkg
fi
%if %{with doc}
%postun doc
if [ "$1" -eq 0 ] ; then
%ghc_reindex_haddock
fi
%endif
%files -f %{name}.files
%defattr(-,root,root,-)
%doc LICENSE
%if %{with doc}
%files doc
%defattr(-,root,root,-)
%{pkg_docdir}
%endif
%if %{with prof}
%files prof -f %{name}-prof.files
%defattr(-,root,root,-)
%endif
%changelog
* @DATE@ @PACKAGER@ <@EMAIL@> - @VERSION@-1
- initial packaging for Fedora created by cabal2spec

@ -1,78 +0,0 @@
#!/bin/sh
# Copyright (C) 2008-2009 Red Hat, Inc
# Written by Jens Petersen <petersen@redhat.com>, 2008.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
set -e
[ $# -ne 1 -o ! -r "$1" ] && echo "Usage: $(basename $0) [hackage.tar.gz|hackage.cabal]" && exit 1
FILE=$1
case $FILE in
*.tar.gz)
TARNAME_VER=$(basename $FILE .tar.gz)
TARVERSION=$(echo $TARNAME_VER | sed -e "s/.*-//")
TARNAME=$(echo $TARNAME_VER | sed -e "s/-$TARVERSION//")
WORKDIR=$(mktemp -d)
tar zxf $FILE -C $WORKDIR "*.cabal"
CABAL="$WORKDIR/*/*.cabal" ;;
*.cabal)
CABAL=$FILE ;;
esac
NAME=$(grep -i ^name: $CABAL | sed -e "s/[Nn]ame:[ \t]*//")
if [ -n "$TARNAME" -a "$TARNAME" != "$NAME" ]; then
echo "Warning: tarball name ($TARNAME) and cabal name ($NAME) differ!"
fi
VERSION=$(grep -i ^version: $CABAL | sed -e "s/[Vv]ersion:[ \t]*//")
if [ -n "$TARVERSION" -a "$TARVERSION" != "$VERSION" ]; then
echo "Warning: tarball version ($TARVERSION) and cabal version ($VERSION) differ!"
fi
CABALFILENAME=$(basename $CABAL .cabal)
if [ "$CABALFILENAME" != "$NAME" ]; then
echo "Warning: .cabal filename ($CABALFILENAME) and cabal Name field ($NAME) differ!"
fi
if grep -qi exposed-modules: $CABAL; then
HAS_LIB=yes
fi
if grep -qi executable $CABAL; then
HAS_BIN=yes
fi
[ -d "$WORKDIR" ] && rm -r $WORKDIR
if [ "$HAS_LIB" -a ! "$HAS_BIN" ]; then
PREFIX=ghc-
fi
SPECFILE=$PREFIX$NAME.spec
[ -r "$SPECFILE" ] && echo "$SPECFILE already exists!" && exit 1
cp /usr/share/ghc/cabal-${HAS_BIN:+bin}${HAS_LIB:+lib}-template.spec.in $SPECFILE
echo "created $SPECFILE (${HAS_BIN:+bin}${HAS_LIB:+lib}) for $NAME-$VERSION"
DATE=$(env LANG=C date +"%a %b %e %Y")
sed -i -e "s/@PACKAGE@/$NAME/" -e "s/@GHC_VERSION@/$(ghc --numeric-version)/" -e "s/@VERSION@/$VERSION/" -e "s/@DATE@/$DATE/" $SPECFILE
Loading…
Cancel
Save