From 67ba6e81779e22203ce9c7795b075ab738041e19 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Thu, 26 Dec 2013 14:06:57 +0100 Subject: [PATCH] - updated to 0.9.5.0, pl, unified - added deps patch (allow text-1.0.x) --- ghc-snap-core-deps.patch | 11 ++ ghc-snap-core.spec | 275 ++++++++++++++++++++++++++++++--------- 2 files changed, 223 insertions(+), 63 deletions(-) create mode 100644 ghc-snap-core-deps.patch diff --git a/ghc-snap-core-deps.patch b/ghc-snap-core-deps.patch new file mode 100644 index 0000000..2d4da5a --- /dev/null +++ b/ghc-snap-core-deps.patch @@ -0,0 +1,11 @@ +--- snap-core-0.9.5.0/snap-core.cabal.orig 2013-11-05 20:04:15.000000000 +0100 ++++ snap-core-0.9.5.0/snap-core.cabal 2013-12-26 14:02:03.811250235 +0100 +@@ -147,7 +147,7 @@ + mtl >= 2.0 && < 2.2, + random >= 1 && < 2, + regex-posix >= 0.95 && < 1, +- text >= 0.11 && < 0.12, ++ text >= 0.11 && < 1.1, + time >= 1.0 && < 1.5, + unix-compat >= 0.2 && < 0.5, + unordered-containers >= 0.1.4.3 && < 0.3, diff --git a/ghc-snap-core.spec b/ghc-snap-core.spec index 7586833..08c9b88 100644 --- a/ghc-snap-core.spec +++ b/ghc-snap-core.spec @@ -1,100 +1,250 @@ +# +# Conditional build: +%bcond_without prof # profiling library +# %define pkgname snap-core Summary: Snap: A Haskell Web Framework (core interfaces and types) +Summary(pl.UTF-8): Snap - szkielet WWW dla Haskella (główne interfejsy i typy) Name: ghc-%{pkgname} -Version: 0.9.4.1 -Release: 2 +Version: 0.9.5.0 +Release: 1 License: BSD Group: Development/Languages -Source0: http://hackage.haskell.org/packages/archive/%{pkgname}/%{version}/%{pkgname}-%{version}.tar.gz -# Source0-md5: 56863d2614ae698aa7c35ebf9835cee1 -URL: http://hackage.haskell.org/package/PACKAGE_NAME/ +#Source0Download: http://hackage.haskell.org/package/snap-core +Source0: http://hackage.haskell.org/package/%{pkgname}-%{version}/%{pkgname}-%{version}.tar.gz +# Source0-md5: e347d1aeee7a2990d211b9d1556c125d +Patch0: %{name}-deps.patch +URL: http://hackage.haskell.org/package/snap-core BuildRequires: ghc >= 6.12.3 -BuildRequires: ghc-prof -BuildRequires: ghc-attoparsec -BuildRequires: ghc-attoparsec-prof -BuildRequires: ghc-attoparsec-enumerator -BuildRequires: ghc-attoparsec-enumerator-prof +BuildRequires: ghc-HUnit >= 1.2 +BuildRequires: ghc-HUnit < 2 +BuildRequires: ghc-MonadCatchIO-transformers >= 0.2.1 +BuildRequires: ghc-MonadCatchIO-transformers < 0.4 +BuildRequires: ghc-attoparsec >= 0.10 +BuildRequires: ghc-attoparsec < 0.11 +BuildRequires: ghc-attoparsec-enumerator >= 0.3 +BuildRequires: ghc-attoparsec-enumerator < 0.4 +BuildRequires: ghc-base >= 4 +BuildRequires: ghc-base < 5 BuildRequires: ghc-blaze-builder >= 0.2.1.4 -BuildRequires: ghc-blaze-builder-prof >= 0.2.1.4 -BuildRequires: ghc-blaze-builder-enumerator -BuildRequires: ghc-blaze-builder-enumerator-prof +BuildRequires: ghc-blaze-builder < 0.4 +BuildRequires: ghc-blaze-builder-enumerator >= 0.2 +BuildRequires: ghc-blaze-builder-enumerator < 0.3 +BuildRequires: ghc-bytestring >= 0.9 +BuildRequires: ghc-bytestring < 0.11 BuildRequires: ghc-case-insensitive >= 0.3 -BuildRequires: ghc-case-insensitive-prof >= 0.3 -BuildRequires: ghc-hashable -BuildRequires: ghc-hashable-prof -BuildRequires: ghc-HUnit >= 1.2 +BuildRequires: ghc-case-insensitive < 1.2 +BuildRequires: ghc-containers >= 0.3 +BuildRequires: ghc-containers < 1.0 +BuildRequires: ghc-deepseq >= 1.1 +BuildRequires: ghc-deepseq < 1.4 +BuildRequires: ghc-directory >= 1 +BuildRequires: ghc-directory < 2 +BuildRequires: ghc-enumerator >= 0.4.15 +BuildRequires: ghc-enumerator < 0.5 +BuildRequires: ghc-filepath >= 1.1 +BuildRequires: ghc-filepath < 2.0 +BuildRequires: ghc-hashable >= 1.2.1 +BuildRequires: ghc-hashable < 1.3 +BuildRequires: ghc-mtl >= 2.0 +BuildRequires: ghc-mtl < 2.2 +BuildRequires: ghc-random >= 1 +BuildRequires: ghc-random < 2 +BuildRequires: ghc-regex-posix >= 0.95 +BuildRequires: ghc-regex-posix < 1 +BuildRequires: ghc-text >= 0.11 +BuildRequires: ghc-time >= 1.0 +BuildRequires: ghc-time < 1.5 +BuildRequires: ghc-unix >= 2.4 +BuildRequires: ghc-unix < 3.0 +BuildRequires: ghc-unix-compat >= 0.2 +BuildRequires: ghc-unix-compat < 0.5 +BuildRequires: ghc-unordered-containers >= 0.1.4.3 +BuildRequires: ghc-unordered-containers < 0.3 +BuildRequires: ghc-vector >= 0.6 +BuildRequires: ghc-vector < 0.11 +BuildRequires: ghc-zlib-enum >= 0.2.1 +BuildRequires: ghc-zlib-enum < 0.3 +%if %{with prof} +BuildRequires: ghc-prof >= 6.12.3 BuildRequires: ghc-HUnit-prof >= 1.2 -BuildRequires: ghc-MonadCatchIO-transformers >= 0.2.1 +BuildRequires: ghc-HUnit-prof < 2 BuildRequires: ghc-MonadCatchIO-transformers-prof >= 0.2.1 -BuildRequires: ghc-mtl >= 2.0 +BuildRequires: ghc-MonadCatchIO-transformers-prof < 0.4 +BuildRequires: ghc-attoparsec-prof >= 0.10 +BuildRequires: ghc-attoparsec-prof < 0.11 +BuildRequires: ghc-attoparsec-enumerator-prof >= 0.3 +BuildRequires: ghc-attoparsec-enumerator-prof < 0.4 +BuildRequires: ghc-base-prof >= 4 +BuildRequires: ghc-base-prof < 5 +BuildRequires: ghc-blaze-builder-prof >= 0.2.1.4 +BuildRequires: ghc-blaze-builder-prof < 0.4 +BuildRequires: ghc-blaze-builder-enumerator-prof >= 0.2 +BuildRequires: ghc-blaze-builder-enumerator-prof < 0.3 +BuildRequires: ghc-bytestring-prof >= 0.9 +BuildRequires: ghc-bytestring-prof < 0.11 +BuildRequires: ghc-case-insensitive-prof >= 0.3 +BuildRequires: ghc-case-insensitive-prof < 1.2 +BuildRequires: ghc-containers-prof >= 0.3 +BuildRequires: ghc-containers-prof < 1.0 +BuildRequires: ghc-deepseq-prof >= 1.1 +BuildRequires: ghc-deepseq-prof < 1.4 +BuildRequires: ghc-directory-prof >= 1 +BuildRequires: ghc-directory-prof < 2 +BuildRequires: ghc-enumerator-prof >= 0.4.15 +BuildRequires: ghc-enumerator-prof < 0.5 +BuildRequires: ghc-filepath-prof >= 1.1 +BuildRequires: ghc-filepath-prof < 2.0 +BuildRequires: ghc-hashable-prof >= 1.2.1 +BuildRequires: ghc-hashable-prof < 1.3 BuildRequires: ghc-mtl-prof >= 2.0 -BuildRequires: ghc-random -BuildRequires: ghc-random-prof -BuildRequires: ghc-regex-posix >= 0.95 +BuildRequires: ghc-mtl-prof < 2.2 +BuildRequires: ghc-random-prof >= 1 +BuildRequires: ghc-random-prof < 2 BuildRequires: ghc-regex-posix-prof >= 0.95 -BuildRequires: ghc-unix-compat >= 0.2 +BuildRequires: ghc-regex-posix-prof < 1 +BuildRequires: ghc-text-prof >= 0.11 +BuildRequires: ghc-time-prof >= 1.0 +BuildRequires: ghc-time-prof < 1.5 +BuildRequires: ghc-unix-prof >= 2.4 +BuildRequires: ghc-unix-prof < 3.0 BuildRequires: ghc-unix-compat-prof >= 0.2 -BuildRequires: ghc-unordered-containers >= 0.1.4.3 +BuildRequires: ghc-unix-compat-prof < 0.5 BuildRequires: ghc-unordered-containers-prof >= 0.1.4.3 -BuildRequires: ghc-vector >= 0.6 +BuildRequires: ghc-unordered-containers-prof < 0.3 BuildRequires: ghc-vector-prof >= 0.6 -BuildRequires: ghc-zlib-enum >= 0.2.1 +BuildRequires: ghc-vector-prof < 0.11 BuildRequires: ghc-zlib-enum-prof >= 0.2.1 +BuildRequires: ghc-zlib-enum-prof < 0.3 +%endif BuildRequires: rpmbuild(macros) >= 1.608 -%requires_releq ghc Requires(post,postun): /usr/bin/ghc-pkg -Requires: ghc-attoparsec -Requires: ghc-attoparsec-enumerator -Requires: ghc-blaze-builder >= 0.2.1.4 -Requires: ghc-blaze-builder-enumerator -Requires: ghc-case-insensitive >= 0.3 -Requires: ghc-hashable +%requires_releq ghc Requires: ghc-HUnit >= 1.2 +Requires: ghc-HUnit < 2 Requires: ghc-MonadCatchIO-transformers >= 0.2.1 +Requires: ghc-MonadCatchIO-transformers < 0.4 +Requires: ghc-attoparsec >= 0.10 +Requires: ghc-attoparsec < 0.11 +Requires: ghc-attoparsec-enumerator >= 0.3 +Requires: ghc-attoparsec-enumerator < 0.4 +Requires: ghc-base >= 4 +Requires: ghc-base < 5 +Requires: ghc-blaze-builder >= 0.2.1.4 +Requires: ghc-blaze-builder < 0.4 +Requires: ghc-blaze-builder-enumerator >= 0.2 +Requires: ghc-blaze-builder-enumerator < 0.3 +Requires: ghc-bytestring >= 0.9 +Requires: ghc-bytestring < 0.11 +Requires: ghc-case-insensitive >= 0.3 +Requires: ghc-case-insensitive < 1.2 +Requires: ghc-containers >= 0.3 +Requires: ghc-containers < 1.0 +Requires: ghc-deepseq >= 1.1 +Requires: ghc-deepseq < 1.4 +Requires: ghc-directory >= 1 +Requires: ghc-directory < 2 +Requires: ghc-enumerator >= 0.4.15 +Requires: ghc-enumerator < 0.5 +Requires: ghc-filepath >= 1.1 +Requires: ghc-filepath < 2.0 +Requires: ghc-hashable >= 1.2.1 +Requires: ghc-hashable < 1.3 Requires: ghc-mtl >= 2.0 -Requires: ghc-random +Requires: ghc-mtl < 2.2 +Requires: ghc-random >= 1 +Requires: ghc-random < 2 Requires: ghc-regex-posix >= 0.95 +Requires: ghc-regex-posix < 1 +Requires: ghc-text >= 0.11 +Requires: ghc-time >= 1.0 +Requires: ghc-time < 1.5 +Requires: ghc-unix >= 2.4 +Requires: ghc-unix < 3.0 Requires: ghc-unix-compat >= 0.2 +Requires: ghc-unix-compat < 0.5 Requires: ghc-unordered-containers >= 0.1.4.3 +Requires: ghc-unordered-containers < 0.3 Requires: ghc-vector >= 0.6 +Requires: ghc-vector < 0.11 Requires: ghc-zlib-enum >= 0.2.1 +Requires: ghc-zlib-enum < 0.3 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # debuginfo is not useful for ghc %define _enable_debug_packages 0 -# don't compress haddoc files +# don't compress haddock files %define _noautocompressdoc *.haddock %description Snap is a simple and fast web development framework and server written -in Haskell. For more information or to download the latest version, -you can visit the Snap project website at http://snapframework.com/. +in Haskell. For more information you can visit the Snap project +website at . + +%description -l pl.UTF-8 +Snap to prosty i szybki szkielet programistyczny oraz serwer WWW, +napisany w Haskellu. Więcej informacji można znaleźć na stronie +projektu: . %package prof Summary: Profiling %{pkgname} library for GHC Summary(pl.UTF-8): Biblioteka profilująca %{pkgname} dla GHC. Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: ghc-attoparsec-prof -Requires: ghc-attoparsec-enumerator-prof -Requires: ghc-blaze-builder-prof -Requires: ghc-blaze-builder-enumerator-prof -Requires: ghc-case-insensitive-prof -Requires: ghc-hashable-prof -Requires: ghc-HUnit-prof -Requires: ghc-MonadCatchIO-transformers-prof -Requires: ghc-mtl-prof -Requires: ghc-random-prof -Requires: ghc-regex-posix-prof -Requires: ghc-unix-compat-prof -Requires: ghc-unordered-containers-prof -Requires: ghc-vector-prof -Requires: ghc-zlib-enum-prof +Requires: ghc-HUnit-prof >= 1.2 +Requires: ghc-HUnit-prof < 2 +Requires: ghc-MonadCatchIO-transformers-prof >= 0.2.1 +Requires: ghc-MonadCatchIO-transformers-prof < 0.4 +Requires: ghc-attoparsec-prof >= 0.10 +Requires: ghc-attoparsec-prof < 0.11 +Requires: ghc-attoparsec-enumerator-prof >= 0.3 +Requires: ghc-attoparsec-enumerator-prof < 0.4 +Requires: ghc-base-prof >= 4 +Requires: ghc-base-prof < 5 +Requires: ghc-blaze-builder-prof >= 0.2.1.4 +Requires: ghc-blaze-builder-prof < 0.4 +Requires: ghc-blaze-builder-enumerator-prof >= 0.2 +Requires: ghc-blaze-builder-enumerator-prof < 0.3 +Requires: ghc-bytestring-prof >= 0.9 +Requires: ghc-bytestring-prof < 0.11 +Requires: ghc-case-insensitive-prof >= 0.3 +Requires: ghc-case-insensitive-prof < 1.2 +Requires: ghc-containers-prof >= 0.3 +Requires: ghc-containers-prof < 1.0 +Requires: ghc-deepseq-prof >= 1.1 +Requires: ghc-deepseq-prof < 1.4 +Requires: ghc-directory-prof >= 1 +Requires: ghc-directory-prof < 2 +Requires: ghc-enumerator-prof >= 0.4.15 +Requires: ghc-enumerator-prof < 0.5 +Requires: ghc-filepath-prof >= 1.1 +Requires: ghc-filepath-prof < 2.0 +Requires: ghc-hashable-prof >= 1.2.1 +Requires: ghc-hashable-prof < 1.3 +Requires: ghc-mtl-prof >= 2.0 +Requires: ghc-mtl-prof < 2.2 +Requires: ghc-random-prof >= 1 +Requires: ghc-random-prof < 2 +Requires: ghc-regex-posix-prof >= 0.95 +Requires: ghc-regex-posix-prof < 1 +Requires: ghc-text-prof >= 0.11 +Requires: ghc-time-prof >= 1.0 +Requires: ghc-time-prof < 1.5 +Requires: ghc-unix-prof >= 2.4 +Requires: ghc-unix-prof < 3.0 +Requires: ghc-unix-compat-prof >= 0.2 +Requires: ghc-unix-compat-prof < 0.5 +Requires: ghc-unordered-containers-prof >= 0.1.4.3 +Requires: ghc-unordered-containers-prof < 0.3 +Requires: ghc-vector-prof >= 0.6 +Requires: ghc-vector-prof < 0.11 +Requires: ghc-zlib-enum-prof >= 0.2.1 +Requires: ghc-zlib-enum-prof < 0.3 %description prof -Profiling %{pkgname} library for GHC. Should be installed when -GHC's profiling subsystem is needed. +Profiling %{pkgname} library for GHC. Should be installed when GHC's +profiling subsystem is needed. %description prof -l pl.UTF-8 Biblioteka profilująca %{pkgname} dla GHC. Powinna być zainstalowana @@ -102,9 +252,11 @@ kiedy potrzebujemy systemu profilującego z GHC. %prep %setup -q -n %{pkgname}-%{version} +%patch0 -p1 %build -runhaskell Setup.hs configure -v2 --enable-library-profiling \ +runhaskell Setup.hs configure -v2 \ + %{?with_prof:--enable-library-profiling} \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ @@ -125,7 +277,7 @@ cp -a $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %{name}-%{version}-doc %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} runhaskell Setup.hs register \ - --gen-pkg-config=$RPM_BUILD_ROOT/%{_libdir}/%{ghcdir}/package.conf.d/%{pkgname}.conf + --gen-pkg-config=$RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/package.conf.d/%{pkgname}.conf %clean rm -rf $RPM_BUILD_ROOT @@ -138,14 +290,11 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc CONTRIBUTORS README* -%doc %{name}-%{version}-doc/* +%doc CONTRIBUTORS README* %{name}-%{version}-doc/* %{_libdir}/%{ghcdir}/package.conf.d/%{pkgname}.conf %dir %{_libdir}/%{ghcdir}/%{pkgname}-%{version} -%{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*.o -%{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*.a -%exclude %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*_p.a - +%{_libdir}/%{ghcdir}/%{pkgname}-%{version}/HSsnap-core-%{version}.o +%{_libdir}/%{ghcdir}/%{pkgname}-%{version}/libHSsnap-core-%{version}.a %dir %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/Snap %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/Snap/*.hi %dir %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/Snap/Internal @@ -165,7 +314,7 @@ rm -rf $RPM_BUILD_ROOT %files prof %defattr(644,root,root,755) -%{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*_p.a +%{_libdir}/%{ghcdir}/%{pkgname}-%{version}/libHSsnap-core-%{version}_p.a %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/Snap/*.p_hi %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/Snap/Internal/*.p_hi %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/Snap/Internal/Http/*.p_hi -- 2.44.0