mirror of
https://github.com/tensorflow/haskell.git
synced 2024-11-23 03:19:44 +01:00
Simplify Stack Nix integration
Let Stack generate the nix-shell internally instead of writing it manually.
This commit is contained in:
parent
d088e30b80
commit
ed445a76a4
5 changed files with 4 additions and 61 deletions
10
README.md
10
README.md
|
@ -126,19 +126,11 @@ After running the script to install system dependencies, build the project with
|
|||
|
||||
## Build on NixOS
|
||||
|
||||
The `shell.nix` provides an environment containing the necessary
|
||||
The `stack.yaml` file describes a NixOS environment containing the necessary
|
||||
dependencies. To build, run:
|
||||
|
||||
$ stack --nix build
|
||||
|
||||
or alternatively you can run
|
||||
|
||||
$ nix-shell
|
||||
|
||||
to enter the environment and build the project. Note, that it is an emulation
|
||||
of common Linux environment rather than full-featured Nix package expression.
|
||||
No exportable Nix package will appear, but local development is possible.
|
||||
|
||||
## Installation on CentOS
|
||||
|
||||
[Xiaokui Shu (@subbyte)](https://github.com/subbyte) maintains [separate instructions for installation on CentOS](https://github.com/subbyte/haskell-learn/blob/master/tensorflow_setup.md).
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8731aaaf8b30888bc24994096db830993090d7c4",
|
||||
"sha256": "1hcc89rxi47nb0mpk05nl9rbbb04kfw97xfydhpmmgh57yrp3zqa"
|
||||
}
|
26
nix/update
26
nix/update
|
@ -1,26 +0,0 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p bash nix curl jq
|
||||
# vim: filetype=sh
|
||||
# Updates the nixpkgs.json to the latest release
|
||||
# See https://gist.github.com/zimbatm/de5350245874361762b6a4dfe5366530
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
|
||||
branch=release-19.09
|
||||
|
||||
owner=NixOS
|
||||
repo=nixpkgs
|
||||
rev=$(curl -sfL https://api.github.com/repos/$owner/$repo/git/refs/heads/$branch | jq -r .object.sha)
|
||||
url=https://github.com/$owner/$repo/archive/$rev.tar.gz
|
||||
|
||||
release_sha256=$(nix-prefetch-url --unpack "$url")
|
||||
|
||||
cat <<NIXPKGS | tee src.json
|
||||
{
|
||||
"owner": "$owner",
|
||||
"repo": "$repo",
|
||||
"rev": "$rev",
|
||||
"sha256": "$release_sha256"
|
||||
}
|
||||
NIXPKGS
|
19
shell.nix
19
shell.nix
|
@ -1,19 +0,0 @@
|
|||
{ghc ? null }:
|
||||
|
||||
let
|
||||
# Use pinned packages
|
||||
nixpkgs = with (builtins.fromJSON (builtins.readFile ./nix/src.json));
|
||||
builtins.fetchTarball {
|
||||
url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs {};
|
||||
in
|
||||
pkgs.haskell.lib.buildStackProject {
|
||||
# Either use specified GHC or use GHC 8.6.5 (which we need for LTS 14.4)
|
||||
ghc = if isNull ghc then pkgs.haskell.compiler.ghc865 else ghc;
|
||||
extraArgs = "--system-ghc";
|
||||
name = "tf-env";
|
||||
buildInputs = with pkgs; [ snappy zlib protobuf libtensorflow ];
|
||||
}
|
|
@ -27,4 +27,6 @@ extra-include-dirs:
|
|||
|
||||
nix:
|
||||
enable: false
|
||||
shell-file: shell.nix
|
||||
# release-19.09 with libtensorflow 1.14.0
|
||||
path: ["nixpkgs=https://github.com/NixOS/nixpkgs/archive/8731aaaf8b30888bc24994096db830993090d7c4.tar.gz"]
|
||||
packages: [snappy, zlib, protobuf, libtensorflow]
|
||||
|
|
Loading…
Reference in a new issue