rpms/ghc/devel cabal-bin-template.spec.in, NONE, 1.1 cabal-binlib-template.spec.in, NONE, 1.1 cabal-lib-template.spec.in, NONE, 1.1 cabal2spec, 1.1, 1.2 ghc.spec, 1.61, 1.62 cabal-lib-template.spec, 1.2, NONE
Jens Petersen
petersen at fedoraproject.org
Tue Nov 25 09:15:49 UTC 2008
- Previous message (by thread): rpms/mdbtools/F-10 mdbtools-0.5.99.0.6pre1.0.20051109-odbc.patch, NONE, 1.1 mdbtools.spec, 1.2, 1.3
- Next message (by thread): rpms/osmo/F-9 .cvsignore, 1.5, 1.6 osmo.spec, 1.7, 1.8 sources, 1.5, 1.6 osmo-0.2.2-tzdata.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: petersen
Update of /cvs/extras/rpms/ghc/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29101
Modified Files:
cabal2spec ghc.spec
Added Files:
cabal-bin-template.spec.in cabal-binlib-template.spec.in
cabal-lib-template.spec.in
Removed Files:
cabal-lib-template.spec
Log Message:
- add support for bin and binlib packages to cabal2spec script
and only grep .cabal files for exposed-module/executable
- output bin and/or lib status too
--- NEW FILE cabal-bin-template.spec.in ---
# 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 at -1
- initial packaging for Fedora created by cabal2spec
--- NEW FILE cabal-binlib-template.spec.in ---
%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 at -1
- initial packaging for Fedora created by cabal2spec
--- NEW FILE cabal-lib-template.spec.in ---
%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}
%define build_prof 1
%define build_doc 1
# 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?
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
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
Requires: ghc = %{ghc_version}
Requires(post): ghc = %{ghc_version}
Requires(preun): ghc = %{ghc_version}
Requires(postun): ghc = %{ghc_version}
%description
Haskell %{pkg_name} library for ghc-%{ghc_version}. *FIXME*
%if %{build_prof}
%package prof
Summary: Profiling libraries for %{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 %{pkg_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 at -1
- initial packaging for Fedora created by cabal2spec
Index: cabal2spec
===================================================================
RCS file: /cvs/extras/rpms/ghc/devel/cabal2spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cabal2spec 25 Nov 2008 02:52:10 -0000 1.1
+++ cabal2spec 25 Nov 2008 09:15:17 -0000 1.2
@@ -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
Index: ghc.spec
===================================================================
RCS file: /cvs/extras/rpms/ghc/devel/ghc.spec,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- ghc.spec 25 Nov 2008 02:52:10 -0000 1.61
+++ ghc.spec 25 Nov 2008 09:15:17 -0000 1.62
@@ -25,8 +25,10 @@
Source0: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
Source1: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src-extralibs.tar.bz2
Source2: ghc-rpm-macros.ghc
-Source3: cabal-lib-template.spec
-Source4: cabal2spec
+Source3: cabal2spec
+Source4: cabal-bin-template.spec.in
+Source5: cabal-lib-template.spec.in
+Source6: cabal-binlib-template.spec.in
URL: http://haskell.org/ghc/
Requires: gcc, gmp-devel, libedit-devel
Requires(post): policycoreutils
@@ -130,11 +132,11 @@
cp -p %{SOURCE2} ${RPM_BUILD_ROOT}/%{_sysconfdir}/rpm/macros.ghc
# spec templating
-# cabal-lib-template.spec
-mkdir -p ${RPM_BUILD_ROOT}/%{_datadir}/ghc
-cp -p %{SOURCE3} ${RPM_BUILD_ROOT}/%{_datadir}/ghc/
# cabal2spec
-install -m 0755 -p %{SOURCE4} ${RPM_BUILD_ROOT}/%{_bindir}
+install -m 0755 -p %{SOURCE3} ${RPM_BUILD_ROOT}/%{_bindir}
+# templates for bin, lib and binlib cabal hackages
+mkdir -p ${RPM_BUILD_ROOT}/%{_datadir}/ghc
+cp -p %{SOURCE4} %{SOURCE5} %{SOURCE6} ${RPM_BUILD_ROOT}/%{_datadir}/ghc/
SRC_TOP=$PWD
rm -f rpm-*-filelist rpm-*.files
@@ -228,7 +230,7 @@
%changelog
* Tue Nov 25 2008 Jens Petersen <petersen at redhat.com> - 6.10.1-5
-- add cabal2spec and cabal-lib-template.spec for easy Cabal library packaging
+- add cabal2spec and template files for easy cabal hackage packaging
- simplify script macros: make ghc_preinst_script and ghc_postun_script no-ops
and ghc_preun_script only unregister for uninstall
--- cabal-lib-template.spec DELETED ---
- Previous message (by thread): rpms/mdbtools/F-10 mdbtools-0.5.99.0.6pre1.0.20051109-odbc.patch, NONE, 1.1 mdbtools.spec, 1.2, 1.3
- Next message (by thread): rpms/osmo/F-9 .cvsignore, 1.5, 1.6 osmo.spec, 1.7, 1.8 sources, 1.5, 1.6 osmo-0.2.2-tzdata.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list