packages feed

hpio 0.9.0.0 → 0.9.0.1

raw patch · 10 files changed

+426/−105 lines, 10 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

changelog.md view
@@ -1,3 +1,9 @@+## 0.9.0.1 (2017-10-16)++Fixes:+  - Better Nix packaging.+  - Add a few missing files to extra-source-files.+ ## 0.9.0.0 (2017-10-02)  Changes:
− default.nix
@@ -1,29 +0,0 @@-{ mkDerivation, async, base, bytestring, containers, directory-, doctest, exceptions, filepath, hlint, hspec, monad-control-, monad-logger, mtl, optparse-applicative, protolude, QuickCheck-, stdenv, text, transformers, transformers-base, unix-, unix-bytestring-}:-mkDerivation {-  pname = "hpio";-  version = "0.9.0.0";-  src = ./.;-  isLibrary = true;-  isExecutable = true;-  libraryHaskellDepends = [-    base bytestring containers directory exceptions filepath-    monad-control monad-logger mtl protolude QuickCheck text-    transformers transformers-base unix unix-bytestring-  ];-  executableHaskellDepends = [-    async base exceptions mtl optparse-applicative protolude text-    transformers-  ];-  testHaskellDepends = [-    base containers directory doctest exceptions filepath hlint hspec-    protolude QuickCheck-  ];-  homepage = "https://github.com/quixoftic/hpio#readme";-  description = "Monads for GPIO in Haskell";-  license = stdenv.lib.licenses.bsd3;-}
hpio.cabal view
@@ -1,9 +1,9 @@--- This file has been generated from package.yaml by hpack version 0.18.1.+-- This file has been generated from package.yaml by hpack version 0.19.2. -- -- see: https://github.com/sol/hpack  name:                   hpio-version:                0.9.0.0+version:                0.9.0.1 synopsis:               Monads for GPIO in Haskell description:            This package provides an embedded DSL for writing cross-platform                         GPIO programs in Haskell. Currently only Linux is supported (via the@@ -33,11 +33,16 @@ extra-source-files:     .travis.yml     changelog.md-    default.nix     Hlint.hs+    nix/hpio.nix+    package.yaml     README.md+    release.nix     shell.nix     stack-lts-2.yaml+    stack-lts-3.yaml+    stack-lts-6.yaml+    stack-lts-7.yaml     stack.yaml  source-repository head@@ -74,22 +79,22 @@   c-sources:       src/System/GPIO/Linux/Sysfs/pollSysfs.c   build-depends:-      QuickCheck          >=2.7.6  && <2.11-    , base                >=4.7.0  && <5-    , bytestring          >=0.10.4 && <0.11-    , containers          >=0.5.5  && <0.6-    , directory           >=1.2.1  && <1.4-    , exceptions          >=0.8.0  && <1-    , filepath            >=1.3.0  && <1.5-    , monad-control       == 1.*-    , monad-logger        == 0.3.*-    , mtl                 >=2.1.3  && <2.3-    , protolude           == 0.2.*-    , text                >=1.2.0  && <1.3-    , transformers        >=0.3.0  && <0.6-    , transformers-base   == 0.4.*-    , unix                >=2.7.0  && <2.8-    , unix-bytestring     >=0.3.7  && <0.4+      QuickCheck >=2.7.6 && <2.11+    , base >=4.7.0 && <5+    , bytestring >=0.10.4 && <0.11+    , containers >=0.5.5 && <0.6+    , directory >=1.2.1 && <1.4+    , exceptions >=0.8.0 && <1+    , filepath >=1.3.0 && <1.5+    , monad-control ==1.*+    , monad-logger ==0.3.*+    , mtl >=2.1.3 && <2.3+    , protolude ==0.2.*+    , text >=1.2.0 && <1.3+    , transformers >=0.3.0 && <0.6+    , transformers-base ==0.4.*+    , unix >=2.7.0 && <2.8+    , unix-bytestring >=0.3.7 && <0.4   if impl(ghc >= 8.0)     ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates   else@@ -98,8 +103,8 @@     ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances   else     build-depends:-        fail       == 4.9.*-      , semigroups == 0.18.*+        fail ==4.9.*+      , semigroups ==0.18.*   exposed-modules:       System.GPIO       System.GPIO.Linux@@ -132,8 +137,8 @@     buildable: False   else     build-depends:-        base-      , async >=2.0.2 && <2.2+        async >=2.0.2 && <2.2+      , base       , exceptions       , hpio       , mtl@@ -160,8 +165,8 @@     buildable: False   else     build-depends:-        base-      , async >=2.0.2 && <2.2+        async >=2.0.2 && <2.2+      , base       , exceptions       , hpio       , mtl@@ -188,8 +193,8 @@     buildable: False   else     build-depends:-        base-      , async >=2.0.2 && <2.2+        async >=2.0.2 && <2.2+      , base       , exceptions       , hpio       , mtl@@ -250,15 +255,15 @@   default-extensions: NoImplicitPrelude   ghc-options: -threaded   build-depends:-      base+      QuickCheck+    , base     , containers     , directory     , exceptions     , filepath     , hpio-    , hspec                >=2.1.7+    , hspec >=2.1.7     , protolude-    , QuickCheck   if impl(ghc >= 8.0)     ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates   else@@ -271,4 +276,5 @@       Test.System.GPIO.Linux.Sysfs.MockSpec       Test.System.GPIO.Linux.Sysfs.SysfsGpioMockSpec       Test.System.GPIO.TypesSpec+      Paths_hpio   default-language: Haskell2010
+ nix/hpio.nix view
@@ -0,0 +1,29 @@+{ mkDerivation, async, base, bytestring, containers, directory+, doctest, exceptions, filepath, hlint, hspec, monad-control+, monad-logger, mtl, optparse-applicative, protolude, QuickCheck+, stdenv, text, transformers, transformers-base, unix+, unix-bytestring+}:+mkDerivation {+  pname = "hpio";+  version = "0.9.0.1";+  src = ./.;+  isLibrary = true;+  isExecutable = true;+  libraryHaskellDepends = [+    base bytestring containers directory exceptions filepath+    monad-control monad-logger mtl protolude QuickCheck text+    transformers transformers-base unix unix-bytestring+  ];+  executableHaskellDepends = [+    async base exceptions mtl optparse-applicative protolude text+    transformers+  ];+  testHaskellDepends = [+    base containers directory doctest exceptions filepath hlint hspec+    protolude QuickCheck+  ];+  homepage = "https://github.com/quixoftic/hpio#readme";+  description = "Monads for GPIO in Haskell";+  license = stdenv.lib.licenses.bsd3;+}
+ package.yaml view
@@ -0,0 +1,251 @@+name:        hpio+version:     0.9.0.1+synopsis:    Monads for GPIO in Haskell+category:    System+stability:   experimental+author:      Drew Hess <dhess-src@quixoftic.com>+maintainer:  Drew Hess <dhess-src@quixoftic.com>+copyright:   Copyright (c) 2017, Quixoftic, LLC+license:     BSD3+github:      quixoftic/hpio++description: ! 'This package provides an embedded DSL for writing cross-platform++  GPIO programs in Haskell. Currently only Linux is supported (via the++  @sysfs@ filesystem), but other Unix GPIO platforms will be supported++  in the future.+++  Monads and low-level actions are also provided for each supported++  platform''s native GPIO API, if you want to program directly to++  the platform API.+++  Example programs are provided in the ''examples'' directory of the++  source code distribution. There is also a "System.GPIO.Tutorial"++  module, which explains how to use the cross-platform DSL.'++tested-with: GHC==7.8.4 GHC==7.10.2 GHC==7.10.3 GHC==8.0.1 GHC==8.0.2 GHC==8.2.1++flags:+  test-hlint:+    description: Build hlint test+    manual: true+    default: true+  test-doctests:+    description: Build doctests+    manual: true+    default: true+  linux-bbone-tests:+    description: >+      Enable Linux BeagleBone-specific tests. Disabled by default. See+      test/System/GPIO/Linux/Sysfs/BeagleBoneSpec.hs for requirements.+      Run with "cabal test -flinux-bbone-tests".+    manual: true+    default: false+  examples:+    description: Build the example programs+    manual: true+    default: true++when:+  - condition: impl(ghc >= 8.0)+    then:+      ghc-options:+        - -Wall+        - -Wincomplete-uni-patterns+        - -Wincomplete-record-updates+    else:+      ghc-options:+        - -Wall+        - -fwarn-incomplete-uni-patterns+        - -fwarn-incomplete-record-updates++default-extensions:+  - NoImplicitPrelude++library:+  when:+    - condition: impl(ghc >= 8.0)+      then:+        ghc-options:+          - -Wcompat+          - -Wnoncanonical-monad-instances+          - -Wnoncanonical-monadfail-instances+      else:+        # provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8+        dependencies:+          - fail       == 4.9.*+          - semigroups == 0.18.*+  source-dirs: src+  c-sources:+    - src/System/GPIO/Linux/Sysfs/pollSysfs.c+  cc-options:+    - -Wall+  other-extensions:+    - ConstraintKinds+    - CPP+    - DefaultSignatures+    - DeriveDataTypeable+    - DeriveGeneric+    - ExistentialQuantification+    - FlexibleContexts+    - FlexibleInstances+    - FunctionalDependencies+    - GADTs+    - GeneralizedNewtypeDeriving+    - InterruptibleFFI+    - KindSignatures+    - LambdaCase+    - MultiParamTypeClasses+    - OverloadedStrings+    - PackageImports+    - QuasiQuotes+    - Safe+    - TemplateHaskell+    - Trustworthy+    - TypeSynonymInstances+    - UndecidableInstances+  dependencies:+    - QuickCheck          >=2.7.6  && <2.11+    - base                >=4.7.0  && <5+    - bytestring          >=0.10.4 && <0.11+    - containers          >=0.5.5  && <0.6+    - directory           >=1.2.1  && <1.4+    - exceptions          >=0.8.0  && <1+    - filepath            >=1.3.0  && <1.5+    - monad-control       == 1.*+    - monad-logger        == 0.3.*+    - mtl                 >=2.1.3  && <2.3+    - protolude           == 0.2.*+    - text                >=1.2.0  && <1.3+    - transformers        >=0.3.0  && <0.6+    - transformers-base   == 0.4.*+    - unix                >=2.7.0  && <2.8+    - unix-bytestring     >=0.3.7  && <0.4++executables:+  hpio-reader-example: &executable+    main: GpioReader.hs+    source-dirs: examples+    other-modules: []+    other-extensions:+      - ConstraintKinds+      - FlexibleContexts+      - LambdaCase+      - OverloadedStrings+    ghc-options:+      - -threaded+    when:+      - condition: "!(flag(examples))"+        then:+          buildable: false+        else:+          dependencies:+          - base+          - async >=2.0.2 && <2.2+          - exceptions+          - hpio+          - mtl+          - optparse-applicative >=0.11.0 && <0.15+          - protolude+          - text+          - transformers+      - condition: impl(ghc >= 8.0)+        ghc-options:+          - -Wcompat+          - -Wnoncanonical-monad-instances+          - -Wnoncanonical-monadfail-instances+          - -fno-warn-redundant-constraints+          - -fno-warn-redundant-constraints+  hpio-sysfs-example:+    <<: *executable+    main: Sysfs.hs+    other-extensions:+      - FlexibleContexts+      - LambdaCase+      - OverloadedStrings+  hpio-example:+    <<: *executable+    main: Gpio.hs+    other-extensions:+      - ConstraintKinds+      - LambdaCase+      - OverloadedStrings++tests:+  hlint:+    main: hlint.hs+    source-dirs: test+    other-modules: []+    ghc-options:+      - -w+      - -threaded+    when:+    - condition: "!(flag(test-hlint))"+      then:+        buildable: false+      else:+        dependencies:+          - base+          - hlint+          - protolude+  doctest:+    main: doctest.hs+    source-dirs: test+    other-modules: []+    ghc-options:+      - -threaded+    when:+    - condition: (!(flag(test-doctests))) || (impl(ghc <7.10))+      then:+        buildable: false+      else:+        dependencies:+          - base+          - doctest+          - filepath+          - protolude+  spec:+    main: Spec.hs+    source-dirs:+      - test+    ghc-options:+      - -threaded+    dependencies:+      - base+      - containers+      - directory+      - exceptions+      - filepath+      - hpio+      - hspec                >=2.1.7+      - protolude+      - QuickCheck+    ghc-options:+      - -threaded+    when:+      - condition: flag(linux-bbone-tests)+        cpp-options:+          -DRUN_LINUX_BBONE_TESTS=1++extra-source-files:+  - .travis.yml+  - Hlint.hs+  - README.md+  - changelog.md+  - nix/*+  - package.yaml+  - release.nix+  - shell.nix+  - stack.yaml+  - stack-lts-2.yaml+  - stack-lts-3.yaml+  - stack-lts-6.yaml+  - stack-lts-7.yaml
+ release.nix view
@@ -0,0 +1,67 @@+{ compiler ? "ghc821" }:++let+  # Disable tests for these packages+  dontCheckPackages = [+  ];++  # Jailbreak these packages+  doJailbreakPackages = [+  ];++  # Disable haddocks for these packages+  dontHaddockPackages = [+  ];++  config = {+    packageOverrides = pkgs: rec {+      haskellPackages =+        let+          generatedOverrides = haskellPackagesNew: haskellPackagesOld:+            let+              toPackage = file: _: {+                name  = builtins.replaceStrings [ ".nix" ] [ "" ] file;++                value = haskellPackagesNew.callPackage (./. + "/nix/${file}") { };+              };++            in+              pkgs.lib.mapAttrs' toPackage (builtins.readDir ./nix);++          makeOverrides =+            function: names: haskellPackagesNew: haskellPackagesOld:+              let+                toPackage = name: {+                  inherit name;++                  value = function haskellPackagesOld.${name};+                };++            in+              builtins.listToAttrs (map toPackage names);++          composeExtensionsList =+            pkgs.lib.fold pkgs.lib.composeExtensions (_: _: {});++          # More exotic overrides go here+          manualOverrides = haskellPackagesNew: haskellPackagesOld: {+            protolude = pkgs.haskell.packages.${compiler}.protolude_0_2;+          };+        in+          pkgs.haskell.packages.${compiler}.override {+            overrides = composeExtensionsList [+              generatedOverrides+              (makeOverrides pkgs.haskell.lib.dontCheck   dontCheckPackages  )+              (makeOverrides pkgs.haskell.lib.doJailbreak doJailbreakPackages)+              (makeOverrides pkgs.haskell.lib.dontHaddock dontHaddockPackages)+              manualOverrides+            ];+          };+    };+  };++  pkgs = import <nixpkgs> { inherit config; };++in+  { hpio = pkgs.haskellPackages.hpio;+  }
shell.nix view
@@ -1,47 +1,3 @@-{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }:--let--  inherit (nixpkgs) pkgs;--  f = { mkDerivation, async, base, bytestring, containers-      , directory, doctest, exceptions, filepath, hlint, hspec-      , monad-control, monad-logger, mtl, optparse-applicative, protolude-      , QuickCheck, stdenv, text, transformers, transformers-base, unix-      , unix-bytestring-      }:-      mkDerivation {-        pname = "hpio";-        version = "0.9.0.0";-        src = ./.;-        isLibrary = true;-        isExecutable = true;-        libraryHaskellDepends = [-          base bytestring containers directory exceptions filepath-          monad-control monad-logger mtl protolude QuickCheck text-          transformers transformers-base unix unix-bytestring-        ];-        executableHaskellDepends = [-          async base exceptions mtl optparse-applicative protolude text-          transformers-        ];-        testHaskellDepends = [-          base containers directory doctest exceptions filepath hlint hspec-          protolude QuickCheck-        ];-        homepage = "https://github.com/quixoftic/hpio#readme";-        description = "Monads for GPIO in Haskell";-        license = stdenv.lib.licenses.bsd3;-      };--  haskellPackages = if compiler == "default"-                       then pkgs.haskellPackages-                       else pkgs.haskell.packages.${compiler};--  variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id;--  drv = variant (haskellPackages.callPackage f {});--in+{ compiler ? "ghc821" }: -  if pkgs.lib.inNixShell then drv.env else drv+(import ./release.nix { inherit compiler; }).hpio.env
+ stack-lts-3.yaml view
@@ -0,0 +1,15 @@+require-stack-version: ">= 1.1.0"+pvp-bounds: both+resolver: lts-3.22+packages:+- .+extra-deps:+- protolude-0.2+- fail-4.9.0.0+- semigroups-0.18.2+- unix-bytestring-0.3.7.3+flags:+  hpio:+    test-hlint: false+  semigroups:+    bytestring-builder: false
+ stack-lts-6.yaml view
@@ -0,0 +1,10 @@+require-stack-version: ">= 1.1.0"+pvp-bounds: both+resolver: lts-6.35+extra-deps:+- protolude-0.2+packages:+- .+flags:+  hpio:+    test-hlint: false
+ stack-lts-7.yaml view
@@ -0,0 +1,10 @@+require-stack-version: ">= 1.1.0"+pvp-bounds: both+resolver: lts-7.24+extra-deps:+- protolude-0.2+packages:+- .+flags:+  hpio:+    test-hlint: false