diff --git a/pkgs/development/mobile/cocoapods/Gemfile b/pkgs/development/mobile/cocoapods/Gemfile index 8308684860e6..329b51518e4c 100644 --- a/pkgs/development/mobile/cocoapods/Gemfile +++ b/pkgs/development/mobile/cocoapods/Gemfile @@ -1,2 +1,3 @@ -source 'https://rubygems.org' -gem 'cocoapods' +source 'https://rubygems.org' do + gem 'cocoapods' +end diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta b/pkgs/development/mobile/cocoapods/Gemfile-beta new file mode 100644 index 000000000000..dd4b350b4372 --- /dev/null +++ b/pkgs/development/mobile/cocoapods/Gemfile-beta @@ -0,0 +1,5 @@ +source 'https://rubygems.org' do + # We need to specify a version including prerelease to pick up prereleases. + # This should pick up all future releases / prereleases. + gem 'cocoapods', '>=1.7.0.beta.1' +end diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock new file mode 100644 index 000000000000..37b8602b4b4c --- /dev/null +++ b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock @@ -0,0 +1,76 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.0) + activesupport (4.2.11.1) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + atomos (0.1.3) + claide (1.0.2) + cocoapods (1.7.0.beta.3) + activesupport (>= 4.0.2, < 5) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.7.0.beta.3) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.2.2, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-stats (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.3.1, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.2.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.6.6) + nap (~> 1.0) + ruby-macho (~> 1.4) + xcodeproj (>= 1.8.2, < 2.0) + cocoapods-core (1.7.0.beta.3) + activesupport (>= 4.0.2, < 6) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + cocoapods-deintegrate (1.0.4) + cocoapods-downloader (1.2.2) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.0) + cocoapods-stats (1.1.0) + cocoapods-trunk (1.3.1) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.1.0) + colored2 (3.1.2) + concurrent-ruby (1.1.5) + escape (0.0.4) + fourflusher (2.2.0) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + minitest (5.11.3) + molinillo (0.6.6) + nanaimo (0.2.6) + nap (1.1.0) + netrc (0.11.0) + ruby-macho (1.4.0) + thread_safe (0.3.6) + tzinfo (1.2.5) + thread_safe (~> 0.1) + xcodeproj (1.8.2) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.2.6) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods (>= 1.7.0.beta.1)! + +BUNDLED WITH + 1.17.2 diff --git a/pkgs/development/mobile/cocoapods/Gemfile.lock b/pkgs/development/mobile/cocoapods/Gemfile.lock index 89ba7cec32f7..9145ca181883 100644 --- a/pkgs/development/mobile/cocoapods/Gemfile.lock +++ b/pkgs/development/mobile/cocoapods/Gemfile.lock @@ -2,7 +2,7 @@ GEM remote: https://rubygems.org/ specs: CFPropertyList (3.0.0) - activesupport (4.2.11) + activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) @@ -32,7 +32,7 @@ GEM activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) - cocoapods-deintegrate (1.0.3) + cocoapods-deintegrate (1.0.4) cocoapods-downloader (1.2.2) cocoapods-plugins (1.0.0) nap @@ -43,7 +43,7 @@ GEM netrc (~> 0.11) cocoapods-try (1.1.0) colored2 (3.1.2) - concurrent-ruby (1.1.4) + concurrent-ruby (1.1.5) escape (0.0.4) fourflusher (2.2.0) fuzzy_match (2.0.4) @@ -59,7 +59,7 @@ GEM thread_safe (0.3.6) tzinfo (1.2.5) thread_safe (~> 0.1) - xcodeproj (1.8.1) + xcodeproj (1.8.2) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -70,7 +70,7 @@ PLATFORMS ruby DEPENDENCIES - cocoapods + cocoapods! BUNDLED WITH 1.17.2 diff --git a/pkgs/development/mobile/cocoapods/default.nix b/pkgs/development/mobile/cocoapods/default.nix index 56624370b14a..9a816261b3e7 100644 --- a/pkgs/development/mobile/cocoapods/default.nix +++ b/pkgs/development/mobile/cocoapods/default.nix @@ -1,9 +1,13 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerApp, ruby +, beta ? false }: -bundlerEnv rec { +bundlerApp rec { inherit ruby; pname = "cocoapods"; - gemdir = ./.; + gemfile = if beta then ./Gemfile-beta else ./Gemfile; + lockfile = if beta then ./Gemfile-beta.lock else ./Gemfile.lock; + gemset = if beta then ./gemset-beta.nix else ./gemset.nix; + exes = [ "pod" ]; meta = with lib; { description = "CocoaPods manages dependencies for your Xcode projects."; @@ -12,6 +16,7 @@ bundlerEnv rec { platforms = platforms.darwin; maintainers = with maintainers; [ peterromfeldhk + lilyball ]; }; } diff --git a/pkgs/development/mobile/cocoapods/gemset-beta.nix b/pkgs/development/mobile/cocoapods/gemset-beta.nix new file mode 100644 index 000000000000..0b207415eb55 --- /dev/null +++ b/pkgs/development/mobile/cocoapods/gemset-beta.nix @@ -0,0 +1,300 @@ +{ + activesupport = { + dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; + type = "gem"; + }; + version = "4.2.11.1"; + }; + atomos = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; + type = "gem"; + }; + version = "0.1.3"; + }; + CFPropertyList = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ykjag3k5msz3sf1j91rb55da2xh596y06m3a4yl79fiy2id0w9z"; + type = "gem"; + }; + version = "3.0.0"; + }; + claide = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0az54rp691hc42yl1xyix2cxv58byhaaf4gxbpghvvq29l476rzc"; + type = "gem"; + }; + version = "1.0.2"; + }; + cocoapods = { + dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03xnnj5di75wqsd1c9ca9gfnzc4lqr8k2cx5gca5979b7kxb2x1z"; + type = "gem"; + }; + version = "1.7.0.beta.3"; + }; + cocoapods-core = { + dependencies = ["activesupport" "fuzzy_match" "nap"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wwnjdcwj4nc1cjl9pf0dlh83x2s6x0v491fpcmw3342vbs0v4sq"; + type = "gem"; + }; + version = "1.7.0.beta.3"; + }; + cocoapods-deintegrate = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bf524f1za92i6rlr4cr6jm3c4vfjszsdc9lsr6wk5125c76ipzn"; + type = "gem"; + }; + version = "1.0.4"; + }; + cocoapods-downloader = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3"; + type = "gem"; + }; + version = "1.2.2"; + }; + cocoapods-plugins = { + dependencies = ["nap"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj"; + type = "gem"; + }; + version = "1.0.0"; + }; + cocoapods-search = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6"; + type = "gem"; + }; + version = "1.0.0"; + }; + cocoapods-stats = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xhdh5v94p6l612rwrk290nd2hdfx8lbaqfbkmj34md218kilqww"; + type = "gem"; + }; + version = "1.1.0"; + }; + cocoapods-trunk = { + dependencies = ["nap" "netrc"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1plssgabdv6hcaq1c3gf43kf1d2prx883q8lzdr6chi5byzzs3yl"; + type = "gem"; + }; + version = "1.3.1"; + }; + cocoapods-try = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gf2zjmcjhh9psq15yfy82wz5jnlihf5bcw79f8hlv4cnqyspncj"; + type = "gem"; + }; + version = "1.1.0"; + }; + colored2 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; + type = "gem"; + }; + version = "3.1.2"; + }; + concurrent-ruby = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; + type = "gem"; + }; + version = "1.1.5"; + }; + escape = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4"; + type = "gem"; + }; + version = "0.0.4"; + }; + fourflusher = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d2ksz077likjv8dcxy1rnqcjallbfa7yk2wvix3228gq7a4jkq3"; + type = "gem"; + }; + version = "2.2.0"; + }; + fuzzy_match = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm"; + type = "gem"; + }; + version = "2.0.4"; + }; + gh_inspector = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; + type = "gem"; + }; + version = "1.1.3"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; + type = "gem"; + }; + version = "0.9.5"; + }; + minitest = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; + type = "gem"; + }; + version = "5.11.3"; + }; + molinillo = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hh40z1adl4lw16dj4hxgabx4rr28mgqycih1y1d91bwww0jjdg6"; + type = "gem"; + }; + version = "0.6.6"; + }; + nanaimo = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ajfyaqjw3dzykk612yw8sm21savfqy292hgps8h8l4lvxww1lz6"; + type = "gem"; + }; + version = "0.2.6"; + }; + nap = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll"; + type = "gem"; + }; + version = "1.1.0"; + }; + netrc = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; + type = "gem"; + }; + version = "0.11.0"; + }; + ruby-macho = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lhdjn91jkifsy2hzq2hgcm0pp8pbik87m58zmw1ifh6hkp9adjb"; + type = "gem"; + }; + version = "1.4.0"; + }; + thread_safe = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tzinfo = { + dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; + type = "gem"; + }; + version = "1.2.5"; + }; + xcodeproj = { + dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ji3wmpr6xm4172vxh9y6731vm2xrvv7ccwk4ijd5n4if1dakm03"; + type = "gem"; + }; + version = "1.8.2"; + }; +} \ No newline at end of file diff --git a/pkgs/development/mobile/cocoapods/gemset.nix b/pkgs/development/mobile/cocoapods/gemset.nix index 8cd829d56abb..de6c524633f6 100644 --- a/pkgs/development/mobile/cocoapods/gemset.nix +++ b/pkgs/development/mobile/cocoapods/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pqr25wmhvvlg8av7bi5p5c7r5464clhhhhv45j63bh7xw4ad6n4"; + sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; atomos = { source = { @@ -61,10 +61,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m3hi4va9cr7anxkjf44as14j1hsrvw00bzvz7c906hyb8qcm4fp"; + sha256 = "0bf524f1za92i6rlr4cr6jm3c4vfjszsdc9lsr6wk5125c76ipzn"; type = "gem"; }; - version = "1.0.3"; + version = "1.0.4"; }; cocoapods-downloader = { groups = ["default"]; @@ -133,10 +133,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.4"; + version = "1.1.5"; }; escape = { source = { @@ -254,9 +254,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13z3109lwq632vhazndqjlccpwadljg58sflbyl0m57j9d4blv2y"; + sha256 = "0ji3wmpr6xm4172vxh9y6731vm2xrvv7ccwk4ijd5n4if1dakm03"; type = "gem"; }; - version = "1.8.1"; + version = "1.8.2"; }; } \ No newline at end of file diff --git a/pkgs/development/mobile/cocoapods/update b/pkgs/development/mobile/cocoapods/update index 8215d1abe4fd..53c113046c6f 100755 --- a/pkgs/development/mobile/cocoapods/update +++ b/pkgs/development/mobile/cocoapods/update @@ -1,11 +1,10 @@ #!/usr/bin/env nix-shell -#! nix-shell -i bash -p bash ruby bundler bundix +#! nix-shell -i bash -p bash bundix bundler -BUNDIX_CACHE="$(mktemp -d)" +set -e -rm -f Gemfile.lock -bundler package --path "$BUNDIX_CACHE" -bundix --bundle-pack-path="$BUNDIX_CACHE" - -rm -rf "$BUNDIX_CACHE" -rm -rf .bundle +rm -f Gemfile.lock Gemfile-beta.lock +bundler lock +BUNDLE_GEMFILE=Gemfile-beta bundler lock --lockfile=Gemfile-beta.lock +bundix --gemfile=Gemfile --lockfile=Gemfile.lock --gemset=gemset.nix +bundix --gemfile=Gemfile-beta --lockfile=Gemfile-beta.lock --gemset=gemset-beta.nix diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix index d0ad56538b94..a269e7195644 100644 --- a/pkgs/development/ruby-modules/bundler-app/default.nix +++ b/pkgs/development/ruby-modules/bundler-app/default.nix @@ -12,8 +12,9 @@ { # use the name of the name in question; its version will be picked up from the gemset pname - # gemdir is the location of the Gemfile{,.lock} and gemset.nix; usually ./. -, gemdir + # Gemdir is the location of the Gemfile{,.lock} and gemset.nix; usually ./. + # This is required unless gemfile, lockfile, and gemset are all provided +, gemdir ? null # Exes is the list of executables provided by the gems in the Gemfile , exes ? [] # Scripts are ruby programs depend on gems in the Gemfile (e.g. scripts/rails) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70018a69fdf7..d7efb150aea3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2200,6 +2200,8 @@ in cocoapods = callPackage ../development/mobile/cocoapods { }; + cocoapods-beta = lowPrio (callPackage ../development/mobile/cocoapods { beta = true; }); + compass = callPackage ../development/tools/compass { }; conda = callPackage ../tools/package-management/conda { };