diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5e6a64c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/lukko-0.1.1.2.tar.gz diff --git a/ghc-lukko.spec b/ghc-lukko.spec new file mode 100644 index 0000000..e8dc625 --- /dev/null +++ b/ghc-lukko.spec @@ -0,0 +1,143 @@ +# generated by cabal-rpm-2.0.6 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name lukko +%global pkgver %{pkg_name}-%{version} + +# testsuite missing deps: tasty-expected-failure + +Name: ghc-%{pkg_name} +Version: 0.1.1.2 +Release: 1%{?dist} +Summary: File locking + +License: GPL20orlaterANDBSD3Clause +Url: https://hackage.haskell.org/package/%{pkg_name} +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-base-prof +# End cabal-rpm deps + +%description +This package provides access to platform dependent file locking APIs: + +* + on Linux ("Lukko.OFD") * BSD-style 'flock(2)' +locks on UNIX platforms ("Lukko.FLock") * Windows locking via + ("Lukko.Windows") * No-op locking, which throws exceptions +("Lukko.NoOp") * "Lukko" module exports the best option for the target platform +with uniform API. + +There are alternative file locking packages: + +* "GHC.IO.Handle.Lock" in 'base >= 4.10' is good enough for most use cases. +However, uses only 'Handle's so these locks cannot be used for intra-process +locking. (You should use e.g. 'MVar' in addition). + +* doesn't support OFD +locking. + +/Lukko/ means lock in Finnish. + +Submodules "Lukko.OFD", "Lukko.Windows" etc are available based on following +conditions. + +' if os(windows) cpp-options: -DHAS_WINDOWS_LOCK + +elif (os(linux) && flag(ofd-locking)) cpp-options: -DHAS_OFD_LOCKING +cpp-options: -DHAS_FLOCK + +elif !(os(solaris) || os(aix)) cpp-options: -DHAS_FLOCK ' + +"Lukko.FLock" is available on not (Windows or Solaris or AIX). +"Lukko.NoOp" is always available. + + +%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} + +%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} +chmod a-x CHANGELOG.md +# End cabal-rpm setup + + +%build +# Begin cabal-rpm build: +%ghc_lib_build +# End cabal-rpm build + + +%install +# Begin cabal-rpm install +%ghc_lib_install +# End cabal-rpm install + + +%files -f %{name}.files +# Begin cabal-rpm files: +%license LICENSE +%license LICENSE.GPLv2 +%license LICENSE.GPLv3 +# End cabal-rpm files + + +%files devel -f %{name}-devel.files +%doc CHANGELOG.md + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%license LICENSE.GPLv2 +%license LICENSE.GPLv3 +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Mon Jun 22 2020 Jens Petersen - 0.1.1.2-1 +- spec file generated by cabal-rpm-2.0.6 diff --git a/sources b/sources new file mode 100644 index 0000000..de7534c --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (lukko-0.1.1.2.tar.gz) = fe3a6687b741491ebaeace29c8d4d01307fad43f0e649c087fef24ec227eb231541fa1500e1685c814eb2a1ea472546033e837ce84fa64df79f00b19f8abebb6