diff --git a/.gitignore b/.gitignore index e69de29..09c4d2e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,6 @@ +/zlib-0.5.4.1.tar.gz +/zlib-0.5.4.2.tar.gz +/zlib-0.6.1.1.tar.gz +/zlib-0.6.1.2.tar.gz +/zlib-0.6.2.tar.gz +/zlib-0.6.2.1.tar.gz diff --git a/ghc-zlib.spec b/ghc-zlib.spec new file mode 100644 index 0000000..c07dfaf --- /dev/null +++ b/ghc-zlib.spec @@ -0,0 +1,363 @@ +# generated by cabal-rpm-2.0.6 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name zlib +%global pkgver %{pkg_name}-%{version} + +%bcond_with tests + +Name: ghc-%{pkg_name} +Version: 0.6.2.1 +Release: 4%{?dist} +Summary: Compression and decompression in the gzip and zlib formats + +License: BSD +Url: https://hackage.haskell.org/package/%{pkg_name} +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-base-prof +BuildRequires: ghc-bytestring-prof +BuildRequires: zlib-devel +%if %{with tests} +BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-tasty-devel +BuildRequires: ghc-tasty-hunit-devel +BuildRequires: ghc-tasty-quickcheck-devel +%endif +# End cabal-rpm deps + +%description +This package provides a pure interface for compressing and decompressing +streams of data represented as lazy 'ByteString's. It uses the + so it has high performance. +It supports the "zlib", "gzip" and "raw" compression formats. + +It provides a convenient high level API suitable for most tasks and for the few +cases where more control is needed it provides access to the full zlib feature +set. + + +%package devel +Summary: Haskell %{pkg_name} library development files +Provides: %{name}-static = %{version}-%{release} +Provides: %{name}-static%{?_isa} = %{version}-%{release} +%if %{defined ghc_version} +Requires: ghc-compiler = %{ghc_version} +%endif +Requires: %{name}%{?_isa} = %{version}-%{release} +# Begin cabal-rpm deps: +Requires: zlib-devel%{?_isa} +# End cabal-rpm deps + +%description devel +This package provides the Haskell %{pkg_name} library development files. + + +%if %{with haddock} +%package doc +Summary: Haskell %{pkg_name} library documentation +BuildArch: noarch + +%description doc +This package provides the Haskell %{pkg_name} library documentation. +%endif + + +%if %{with ghc_prof} +%package prof +Summary: Haskell %{pkg_name} profiling library +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Supplements: (%{name}-devel and ghc-prof) + +%description prof +This package provides the Haskell %{pkg_name} profiling library. +%endif + + +%prep +# Begin cabal-rpm setup: +%setup -q -n %{pkgver} +cp -bp %{SOURCE1} %{pkg_name}.cabal +chmod a-x changelog +# End cabal-rpm setup +#remove the copy library +rm -r cbits + + +%build +# Begin cabal-rpm build: +%ghc_lib_build +# End cabal-rpm build + + +%install +# Begin cabal-rpm install +%ghc_lib_install +# End cabal-rpm install + + +%check +%cabal_test + + +%files -f %{name}.files +# Begin cabal-rpm files: +%license LICENSE +# End cabal-rpm files + + +%files devel -f %{name}-devel.files +%doc changelog examples + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Sat Aug 01 2020 Fedora Release Engineering - 0.6.2.1-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0.6.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 17 2020 Jens Petersen - 0.6.2.1-2 +- refresh to cabal-rpm-2.0.6 + +* Fri Feb 14 2020 Jens Petersen - 0.6.2.1-1 +- update to 0.6.2.1 + +* Tue Jan 28 2020 Fedora Release Engineering - 0.6.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Aug 28 2019 Jens Petersen - 0.6.2-8 +- bump the tasty upperbounds instead of removing + +* Wed Aug 14 2019 Jens Petersen - 0.6.2-7 +- disable testsuite since it caused ABI hash change + +* Wed Aug 14 2019 Jens Petersen - 0.6.2-6 +- enable testsuite + +* Fri Aug 02 2019 Jens Petersen - 0.6.2-5 +- add doc and prof subpackages (cabal-rpm-1.0.0) + +* Thu Jul 25 2019 Fedora Release Engineering - 0.6.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 17 2019 Jens Petersen - 0.6.2-3 +- refresh to cabal-rpm-0.13 + +* Thu Jan 31 2019 Fedora Release Engineering - 0.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jul 22 2018 Jens Petersen - 0.6.2-1 +- update to 0.6.2 + +* Fri Jul 13 2018 Fedora Release Engineering - 0.6.1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 15 2018 Jens Petersen - 0.6.1.2-6 +- remove _isa from buildrequires (#1545183) + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Jan 26 2018 Jens Petersen - 0.6.1.2-4 +- rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 0.6.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.6.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Feb 22 2017 Jens Petersen - 0.6.1.2-1 +- update to 0.6.1.2 + +* Fri Feb 10 2017 Fedora Release Engineering - 0.6.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Jun 26 2016 Jens Petersen - 0.6.1.1-1 +- update to 0.6.1.1 + +* Mon Jun 6 2016 Jens Petersen - 0.5.4.2-1 +- update to 0.5.4.2 for ghc-7.10 + +* Wed Feb 03 2016 Fedora Release Engineering - 0.5.4.1-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 0.5.4.1-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Feb 17 2015 Jens Petersen +- remove the copy library in prep + +* Mon Oct 27 2014 Jens Petersen - 0.5.4.1-30 +- disable debuginfo (cblrpm-0.8.11) + +* Sat Aug 16 2014 Fedora Release Engineering - 0.5.4.1-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.5.4.1-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Dec 4 2013 Jens Petersen - 0.5.4.1-27 +- bump release + +* Sun Oct 27 2013 Jens Petersen - 0.5.4.1-26 +- tidy description + +* Sun Oct 27 2013 Jens Petersen - 0.5.4.1-25 +- spec file updated with cabal-rpm-0.8.6 + +* Wed Mar 21 2012 Jens Petersen - 0.5.3.3-1 +- update to 0.5.3.3 + +* Wed Mar 21 2012 Jens Petersen - 0.5.3.1-8 +- rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0.5.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Jan 2 2012 Jens Petersen - 0.5.3.1-6 +- update to cabal2spec-0.25.2 +- use _isa +- include examples + +* Mon Oct 24 2011 Marcela Mašláňová - 0.5.3.1-5.3 +- rebuild with new gmp without compat lib + +* Fri Oct 21 2011 Marcela Mašláňová - 0.5.3.1-5.2 +- rebuild with new gmp without compat lib + +* Tue Oct 11 2011 Peter Schiffer - 0.5.3.1-5.1 +- rebuild with new gmp + +* Tue Jun 21 2011 Jens Petersen - 0.5.3.1-5 +- ghc_arches replaces ghc_excluded_archs + +* Mon Jun 20 2011 Jens Petersen - 0.5.3.1-4 +- BR ghc-Cabal-devel and use ghc_excluded_archs + +* Fri May 27 2011 Jens Petersen - 0.5.3.1-3 +- update to cabal2spec-0.23: add ppc64 + +* Thu Mar 10 2011 Fabio M. Di Nitto - 0.5.3.1-2 +- Enable build on sparcv9 + +* Tue Feb 15 2011 Jens Petersen - 0.5.3.1-1 +- update to 0.5.3.1 for haskell-platform-2011.1 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.5.2.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jan 15 2011 Jens Petersen - 0.5.2.0-6 +- update to cabal2spec-0.22.4 + +* Thu Nov 25 2010 Jens Petersen - 0.5.2.0-5 +- rebuild with ghc-7.0.1 + +* Sat Sep 4 2010 Jens Petersen - 0.5.2.0-4 +- add hscolour and doc obsolete (cabal2spec-0.22.2) +- part of haskell-platform-2010.2.0.0 + +* Sat Jun 26 2010 Jens Petersen - 0.5.2.0-3 +- sync cabal2spec-0.22 + +* Sat Apr 24 2010 Jens Petersen - 0.5.2.0-2 +- part of haskell-platform-2010.1.0.0 +- rebuild against ghc-6.12.2 + +* Mon Jan 11 2010 Jens Petersen - 0.5.2.0-1 +- update to 0.5.2.0 (haskell-platform-2009.3.1) +- update to ghc-rpm-macros-0.5.1 and cabal2spec-0.21.1: +- drop doc and prof bcond +- use common summary and common_description +- use ghc_lib_package and ghc_pkg_c_deps + +* Sat Dec 26 2009 Jens Petersen - 0.5.0.0-12 +- update to cabal2spec-0.20 and ghc-rpm-macros-0.4.0: +- use common_summary and common_description +- reenable debuginfo for stripping +- use ghc_requires, ghc_doc_requires, and ghc_prof_requires + +* Tue Dec 22 2009 Jens Petersen +- fix base Group and devel Summary +- only include docdir in devel if not shared build + +* Wed Dec 16 2009 Jens Petersen - 0.5.0.0-11 +- build for ghc-6.12.1 +- added shared library support: needs ghc-rpm-macros 0.3.1 +- use cabal_pkg_conf to generate package.conf.d file and use ghc-pkg recache + +* Fri Jul 24 2009 Fedora Release Engineering - 0.5.0.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat May 16 2009 Jens Petersen - 0.5.0.0-9 +- buildrequires ghc-rpm-macros (cabal2spec-0.16) + +* Fri Apr 24 2009 Jens Petersen - 0.5.0.0-8 +- sync with cabal2spec-0.14 + +* Fri Feb 27 2009 Jens Petersen - 0.5.0.0-7 +- update to cabal2spec-0.11: +- add devel subpackage +- use ix86 macro for archs and add alpha +- use global rather than define +- make devel subpackage own docdir for now + +* Tue Feb 24 2009 Fedora Release Engineering - 0.5.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 9 2009 Jens Petersen - 0.5.0.0-5 +- rebuild to fix unexpanded post preun macros +- add doc subpackage and BR ghc-doc +- add doc requires(post) ghc-doc + +* Mon Dec 22 2008 Jens Petersen - 0.5.0.0-4 +- use bcond for doc and prof build flags (Till Maas, #426751) + +* Mon Dec 1 2008 Jens Petersen - 0.5.0.0-3 +- sync with lib template: + - add build_prof and build_doc + - prof requires main package + - update scriptlet macro names + +* Tue Nov 25 2008 Jens Petersen - 0.5.0.0-2 +- build with ghc-6.10.1 +- no longer buildrequire haddock09 +- provide devel +- add exclusivearch for current ghc archs +- reindex haddock docs only when uninstalling in postun + +* Tue Nov 11 2008 Bryan O'Sullivan - 0.5.0.0-1 +- Update to 0.5.0.0 + +* Thu Oct 23 2008 Jens Petersen - 0.4.0.4-2 +- update for current rawhide +- add pkg_docdir and remove hsc_name +- use haddock09 + +* Tue Oct 14 2008 Bryan O'Sullivan - 0.4.0.4-1 +- Revised to follow Haskell packaging guidelines + +* Sun Feb 17 2008 Yaakov Nemoy - 0.4.0.2-1 +- added in url + +* Sun Feb 17 2008 cabal-rpm - 0.4.0.2-1 +- spec file autogenerated by cabal-rpm diff --git a/sources b/sources new file mode 100644 index 0000000..357f34f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (zlib-0.6.2.1.tar.gz) = cee7942a86afbd08f03c19abd88154cc866a3ccc52342264d4d5b28a71643adf30bf03ba939d6a98b7c065752f9ec326729fc38cfe72b66998551c89186048c5 diff --git a/tests/simple/runtest.sh b/tests/simple/runtest.sh new file mode 100755 index 0000000..6ca8bfc --- /dev/null +++ b/tests/simple/runtest.sh @@ -0,0 +1,11 @@ +#!/usr/bin/sh +set -ex + +SOURCEDIR=$1 + +cd "${SOURCEDIR}" || exit 1 + +cabal update +cabal install --enable-tests --only-dependencies + +cabal test diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..c10bd63 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,40 @@ +--- +- hosts: localhost + tags: + - classic + vars: + # standard-test-basic directory for tests are relative to {{ tenv_workdir }} + tenv_workdir: /var/test + pre_tasks: + - import_role: + name: standard-test-source + vars: + fetch_only: True + + - name: Copy files including source to test environment + synchronize: + src: "{{ playbook_dir }}/.." + dest: "{{ tenv_workdir }}" + mode: push + ssh_args: "-o UserKnownHostsFile=/dev/null" + + roles: + - role: standard-test-basic + required_packages: + - cabal-install + - ghc-tasty-hunit-devel + - ghc-tasty-quickcheck-devel + - ghc-zlib-devel + - ghc-rpm-macros + - rpm-build + tests: + - prepare-source: + dir: ./ + run: rpmbuild -bp {{ tenv_workdir }}/*.spec --nodeps --define "_sourcedir {{ tenv_workdir }}" --define "_builddir {{ tenv_workdir }}/source" + - flatten-source: + dir: ./ + run: shopt -s dotglob; mv {{ tenv_workdir }}/source/*/* {{ tenv_workdir }}/source + - smoke: + dir: simple + run: ./runtest.sh {{ tenv_workdir }}/source/ +... diff --git a/zlib-0.6.2.1.cabal b/zlib-0.6.2.1.cabal new file mode 100644 index 0000000..c29ade1 --- /dev/null +++ b/zlib-0.6.2.1.cabal @@ -0,0 +1,111 @@ +cabal-version: >= 1.10 +name: zlib +version: 0.6.2.1 +x-revision: 1 + +copyright: (c) 2006-2016 Duncan Coutts +license: BSD3 +license-file: LICENSE +author: Duncan Coutts +maintainer: Duncan Coutts +bug-reports: https://github.com/haskell/zlib/issues +category: Codec +synopsis: Compression and decompression in the gzip and zlib formats +description: This package provides a pure interface for compressing and + decompressing streams of data represented as lazy + 'ByteString's. It uses the + + so it has high performance. It supports the \"zlib\", + \"gzip\" and \"raw\" compression formats. + . + It provides a convenient high level API suitable for most + tasks and for the few cases where more control is needed it + provides access to the full zlib feature set. +build-type: Simple +tested-with: GHC ==7.0.4, GHC ==7.2.2, GHC ==7.4.2, GHC ==7.6.3, GHC ==7.8.4, GHC ==7.10.3, GHC ==8.0.1, GHC==8.0.2, GHC ==8.2.2, GHC ==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.1 + +extra-source-files: changelog + -- zlib C sources (for Windows) + cbits/crc32.h cbits/inffast.h cbits/inflate.h + cbits/trees.h cbits/deflate.h cbits/inffixed.h + cbits/inftrees.h cbits/zutil.h cbits/gzguts.h + -- test data files + test/data/bad-crc.gz test/data/custom-dict.zlib + test/data/custom-dict.zlib-dict test/data/hello.gz + test/data/not-gzip test/data/two-files.gz + -- demo programs: + examples/gzip.hs examples/gunzip.hs + +source-repository head + type: git + location: https://github.com/haskell/zlib.git + +flag non-blocking-ffi + default: False + manual: True + description: The (de)compression calls can sometimes take a long time, which + prevents other Haskell threads running. Enabling this flag + avoids this unfairness, but with greater overall cost. + +flag pkg-config + default: False + manual: True + description: Use @pkg-config(1)@ to locate foreign @zlib@ library. + +library + exposed-modules: Codec.Compression.GZip, + Codec.Compression.Zlib, + Codec.Compression.Zlib.Raw, + Codec.Compression.Zlib.Internal + other-modules: Codec.Compression.Zlib.Stream + if impl(ghc < 7) + default-language: Haskell98 + default-extensions: PatternGuards + else + default-language: Haskell2010 + other-extensions: CPP, ForeignFunctionInterface, RankNTypes, BangPatterns, + DeriveDataTypeable + if impl(ghc >= 7.2) + other-extensions: DeriveGeneric + if impl(ghc >= 7.6) + other-extensions: CApiFFI + build-depends: base >= 4 && < 4.15, + bytestring >= 0.9 && < 0.11 + if impl(ghc >= 7.2 && < 7.6) + build-depends: ghc-prim + includes: zlib.h + ghc-options: -Wall -fwarn-tabs + if flag(non-blocking-ffi) + cpp-options: -DNON_BLOCKING_FFI + if flag(pkg-config) + -- NB: pkg-config is available on windows as well when using msys2 + pkgconfig-depends: zlib + else + -- don't use pkg-config + if !os(windows) + -- Normally we use the the standard system zlib. + extra-libraries: z + else + -- However for the benefit of users of Windows (which does not have zlib + -- by default) we bundle a complete copy of the C sources of zlib-1.2.8 + c-sources: cbits/adler32.c cbits/compress.c cbits/crc32.c + cbits/deflate.c cbits/infback.c + cbits/inffast.c cbits/inflate.c cbits/inftrees.c + cbits/trees.c cbits/uncompr.c cbits/zutil.c + include-dirs: cbits + install-includes: zlib.h zconf.h + +test-suite tests + type: exitcode-stdio-1.0 + main-is: Test.hs + other-modules: Utils, + Test.Codec.Compression.Zlib.Internal, + Test.Codec.Compression.Zlib.Stream + hs-source-dirs: test + default-language: Haskell2010 + build-depends: base, bytestring, zlib, + QuickCheck == 2.*, + tasty >= 0.8 && < 1.3, + tasty-quickcheck >= 0.8 && < 0.11, + tasty-hunit >= 0.8 && < 0.11 + ghc-options: -Wall