mirror of
https://github.com/nmattia/niv.git
synced 2024-09-18 19:07:19 +03:00
Replace snack with cabal
This commit is contained in:
parent
45041fa765
commit
262dd9ab21
@ -23,6 +23,12 @@ jobs:
|
|||||||
echo "keep-outputs = true" | sudo tee -a /etc/nix/nix.conf
|
echo "keep-outputs = true" | sudo tee -a /etc/nix/nix.conf
|
||||||
echo "keep-derivations = true" | sudo tee -a /etc/nix/nix.conf
|
echo "keep-derivations = true" | sudo tee -a /etc/nix/nix.conf
|
||||||
|
|
||||||
|
# Set a new TMP because /run/user is (1) pretty small and (2)
|
||||||
|
# mounted with noexec
|
||||||
|
new_tmp=$HOME/tmp
|
||||||
|
mkdir -p $new_tmp
|
||||||
|
echo "export TMPDIR=$new_tmp" >> $BASH_ENV
|
||||||
|
|
||||||
# Builds everything from scratch on master. On a branch the branch's
|
# Builds everything from scratch on master. On a branch the branch's
|
||||||
# cache is used if it exists, otherwise the latest cache generated from
|
# cache is used if it exists, otherwise the latest cache generated from
|
||||||
# master is used.
|
# master is used.
|
||||||
|
@ -16,10 +16,7 @@ $ nix-env -iA niv -f https://github.com/nmattia/niv/tarball/master
|
|||||||
Inside the provided nix shell:
|
Inside the provided nix shell:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ # GHCi:
|
$ repl
|
||||||
$ snack ghci
|
|
||||||
$ # run:
|
|
||||||
$ snack run -- <args>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Run the test suite with this command:
|
Run the test suite with this command:
|
||||||
|
@ -16,10 +16,7 @@ $ nix-env -iA niv -f https://github.com/nmattia/niv/tarball/master
|
|||||||
Inside the provided nix shell:
|
Inside the provided nix shell:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ # GHCi:
|
$ repl
|
||||||
$ snack ghci
|
|
||||||
$ # run:
|
|
||||||
$ snack run -- <args>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Run the test suite with this command:
|
Run the test suite with this command:
|
||||||
|
@ -6,8 +6,6 @@
|
|||||||
{-# LANGUAGE TupleSections #-}
|
{-# LANGUAGE TupleSections #-}
|
||||||
{-# LANGUAGE ViewPatterns #-}
|
{-# LANGUAGE ViewPatterns #-}
|
||||||
|
|
||||||
module Main (main) where
|
|
||||||
|
|
||||||
import Control.Applicative
|
import Control.Applicative
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Control.Monad.State
|
import Control.Monad.State
|
27
default.nix
27
default.nix
@ -1,6 +1,31 @@
|
|||||||
{ pkgs ? import ./nix {} }:
|
{ pkgs ? import ./nix {} }:
|
||||||
|
with rec
|
||||||
|
{ niv-source = pkgs.lib.sourceByRegex ./.
|
||||||
|
[ "^package.yaml$"
|
||||||
|
"^app.*$"
|
||||||
|
"^README.md$"
|
||||||
|
];
|
||||||
|
haskellPackages = pkgs.haskellPackages.override
|
||||||
|
{ overrides = _: haskellPackages:
|
||||||
|
{ niv = haskellPackages.callCabal2nix "niv" niv-source {}; };
|
||||||
|
};
|
||||||
|
|
||||||
|
niv-devshell = haskellPackages.shellFor
|
||||||
|
{ packages = (ps: [ ps.niv ]);
|
||||||
|
shellHook =
|
||||||
|
''
|
||||||
|
repl() {
|
||||||
|
ghci Main.hs
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "To start a REPL session, run:"
|
||||||
|
echo " > repl"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
rec
|
rec
|
||||||
{ niv = pkgs.snack-lib.executable ./package.yaml;
|
{ inherit niv-source niv-devshell;
|
||||||
|
inherit (haskellPackages) niv;
|
||||||
readme = pkgs.writeText "README.md"
|
readme = pkgs.writeText "README.md"
|
||||||
(with
|
(with
|
||||||
{ template = builtins.readFile ./README.tpl.md;
|
{ template = builtins.readFile ./README.tpl.md;
|
||||||
|
@ -1,15 +1,4 @@
|
|||||||
{
|
{
|
||||||
"snack": {
|
|
||||||
"homepage": "",
|
|
||||||
"url": "https://github.com/nmattia/snack/archive/7b90144a01fff7e5eeb520a6b774377f75e44205.tar.gz",
|
|
||||||
"owner": "nmattia",
|
|
||||||
"branch": "master",
|
|
||||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz",
|
|
||||||
"repo": "snack",
|
|
||||||
"sha256": "0p0bldlr83i4bigsv0ygnn7q0lv25hkjd5n4nm1vlvwm9cp8n5dn",
|
|
||||||
"description": "Nix-based incremental build tool for Haskell projects",
|
|
||||||
"rev": "7b90144a01fff7e5eeb520a6b774377f75e44205"
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"url": "https://github.com/NixOS/nixpkgs-channels/archive/8e70d4bd7d5e1c137006fe483d8d116311694bc2.tar.gz",
|
"url": "https://github.com/NixOS/nixpkgs-channels/archive/8e70d4bd7d5e1c137006fe483d8d116311694bc2.tar.gz",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
|
10
package.yaml
10
package.yaml
@ -1,13 +1,19 @@
|
|||||||
name: niv
|
name: niv
|
||||||
|
|
||||||
|
license: MIT
|
||||||
|
|
||||||
ghc-options:
|
ghc-options:
|
||||||
- -Wall
|
- -Wall
|
||||||
- -Werror
|
- -Werror
|
||||||
|
|
||||||
executable:
|
executable:
|
||||||
source-dirs: . # remove when https://github.com/nmattia/snack/pull/96 is merged
|
main: app/Niv.hs
|
||||||
main: Main.hs
|
|
||||||
dependencies:
|
dependencies:
|
||||||
|
- base
|
||||||
|
- hashable
|
||||||
|
- process
|
||||||
|
- text
|
||||||
|
- bytestring
|
||||||
- aeson
|
- aeson
|
||||||
- aeson-pretty
|
- aeson-pretty
|
||||||
- directory
|
- directory
|
||||||
|
Loading…
Reference in New Issue
Block a user