From 71c55b8bb8059654049489d20a84f53d38ff1666 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 16 Apr 2018 00:24:13 +0200 Subject: [PATCH] feat(build): Add Nix build configuration Adds a Nix build configuration baesd on the default rustPlatform configuration. The configuration pins a specific nixpkgs commit (which at the time was a commit tracking nixpkgs-unstable). --- .travis.yml | 2 +- default.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 default.nix diff --git a/.travis.yml b/.travis.yml index 22761ba7e..d8cc8efa4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1 +1 @@ -language: rust +language: nix diff --git a/default.nix b/default.nix new file mode 100644 index 000000000..14e2219a4 --- /dev/null +++ b/default.nix @@ -0,0 +1,31 @@ +{ pkgs ? import {} +, doCheck ? true }: + +# This pins the nixpkgs version to an - admittedly arbitrarily chosen +# - commit with the correct dependencies. +# This should be removed once the majority of relevant machines are +# running NixOS 18.03. + +let unstable = import (pkgs.fetchFromGitHub { + owner = "NixOS"; + repo = "nixpkgs-channels"; + rev = "ea145b68a019f6fff89e772e9a6c5f0584acc02c"; + sha256 = "18jr124cbgc5zvawvqvvmrp8lq9jcscmn5sg8f5xap6qbg1dgf22"; +}) {}; +in with unstable; rustPlatform.buildRustPackage rec { + name = "converse-${version}"; + version = "0.1.0"; + src = ./.; + cargoSha256 = "0a0634v22wazmyym05x4ricqkxwn4r3spv6s2f3ilma65cy6qyrf"; + + buildInputs = [ openssl pkgconfig ]; + + inherit doCheck; + + meta = with stdenv.lib; { + description = "A simple forum software"; + homepage = "https://github.com/tazjin/converse"; + license = licenses.gpl3; + maintainers = [ maintainers.tazjin ]; + }; +}