From da898c72cd8241a38b134d8a5824dee92c2795b3 Mon Sep 17 00:00:00 2001 From: Cryolitia PukNgae Date: Tue, 29 Apr 2025 21:58:55 +0800 Subject: [PATCH] github-linguist: init at 9.1.0 --- pkgs/by-name/gi/github-linguist/Gemfile.lock | 99 ++++ pkgs/by-name/gi/github-linguist/gemset.nix | 503 +++++++++++++++++++ pkgs/by-name/gi/github-linguist/package.nix | 60 +++ 3 files changed, 662 insertions(+) create mode 100644 pkgs/by-name/gi/github-linguist/Gemfile.lock create mode 100644 pkgs/by-name/gi/github-linguist/gemset.nix create mode 100644 pkgs/by-name/gi/github-linguist/package.nix diff --git a/pkgs/by-name/gi/github-linguist/Gemfile.lock b/pkgs/by-name/gi/github-linguist/Gemfile.lock new file mode 100644 index 000000000000..d7bc2ce11774 --- /dev/null +++ b/pkgs/by-name/gi/github-linguist/Gemfile.lock @@ -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 diff --git a/pkgs/by-name/gi/github-linguist/gemset.nix b/pkgs/by-name/gi/github-linguist/gemset.nix new file mode 100644 index 000000000000..e309d511c036 --- /dev/null +++ b/pkgs/by-name/gi/github-linguist/gemset.nix @@ -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"; + }; +} diff --git a/pkgs/by-name/gi/github-linguist/package.nix b/pkgs/by-name/gi/github-linguist/package.nix new file mode 100644 index 000000000000..d6f8864e943d --- /dev/null +++ b/pkgs/by-name/gi/github-linguist/package.nix @@ -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; + }; +}