Skip to content

Commit

Permalink
Update mvn2nix (fzakaria#37)
Browse files Browse the repository at this point in the history
* Update to 21.05, expose more platforms, expose overlay in flake

* Remove usage of stdenv.lib

* Use nativeBuildInputs in example
  • Loading branch information
jonringer authored Jul 7, 2021
1 parent a5538f3 commit 5702746
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 23 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ in mkDerivation rec {
name = "${pname}-${version}";
src = lib.cleanSource ./.;

buildInputs = [ jdk11_headless maven makeWrapper ];
nativeBuildInputs = [ jdk11_headless maven makeWrapper ];
buildPhase = ''
echo "Building with maven repository ${mavenRepository}"
mvn package --offline -Dmaven.repo.local=${mavenRepository}
Expand Down
8 changes: 4 additions & 4 deletions derivation.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{ lib, writeText, stdenv, jdk, maven, makeWrapper, gitignoreSource
{ lib, writeText, stdenv, jdk, maven, makeWrapper, nix-gitignore
, bootstrap ? false, buildMavenRepositoryFromLockFile }:
let
repository = (if bootstrap then
stdenv.mkDerivation {
name = "bootstrap-repository";
buildInputs = [ jdk maven ];
src = gitignoreSource ./.;
src = nix-gitignore.gitignoreSource [] ./.;
buildPhase = ''
mkdir $out
Expand Down Expand Up @@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
pname = "mvn2nix";
version = "0.1";
name = "${pname}-${version}";
src = gitignoreSource ./.;
src = nix-gitignore.gitignoreSource [] ./.;
buildInputs = [ jdk maven makeWrapper ];
buildPhase = ''
echo "Using repository ${repository}"
Expand Down Expand Up @@ -63,7 +63,7 @@ in stdenv.mkDerivation rec {
--set JAVA_HOME ${jdk}
'';

meta = with stdenv.lib; {
meta = with lib; {
description =
"Easily package your Java applications for the Nix package manager.";
homepage = "https://github.com/fzakaria/mvn2nix";
Expand Down
26 changes: 21 additions & 5 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 20 additions & 13 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,29 @@
description = "Easily package your Maven Java application with the Nix package manager";

inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-20.09";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05";
utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs }:
outputs = { self, nixpkgs, utils }:
let
system = "x86_64-linux";
derivations = import ./default.nix {inherit nixpkgs; inherit system;};
in
rec {
legacyPackages.x86_64-linux = {
mvn2nix = derivations.mvn2nix;
mvn2nix-bootstrap = derivations.mvn2nix-bootstrap;
buildMavenRepository = derivations.buildMavenRepository;
buildMavenRepositoryFromLockFile = derivations.buildMavenRepositoryFromLockFile;
};
# put devShell and any other required packages into local overlay
localOverlay = import ./overlay.nix;

defaultPackage.x86_64-linux = legacyPackages.x86_64-linux.mvn2nix;
pkgsForSystem = system: import nixpkgs {
overlays = [
localOverlay
];
inherit system;
};
in utils.lib.eachSystem utils.lib.defaultSystems (system: rec {
legacyPackages = pkgsForSystem system;
packages = utils.lib.flattenTree {
inherit (legacyPackages) mvn2nix mvn2nix-bootstrap buildMavenRepository buildMavenRepositoryFromLockFile;
};
defaultPackage = packages.mvn2nix;
apps.mvn2nix = utils.lib.mkApp { drv = packages.mvn2nix; };
}) // {
overlay = localOverlay;
};
}

0 comments on commit 5702746

Please sign in to comment.