forked from mirrors/nixpkgs
982f9d8616
The version was bumped but the dependencies were not updated. Do so and add some instructions for future package updates.
72 lines
1.8 KiB
Nix
72 lines
1.8 KiB
Nix
{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
|
|
|
|
let
|
|
# NOTE: bumping the version and updating the hash is insufficient;
|
|
# you must copy a fresh Gemfile.lock from the vagrant source,
|
|
# and use bundix to generate a new gemset.nix.
|
|
# Do not change the existing Gemfile.
|
|
version = "2.1.2";
|
|
url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
|
|
sha256 = "0fb90v43d30whhyjlgb9mmy93ccbpr01pz97kp5hrg3wfd7703b1";
|
|
|
|
deps = bundlerEnv rec {
|
|
name = "${pname}-${version}";
|
|
pname = "vagrant";
|
|
inherit version;
|
|
|
|
inherit ruby;
|
|
gemdir = ./.;
|
|
gemset = lib.recursiveUpdate (import ./gemset.nix) {
|
|
vagrant = {
|
|
source = {
|
|
type = "url";
|
|
inherit url sha256;
|
|
};
|
|
inherit version;
|
|
};
|
|
};
|
|
};
|
|
|
|
in buildRubyGem rec {
|
|
name = "${gemName}-${version}";
|
|
gemName = "vagrant";
|
|
inherit version;
|
|
|
|
doInstallCheck = true;
|
|
dontBuild = false;
|
|
src = fetchurl { inherit url sha256; };
|
|
|
|
patches = [
|
|
./unofficial-installation-nowarn.patch
|
|
];
|
|
|
|
# PATH additions:
|
|
# - libarchive: Make `bsdtar` available for extracting downloaded boxes
|
|
postInstall = ''
|
|
wrapProgram "$out/bin/vagrant" \
|
|
--set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}" \
|
|
--prefix PATH ':' "${lib.getBin libarchive}/bin"
|
|
'';
|
|
|
|
installCheckPhase = ''
|
|
if [[ "$("$out/bin/vagrant" --version)" == "Vagrant ${version}" ]]; then
|
|
echo 'Vagrant smoke check passed'
|
|
else
|
|
echo 'Vagrant smoke check failed'
|
|
return 1
|
|
fi
|
|
'';
|
|
|
|
passthru = {
|
|
inherit ruby deps;
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "A tool for building complete development environments";
|
|
homepage = https://www.vagrantup.com/;
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ aneeshusa ];
|
|
platforms = with platforms; linux ++ darwin;
|
|
};
|
|
}
|