diff options
author | Aneesh Agrawal <aneeshusa@gmail.com> | 2017-10-29 23:21:07 -0700 |
---|---|---|
committer | Aneesh Agrawal <aneeshusa@gmail.com> | 2018-01-04 08:00:51 -0800 |
commit | 8c3553b88dff2196ec3d2979cb7887c2b050ad4d (patch) | |
tree | d5d3219bb53171fa772bb07493df6a97bbd9bee6 /pkgs/development/tools | |
parent | 0750c5aee42dd288749863cdf4ac574f69976a8b (diff) | |
download | nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.tar nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.tar.gz nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.tar.bz2 nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.tar.lz nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.tar.xz nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.tar.zst nixlib-8c3553b88dff2196ec3d2979cb7887c2b050ad4d.zip |
vagrant: Build from source
This is not quite as elegant as using `bundlerApp`, which I could not get working. However, this still uses most of the Ruby infrastructure, including stock bundix, and should be fairly reasonable to maintain. This means no more hacks to work around wrong embedded binaries, and no need for an old version of Ruby. Note that `vagrant share` is no longer included, as that functionality is closed-source and not present in the upstream source code. The Vagrant maintainers publish official Vagrant installers, which they prefer people use as most platforms don't have great support for pinning known-good dependencies. When run outside one of the offical installers, Vagrant normally prints a warning to that effect. However, Vagrant does run outside the installer environment (nominally to support Vagrant development), and this has the effect of functioning better by respecting OS certs and shared libraries, as opposed to trying to use bundled versions. To keep these postive side effects without having to see the warning on every Vagrant invocation, patch out the call to print the warning. Note that I have reset the maintainers since the implementation is totally redone; I'm happy to re-add any of the current maintainers.
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r-- | pkgs/development/tools/vagrant/Gemfile | 2 | ||||
-rw-r--r-- | pkgs/development/tools/vagrant/Gemfile.lock | 149 | ||||
-rw-r--r-- | pkgs/development/tools/vagrant/default.nix | 170 | ||||
-rw-r--r-- | pkgs/development/tools/vagrant/gemset.nix | 457 | ||||
-rw-r--r-- | pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch | 16 |
5 files changed, 666 insertions, 128 deletions
diff --git a/pkgs/development/tools/vagrant/Gemfile b/pkgs/development/tools/vagrant/Gemfile new file mode 100644 index 000000000000..d32951f1c054 --- /dev/null +++ b/pkgs/development/tools/vagrant/Gemfile @@ -0,0 +1,2 @@ +source "https://rubygems.org" +gem 'vagrant' diff --git a/pkgs/development/tools/vagrant/Gemfile.lock b/pkgs/development/tools/vagrant/Gemfile.lock new file mode 100644 index 000000000000..208aab0a2078 --- /dev/null +++ b/pkgs/development/tools/vagrant/Gemfile.lock @@ -0,0 +1,149 @@ +GIT + remote: https://github.com/mitchellh/vagrant-spec.git + revision: 7ac8b4191de578e345b29acaf62ecc72c8e73be1 + specs: + vagrant-spec (0.0.1) + childprocess (~> 0.6.0) + log4r (~> 1.1.9) + rspec (~> 3.5.0) + thor (~> 0.18.1) + +PATH + remote: . + specs: + vagrant (2.0.1) + childprocess (~> 0.6.0) + erubis (~> 2.7.0) + hashicorp-checkpoint (~> 0.1.1) + i18n (>= 0.6.0, <= 0.8.0) + listen (~> 3.1.5) + log4r (~> 1.1.9, < 1.1.11) + net-scp (~> 1.2.0) + net-sftp (~> 2.1) + net-ssh (~> 4.1.0) + rb-kqueue (~> 0.2.0) + rest-client (>= 1.6.0, < 3.0) + ruby_dep (<= 1.3.1) + wdm (~> 0.1.0) + winrm (~> 2.1) + winrm-elevated (~> 1.1) + winrm-fs (~> 1.0) + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + builder (3.2.3) + childprocess (0.6.3) + ffi (~> 1.0, >= 1.0.11) + crack (0.4.3) + safe_yaml (~> 1.0.0) + diff-lcs (1.3) + domain_name (0.5.20170404) + unf (>= 0.0.5, < 1.0.0) + erubis (2.7.0) + fake_ftp (0.1.1) + ffi (1.9.18) + gssapi (1.2.0) + ffi (>= 1.0.1) + gyoku (1.3.1) + builder (>= 2.1.2) + hashdiff (0.3.7) + hashicorp-checkpoint (0.1.4) + http-cookie (1.0.3) + domain_name (~> 0.5) + httpclient (2.8.3) + i18n (0.8.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + little-plugger (1.1.4) + log4r (1.1.10) + logging (2.2.2) + little-plugger (~> 1.1) + multi_json (~> 1.10) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + multi_json (1.12.2) + net-scp (1.2.1) + net-ssh (>= 2.6.5) + net-sftp (2.1.2) + net-ssh (>= 2.6.5) + net-ssh (4.1.0) + netrc (0.11.0) + nori (2.6.0) + public_suffix (3.0.1) + rake (12.0.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rb-kqueue (0.2.5) + ffi (>= 0.5.0) + rest-client (2.0.2) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) + rspec (3.5.0) + rspec-core (~> 3.5.0) + rspec-expectations (~> 3.5.0) + rspec-mocks (~> 3.5.0) + rspec-core (3.5.4) + rspec-support (~> 3.5.0) + rspec-expectations (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-its (1.2.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-support (3.5.0) + ruby_dep (1.3.1) + rubyntlm (0.6.2) + rubyzip (1.2.1) + safe_yaml (1.0.4) + thor (0.18.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.4) + wdm (0.1.1) + webmock (2.3.2) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff + winrm (2.2.3) + builder (>= 2.1.2) + erubis (~> 2.7) + gssapi (~> 1.2) + gyoku (~> 1.0) + httpclient (~> 2.2, >= 2.2.0.2) + logging (>= 1.6.1, < 3.0) + nori (~> 2.0) + rubyntlm (~> 0.6.0, >= 0.6.1) + winrm-elevated (1.1.0) + winrm (~> 2.0) + winrm-fs (~> 1.0) + winrm-fs (1.1.1) + erubis (~> 2.7) + logging (>= 1.6.1, < 3.0) + rubyzip (~> 1.1) + winrm (~> 2.0) + +PLATFORMS + ruby + +DEPENDENCIES + fake_ftp (~> 0.1.1) + rake (~> 12.0.0) + rspec (~> 3.5.0) + rspec-its (~> 1.2.0) + vagrant! + vagrant-spec! + webmock (~> 2.3.1) + +BUNDLED WITH + 1.14.6 diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index e72520d61b33..714935513f74 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -1,141 +1,55 @@ -{ stdenv, fetchurl, fetchpatch, dpkg, curl, libarchive, openssl, rake, ruby, buildRubyGem, libiconv -, libxml2, libxslt, libffi, makeWrapper, p7zip, xar, gzip, cpio }: +{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby }: let version = "2.0.1"; + url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz"; + sha256 = "1fjfl00n4rsq6khypm56g0vq6l153q128r35zky2ba30bz292ar1"; + + 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; + }; + }; + }; - url = if stdenv.isLinux - then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb" - else if stdenv.isDarwin - then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.dmg" - else "system ${stdenv.system} not supported"; +in buildRubyGem rec { + name = "${gemName}-${version}"; + gemName = "vagrant"; + inherit version; - sha256 = { - "x86_64-linux" = "0kyqchjsy747vbvhqiynz81kik8g0xqpkv70rz7hyr9x7fl9i51g"; - "i686-linux" = "0p3xhxy6shkd0393wjyj8qycdn3zqv60vnyz1b6zclz0kfah07zs"; - "x86_64-darwin" = "01hr5j9k31hsdlcwv3srzk0lphd8w0n9z95jvfkschdyjm9clpwm"; - }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); + doCheck = true; + dontBuild = false; + src = fetchurl { inherit url sha256; }; - arch = builtins.replaceStrings ["-linux" "-darwin"] ["" ""] stdenv.system; + patches = [ + ./unofficial-installation-nowarn.patch + ]; -in stdenv.mkDerivation rec { - name = "vagrant-${version}"; - inherit version; + postInstall = '' + wrapProgram "$out/bin/vagrant" \ + --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}" + ''; - src = fetchurl { - inherit url sha256; + passthru = { + inherit ruby deps; }; - meta = with stdenv.lib; { + meta = with lib; { description = "A tool for building complete development environments"; - homepage = http://vagrantup.com; - license = licenses.mit; - maintainers = with maintainers; [ lovek323 globin jgeerds kamilchm ]; - platforms = with platforms; linux ++ darwin; + homepage = https://www.vagrantup.com/; + license = licenses.mit; + maintainers = with maintainers; [ aneeshusa ]; + platforms = with platforms; linux ++ darwin; }; - - buildInputs = [ makeWrapper ] - ++ stdenv.lib.optional stdenv.isDarwin [ p7zip xar gzip cpio ]; - - unpackPhase = if stdenv.isLinux - then '' - ${dpkg}/bin/dpkg-deb -x "$src" . - '' - else '' - 7z x $src - cd Vagrant/ - xar -xf Vagrant.pkg - cd core.pkg/ - cat Payload | gzip -d - | cpio -id - - # move unpacked directories to match unpacked .deb from linux, - # so installPhase can be shared - mkdir -p opt/vagrant/ usr/ - mv embedded opt/vagrant/embedded - mv bin usr/bin - ''; - - buildPhase = ""; - - installPhase = '' - sed -i "s|/opt|$out/opt|" usr/bin/vagrant - - # overwrite embedded binaries - - # curl: curl, curl-config - rm opt/vagrant/embedded/bin/{curl,curl-config} - ln -s ${curl.bin}/bin/curl opt/vagrant/embedded/bin - ln -s ${curl.dev}/bin/curl-config opt/vagrant/embedded/bin - - # libarchive: bsdtar, bsdcpio - rm opt/vagrant/embedded/lib/libarchive* - ln -s ${libarchive}/lib/libarchive.so opt/vagrant/embedded/lib/libarchive.so - rm opt/vagrant/embedded/bin/{bsdtar,bsdcpio} - ln -s ${libarchive}/bin/bsdtar opt/vagrant/embedded/bin - ln -s ${libarchive}/bin/bsdcpio opt/vagrant/embedded/bin - - # openssl: c_rehash, openssl - rm opt/vagrant/embedded/bin/{c_rehash,openssl} - ln -s ${openssl.bin}/bin/c_rehash opt/vagrant/embedded/bin - ln -s ${openssl.bin}/bin/openssl opt/vagrant/embedded/bin - - # libiconv: iconv - rm opt/vagrant/embedded/bin/iconv - ln -s ${libiconv}/bin/iconv opt/vagrant/embedded/bin - - # libxml: xml2-config, xmlcatalog, xmllint - rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint} - ln -s ${libxml2.dev}/bin/xml2-config opt/vagrant/embedded/bin - ln -s ${libxml2.bin}/bin/xmlcatalog opt/vagrant/embedded/bin - ln -s ${libxml2.bin}/bin/xmllint opt/vagrant/embedded/bin - - # libxslt: xslt-config, xsltproc - rm opt/vagrant/embedded/bin/{xslt-config,xsltproc} - ln -s ${libxslt.dev}/bin/xslt-config opt/vagrant/embedded/bin - ln -s ${libxslt.bin}/bin/xsltproc opt/vagrant/embedded/bin - - '' + (stdenv.lib.optionalString (! stdenv.isDarwin) '' - # ruby: erb, gem, irb, rake, rdoc, ri, ruby - rm opt/vagrant/embedded/bin/{erb,gem,irb,rake,rdoc,ri,ruby} - ln -s ${ruby}/bin/erb opt/vagrant/embedded/bin - ln -s ${ruby}/bin/gem opt/vagrant/embedded/bin - ln -s ${ruby}/bin/irb opt/vagrant/embedded/bin - ln -s ${rake}/bin/rake opt/vagrant/embedded/bin - ln -s ${ruby}/bin/rdoc opt/vagrant/embedded/bin - ln -s ${ruby}/bin/ri opt/vagrant/embedded/bin - ln -s ${ruby}/bin/ruby opt/vagrant/embedded/bin - - # ruby libs - rm -rf opt/vagrant/embedded/lib/* - for lib in ${ruby}/lib/*; do - ln -s $lib opt/vagrant/embedded/lib/''${lib##*/} - done - - # libffi - ln -s ${libffi}/lib/libffi.so.6 opt/vagrant/embedded/lib/libffi.so.6 - - '') + '' - mkdir -p "$out" - cp -r opt "$out" - cp -r usr/bin "$out" - wrapProgram "$out/bin/vagrant" --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxml2 libxslt ]}" \ - --prefix LD_LIBRARY_PATH : "$out/opt/vagrant/embedded/lib" - - install -D "opt/vagrant/embedded/gems/gems/vagrant-$version/contrib/bash/completion.sh" \ - "$out/share/bash-completion/completions/vagrant" - ''; - - preFixup = '' - # 'hide' the template file from shebang-patching - chmod -x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh" - ''; - - postFixup = '' - chmod +x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh" - '' + - (stdenv.lib.optionalString stdenv.isDarwin '' - # undo the directory movement done in unpackPhase - mv $out/opt/vagrant/embedded $out/ - rm -r $out/opt - ''); } diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix new file mode 100644 index 000000000000..3dd517388d21 --- /dev/null +++ b/pkgs/development/tools/vagrant/gemset.nix @@ -0,0 +1,457 @@ +{ + addressable = { + dependencies = ["public_suffix"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + type = "gem"; + }; + version = "2.5.2"; + }; + builder = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; + type = "gem"; + }; + version = "3.2.3"; + }; + childprocess = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv"; + type = "gem"; + }; + version = "0.6.3"; + }; + crack = { + dependencies = ["safe_yaml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + diff-lcs = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; + domain_name = { + dependencies = ["unf"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf"; + type = "gem"; + }; + version = "0.5.20170404"; + }; + erubis = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + type = "gem"; + }; + version = "2.7.0"; + }; + fake_ftp = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rn7lxdk3sqc2i4v2c5k25b9ca1qnkdf32nv04y760aml9mszwf7"; + type = "gem"; + }; + version = "0.1.1"; + }; + ffi = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0"; + type = "gem"; + }; + version = "1.9.18"; + }; + gssapi = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j93nsf9j57p7x4aafalvjg8hia2mmqv3aky7fmw2ck5yci343ix"; + type = "gem"; + }; + version = "1.2.0"; + }; + gyoku = { + dependencies = ["builder"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh"; + type = "gem"; + }; + version = "1.3.1"; + }; + hashdiff = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; + type = "gem"; + }; + version = "0.3.7"; + }; + hashicorp-checkpoint = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15shgckjnxqpz1n9z6y4ax1dcnn5vdqcva29gdg2l7ny0g1w7c7m"; + type = "gem"; + }; + version = "0.1.4"; + }; + http-cookie = { + dependencies = ["domain_name"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; + type = "gem"; + }; + version = "1.0.3"; + }; + httpclient = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + i18n = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00nsll7q89ab6k43dl3apxjhy4zidlgjmgb9mpk42bj3wk5zdyzf"; + type = "gem"; + }; + version = "0.8.0"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; + type = "gem"; + }; + version = "3.1.5"; + }; + little-plugger = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; + type = "gem"; + }; + version = "1.1.4"; + }; + log4r = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv"; + type = "gem"; + }; + version = "1.1.10"; + }; + logging = { + dependencies = ["little-plugger" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; + type = "gem"; + }; + version = "2.2.2"; + }; + mime-types = { + dependencies = ["mime-types-data"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m"; + type = "gem"; + }; + version = "3.1"; + }; + mime-types-data = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"; + type = "gem"; + }; + version = "3.2016.0521"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"; + type = "gem"; + }; + version = "1.12.2"; + }; + net-scp = { + dependencies = ["net-ssh"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j"; + type = "gem"; + }; + version = "1.2.1"; + }; + net-sftp = { + dependencies = ["net-ssh"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y"; + type = "gem"; + }; + version = "2.1.2"; + }; + net-ssh = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "013p5jb4wy0cq7x7036piw2a3s1i9p752ki1srx2m289mpz4ml3q"; + type = "gem"; + }; + version = "4.1.0"; + }; + netrc = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; + type = "gem"; + }; + version = "0.11.0"; + }; + nori = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"; + type = "gem"; + }; + version = "2.6.0"; + }; + public_suffix = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mvzd9ycjw8ydb9qy3daq3kdzqs2vpqvac4dqss6ckk4rfcjc637"; + type = "gem"; + }; + version = "3.0.1"; + }; + rake = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n"; + type = "gem"; + }; + version = "12.0.0"; + }; + rb-fsevent = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf"; + type = "gem"; + }; + version = "0.10.2"; + }; + rb-inotify = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + type = "gem"; + }; + version = "0.9.10"; + }; + rb-kqueue = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14mhzrhs2j43vj36i1qq4z29nd860shrslfik015f4kf1jiaqcrw"; + type = "gem"; + }; + version = "0.2.5"; + }; + rest-client = { + dependencies = ["http-cookie" "mime-types" "netrc"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j"; + type = "gem"; + }; + version = "2.0.2"; + }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i"; + type = "gem"; + }; + version = "3.5.4"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-its = { + dependencies = ["rspec-core" "rspec-expectations"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3"; + type = "gem"; + }; + version = "1.2.0"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-support = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"; + type = "gem"; + }; + version = "3.5.0"; + }; + ruby_dep = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v0qznxz999lx4vs76mr590r90i0cm5m76wwvgis7sq4y21l308l"; + type = "gem"; + }; + version = "1.3.1"; + }; + rubyntlm = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy"; + type = "gem"; + }; + version = "0.6.2"; + }; + rubyzip = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz"; + type = "gem"; + }; + version = "1.2.1"; + }; + safe_yaml = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + thor = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3"; + type = "gem"; + }; + version = "0.18.1"; + }; + unf = { + dependencies = ["unf_ext"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb"; + type = "gem"; + }; + version = "0.0.7.4"; + }; + vagrant = { + dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "winrm" "winrm-elevated" "winrm-fs"]; + }; + vagrant-spec = { + dependencies = ["childprocess" "log4r" "rspec" "thor"]; + source = { + fetchSubmodules = false; + rev = "7ac8b4191de578e345b29acaf62ecc72c8e73be1"; + sha256 = "03bpxlliyiny062p8a8vxyb1hymxpgfwliky4vlqn7lbm6z7n6kr"; + type = "git"; + url = "https://github.com/mitchellh/vagrant-spec.git"; + }; + version = "0.0.1"; + }; + wdm = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x5l2pn4x92734k6i2wcjbn2klmwgkiqaajvxadh35k74dgnyh18"; + type = "gem"; + }; + version = "0.1.1"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5"; + type = "gem"; + }; + version = "2.3.2"; + }; + winrm = { + dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02lzbixdbjvhmb0byqx9rl9x4xx9pqc8jwm7y6mmp7w7mri72zh6"; + type = "gem"; + }; + version = "2.2.3"; + }; + winrm-elevated = { + dependencies = ["winrm" "winrm-fs"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04krbwnj4cw7jy42w3n2y5kp2fbcp3v9mbf59pdhfk1py18bswcr"; + type = "gem"; + }; + version = "1.1.0"; + }; + winrm-fs = { + dependencies = ["erubis" "logging" "rubyzip" "winrm"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vax34qbr3n6jifxyzr4nngaz8vrmzw6ydw21cnnrhidfkqgh7ja"; + type = "gem"; + }; + version = "1.1.1"; + }; +} \ No newline at end of file diff --git a/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch b/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch new file mode 100644 index 000000000000..885959428956 --- /dev/null +++ b/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch @@ -0,0 +1,16 @@ +diff --git i/bin/vagrant w/bin/vagrant +index 19df75033..682fae226 100755 +--- i/bin/vagrant ++++ w/bin/vagrant +@@ -128,11 +128,6 @@ begin + end + end + +- if !Vagrant.in_installer? && !Vagrant.very_quiet? +- # If we're not in the installer, warn. +- env.ui.warn(I18n.t("vagrant.general.not_in_installer") + "\n", prefix: false) +- end +- + begin + # Execute the CLI interface, and exit with the proper error code + exit_status = env.cli(argv) |