github-linguist: init at 9.1.0

This commit is contained in:
Cryolitia PukNgae 2025-04-29 21:58:55 +08:00
parent 5461b7fa65
commit da898c72cd
No known key found for this signature in database
GPG key ID: 3E5D1772FC8A8EDD
3 changed files with 662 additions and 0 deletions

View file

@ -0,0 +1,99 @@
PATH
remote: .
specs:
github-linguist (9.1.0)
cgi
charlock_holmes (~> 0.7.7)
mini_mime (~> 1.0)
rugged (~> 1.0)
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
byebug (12.0.0)
cgi (0.4.2)
charlock_holmes (0.7.9)
coderay (1.1.3)
dotenv (3.1.8)
faraday (2.13.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.4.0)
net-http (>= 0.5.0)
json (2.11.3)
licensed (4.5.0)
json (~> 2.6)
licensee (~> 9.16)
parallel (~> 1.22)
pathname-common_prefix (~> 0.0.1)
reverse_markdown (~> 2.1)
ruby-xxHash (~> 0.4.0)
thor (~> 1.2)
tomlrb (~> 2.0)
licensee (9.18.0)
dotenv (>= 2, < 4)
octokit (>= 4.20, < 10.0)
reverse_markdown (>= 1, < 4)
rugged (>= 0.24, < 2.0)
thor (>= 0.19, < 2.0)
logger (1.7.0)
method_source (1.1.0)
mini_mime (1.1.5)
mini_portile2 (2.8.8)
minitest (5.25.5)
mocha (2.7.1)
ruby2_keywords (>= 0.0.5)
net-http (0.6.0)
uri
nokogiri (1.18.8)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octokit (9.2.0)
faraday (>= 1, < 3)
sawyer (~> 0.9)
parallel (1.27.0)
pathname-common_prefix (0.0.2)
plist (3.7.2)
pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (6.0.1)
racc (1.8.1)
rake (13.2.1)
rake-compiler (0.9.9)
rake
reverse_markdown (2.1.1)
nokogiri
ruby-xxHash (0.4.0.2)
ruby2_keywords (0.0.5)
rugged (1.9.0)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
thor (1.3.2)
tomlrb (2.0.3)
uri (1.0.3)
yajl-ruby (1.4.3)
PLATFORMS
ruby
DEPENDENCIES
bundler (~> 2.0)
byebug
github-linguist!
licensed (~> 4.0)
licensee (~> 9.15)
minitest (~> 5.15)
mocha (~> 2.1)
plist (~> 3.1)
pry (~> 0.14)
rake (~> 13.0)
rake-compiler (~> 0.9)
yajl-ruby (~> 1.4)
BUNDLED WITH
2.5.22

View file

@ -0,0 +1,503 @@
{
addressable = {
dependencies = [ "public_suffix" ];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.7";
};
byebug = {
groups = [ "debug" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "07hsr9zzl2mvf5gk65va4smdizlk9rsiz8wwxik0p96cj79518fl";
type = "gem";
};
version = "12.0.0";
};
cgi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1rj7agrnd1a4282vg13qkpwky0379svdb2z2lc0wl8588q6ikjx3";
type = "gem";
};
version = "0.4.2";
};
charlock_holmes = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1c1dws56r7p8y363dhyikg7205z59a3bn4amnv2y488rrq8qm7ml";
type = "gem";
};
version = "0.7.9";
};
coderay = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw";
type = "gem";
};
version = "1.1.3";
};
dotenv = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1hwjsddv666wpp42bip3fqx7c5qq6s8lwf74dj71yn7d1h37c4cy";
type = "gem";
};
version = "3.1.8";
};
faraday = {
dependencies = [
"faraday-net_http"
"json"
"logger"
];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0xbv450qj2bx0qz9l2pjrd3kc057y6bglc3na7a78zby8ssiwlyc";
type = "gem";
};
version = "2.13.1";
};
faraday-net_http = {
dependencies = [ "net-http" ];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0jp5ci6g40d6i50bsywp35l97nc2fpi9a592r2cibwicdb6y9wd1";
type = "gem";
};
version = "3.4.0";
};
github-linguist = {
dependencies = [
"cgi"
"charlock_holmes"
"mini_mime"
"rugged"
];
groups = [ "default" ];
platforms = [ ];
source = {
path = ./.;
type = "path";
};
version = "9.1.0";
};
json = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1hfcz73wszgqprg2pr83qjbyfb0k93frbdvyhgmw0ryyl9cgc44s";
type = "gem";
};
version = "2.11.3";
};
licensed = {
dependencies = [
"json"
"licensee"
"parallel"
"pathname-common_prefix"
"reverse_markdown"
"ruby-xxHash"
"thor"
"tomlrb"
];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1hyphm8wyijpbz4wy2cyl6whxd66y2c9dqrljirl397gc08idykk";
type = "gem";
};
version = "4.5.0";
};
licensee = {
dependencies = [
"dotenv"
"octokit"
"reverse_markdown"
"rugged"
"thor"
];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0xyzk7gzi91l6xlwfvf2z0963jwd2csf987yk0ffbr5p9ycdp0ry";
type = "gem";
};
version = "9.18.0";
};
logger = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
version = "1.7.0";
};
method_source = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq";
type = "gem";
};
version = "1.1.0";
};
mini_mime = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
type = "gem";
};
version = "1.1.5";
};
mini_portile2 = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
type = "gem";
};
version = "2.8.8";
};
minitest = {
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr";
type = "gem";
};
version = "5.25.5";
};
mocha = {
dependencies = [ "ruby2_keywords" ];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0lgqyxxdxgfik77a7lk2hjkr6flimgxr4gcbg3y7bg1ybn6m6zcg";
type = "gem";
};
version = "2.7.1";
};
net-http = {
dependencies = [ "uri" ];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ysrwaabhf0sn24jrp0nnp51cdv0jf688mh5i6fsz63q2c6b48cn";
type = "gem";
};
version = "0.6.0";
};
nokogiri = {
dependencies = [
"mini_portile2"
"racc"
];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rb306hbky6cxfyc8vrwpvl40fdapjvhsk62h08gg9wwbn3n8x4c";
type = "gem";
};
version = "1.18.8";
};
octokit = {
dependencies = [
"faraday"
"sawyer"
];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05j3gz79gxkid3lc2balyllqik4v4swnm0rcvxz14m76bkrpz92g";
type = "gem";
};
version = "9.2.0";
};
parallel = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0c719bfgcszqvk9z47w2p8j2wkz5y35k48ywwas5yxbbh3hm3haa";
type = "gem";
};
version = "1.27.0";
};
pathname-common_prefix = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "034gjbcqrf940199k28kfqbs4dwwf4slah7l9qj0n9wk4vj8bjfk";
type = "gem";
};
version = "0.0.2";
};
plist = {
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0hlaf4b3d8grxm9fqbnam5gwd55wvghl0jyzjd1hc5hirhklaynk";
type = "gem";
};
version = "3.7.2";
};
pry = {
dependencies = [
"coderay"
"method_source"
];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ssv704qg75mwlyagdfr9xxbzn1ziyqgzm0x474jkynk8234pm8j";
type = "gem";
};
version = "0.15.2";
};
public_suffix = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
type = "gem";
};
version = "6.0.1";
};
racc = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
type = "gem";
};
version = "1.8.1";
};
rake = {
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem";
};
version = "13.2.1";
};
rake-compiler = {
dependencies = [ "rake" ];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1j166viy5491wawqn49fdaazwwrmkrr85c90qq92z3sdyzn8y9sa";
type = "gem";
};
version = "0.9.9";
};
reverse_markdown = {
dependencies = [ "nokogiri" ];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0087vhw5ik50lxvddicns01clkx800fk5v5qnrvi3b42nrk6885j";
type = "gem";
};
version = "2.1.1";
};
ruby-xxHash = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1106y8dvfsrvg7ph4kagbzsd2pbm4fsggv7amcrbrl0vxh2q6790";
type = "gem";
};
version = "0.4.0.2";
};
ruby2_keywords = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
type = "gem";
};
version = "0.0.5";
};
rugged = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1b7gcf6pxg4x607bica68dbz22b4kch33yi0ils6x3c8ql9akakz";
type = "gem";
};
version = "1.9.0";
};
sawyer = {
dependencies = [
"addressable"
"faraday"
];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps";
type = "gem";
};
version = "0.9.2";
};
thor = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f";
type = "gem";
};
version = "1.3.2";
};
tomlrb = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1xyl2nlfm39lklyaf0p7zj9psr60jvrlyfh26hrpk7wi4k7nlwy2";
type = "gem";
};
version = "2.0.3";
};
uri = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
type = "gem";
};
version = "1.0.3";
};
yajl-ruby = {
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc";
type = "gem";
};
version = "1.4.3";
};
}

View file

@ -0,0 +1,60 @@
{
lib,
fetchFromGitHub,
buildRubyGem,
bundlerEnv,
ruby,
}:
let
gemName = "github-linguist";
version = "9.1.0";
src = fetchFromGitHub {
owner = "github-linguist";
repo = "linguist";
tag = "v${version}";
hash = "sha256-nPIUo6yQY6WvKuXvT1oOx6LZq49QLa9YIJmOrRYgAdg=";
};
deps = bundlerEnv {
name = "github-linguist-dep";
gemfile = "${src}/Gemfile";
lockfile = ./Gemfile.lock;
gemset = ./gemset.nix;
};
in
buildRubyGem rec {
name = "${gemName}-${version}";
inherit gemName version src;
doInstallCheck = true;
dontBuild = false;
postInstall = ''
export GEM_PATH="${deps}/lib/ruby/gems/${ruby.version.libDir}"
bundle exec rake samples
install --mode=0644 -Dm 0755 lib/linguist/samples.json $out/lib/ruby/gems/${ruby.version.libDir}/gems/${name}/lib/linguist
wrapProgram "$out/bin/github-linguist" \
--set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}"
wrapProgram "$out/bin/git-linguist" \
--set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}"
'';
passthru = {
inherit ruby deps;
};
meta = {
description = "Language savant Ruby library";
longDescription = ''
A Ruby library that is used on GitHub.com to detect blob languages, ignore binary or vendored files, suppress generated files in diffs, and generate language breakdown graphs.
'';
homepage = "https://github.com/github-linguist/linguist";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Cryolitia ];
platforms = with lib.platforms; linux ++ darwin;
};
}