Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drake-factual: init at 1.0.3 #32121

Closed
wants to merge 2 commits into from
Closed

Conversation

rybern
Copy link
Contributor

@rybern rybern commented Nov 27, 2017

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@rybern
Copy link
Contributor Author

rybern commented Nov 27, 2017

This one was pretty annoying. I couldn't find any other examples of packages that build with leiningen. Leiningen installs dependencies in a local Maven cache, which is by default /var/empty/.m2. This can be changed with a variable in the project.clj file. That's what the sed command does.

meta = with stdenv; {
description = "a simple-to-use, extensible, text-based data workflow tool that organizes command execution around data and its dependencies";
homepage = https://github.com/Factual/drake;
license = licenses.epl;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lib.licenses.epl10

homepage = https://github.com/Factual/drake;
license = licenses.epl;
platforms = lib.platforms.linux;
maintainers = with maintainers; [ rybern ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lib.maintainers

@grahamc
Copy link
Member

grahamc commented Nov 28, 2017

@GrahamcOfBorg eval

};

buildInputs = [ leiningen ];
propagatedBuildInputs = [ jdk which ];
Copy link
Member

@Mic92 Mic92 Nov 28, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

propagatedBuildInputs is not the right way of specifying run-time dependencies. Use makeWrapper as described in https://nixos.org/nixpkgs/manual/#sec-language-java

@lukateras
Copy link
Member

lukateras commented Dec 20, 2017

Also, this won't build inside Nix sandbox. You will need a fixed-output derivation, you can check one of versions of fetchMaven (should be renamed to fetchLeiningen) that handles Leiningen dependency fetches:

https://github.com/yegortimoshenko/overlay/blob/4bf36bc2bf6f8756eae27e1d3afd31e6aac9dbf5/pkgs/fetchMaven/default.nix

Copy link
Member

@matthewbauer matthewbauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See @Mic92's comment

@jtojnar
Copy link
Contributor

jtojnar commented Oct 20, 2018

@rybern Are you still interested in this?

@jtojnar jtojnar closed this Nov 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants