diff options
-rw-r--r-- | apex/Cmdwave.hs | 8 | ||||
-rw-r--r-- | pack/cmdwave.nix | 30 | ||||
-rw-r--r-- | pack/default.nix | 1 |
3 files changed, 39 insertions, 0 deletions
diff --git a/apex/Cmdwave.hs b/apex/Cmdwave.hs new file mode 100644 index 0000000..315f57a --- /dev/null +++ b/apex/Cmdwave.hs @@ -0,0 +1,8 @@ +import Sound.Pulse.Simple + +main :: IO () +main = do + s <- simpleNew Nothing "example" Record Nothing "this is an example application" + (SampleSpec (F32 LittleEndian) 44100 1) Nothing Nothing + _ <- simpleRead s $ 44100*10 :: IO [Float] + simpleFree s diff --git a/pack/cmdwave.nix b/pack/cmdwave.nix new file mode 100644 index 0000000..a26945c --- /dev/null +++ b/pack/cmdwave.nix @@ -0,0 +1,30 @@ +{ nixpkgs }: +with nixpkgs; +let + ghc = pkgs.haskell.packages.ghc844.ghcWithPackages (hp: with hp; [ + hinotify + + protolude + pulse-simple + ]); + entrypoint = "Cmdwave"; +in +stdenv.mkDerivation rec { + name = "cmdwave"; + version = "0"; + src = ../.; + nativeBuildInputs = [ + ghc + ]; + strictDeps = true; + buildPhase = '' + ${ghc}/bin/ghc \ + -iapex -ilore \ + -main-is ${entrypoint} --make apex/${entrypoint}.hs \ + -o bild/${name} + ''; + installPhase = '' + mkdir -p $out/bin + cp bild/${name} $out/bin/${name} + ''; +} diff --git a/pack/default.nix b/pack/default.nix index 3c48884..a5a1313 100644 --- a/pack/default.nix +++ b/pack/default.nix @@ -5,4 +5,5 @@ fathom = import ./fathom.nix { inherit nixpkgs; }; ibb = import ./ibb.nix { inherit nixpkgs; }; bs = import ./bs.nix { inherit nixpkgs; }; + cmdwave = import ./cmdwave.nix { inherit nixpkgs; }; } |