Closed klntsky closed 5 years ago
The following shell.nix
fails to build because of purescript
for already a while, against various commits:
let
pkgs = import (builtins.fetchGit {
name = "nixpkgs-for-hacking-with-purescript";
url = https://github.com/NixOS/nixpkgs.git;
rev = "6e3eee833d7df11a82a6119760a7b1379a0c3ffe";
}) {}; #Unstable-small. Released on 2019-01-08 12:29:58
f = { stdenv, nodejs, buildEnv }:
stdenv.mkDerivation rec {
name = "env";
# Mandatory boilerplate for buildable env
env = buildEnv { name = name; paths = buildInputs; };
builder = builtins.toFile "builder.sh" ''
source $stdenv/setup; ln -s $env $out
'';
# Customizable development requirements
buildInputs = [
pkgs.psc-package
pkgs.purescript
pkgs.nodePackages.pulp
];
};
in pkgs.callPackage f {}
It seems purescript
simply decayed in nixpkgs' snapshot of Haskell packages.
It builds against commit 3516551316301523085a4d7b8bda517ba1706b73
.
As a workaround, it is possible to install it via overlay with pinned nixpkgs.
I'll try to send a PR tomorrow.
By the way, there is a separate unofficial repo containing purescript development tools, and it seems to be well maintained.
Has anyone reported that issue upstream? It seems like the best solution to fix this issue is to get a new purescript
release that actually supports recent versions of base
and aeson
. There are other outdated dependencies that should be fixed, too. According to http://packdeps.haskellers.com/feed?needle=exact:purescript:
Hi @peti, purescript maintainer here. We do get occasional reports from nix users that it’s not available on nixpkgs because of the GHC version or library versions we’re using, but it just doesn’t make sense for us to devote maintenance time to keeping everything up to date. I’d prefer that Nixpkgs find a way to build against the dependencies specified by our stack.yaml rather than whatever happens to be in Nixpkgs.
I’d prefer that Nixpkgs find a way to build against the dependencies specified by our stack.yaml rather than whatever happens to be in Nixpkgs.
@hdgarrood, it makes little sense for Nixpkgs to try and build packages in an environment other than Nixpkgs. It is no doubt possible to create a Nix expression that builds your package in an environment which you defined, but such a build is not going to make it into Nixpkgs itself. That would have to be user-supported build, e.g in the form of an overlay.
Issue description
Steps to reproduce
I've tried
nix-build -A purescript -K
onmaster
,channels/nixpkgs-unstable
andchannels/nixos-18.09
Technical details