Cabal revisions of atomic-primops-0.5.0.2
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Name: atomic-primops-Version: 0.5.0.2-License: BSD3-License-file: LICENSE-Author: Ryan Newton-Maintainer: rrnewton@gmail.com-Category: Data--- Portability: non-portabile (x86_64)-Build-type: Custom--- TODO: This requirement needs to be bumped to 1.17 when the latest cabal is--- released. This package triggers issue #1284:-Cabal-version: >=1.8-HomePage: https://github.com/rrnewton/haskell-lockfree-queue/wiki---- Version History:--- 0.1.0.0 -- initial release--- 0.1.0.2 -- disable profiling--- 0.2 -- Critical bugfix and add Counter.--- 0.2.2 -- Add more counters--- 0.2.2.1 -- Minor, add warning.--- 0.3 -- Major internal change. Duplicate GHC RTS barriers and support non -threaded.--- 0.4 -- Duplicate 'cas' as well as barriers. Add fetchAdd on ByteArray, Counter.Unboxed.--- 0.4.1 -- Add advance support for GHC 7.8--- 0.5 -- Nix Data.Atomics.Counter.Foreign and the bits-atomic dependency.--- 0.5.0.2 -- IMPORTANT Bugfix release.--Synopsis: A safe approach to CAS and other atomic ops in Haskell.--Description:-- After GHC 7.4 a new `casMutVar#` primop became available, but it's- difficult to use safely, because pointer equality is a highly- unstable property in Haskell. This library provides a safer method- based on the concept of "Tickets".- .- Also, this library uses the "foreign primop" capability of GHC to- add access to other variants that may be of- interest, specifically, compare and swap inside an array.- .- Changes in 0.3:- .- * Major internal change. Duplicate the barrier code from the GHC RTS and thus - enable support for executables that are NOT built with '-threaded'.- .- Changes in 0.4:- . - * Further internal changes, duplicate 'cas' routine well as barriers. - .- * Add `fetchAddByteArrayInt`- .- * Add an `Unboxed` counter variant that uses movable "ByteArray"s on the GHC heap.- .- Changes in 0.5:- . - * Remove dependency on bits-atomic unless a flag is turned on.---Extra-Source-Files: DEVLOG.md,- testing/Test.hs, testing/test-atomic-primops.cabal, testing/ghci-test.hs- testing/Makefile, testing/CommonTesting.hs, testing/CounterCommon.hs, testing/hello.hs- testing/CounterReference.hs testing/CounterUnboxed.hs testing/CounterIORef.hs--Flag debug- Description: Enable extra internal checks.- Default: False---- The bits-atomic based modules are causing problems [2014.01.23] -Flag foreign- Description: Enable a dependency on bits-atomic and in turn provide a - foreign implementation of Counter.- Default: False--Library- exposed-modules: Data.Atomics- Data.Atomics.Internal- Data.Atomics.Counter- Data.Atomics.Counter.IORef- Data.Atomics.Counter.Reference- Data.Atomics.Counter.Unboxed- ghc-options: -O2 -funbox-strict-fields-- if flag (foreign) { - exposed-modules: Data.Atomics.Counter.Foreign- build-depends: bits-atomic- }-- -- casMutVar# had a bug in GHC 7.2, thus we require GHC 7.4 or greater- -- (base 4.5 or greater). We also need the "Any" kind.- build-depends: base >= 4.5.0.0 && <= 4.7.0.0, ghc-prim, primitive, Cabal-- -- TODO: Try to push support back to 7.0:- -- Ah, but if we don't USE casMutVar# in this package we are ok:- -- build-depends: base >= 4.3, ghc-prim, primitive-- if impl(ghc < 7.7) {- Include-Dirs: cbits- C-Sources: cbits/primops.cmm- -- Duplicate RTS functionality for GHC 7.6:- C-Sources: cbits/RtsDup.c- }- CC-Options: -Wall - -- Let the code know that profiling is on:- ghc-prof-options: -DGHC_PROFILING_ON-- -- if( cabal-version < 1.17 ) {- -- ghc-prof-options: ERROR_DO_NOT_BUILD_THIS_WITH_PROFILING_YET__SEE_CABAL_ISSUE_1284- -- }-- if flag(debug)- cpp-options: -DDEBUG_ATOMICS ----- -- [2013.04.08] This isn't working presently:--- -- I'm having problems with building it along with the library; see DEVLOG.--- -- Switching to a separate package in ./testing/ --- Test-Suite test-atomic-primops--- type: exitcode-stdio-1.0---Source-Repository head- Type: git- Location: git://github.com/rrnewton/haskell-lockfree-queue.git--+Name: atomic-primops +Version: 0.5.0.2 +x-revision: 1 +License: BSD3 +License-file: LICENSE +Author: Ryan Newton +Maintainer: rrnewton@gmail.com +Category: Data +-- Portability: non-portabile (x86_64) +Build-type: Custom +-- TODO: This requirement needs to be bumped to 1.17 when the latest cabal is +-- released. This package triggers issue #1284: +Cabal-version: >=1.8 +HomePage: https://github.com/rrnewton/haskell-lockfree-queue/wiki + +-- Version History: +-- 0.1.0.0 -- initial release +-- 0.1.0.2 -- disable profiling +-- 0.2 -- Critical bugfix and add Counter. +-- 0.2.2 -- Add more counters +-- 0.2.2.1 -- Minor, add warning. +-- 0.3 -- Major internal change. Duplicate GHC RTS barriers and support non -threaded. +-- 0.4 -- Duplicate 'cas' as well as barriers. Add fetchAdd on ByteArray, Counter.Unboxed. +-- 0.4.1 -- Add advance support for GHC 7.8 +-- 0.5 -- Nix Data.Atomics.Counter.Foreign and the bits-atomic dependency. +-- 0.5.0.2 -- IMPORTANT Bugfix release. + +Synopsis: A safe approach to CAS and other atomic ops in Haskell. + +Description: + + After GHC 7.4 a new `casMutVar#` primop became available, but it's + difficult to use safely, because pointer equality is a highly + unstable property in Haskell. This library provides a safer method + based on the concept of "Tickets". + . + Also, this library uses the "foreign primop" capability of GHC to + add access to other variants that may be of + interest, specifically, compare and swap inside an array. + . + Changes in 0.3: + . + * Major internal change. Duplicate the barrier code from the GHC RTS and thus + enable support for executables that are NOT built with '-threaded'. + . + Changes in 0.4: + . + * Further internal changes, duplicate 'cas' routine well as barriers. + . + * Add `fetchAddByteArrayInt` + . + * Add an `Unboxed` counter variant that uses movable "ByteArray"s on the GHC heap. + . + Changes in 0.5: + . + * Remove dependency on bits-atomic unless a flag is turned on. + + +Extra-Source-Files: DEVLOG.md, + testing/Test.hs, testing/test-atomic-primops.cabal, testing/ghci-test.hs + testing/Makefile, testing/CommonTesting.hs, testing/CounterCommon.hs, testing/hello.hs + testing/CounterReference.hs testing/CounterUnboxed.hs testing/CounterIORef.hs + +Flag debug + Description: Enable extra internal checks. + Default: False + +-- The bits-atomic based modules are causing problems [2014.01.23] +Flag foreign + Description: Enable a dependency on bits-atomic and in turn provide a + foreign implementation of Counter. + Default: False + +Library + exposed-modules: Data.Atomics + Data.Atomics.Internal + Data.Atomics.Counter + Data.Atomics.Counter.IORef + Data.Atomics.Counter.Reference + Data.Atomics.Counter.Unboxed + ghc-options: -O2 -funbox-strict-fields + + if flag (foreign) { + exposed-modules: Data.Atomics.Counter.Foreign + build-depends: bits-atomic + } + + -- casMutVar# had a bug in GHC 7.2, thus we require GHC 7.4 or greater + -- (base 4.5 or greater). We also need the "Any" kind. + build-depends: base >= 4.6.0.0 && <= 4.7.0.0, ghc-prim, primitive, Cabal + + -- TODO: Try to push support back to 7.0: + -- Ah, but if we don't USE casMutVar# in this package we are ok: + -- build-depends: base >= 4.3, ghc-prim, primitive + + if impl(ghc < 7.7) { + Include-Dirs: cbits + C-Sources: cbits/primops.cmm + -- Duplicate RTS functionality for GHC 7.6: + C-Sources: cbits/RtsDup.c + } + CC-Options: -Wall + -- Let the code know that profiling is on: + ghc-prof-options: -DGHC_PROFILING_ON + + -- if( cabal-version < 1.17 ) { + -- ghc-prof-options: ERROR_DO_NOT_BUILD_THIS_WITH_PROFILING_YET__SEE_CABAL_ISSUE_1284 + -- } + + if flag(debug) + cpp-options: -DDEBUG_ATOMICS + + +-- -- [2013.04.08] This isn't working presently: +-- -- I'm having problems with building it along with the library; see DEVLOG. +-- -- Switching to a separate package in ./testing/ +-- Test-Suite test-atomic-primops +-- type: exitcode-stdio-1.0 + + +Source-Repository head + Type: git + Location: git://github.com/rrnewton/haskell-lockfree-queue.git + +