grep .cabal files for exposed-module/executable - output bin and/or lib status tooepel9
parent
10d4eb08a1
commit
b17255a641
@ -0,0 +1,48 @@
|
||||
# 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
|
@ -0,0 +1,122 @@
|
||||
%define ghc_version @GHC_VERSION@
|
||||
|
||||
%define pkg_libdir %{_libdir}/ghc-%{ghc_version}/%{name}-%{version}
|
||||
%define pkg_docdir %{_docdir}/ghc/libraries/%{name}
|
||||
|
||||
%define build_prof 1
|
||||
%define build_doc 1
|
||||
|
||||
# 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
|
||||
Provides: %{name}-devel = %{version}-%{release}
|
||||
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 %{build_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}
|
||||
Requires(postun): ghc = %{ghc_version}
|
||||
|
||||
%description -n ghc-%{name}
|
||||
Haskell %{name} library for ghc-%{ghc_version}. *FIXME*
|
||||
|
||||
|
||||
%if %{build_prof}
|
||||
%package prof
|
||||
Summary: Profiling libraries for ghc-%{name}
|
||||
Group: Development/Libraries
|
||||
Requires: ghc-prof = %{ghc_version}
|
||||
|
||||
%description prof
|
||||
This package contains profiling libraries for ghc %{ghc_version}.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
|
||||
|
||||
%build
|
||||
%cabal_configure --ghc \
|
||||
%if %{build_prof}
|
||||
-p
|
||||
%else
|
||||
%{nil}
|
||||
%endif
|
||||
%cabal_build
|
||||
%if %{build_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_postinst_script
|
||||
%if %{build_doc}
|
||||
%ghc_reindex_haddock
|
||||
%endif
|
||||
|
||||
|
||||
%preun
|
||||
%ghc_preun_script
|
||||
|
||||
|
||||
%postun
|
||||
if [ "$1" -eq 0 ] ; then
|
||||
%if %{build_doc}
|
||||
%ghc_reindex_haddock
|
||||
%endif
|
||||
fi
|
||||
|
||||
|
||||
%files -f %{name}.files
|
||||
%defattr(-,root,root,-)
|
||||
%doc LICENSE
|
||||
%if %{build_doc}
|
||||
%{pkg_docdir}
|
||||
%endif
|
||||
|
||||
|
||||
%if %{build_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,23 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ $# -ne 1 ] && echo "Usage: $0 lib-ver[.tar.gz]" && exit 1
|
||||
set -e
|
||||
|
||||
INPUT=$1
|
||||
[ $# -ne 1 -o ! -r $1 ] && echo "Usage: $0 hackage-version.tar.gz" && exit 1
|
||||
|
||||
case $INPUT in
|
||||
*/*) INPUT=$(basename $INPUT) ;;
|
||||
esac
|
||||
HACKAGE=$1
|
||||
|
||||
INPUT=$(echo $INPUT | sed -e "s/.tar.gz//")
|
||||
|
||||
VERSION=$(echo $INPUT | sed -e "s/[A-Za-z-]*-//")
|
||||
INPUT=$(basename $HACKAGE .tar.gz)
|
||||
|
||||
VERSION=$(echo $INPUT | sed -e "s/.*-//")
|
||||
NAME=$(echo $INPUT | sed -e "s/-$VERSION//")
|
||||
|
||||
[ -r ghc-$NAME.spec ] && echo "ghc-$NAME.spec already exists!" && exit 1
|
||||
TMPDIR=$(mktemp -d)
|
||||
CURRENT_DIR=$PWD
|
||||
cd $TMPDIR
|
||||
tar zxf $HACKAGE "*.cabal"
|
||||
|
||||
if grep -qi exposed-modules: */*.cabal; then
|
||||
HAS_LIB=yes
|
||||
fi
|
||||
|
||||
if grep -qi executable */*.cabal; then
|
||||
HAS_BIN=yes
|
||||
fi
|
||||
cd -
|
||||
rm -rf $TMPDIR
|
||||
|
||||
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
|
||||
|
||||
cp /usr/share/ghc/cabal-lib-template.spec ghc-$NAME.spec
|
||||
echo "created $SPECFILE (${HAS_BIN:+bin}${HAS_LIB:+lib})"
|
||||
|
||||
echo "created ghc-$NAME.spec"
|
||||
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 +\"%a %b %e %Y\"`/" ghc-$NAME.spec
|
||||
sed -i -e "s/@PACKAGE@/$NAME/" -e "s/@GHC_VERSION@/$(ghc --numeric-version)/" -e "s/@VERSION@/$VERSION/" -e "s/@DATE@/$DATE/" $SPECFILE
|
||||
|
Loading…
Reference in new issue