forked from pool/ghc-monad-par
osc copypac from project:devel:languages:haskell:ghc-8.10.x package:ghc-monad-par revision:1, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-monad-par?expand=0&rev=1
This commit is contained in:
commit
230345b7bf
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
5
ghc-monad-par.changes
Normal file
5
ghc-monad-par.changes
Normal file
@ -0,0 +1,5 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 7 15:34:17 UTC 2020 - psimons@suse.com
|
||||
|
||||
- Add monad-par at version 0.3.5 revision 1.
|
||||
|
110
ghc-monad-par.spec
Normal file
110
ghc-monad-par.spec
Normal file
@ -0,0 +1,110 @@
|
||||
#
|
||||
# spec file for package ghc-monad-par
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global pkg_name monad-par
|
||||
%bcond_with tests
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 0.3.5
|
||||
Release: 0
|
||||
Summary: A library for parallel programming based on a monad
|
||||
License: BSD-3-Clause
|
||||
URL: https://hackage.haskell.org/package/%{pkg_name}
|
||||
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
||||
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-abstract-deque-devel
|
||||
BuildRequires: ghc-abstract-par-devel
|
||||
BuildRequires: ghc-array-devel
|
||||
BuildRequires: ghc-containers-devel
|
||||
BuildRequires: ghc-deepseq-devel
|
||||
BuildRequires: ghc-monad-par-extras-devel
|
||||
BuildRequires: ghc-mtl-devel
|
||||
BuildRequires: ghc-mwc-random-devel
|
||||
BuildRequires: ghc-parallel-devel
|
||||
BuildRequires: ghc-rpm-macros
|
||||
%if %{with tests}
|
||||
BuildRequires: ghc-HUnit-devel
|
||||
BuildRequires: ghc-QuickCheck-devel
|
||||
BuildRequires: ghc-test-framework-devel
|
||||
BuildRequires: ghc-test-framework-hunit-devel
|
||||
BuildRequires: ghc-test-framework-quickcheck2-devel
|
||||
BuildRequires: ghc-test-framework-th-devel
|
||||
BuildRequires: ghc-time-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
The 'Par' monad offers a simple API for parallel programming. The library works
|
||||
for parallelising both pure and 'IO' computations, although only the pure
|
||||
version is deterministic. The default implementation provides a work-stealing
|
||||
scheduler and supports forking tasks that are much lighter weight than
|
||||
IO-threads.
|
||||
|
||||
For complete documentation see "Control.Monad.Par".
|
||||
|
||||
Some examples of use can be found in the 'examples/' directory of the source
|
||||
package.
|
||||
|
||||
Other related packages:
|
||||
|
||||
* 'abstract-par' provides the type classes that abstract over different
|
||||
implementations of the 'Par' monad.
|
||||
|
||||
* 'monad-par-extras' provides extra combinators and monad transformers layered
|
||||
on top of the 'Par' monad.
|
||||
|
||||
Changes in 0.3.4 relative to 0.3:
|
||||
|
||||
* Fix bugs that cause "thread blocked indefinitely on MVar" crashes.
|
||||
|
||||
* Added "Control.Monad.Par.IO".
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
Requires(post): ghc-compiler = %{ghc_version}
|
||||
Requires(postun): ghc-compiler = %{ghc_version}
|
||||
|
||||
%description devel
|
||||
This package provides the Haskell %{pkg_name} library development files.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{pkg_name}-%{version}
|
||||
cp -p %{SOURCE1} %{pkg_name}.cabal
|
||||
|
||||
%build
|
||||
%ghc_lib_build
|
||||
|
||||
%install
|
||||
%ghc_lib_install
|
||||
|
||||
%check
|
||||
%cabal_test
|
||||
|
||||
%post devel
|
||||
%ghc_pkg_recache
|
||||
|
||||
%postun devel
|
||||
%ghc_pkg_recache
|
||||
|
||||
%files -f %{name}.files
|
||||
%license LICENSE
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
|
||||
%changelog
|
3
monad-par-0.3.5.tar.gz
Normal file
3
monad-par-0.3.5.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:823ad5666cbcaefe2c6e0ff131daa0713dff9b3b534fb809643b869e5e4a15a9
|
||||
size 31675
|
183
monad-par.cabal
Normal file
183
monad-par.cabal
Normal file
@ -0,0 +1,183 @@
|
||||
Name: monad-par
|
||||
Version: 0.3.5
|
||||
x-revision: 1
|
||||
Synopsis: A library for parallel programming based on a monad
|
||||
|
||||
|
||||
-- Version history:
|
||||
-- 0.1 : First release
|
||||
-- 0.1.0.1 :
|
||||
-- 0.1.0.2 :
|
||||
-- 0.1.1.0 : module reorganization, moving ParClass
|
||||
|
||||
-- 0.2 : Bumped for new class-based API
|
||||
-- 0.2.1 : Bumped for change AList
|
||||
-- 0.2.2 : incorporation of real deque package
|
||||
-- 0.2.3 : Restricted module export for 0.2 release.
|
||||
|
||||
-- 0.3 : Factored/reorganized modules and packages.
|
||||
-- *This* package is the original, core monad-par.
|
||||
-- 0.3.1 : fix for ghc 7.6.1, expose Par.IO
|
||||
-- 0.3.4 : switch to direct scheduler as default (only 1-level nesting allowed)
|
||||
-- 0.3.4.1 : fix build with GHC 7.0, and fix test
|
||||
-- 0.3.4.2 : Bugfix, 0.3.4.1 was released with debugging switches flipped.
|
||||
-- 0.3.4.3 : Bugfix, Trace scheduler is now the default
|
||||
-- 0.3.4.4 : Use the Trace scheduler in Control.Monad.Par.IO too
|
||||
-- 0.3.4.5 : Extremely minor, fix to unit tests.
|
||||
-- 0.3.4.6 : Add newgeneric flag, supporting the par-classes module.
|
||||
-- 0.3.4.7 : bugfix #38 for GHC 7.10
|
||||
|
||||
Description:
|
||||
The 'Par' monad offers a simple API for parallel programming. The
|
||||
library works for parallelising both pure and @IO@ computations,
|
||||
although only the pure version is deterministic. The default
|
||||
implementation provides a work-stealing scheduler and supports
|
||||
forking tasks that are much lighter weight than IO-threads.
|
||||
.
|
||||
For complete documentation see "Control.Monad.Par".
|
||||
.
|
||||
Some examples of use can be found in the @examples/@ directory of
|
||||
the source package.
|
||||
.
|
||||
Other related packages:
|
||||
.
|
||||
* @abstract-par@ provides the type classes that abstract over different
|
||||
implementations of the @Par@ monad.
|
||||
.
|
||||
* @monad-par-extras@ provides extra combinators and monad transformers layered on top of
|
||||
the @Par@ monad.
|
||||
.
|
||||
Changes in 0.3.4 relative to 0.3:
|
||||
.
|
||||
* Fix bugs that cause "thread blocked indefinitely on MVar" crashes.
|
||||
.
|
||||
* Added "Control.Monad.Par.IO"
|
||||
|
||||
Homepage: https://github.com/simonmar/monad-par
|
||||
License: BSD3
|
||||
License-file: LICENSE
|
||||
Author: Simon Marlow, Ryan Newton
|
||||
Maintainer: Simon Marlow <marlowsd@gmail.com>, Ryan Newton <rrnewton@gmail.com>
|
||||
Copyright: (c) Simon Marlow 2011
|
||||
Stability: Experimental
|
||||
Category: Control,Parallelism,Monads
|
||||
Build-type: Simple
|
||||
Cabal-version: >=1.8
|
||||
|
||||
extra-source-files:
|
||||
tests/AListTest.hs
|
||||
tests/AllTests.hs
|
||||
tests/AsyncTest.hs
|
||||
tests/Makefile
|
||||
tests/ParTests1.hs
|
||||
tests/ParTests2.hs
|
||||
tests/ParTests_shared.hs
|
||||
tests/TestHelpers.hs
|
||||
tests/TestParDist.hs
|
||||
tests/Test_ContReaderT.hs
|
||||
tests/Test_ReaderContT.hs
|
||||
tests/hs_cassandra_microbench.hs
|
||||
tests/hs_cassandra_microbench2.hs
|
||||
|
||||
Flag chaselev
|
||||
Description: Use Chase-Lev Deques for higher-perf work-stealing.
|
||||
Default: False
|
||||
|
||||
Flag newgeneric
|
||||
Description: Provide instances for the new par-classes generic Par programming interface.
|
||||
Default: False
|
||||
|
||||
Source-repository head
|
||||
type: git
|
||||
location: https://github.com/simonmar/monad-par
|
||||
|
||||
Library
|
||||
Exposed-modules:
|
||||
-- The classic, simple monad-par interface:
|
||||
Control.Monad.Par
|
||||
, Control.Monad.Par.IO
|
||||
|
||||
-- This is the default scheduler:
|
||||
, Control.Monad.Par.Scheds.Trace
|
||||
, Control.Monad.Par.Scheds.TraceInternal
|
||||
|
||||
-- Replacement scheduler for Trace:
|
||||
, Control.Monad.Par.Scheds.Direct
|
||||
|
||||
-- This scheduler uses sparks rather than IO threads.
|
||||
-- It only supports Futures, not full IVars. Fork
|
||||
-- becomes lighter weight.
|
||||
, Control.Monad.Par.Scheds.Sparks
|
||||
|
||||
-- Needs MonadIO (in transformers, but not imported here)
|
||||
Build-depends: base >= 4.9 && < 5
|
||||
-- This provides the interface which monad-par implements:
|
||||
, abstract-par
|
||||
, abstract-deque >= 0.1.4
|
||||
-- Extras such as parMap, RNG, State
|
||||
, monad-par-extras >= 0.3
|
||||
, deepseq >= 1.1
|
||||
, array >= 0.3
|
||||
, mwc-random >= 0.11
|
||||
, containers
|
||||
, parallel >= 3.1
|
||||
, mtl >= 2.0.1.0
|
||||
|
||||
if flag(chaselev)
|
||||
cpp-options: -DUSE_CHASELEV
|
||||
build-depends: chaselev-deque
|
||||
|
||||
if flag(newgeneric)
|
||||
cpp-options: -DNEW_GENERIC
|
||||
build-depends: par-classes
|
||||
|
||||
ghc-options: -O2
|
||||
Other-modules:
|
||||
------------------------------------------------------------
|
||||
-- Schedulers & Infrastructure --
|
||||
------------------------------------------------------------
|
||||
|
||||
-- Strawman scheduler that forks IO threads:
|
||||
-- Control.Monad.Par.Scheds.ContFree,
|
||||
|
||||
-- Internal logging framework:
|
||||
-- Control.Monad.Par.Logging,
|
||||
|
||||
-- Serial Elision scheduling is currently experimental:
|
||||
-- Control.Monad.Par.Scheds.SerialElision
|
||||
|
||||
Control.Monad.Par.Scheds.DirectInternal
|
||||
|
||||
------------------------------------------------------------
|
||||
-- Data Structures --
|
||||
------------------------------------------------------------
|
||||
|
||||
-- ILists are internal:
|
||||
-- , Control.Monad.Par.IList
|
||||
|
||||
-- RRN: Not exposing Streams or OpenLists yet. Need to improve performance.
|
||||
-- We have some ideas for enabling bounded chans while preventing deadlock:
|
||||
-- , Control.Monad.Par.OpenList
|
||||
-- , Control.Monad.Par.Stream
|
||||
|
||||
|
||||
Test-Suite test-monad-par
|
||||
type: exitcode-stdio-1.0
|
||||
main-is: tests/AllTests.hs
|
||||
hs-source-dirs: tests/ ./
|
||||
-- Run tests in parallel:
|
||||
ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N4
|
||||
build-depends: base >= 4 && < 5
|
||||
, abstract-par, monad-par-extras
|
||||
, array >= 0.3
|
||||
, deepseq >= 1.2
|
||||
, time
|
||||
, QuickCheck, HUnit
|
||||
, test-framework-hunit
|
||||
, test-framework-quickcheck2 >= 0.3
|
||||
, test-framework, test-framework-th
|
||||
|
||||
, abstract-deque >= 0.1.4
|
||||
, mwc-random >= 0.11
|
||||
, mtl >= 2.0.1.0
|
||||
, containers
|
Loading…
x
Reference in New Issue
Block a user