Index: trunk/server/fedora/Makefile
===================================================================
--- trunk/server/fedora/Makefile	(revision 1587)
+++ trunk/server/fedora/Makefile	(revision 1590)
@@ -20,6 +20,8 @@
 
 upstream_yum	= krb5 krb5.i586 httpd openssh shadow-utils libpng ghostscript
-upstream	= openafs $(upstream_yum) moira cluster-glue heartbeat pacemaker
-oursrc		= execsys tokensys accountadm httpdmods logview sql-signup nss_nonlocal nss_nonlocal.i586 whoisd mit-zephyr athrun php_scripts scripts-wizard scripts-base
+hackage		= MonadCatchIO-mtl-0.3.0.1 cgi-3001.1.8.1 unix-handle-0.0.0
+upstream_hackage = ghc-MonadCatchIO-mtl ghc-cgi ghc-unix-handle
+upstream	= openafs $(upstream_yum) $(upstream_hackage) moira cluster-glue heartbeat pacemaker
+oursrc		= execsys tokensys accountadm httpdmods logview sql-signup nss_nonlocal nss_nonlocal.i586 whoisd mit-zephyr athrun php_scripts scripts-wizard scripts-base scripts-static-cat
 allsrc		= $(upstream) $(oursrc)
 oursrcdir	= ${PWD}/../common/oursrc
@@ -73,4 +75,7 @@
 	wget -P $(dload) $(pacemaker_url)
 	cd $(tmp_src) && wget -nd -r -l1 -np -A.orig.tar.gz http://debathena.mit.edu/apt/pool/debathena/d/debathena-moira/
+	cabal update
+	cabal fetch $(hackage)
+	cp -a $(hackage:%=~/.cabal/packages/*/*/*/%.tar.gz) $(tmp_src)
 	touch download_stamp
 
@@ -203,6 +208,7 @@
 openssh-deps	= gtk2-devel libX11-devel autoconf automake openssl-devel perl zlib-devel audit-libs-devel util-linux groff man pam-devel tcp_wrappers-devel krb5-devel libselinux-devel audit-libs xauth pango-devel cairo-devel libedit-devel nss-devel fipscheck-devel
 php-deps	= bzip2-devel curl-devel gmp-devel libstdc++-devel sqlite-devel gcc-c++ libc-client-devel mysql-devel postgresql-devel unixODBC-devel libxml2-devel net-snmp-devel libxslt-devel libxml2-devel libXpm-devel libjpeg-devel t1lib-devel libmcrypt-devel mhash-devel libtidy-devel freetds-devel aspell-devel recode-devel
+haskell-deps	= cabal-install
 install-deps:
-	yum -y install $(basic-deps) $(oursrc-deps) $(httpdmods-deps) $(httpd-deps) $(krb5-deps) $(openafs-deps) $(mit-zephyr-deps) $(openssh-deps) $(php-deps)
+	yum -y install $(basic-deps) $(oursrc-deps) $(httpdmods-deps) $(httpd-deps) $(krb5-deps) $(openafs-deps) $(mit-zephyr-deps) $(openssh-deps) $(php-deps) $(haskell-deps)
 	rpm -ivh http://kojipkgs.fedoraproject.org/packages/compat-readline43/4.3/3/i386/compat-readline43-4.3-3.i386.rpm
 #	rpm -ivh http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/Fedora/RPMS/compat-readline43-4.3-3.i386.rpm
Index: trunk/server/fedora/specs/ghc-MonadCatchIO-mtl.spec
===================================================================
--- trunk/server/fedora/specs/ghc-MonadCatchIO-mtl.spec	(revision 1590)
+++ trunk/server/fedora/specs/ghc-MonadCatchIO-mtl.spec	(revision 1590)
@@ -0,0 +1,139 @@
+%global pkg_name MonadCatchIO-mtl
+
+%bcond_without doc
+%bcond_without prof
+
+# ghc does not emit debug information
+%global debug_package %{nil}
+
+Name:           ghc-%{pkg_name}
+Version:        0.3.0.1
+Release:        0.%{scriptsversion}%{?dist}
+Summary:        Haskell %{pkg_name} library
+
+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
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# fedora ghc archs:
+ExclusiveArch:  %{ix86} x86_64 ppc alpha
+BuildRequires:  ghc, ghc-rpm-macros
+%if %{with doc}
+BuildRequires:  ghc-doc
+%endif
+%if %{with prof}
+BuildRequires:  ghc-prof
+%endif
+
+%description
+This package provides the Haskell %{pkg_name} library for ghc.
+
+
+%package devel
+Summary:        Haskell %{pkg_name} library
+Group:          Development/Libraries
+Requires:       ghc = %{ghc_version}
+Requires(post): ghc = %{ghc_version}
+Requires(preun): ghc = %{ghc_version}
+
+%description devel
+This package contains the development files for %{name}
+built for ghc-%{ghc_version}.
+
+
+%if %{with doc}
+%package doc
+Summary:        Documentation for %{name}
+Group:          Development/Libraries
+Requires:       ghc-doc = %{ghc_version}
+Requires(post): 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}-devel = %{version}-%{release}
+Requires:       ghc-prof = %{ghc_version}
+
+%description prof
+This package contains profiling libraries for %{name}
+built for ghc-%{ghc_version}.
+%endif
+
+
+%prep
+%setup -q -n %{pkg_name}-%{version}
+
+
+%build
+%cabal_configure --ghc %{?with_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 devel
+%ghc_register_pkg
+
+
+%if %{with doc}
+%post doc
+%ghc_reindex_haddock
+%endif
+
+
+%preun devel
+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 devel -f %{name}-devel.files
+%defattr(-,root,root,-)
+#%{_docdir}/%{name}-%{version}
+
+
+%if %{with doc}
+%files doc -f %{name}-doc.files
+%defattr(-,root,root,-)
+%endif
+
+
+%if %{with prof}
+%files prof -f %{name}-prof.files
+%defattr(-,root,root,-)
+%endif
+
+
+%changelog
+* Mon Mar 15 2010 Anders Kaseorg <andersk@mit.edu> - 0.3.0.1-0
+- initial packaging for Fedora automatically generated by cabal2spec
Index: trunk/server/fedora/specs/ghc-cgi.spec
===================================================================
--- trunk/server/fedora/specs/ghc-cgi.spec	(revision 1590)
+++ trunk/server/fedora/specs/ghc-cgi.spec	(revision 1590)
@@ -0,0 +1,139 @@
+%global pkg_name cgi
+
+%bcond_without doc
+%bcond_without prof
+
+# ghc does not emit debug information
+%global debug_package %{nil}
+
+Name:           ghc-%{pkg_name}
+Version:        3001.1.8.1
+Release:        0.%{scriptsversion}%{?dist}
+Summary:        Haskell %{pkg_name} library
+
+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
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# fedora ghc archs:
+ExclusiveArch:  %{ix86} x86_64 ppc alpha
+BuildRequires:  ghc, ghc-rpm-macros, ghc-MonadCatchIO-mtl-devel
+%if %{with doc}
+BuildRequires:  ghc-doc, ghc-MonadCatchIO-mtl-doc
+%endif
+%if %{with prof}
+BuildRequires:  ghc-prof, ghc-MonadCatchIO-mtl-prof
+%endif
+
+%description
+This package provides the Haskell %{pkg_name} library for ghc.
+
+
+%package devel
+Summary:        Haskell %{pkg_name} library
+Group:          Development/Libraries
+Requires:       ghc = %{ghc_version}, ghc-MonadCatchIO-mtl-devel
+Requires(post): ghc = %{ghc_version}, ghc-MonadCatchIO-mtl-devel
+Requires(preun): ghc = %{ghc_version}, ghc-MonadCatchIO-mtl-devel
+
+%description devel
+This package contains the development files for %{name}
+built for ghc-%{ghc_version}.
+
+
+%if %{with doc}
+%package doc
+Summary:        Documentation for %{name}
+Group:          Development/Libraries
+Requires:       ghc-doc = %{ghc_version}, ghc-MonadCatchIO-mtl-doc
+Requires(post): ghc-doc = %{ghc_version}, ghc-MonadCatchIO-mtl-doc
+Requires(postun): ghc-doc = %{ghc_version}, ghc-MonadCatchIO-mtl-doc
+
+%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}-devel = %{version}-%{release}
+Requires:       ghc-prof = %{ghc_version}, ghc-MonadCatchIO-mtl-prof
+
+%description prof
+This package contains profiling libraries for %{name}
+built for ghc-%{ghc_version}.
+%endif
+
+
+%prep
+%setup -q -n %{pkg_name}-%{version}
+
+
+%build
+%cabal_configure --ghc %{?with_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 devel
+%ghc_register_pkg
+
+
+%if %{with doc}
+%post doc
+%ghc_reindex_haddock
+%endif
+
+
+%preun devel
+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 devel -f %{name}-devel.files
+%defattr(-,root,root,-)
+%{_docdir}/%{name}-%{version}
+
+
+%if %{with doc}
+%files doc -f %{name}-doc.files
+%defattr(-,root,root,-)
+%endif
+
+
+%if %{with prof}
+%files prof -f %{name}-prof.files
+%defattr(-,root,root,-)
+%endif
+
+
+%changelog
+* Mon Mar 15 2010 Anders Kaseorg <andersk@mit.edu> - 3001.1.8.1-0
+- initial packaging for Fedora automatically generated by cabal2spec
Index: trunk/server/fedora/specs/ghc-unix-handle.spec
===================================================================
--- trunk/server/fedora/specs/ghc-unix-handle.spec	(revision 1590)
+++ trunk/server/fedora/specs/ghc-unix-handle.spec	(revision 1590)
@@ -0,0 +1,139 @@
+%global pkg_name unix-handle
+
+%bcond_without doc
+%bcond_without prof
+
+# ghc does not emit debug information
+%global debug_package %{nil}
+
+Name:           ghc-%{pkg_name}
+Version:        0.0.0
+Release:        0.%{scriptsversion}%{?dist}
+Summary:        Haskell %{pkg_name} library
+
+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
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# fedora ghc archs:
+ExclusiveArch:  %{ix86} x86_64 ppc alpha
+BuildRequires:  ghc, ghc-rpm-macros
+%if %{with doc}
+BuildRequires:  ghc-doc
+%endif
+%if %{with prof}
+BuildRequires:  ghc-prof
+%endif
+
+%description
+This package provides the Haskell %{pkg_name} library for ghc.
+
+
+%package devel
+Summary:        Haskell %{pkg_name} library
+Group:          Development/Libraries
+Requires:       ghc = %{ghc_version}
+Requires(post): ghc = %{ghc_version}
+Requires(preun): ghc = %{ghc_version}
+
+%description devel
+This package contains the development files for %{name}
+built for ghc-%{ghc_version}.
+
+
+%if %{with doc}
+%package doc
+Summary:        Documentation for %{name}
+Group:          Development/Libraries
+Requires:       ghc-doc = %{ghc_version}
+Requires(post): 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}-devel = %{version}-%{release}
+Requires:       ghc-prof = %{ghc_version}
+
+%description prof
+This package contains profiling libraries for %{name}
+built for ghc-%{ghc_version}.
+%endif
+
+
+%prep
+%setup -q -n %{pkg_name}-%{version}
+
+
+%build
+%cabal_configure --ghc %{?with_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 devel
+%ghc_register_pkg
+
+
+%if %{with doc}
+%post doc
+%ghc_reindex_haddock
+%endif
+
+
+%preun devel
+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 devel -f %{name}-devel.files
+%defattr(-,root,root,-)
+%{_docdir}/%{name}-%{version}
+
+
+%if %{with doc}
+%files doc -f %{name}-doc.files
+%defattr(-,root,root,-)
+%endif
+
+
+%if %{with prof}
+%files prof -f %{name}-prof.files
+%defattr(-,root,root,-)
+%endif
+
+
+%changelog
+* Mon Mar 15 2010 Anders Kaseorg <andersk@mit.edu> - 0.0.0-0
+- initial packaging for Fedora automatically generated by cabal2spec
Index: trunk/server/fedora/specs/scripts-static-cat.spec
===================================================================
--- trunk/server/fedora/specs/scripts-static-cat.spec	(revision 1590)
+++ trunk/server/fedora/specs/scripts-static-cat.spec	(revision 1590)
@@ -0,0 +1,47 @@
+# ghc does not emit debug information
+%global debug_package %{nil}
+
+Name:           scripts-static-cat
+Version:        0.0
+Release:        0.%{scriptsversion}%{?dist}
+Summary:        static-cat for scripts.mit.edu
+
+Group:          Applications/System
+License:        GPL
+URL:            http://scripts.mit.edu/
+Source0:        %{name}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# fedora ghc archs:
+ExclusiveArch:  %{ix86} x86_64 ppc alpha
+BuildRequires:  ghc, ghc-rpm-macros, ghc-cgi-devel >= 3001.1.8, ghc-MonadCatchIO-mtl-devel, ghc-unix-handle-devel
+
+%description
+static-cat is a binary for serving static content on scripts.mit.edu.
+
+
+%prep
+%setup -q -n %{name}
+
+
+%build
+%cabal_configure --ghc
+%cabal build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%cabal_install
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root,-)
+%attr(755,root,root) %{_bindir}/static-cat
+
+
+%changelog
+* Sun Mar 14 2010 Anders Kaseorg <andersk@mit.edu> - 0.0-0
+- initial packaging for Fedora automatically generated by cabal2spec
