uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
63
pkgs/development/interpreters/ruby/ruby-version.nix
Normal file
63
pkgs/development/interpreters/ruby/ruby-version.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Contains the ruby version heuristics
|
||||
{ lib }:
|
||||
with lib;
|
||||
let
|
||||
# The returned set should be immutable
|
||||
rubyVersion = major: minor: tiny: tail:
|
||||
rec {
|
||||
inherit major minor tiny tail;
|
||||
|
||||
# Contains the patch number "223" if tail is "p223" or null
|
||||
patchLevel =
|
||||
let
|
||||
p = removePrefix "p" tail;
|
||||
isPosInt = num:
|
||||
0 == stringLength
|
||||
(replaceStrings
|
||||
["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"]
|
||||
["" "" "" "" "" "" "" "" "" "" ]
|
||||
num);
|
||||
in
|
||||
if hasPrefix "p" tail && isPosInt p then p
|
||||
else null;
|
||||
|
||||
# Shortcuts
|
||||
majMin = "${major}.${minor}";
|
||||
majMinTiny = "${major}.${minor}.${tiny}";
|
||||
|
||||
# Ruby separates lib and gem folders by ABI version which isn't very
|
||||
# consistent.
|
||||
libDir =
|
||||
if versionAtLeast majMinTiny "2.1.0" then
|
||||
"${majMin}.0"
|
||||
else if versionAtLeast majMinTiny "2.0.0" then
|
||||
"2.0.0"
|
||||
else if versionAtLeast majMinTiny "1.9.1" then
|
||||
"1.9.1"
|
||||
else
|
||||
throw "version ${majMinTiny} is not supported";
|
||||
|
||||
# How ruby releases are tagged on github.com/ruby/ruby
|
||||
gitTag =
|
||||
let
|
||||
base = "v${major}_${minor}_${tiny}";
|
||||
in
|
||||
if patchLevel != null then
|
||||
"${base}_${patchLevel}"
|
||||
else
|
||||
if tail != "" then
|
||||
"${base}_${tail}"
|
||||
else
|
||||
base;
|
||||
|
||||
# Implements the builtins.toString interface.
|
||||
__toString = self:
|
||||
self.majMinTiny + (
|
||||
if self.patchLevel != null then
|
||||
"-p${self.patchLevel}"
|
||||
else if self.tail != "" then
|
||||
"-${self.tail}"
|
||||
else "");
|
||||
};
|
||||
in
|
||||
rubyVersion
|
||||
Loading…
Add table
Add a link
Reference in a new issue