diff --git a/ghc-json.spec b/ghc-json.spec index 46280bf..57569db 100644 --- a/ghc-json.spec +++ b/ghc-json.spec @@ -1,58 +1,84 @@ %define ghc_ver %(ghc --version | sed "s|.*version ||") -%define pkgname %(echo %name | sed "s|^ghc-||") +%define pkg_name %(echo %name | sed "s|^ghc-||") Name: ghc-json -Version: 0.7 +Version: 0.11 Release: 1mamba Summary: A parser and pretty printer for converting between Haskell values and JSON Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco -URL: http://hackage.haskell.org/package/%{pkgname} +URL: https://hackage.haskell.org/package/%{pkg_name} Source: http://hackage.haskell.org/packages/archive/json/%{version}/json-%{version}.tar.gz +# From Fedora: +Source: json-0.10.cabal License: BSD ## AUTOBUILDREQ-BEGIN +BuildRequires: ghc-libs +BuildRequires: ghc-syb-devel +BuildRequires: glibc-devel +BuildRequires: libgmp-devel ## AUTOBUILDREQ-END BuildRequires: ghc Requires: ghc = %{ghc_ver} -BuildRoot: %{_tmppath}/%{name}-%{version}-root %description JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. This library provides a parser and pretty printer for converting between Haskell values and JSON. +%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 = %{ghc_version} +%endif +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + +%if %{with haddock} +%package doc +Summary: Haskell %{pkg_name} library documentation +Requires: ghc-filesystem + +%description doc +This package provides the Haskell %{pkg_name} library documentation. +%endif + %prep %setup -q -n json-%{version} +#cp -bp %{SOURCE1} %{pkg_name}.cabal %build -runghc Setup.hs configure \ ---prefix=%{_prefix} --libdir=%{_libdir} +export cabal_configure_extra_options="-fgeneric -fsplit-base" -runghc Setup.hs build +%ghc_lib_build %install -[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -runghc Setup.hs copy --destdir=%{buildroot} -runghc Setup.hs register \ ---gen-pkg-config="%{buildroot}%{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/%{pkgname}-%{version}.conf" +%ghc_lib_install + +rm -f %{buildroot}%{_ghclicensedir}/%{name}/LICENSE %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%post -ghc-pkg register %{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/%{pkgname}-%{version}.conf &>/dev/null || true -: - -%preun -ghc-pkg unregister %{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/%{pkgname}-%{version}.conf &>/dev/null || true -: - -%files +%files -f %{name}.files %defattr(-,root,root) -%dir %{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version} -%{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/* -%{_datadir}/doc/%{pkgname}-%{version}/LICENSE +%license LICENSE + +%files devel -f %{name}-devel.files +%doc CHANGES + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%endif %changelog +* Sat Dec 02 2023 Automatic Build System 0.11-1mamba +- automatic version update by autodist + * Sun Sep 08 2013 Silvan Calarco 0.7-1mamba - package created by silvan using the webbuild interface diff --git a/json-0.10.cabal b/json-0.10.cabal new file mode 100644 index 0000000..2cfd609 --- /dev/null +++ b/json-0.10.cabal @@ -0,0 +1,120 @@ +name: json +version: 0.10 +x-revision: 1 +synopsis: Support for serialising Haskell to and from JSON +description: + JSON (JavaScript Object Notation) is a lightweight data-interchange + format. It is easy for humans to read and write. It is easy for + machines to parse and generate. It is based on a subset of the + JavaScript Programming Language, Standard ECMA-262 3rd Edition - + December 1999. + . + This library provides a parser and pretty printer for converting + between Haskell values and JSON. +category: Web +license: BSD3 +license-file: LICENSE +author: Galois Inc. +maintainer: Iavor S. Diatchki (iavor.diatchki@gmail.com) +Copyright: (c) 2007-2018 Galois Inc. +cabal-version: >= 1.6 +build-type: Simple +extra-source-files: + CHANGES + tests/GenericTest.hs + tests/HUnit.hs + tests/Makefile + tests/Parallel.hs + tests/QC.hs + tests/QuickCheckUtils.hs + tests/Unit.hs + tests/unit/fail1.json + tests/unit/fail10.json + tests/unit/fail11.json + tests/unit/fail12.json + tests/unit/fail13.json + tests/unit/fail14.json + tests/unit/fail15.json + tests/unit/fail16.json + tests/unit/fail17.json + tests/unit/fail18.json + tests/unit/fail19.json + tests/unit/fail2.json + tests/unit/fail20.json + tests/unit/fail21.json + tests/unit/fail22.json + tests/unit/fail23.json + tests/unit/fail24.json + tests/unit/fail25.json + tests/unit/fail26.json + tests/unit/fail27.json + tests/unit/fail28.json + tests/unit/fail29.json + tests/unit/fail3.json + tests/unit/fail30.json + tests/unit/fail31.json + tests/unit/fail32.json + tests/unit/fail33.json + tests/unit/fail4.json + tests/unit/fail5.json + tests/unit/fail6.json + tests/unit/fail7.json + tests/unit/fail8.json + tests/unit/fail9.json + tests/unit/pass1.json + tests/unit/pass2.json + tests/unit/pass3.json + +source-repository head + type: git + location: https://github.com/GaloisInc/json.git + +flag split-base + default: True + description: Use the new split base package. +flag parsec + default: True + description: Add support for parsing with Parsec. +flag pretty + default: True + description: Add support for using pretty printing combinators. +flag generic + default: True + description: Add support for generic encoder. + +flag mapdict + default: False + description: Encode Haskell maps as JSON dicts + +library + exposed-modules: Text.JSON, + Text.JSON.Types, + Text.JSON.String, + Text.JSON.ReadP + ghc-options: -Wall -O2 + + if flag(split-base) + if flag(generic) + build-depends: base >=4.9 && <5, syb >= 0.3.3 + + exposed-modules: Text.JSON.Generic + Cpp-Options: -DBASE_4 + else + build-depends: base >= 3 && <4 + + build-depends: array, containers, bytestring, mtl, text + + if flag(parsec) + build-depends: parsec + exposed-modules: Text.JSON.Parsec + if flag(pretty) + build-depends: pretty + exposed-modules: Text.JSON.Pretty + else + build-depends: base < 3 + + if flag(mapdict) + cpp-options: -DMAP_AS_DICT + + +