diff options
Diffstat (limited to 'pkgs/by-name/gi')
160 files changed, 10392 insertions, 191 deletions
diff --git a/pkgs/by-name/gi/gImageReader/package.nix b/pkgs/by-name/gi/gImageReader/package.nix new file mode 100644 index 000000000000..742b14a15fcf --- /dev/null +++ b/pkgs/by-name/gi/gImageReader/package.nix @@ -0,0 +1,71 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libuuid +, sane-backends, podofo, libjpeg, djvulibre, libxmlxx3, libzip, tesseract +, intltool, poppler, json-glib +, ninja +, python3 + +# Gtk deps +# upstream gImagereader supports Qt too +, gobject-introspection, wrapGAppsHook3 +, gtkmm3, gtksourceview3, gtksourceviewmm, gtkspell3, gtkspellmm, cairomm +}: + +let + variant = "gtk"; + pythonEnv = python3.withPackages( ps: with ps;[ pygobject3 ] ); +in +stdenv.mkDerivation rec { + pname = "gImageReader"; + version = "3.4.2"; + + src = fetchFromGitHub { + owner= "manisandro"; + repo = "gImageReader"; + rev = "v${version}"; + sha256 = "sha256-yBkVeufRRoSAc20/8mV39widBPloHFz12K7B4Y9xiWg="; + }; + + nativeBuildInputs = [ + cmake ninja + intltool + pkg-config + pythonEnv + + # Gtk specific + wrapGAppsHook3 + gobject-introspection + ]; + + buildInputs = [ + libxmlxx3 + libzip + libuuid + sane-backends + podofo + libjpeg + djvulibre + tesseract + poppler + + # Gtk specific + gtkmm3 + gtkspell3 + gtkspellmm + gtksourceview3 + gtksourceviewmm + cairomm + json-glib + ]; + + # interface type can be where <type> is either gtk, qt5, qt4 + cmakeFlags = [ "-DINTERFACE_TYPE=${variant}" ]; + + meta = with lib; { + description = "Simple Gtk/Qt front-end to tesseract-ocr"; + mainProgram = "gimagereader-gtk"; + homepage = "https://github.com/manisandro/gImageReader"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [teto]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/gi/gi-crystal/package.nix b/pkgs/by-name/gi/gi-crystal/package.nix new file mode 100644 index 000000000000..d5c19a21662a --- /dev/null +++ b/pkgs/by-name/gi/gi-crystal/package.nix @@ -0,0 +1,48 @@ +{ lib +, fetchFromGitHub +, crystal +, gobject-introspection +, gitUpdater +}: +crystal.buildCrystalPackage rec { + pname = "gi-crystal"; + version = "0.22.2"; + + src = fetchFromGitHub { + owner = "hugopl"; + repo = "gi-crystal"; + rev = "v${version}"; + hash = "sha256-JfBbKqobikpTGMryeO86zZ46EbOHybem+Cc5FZEL6i4="; + }; + + # Make sure gi-crystal picks up the name of the so or dylib and not the leading nix store path + # when the package name happens to start with “lib”. + patches = [ ./src.patch ./store-friendly-library-name.patch ]; + + nativeBuildInputs = [ gobject-introspection ]; + buildTargets = [ "generator" ]; + + doCheck = false; + doInstallCheck = false; + + installPhase = '' + runHook preInstall + + mkdir $out + cp -r * $out + + runHook postInstall + ''; + + passthru = { + updateScript = gitUpdater { rev-prefix = "v"; }; + }; + + + meta = with lib; { + description = "GI Crystal is a binding generator used to generate Crystal bindings for GObject based libraries using GObject Introspection"; + homepage = "https://github.com/hugopl/gi-crystal"; + mainProgram = "gi-crystal"; + maintainers = with maintainers; [ sund3RRR ]; + }; +} diff --git a/pkgs/by-name/gi/gi-crystal/src.patch b/pkgs/by-name/gi/gi-crystal/src.patch new file mode 100644 index 000000000000..eb18035f9941 --- /dev/null +++ b/pkgs/by-name/gi/gi-crystal/src.patch @@ -0,0 +1,57 @@ +--- a/src/generator/main.cr 2023-07-14 18:30:47.687581729 +0300 ++++ b/src/generator/main.cr 2023-07-17 07:55:24.177630085 +0300 +@@ -1,6 +1,8 @@ + require "colorize" + require "log" + require "option_parser" ++require "file" ++require "file_utils" + + require "./binding_config" + require "./error" +@@ -43,7 +45,7 @@ + end + end + +- output_dir = Path.new(project_dir, "lib/gi-crystal/src/auto").normalize if output_dir.nil? ++ output_dir = Path.new(Dir.current, "lib/gi-crystal/src/auto").normalize if output_dir.nil? + extra_bindings = argv.map { |path| Path.new(path).expand.to_s } + + {output_dir: output_dir, +@@ -74,11 +76,23 @@ + end + end + +-private def find_bindings : Array(String) +- find_pattern = Path.new(project_dir, "**/binding.yml").normalize ++private def find_bindings_yml(path) : Array(String) ++ find_pattern = File.join(path, "**/binding.yml") + Dir[find_pattern] + end + ++private def find_bindings : Array(String) ++ current_directory = Dir.current ++ ++ bindings = find_bindings_yml(current_directory) ++ Dir.glob(File.join(current_directory, "**/*")).each do |path| ++ if File.symlink?(path) ++ bindings += find_bindings_yml(path) ++ end ++ end ++ bindings ++end ++ + private def format_files(dir) + # We need to chdir into output dir since the formatter ignores everything under `lib` dir. + Dir.cd(dir) { `crystal tool format` } +@@ -102,7 +116,9 @@ + Log.info { "Generating bindings at #{options[:output_dir]}" } + + Generator::DocRepo.disable! unless options[:doc_gen] +- ++ ++ FileUtils.cp_r(project_dir, File.join(Dir.current, "lib/gi-crystal")) ++ + binding_yamls = find_bindings.concat(options[:extra_bindings]) + binding_yamls.each do |file| + Log.info { "Using binding config at #{file}" } diff --git a/pkgs/by-name/gi/gi-crystal/store-friendly-library-name.patch b/pkgs/by-name/gi/gi-crystal/store-friendly-library-name.patch new file mode 100644 index 000000000000..c6fd4e18c8db --- /dev/null +++ b/pkgs/by-name/gi/gi-crystal/store-friendly-library-name.patch @@ -0,0 +1,10 @@ +--- a/src/generator/lib_gen.cr 1969-12-31 17:00:01.000000000 -0700 ++++ b/src/generator/lib_gen.cr 2023-07-14 11:48:41.509397114 -0600 +@@ -10,7 +10,7 @@ + + private def libraries : Array(String) + namespace.shared_libraries.map do |library| +- library[/lib([^\/]+)\.(?:so|.+?\.dylib).*/, 1] ++ library[/(?:\/[^\/]*)+\/lib([^\/]+)\.(?:so|.+?\.dylib).*/, 1] + end + end \ No newline at end of file diff --git a/pkgs/by-name/gi/gi-docgen/package.nix b/pkgs/by-name/gi/gi-docgen/package.nix new file mode 100644 index 000000000000..9d5da739745f --- /dev/null +++ b/pkgs/by-name/gi/gi-docgen/package.nix @@ -0,0 +1,60 @@ +{ lib +, fetchurl +, meson +, ninja +, python3 +, gnome +}: + +python3.pkgs.buildPythonApplication rec { + pname = "gi-docgen"; + version = "2024.1"; + + format = "other"; + + src = fetchurl { + url = "mirror://gnome/sources/gi-docgen/${lib.versions.major version}/gi-docgen-${version}.tar.xz"; + hash = "sha256-hwx3+WIEYszknjVUKkLcFhL8hYcz6D274kjFNUWK7B4="; + }; + + depsBuildBuild = [ + python3 + ]; + + nativeBuildInputs = [ + meson + ninja + ]; + + pythonPath = with python3.pkgs; [ + jinja2 + markdown + markupsafe + packaging + pygments + toml # remove once python311 is the default + typogrify + ]; + + doCheck = false; # no tests + + postFixup = '' + # Do not propagate Python + substituteInPlace $out/nix-support/propagated-build-inputs \ + --replace "${python3}" "" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gi-docgen"; + }; + }; + + meta = with lib; { + description = "Documentation generator for GObject-based libraries"; + mainProgram = "gi-docgen"; + homepage = "https://gitlab.gnome.org/GNOME/gi-docgen"; + license = licenses.asl20; # OR GPL-3.0-or-later + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/by-name/gi/giac/fix-fltk-guard.patch b/pkgs/by-name/gi/giac/fix-fltk-guard.patch new file mode 100644 index 000000000000..a9c8e5bbaab8 --- /dev/null +++ b/pkgs/by-name/gi/giac/fix-fltk-guard.patch @@ -0,0 +1,28 @@ +From c7eafa2d7bde0d735b125912542acec2d5896c17 Mon Sep 17 00:00:00 2001 +From: George Huebner <george@feyor.sh> +Date: Sat, 20 Jul 2024 02:31:20 -0500 +Subject: [PATCH 3/4] remove erroneous HAVE_LIBFLTK guard + +--- + src/icas.cc | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/icas.cc b/src/icas.cc +index f91885b..17a0373 100644 +--- a/src/icas.cc ++++ b/src/icas.cc +@@ -2407,11 +2407,7 @@ int main(int ARGC, char *ARGV[]){ + #ifdef __APPLE__ + startc=clock(); + #endif +-#ifdef HAVE_LIBFLTK + xcas::icas_eval(gq,e,reading_file,filename,contextptr); +-#else +- e=eval(gq,1,contextptr); +-#endif + #ifdef __APPLE__ + startc=clock()-startc; + #endif +-- +2.44.1 + diff --git a/pkgs/by-name/gi/giac/package.nix b/pkgs/by-name/gi/giac/package.nix new file mode 100644 index 000000000000..ce009975c1ba --- /dev/null +++ b/pkgs/by-name/gi/giac/package.nix @@ -0,0 +1,158 @@ +{ stdenv, lib, fetchurl, fetchpatch, texliveSmall, bison, flex, lapack, blas +, autoreconfHook, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty +, buildPackages, readline, gettext, libpng, libao, gfortran, perl +, enableGUI ? false, libGL, libGLU, xorg, fltk +, enableMicroPy ? false, python3 +}: + +assert (!blas.isILP64) && (!lapack.isILP64); + +stdenv.mkDerivation rec { + pname = "giac${lib.optionalString enableGUI "-with-xcas"}"; + version = "1.9.0-993"; # TODO try to remove preCheck phase on upgrade + + src = fetchurl { + url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz"; + sha256 = "sha256-pqytFWrSWfEwQqRdRbaigGCq68s8mdgj2j8M+kclslE="; + }; + + patches = [ + ./remove-old-functional-patterns.patch + ./fix-fltk-guard.patch + + (fetchpatch { + name = "pari_2_15.patch"; + url = "https://raw.githubusercontent.com/sagemath/sage/07a2afd65fb4b0a1c9cbc43ede7d4a18c921a000/build/pkgs/giac/patches/pari_2_15.patch"; + sha256 = "sha256-Q3xBFED7XEAyNz6AHjzt63XtospmdGAIdS6iPq1C2UE="; + }) + + (fetchpatch { + name = "infinity.patch"; + url = "https://github.com/geogebra/giac/commit/851c2cd91e879c79d6652f8a5d5bed03b65c6d39.patch"; + sha256 = "sha256-WJRT2b8I9kgAkRuIugMiXoF4hT7yR7qyad8A6IspNTM="; + stripLen = 5; + extraPrefix = "/src/"; + excludes = [ "src/kdisplay.cc" ]; + }) + + # giac calls scanf/printf with non-constant first arguments, which + # the compiler rightfully warns about (with an error nowadays). + (fetchpatch { + name = "fix-string-compiler-error.patch"; + url = "https://salsa.debian.org/science-team/giac/-/raw/9ca8dbf4bb16d9d96948aa4024326d32485d7917/debian/patches/fix-string-compiler-error.patch"; + sha256 = "sha256-r+M+9MRPRqhHcdhYWI6inxyNvWbXUbBcPCeDY7aulvk="; + }) + + # issue with include path precedence + (fetchpatch { + name = "fix_implicit_declaration.patch"; + url = "https://salsa.debian.org/science-team/giac/-/raw/c05ae9b9e74d3c6ee6411d391071989426a76201/debian/patches/fix_implicit_declaration.patch"; + sha256 = "sha256-ompUceYJLiL0ftfjBkIMcYvX1YqG2/XA7e1yDyFY0IY="; + }) + ] ++ lib.optionals (!enableGUI) [ + # when enableGui is false, giac is compiled without fltk. That + # means some outputs differ in the make check. Patch around this: + (fetchpatch { + name = "nofltk-check.patch"; + url = "https://raw.githubusercontent.com/sagemath/sage/7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26/build/pkgs/giac/patches/nofltk-check.patch"; + sha256 = "sha256-nAl5q3ufLjK3X9s0qMlGNowdRRf3EaC24eVtJABzdXY="; + }) + ]; + + # 1.9.0-5's tarball contains a binary (src/mkjs) which is executed + # at build time. we will delete and rebuild it. + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + postPatch = '' + for i in doc/*/Makefile* micropython*/xcas/Makefile*; do + substituteInPlace "$i" --replace "/bin/cp" "cp"; + done; + rm src/mkjs + substituteInPlace src/Makefile.am --replace "g++ mkjs.cc" \ + "${buildPackages.stdenv.cc.targetPrefix}c++ mkjs.cc" + + # to open help + substituteInPlace src/global.cc --replace 'browser="mozilla"' 'browser="xdg-open"' + ''; + + nativeBuildInputs = [ + autoreconfHook texliveSmall bison flex + ]; + + # perl is only needed for patchShebangs fixup. + buildInputs = [ + gmp mpfr pari ntl gsl blas mpfi glpk nauty + readline gettext libpng libao perl ecm + # gfortran.cc default output contains static libraries compiled without -fPIC + # we want libgfortran.so.3 instead + (lib.getLib gfortran.cc) + lapack blas + ] ++ lib.optionals enableGUI [ + libGL libGLU fltk xorg.libX11 + ] ++ lib.optional enableMicroPy python3; + + # xcas Phys and Turtle menus are broken with split outputs + # and interactive use is likely to need docs + outputs = [ "out" ] ++ lib.optional (!enableGUI) "doc"; + + doCheck = true; + preCheck = lib.optionalString (!enableGUI) '' + # even with the nofltk patch, some changes in src/misc.cc (grep + # for HAVE_LIBFLTK) made it so that giac behaves differently + # when fltk is disabled. disable these tests for now. + echo > check/chk_fhan2 + echo > check/chk_fhan9 + '' + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + # these cover a known regression in giac, likely due to how pari state + # is shared between multiple giac instances (see pari.cc.old). + # see https://github.com/NixOS/nixpkgs/pull/264126 for more information + echo > check/chk_fhan4 + echo > check/chk_fhan6 + ''; + + enableParallelBuilding = true; + + configureFlags = [ + "--enable-gc" "--enable-png" "--enable-gsl" "--enable-lapack" + "--enable-pari" "--enable-ntl" "--enable-gmpxx" # "--enable-cocoa" + "--enable-ao" "--enable-ecm" "--enable-glpk" + ] ++ lib.optionals enableGUI [ + "--enable-gui" "--with-x" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-nls" + ] ++ lib.optionals (!enableGUI) [ + "--disable-fltk" + ] ++ lib.optionals (!enableMicroPy) [ + "--disable-micropy" + ]; + + postInstall = '' + # example Makefiles contain the full path to some commands + # notably texlive, and we don't want texlive to become a runtime + # dependency + for file in $(find $out -name Makefile) ; do + sed -i "s@${builtins.storeDir}/[^/]*/bin/@@" "$file" ; + done; + + # reference cycle + rm "$out/share/giac/doc/el/"{casinter,tutoriel}/Makefile + + if [ -n "$doc" ]; then + mkdir -p "$doc/share/giac" + mv "$out/share/giac/doc" "$doc/share/giac" + mv "$out/share/giac/examples" "$doc/share/giac" + fi + '' + lib.optionalString (!enableGUI) '' + for i in pixmaps application-registry applications icons; do + rm -r "$out/share/$i"; + done; + ''; + + meta = with lib; { + description = "Free computer algebra system (CAS)"; + homepage = "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html"; + license = licenses.gpl3Plus; + platforms = platforms.linux ++ (optionals (!enableGUI) platforms.darwin); + maintainers = [ maintainers.symphorien ]; + }; +} diff --git a/pkgs/by-name/gi/giac/remove-old-functional-patterns.patch b/pkgs/by-name/gi/giac/remove-old-functional-patterns.patch new file mode 100644 index 000000000000..95f6efe119fc --- /dev/null +++ b/pkgs/by-name/gi/giac/remove-old-functional-patterns.patch @@ -0,0 +1,294 @@ +From f1c5309d5b815acc2616cd9fbb5182b1e64d225f Mon Sep 17 00:00:00 2001 +From: George Huebner <george@feyor.sh> +Date: Wed, 17 Jul 2024 18:12:36 -0500 +Subject: [PATCH 1/4] remove old <functional> patterns + +pointer_to_binary_function and ptr_fun are holdovers from pre c++11, +and can be replaced or entirely removed. This allows Giac to compile +with Clang 16>=. +--- + src/all_global_var | 2 +- + src/gausspol.cc | 2 +- + src/gausspol.h | 2 +- + src/gen.cc | 2 +- + src/gen.h | 4 ++-- + src/maple.cc | 2 +- + src/monomial.h | 16 ++++++++-------- + src/plot.cc | 2 +- + src/poly.h | 17 +++++++++-------- + src/solve.cc | 18 +++++++++--------- + src/usual.cc | 2 +- + 11 files changed, 35 insertions(+), 34 deletions(-) + +diff --git a/src/all_global_var b/src/all_global_var +index 7d75d73..55f4782 100644 +--- a/src/all_global_var ++++ b/src/all_global_var +@@ -16,7 +16,7 @@ Relatif a l'evaluation du tableur + // File Eqw.cc + vector<string> completion_tab; + // File alg_ext.cc +- rootmap symbolic_rootof_list(ptr_fun(islesscomplex)); ++ rootmap symbolic_rootof_list(islesscomplex); + // File derive.cc + // File desolve.cc + identificateur laplace_var(" s"); +diff --git a/src/gausspol.cc b/src/gausspol.cc +index 8fbd581..2f2121f 100644 +--- a/src/gausspol.cc ++++ b/src/gausspol.cc +@@ -855,7 +855,7 @@ namespace giac { + std::vector< monomial<gen> >::const_iterator & itb_end, + std::vector< monomial<gen> > & new_coord, + bool (* is_strictly_greater)( const index_m &, const index_m &), +- const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_strictly_greater ++ const std::function<bool(const monomial<gen> &, const monomial<gen> &)> m_is_strictly_greater + ) { + if (ita==ita_end || itb==itb_end){ + new_coord.clear(); +diff --git a/src/gausspol.h b/src/gausspol.h +index b5d214b..e6c7e0c 100644 +--- a/src/gausspol.h ++++ b/src/gausspol.h +@@ -93,7 +93,7 @@ namespace giac { + std::vector< monomial<gen> >::const_iterator & itb_end, + std::vector< monomial<gen> > & new_coord, + bool (* is_strictly_greater)( const index_t &, const index_t &), +- const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_greater ++ const std::function<bool(const monomial<gen> &, const monomial<gen> &)> m_is_greater + ) ; + void mulpoly(const polynome & th,const gen & fact,polynome & res); + polynome operator * (const polynome & th, const gen & fact) ; +diff --git a/src/gen.cc b/src/gen.cc +index 7d4874c..0b64afe 100644 +--- a/src/gen.cc ++++ b/src/gen.cc +@@ -1126,7 +1126,7 @@ namespace giac { + #if 1 // def NSPIRE + g.__MAPptr = new ref_gen_map; + #else +- g.__MAPptr = new ref_gen_map(ptr_fun(islesscomplexthanf)); ++ g.__MAPptr = new ref_gen_map(islesscomplexthanf); + #endif + #endif + g.type=_MAP; +diff --git a/src/gen.h b/src/gen.h +index 04d70af..496b25d 100644 +--- a/src/gen.h ++++ b/src/gen.h +@@ -443,7 +443,7 @@ namespace giac { + }; + typedef std::map<gen,gen,comparegen> gen_map; + #else +- typedef std::map<gen,gen,const std::pointer_to_binary_function < const gen &, const gen &, bool> > gen_map; ++ typedef std::map<gen,gen,const std::function<bool(const gen &, const gen &)> > gen_map; + #endif + struct ref_gen_map; + +@@ -902,7 +902,7 @@ namespace giac { + #if 1 // def NSPIRE + ref_gen_map(): ref_count(1),m() {} + #else +- ref_gen_map(const std::pointer_to_binary_function < const gen &, const gen &, bool> & p): ref_count(1),m(p) {} ++ ref_gen_map(const std::function<bool(const gen &, const gen &)> & p): ref_count(1),m(p) {} + #endif + ref_gen_map(const gen_map & M):ref_count(1),m(M) {} + }; +diff --git a/src/maple.cc b/src/maple.cc +index 3b33da8..d57a170 100644 +--- a/src/maple.cc ++++ b/src/maple.cc +@@ -3626,7 +3626,7 @@ namespace giac { + #if 1 // def NSPIRE + gen_map m; + #else +- gen_map m(ptr_fun(islessthanf)); ++ gen_map m(islessthanf); + #endif + int s=int(args.size()); + vector<int> indexbegin,indexsize; +diff --git a/src/monomial.h b/src/monomial.h +index 6e606d0..637a76c 100644 +--- a/src/monomial.h ++++ b/src/monomial.h +@@ -338,9 +338,9 @@ namespace giac { + + template<class T> class sort_helper { + public: +- std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> strictly_greater ; +- sort_helper(const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> is_strictly_greater):strictly_greater(is_strictly_greater) {}; +- sort_helper():strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {}; ++ std::function<bool(const monomial<T> &, const monomial<T> &)> strictly_greater ; ++ sort_helper(const std::function<bool(const monomial<T> &, const monomial<T> &)> is_strictly_greater):strictly_greater(is_strictly_greater) {}; ++ sort_helper():strictly_greater(m_lex_is_strictly_greater<T>) {}; + bool operator () (const monomial<T> & a, const monomial<T> & b){ return strictly_greater(a,b);} + }; + +@@ -677,7 +677,7 @@ namespace giac { + typename std::vector< monomial<T> >::const_iterator & itb_end, + std::vector< monomial<T> > & new_coord, + bool (* is_strictly_greater)( const index_m &, const index_m &), +- const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater ++ const std::function<bool(const monomial<T> &, const monomial<T> &)> m_is_strictly_greater + ) { + if (ita==ita_end || itb==itb_end){ + new_coord.clear(); +@@ -726,8 +726,8 @@ namespace giac { + #endif + #ifndef NSPIRE + /* other algorithm using a map to avoid reserving too much space */ +- typedef std::map< index_t,T,const std::pointer_to_binary_function < const index_m &, const index_m &, bool> > application; +- application produit(std::ptr_fun(is_strictly_greater)); ++ typedef std::map< index_t,T,const std::function<bool(const index_m &, const index_m &)> > application; ++ application produit(is_strictly_greater); + // typedef std::map<index_t,T> application; + // application produit; + index_t somme(ita->index.size()); +@@ -848,7 +848,7 @@ namespace giac { + typename std::vector< monomial<T> >::const_iterator a=v.begin(), a_end=v.end(); + typename std::vector< monomial<T> >::const_iterator b=w.begin(), b_end=w.end(); + std::vector< monomial<T> > res; +- Mul(a,a_end,b,b_end,res,i_lex_is_strictly_greater,std::ptr_fun< const monomial<T> &, const monomial<T> &, bool >((m_lex_is_strictly_greater<T>))); ++ Mul(a,a_end,b,b_end,res,i_lex_is_strictly_greater,m_lex_is_strictly_greater<T>); + return res ; + } + +@@ -856,7 +856,7 @@ namespace giac { + std::vector< monomial<T> > & operator *= (std::vector< monomial<T> > & v,const std::vector< monomial<T> > & w){ + typename std::vector< monomial<T> >::const_iterator a=v.begin(), a_end=v.end(); + typename std::vector< monomial<T> >::const_iterator b=w.begin(), b_end=w.end(); +- Mul(a,a_end,b,b_end,v,i_lex_is_strictly_greater,std::ptr_fun< const monomial<T> &, const monomial<T> &, bool >((m_lex_is_strictly_greater<T>))); ++ Mul(a,a_end,b,b_end,v,i_lex_is_strictly_greater,m_lex_is_strictly_greater<T>); + return v; + } + +diff --git a/src/plot.cc b/src/plot.cc +index 288a1b5..ac85c9a 100755 +--- a/src/plot.cc ++++ b/src/plot.cc +@@ -11886,7 +11886,7 @@ static vecteur densityscale(double xmin,double xmax,double ymin,double ymax,doub + #if 1 // def NSPIRE + gen_map m; + #else +- gen_map m(ptr_fun(islesscomplexthanf)); ++ gen_map m(islesscomplexthanf); + #endif + int taille; + is >> taille; +diff --git a/src/poly.h b/src/poly.h +index 7d64e2c..d9ff991 100644 +--- a/src/poly.h ++++ b/src/poly.h +@@ -40,23 +40,24 @@ namespace giac { + // T zero; + // functional object sorting function for monomial ordering + bool (* is_strictly_greater)( const index_m &, const index_m &); +- std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater ; ++ std::function<bool(const monomial<T> &, const monomial<T> &)> m_is_strictly_greater ; + // constructors + tensor(const tensor<T> & t) : dim(t.dim), coord(t.coord), is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { } + tensor(const tensor<T> & t, const std::vector< monomial<T> > & v) : dim(t.dim), coord(v), is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { } + // warning: this constructor prohibits construction of tensor from a value + // of type T if this value is an int, except by using tensor<T>(T(int)) +- tensor() : dim(0), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { } +- explicit tensor(int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { } ++ // DANGER ++ tensor() : dim(0), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { } ++ explicit tensor(int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { } + explicit tensor(int d,const tensor<T> & t) : dim(d),is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { } +- tensor(const monomial<T> & v) : dim(int(v.index.size())), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { ++ tensor(const monomial<T> & v) : dim(int(v.index.size())), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { + coord.push_back(v); + } +- tensor(const T & v, int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { ++ tensor(const T & v, int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { + if (!is_zero(v)) + coord.push_back(monomial<T>(v,0,d)); + } +- tensor(int d,const std::vector< monomial<T> > & c) : dim(d), coord(c), is_strictly_greater(i_lex_is_strictly_greater),m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { } ++ tensor(int d,const std::vector< monomial<T> > & c) : dim(d), coord(c), is_strictly_greater(i_lex_is_strictly_greater),m_is_strictly_greater(m_lex_is_strictly_greater<T>) { } + ~tensor() { coord.clear(); } + // member functions + // ordering monomials in the tensor +@@ -519,10 +520,10 @@ namespace giac { + template <class T> + void lexsort(std::vector < monomial<T> > & v){ + #if 1 // def NSPIRE +- sort_helper<T> M(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)); ++ sort_helper<T> M(m_lex_is_strictly_greater<T>); + sort(v.begin(),v.end(),M); + #else +- sort(v.begin(),v.end(),std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)); ++ sort(v.begin(),v.end(),m_lex_is_strictly_greater<T>); + #endif + } + +diff --git a/src/solve.cc b/src/solve.cc +index 889f824..2a51ab8 100755 +--- a/src/solve.cc ++++ b/src/solve.cc +@@ -8684,39 +8684,39 @@ namespace giac { + switch (order.val){ + case _PLEX_ORDER: + p.is_strictly_greater=i_lex_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_lex_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_lex_is_strictly_greater<gen>; + break; + case _REVLEX_ORDER: + p.is_strictly_greater=i_total_revlex_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_total_revlex_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_total_revlex_is_strictly_greater<gen>; + break; + case _TDEG_ORDER: + p.is_strictly_greater=i_total_lex_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_total_lex_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_total_lex_is_strictly_greater<gen>; + break; + case _3VAR_ORDER: + p.is_strictly_greater=i_3var_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_3var_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_3var_is_strictly_greater<gen>; + break; + case _7VAR_ORDER: + p.is_strictly_greater=i_7var_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_7var_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_7var_is_strictly_greater<gen>; + break; + case _11VAR_ORDER: + p.is_strictly_greater=i_11var_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_11var_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_11var_is_strictly_greater<gen>; + break; + case _16VAR_ORDER: + p.is_strictly_greater=i_16var_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_16var_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_16var_is_strictly_greater<gen>; + break; + case _32VAR_ORDER: + p.is_strictly_greater=i_32var_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_32var_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_32var_is_strictly_greater<gen>; + break; + case _64VAR_ORDER: + p.is_strictly_greater=i_64var_is_strictly_greater; +- p.m_is_strictly_greater=std::ptr_fun(m_64var_is_strictly_greater<gen>); ++ p.m_is_strictly_greater=m_64var_is_strictly_greater<gen>; + break; + } + p.tsort(); +diff --git a/src/usual.cc b/src/usual.cc +index fddede6..eb7ae5e 100755 +--- a/src/usual.cc ++++ b/src/usual.cc +@@ -5950,7 +5950,7 @@ namespace giac { + #if 1 // def NSPIRE + gen_map m; + #else +- gen_map m(ptr_fun(islesscomplexthanf)); ++ gen_map m(islesscomplexthanf); + #endif + for (;it!=itend;++it){ + if (is_equal(*it) || it->is_symb_of_sommet(at_deuxpoints)){ +-- +2.44.1 + diff --git a/pkgs/by-name/gi/giada/package.nix b/pkgs/by-name/gi/giada/package.nix new file mode 100644 index 000000000000..2880bce40f8b --- /dev/null +++ b/pkgs/by-name/gi/giada/package.nix @@ -0,0 +1,77 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, fltk +, fmt +, rtmidi +, libsamplerate +, libmpg123 +, libsndfile +, jack2 +, alsa-lib +, libpulseaudio +, libXpm +, libXrandr +, flac +, libogg +, libvorbis +, libopus +, nlohmann_json +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "giada"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "monocasual"; + repo = "giada"; + rev = finalAttrs.version; + hash = "sha256-vTOUS9mI4B3yRNnM2dNCH7jgMuD3ztdhe1FMgXUIt58="; + fetchSubmodules = true; + }; + + env.NIX_CFLAGS_COMPILE = toString [ + "-w" + "-Wno-error" + ]; + + cmakeFlags = [ + "-DCMAKE_INSTALL_BINDIR=bin" + ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + rtmidi + fltk + fmt + libmpg123 + libsndfile + libsamplerate + nlohmann_json + alsa-lib + libXpm + libpulseaudio + jack2 + flac + libogg + libvorbis + libopus + libXrandr + ]; + + meta = { + description = "Free, minimal, hardcore audio tool for DJs, live performers and electronic musicians"; + mainProgram = "giada"; + homepage = "https://giadamusic.com/"; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ kashw2 ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/gi/giara/package.nix b/pkgs/by-name/gi/giara/package.nix new file mode 100644 index 000000000000..110d5c04767a --- /dev/null +++ b/pkgs/by-name/gi/giara/package.nix @@ -0,0 +1,77 @@ +{ lib +, fetchFromGitLab +, meson +, gobject-introspection +, pkg-config +, ninja +, python3 +, wrapGAppsHook4 +, gtk4 +, gdk-pixbuf +, webkitgtk_4_0 +, gtksourceview5 +, glib-networking +, libadwaita +, appstream +, blueprint-compiler +}: +python3.pkgs.buildPythonApplication rec { + pname = "giara"; + version = "1.1.0"; + + format = "other"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = pname; + rev = version; + hash = "sha256-FTy0ElcoTGXG9eV85pUrF35qKDKOfYIovPtjLfTJVOg="; + }; + + nativeBuildInputs = [ + appstream + meson + gobject-introspection + pkg-config + ninja + wrapGAppsHook4 + blueprint-compiler + ]; + + buildInputs = [ + gtk4 + gdk-pixbuf + webkitgtk_4_0 + gtksourceview5 + glib-networking + libadwaita + ]; + + pythonPath = with python3.pkgs; [ + pygobject3 + pycairo + python-dateutil + praw + pillow + mistune + beautifulsoup4 + ]; + + postPatch = '' + substituteInPlace meson_post_install.py \ + --replace "gtk-update-icon-cache" "gtk4-update-icon-cache" + # blueprint-compiler expects "profile" to be a string. + substituteInPlace data/ui/headerbar.blp \ + --replace "item { custom: profile; }" 'item { custom: "profile"; }' + ''; + + meta = with lib; { + description = "Reddit app, built with Python, GTK and Handy; Created with mobile Linux in mind"; + maintainers = with maintainers; [ dasj19 ]; + homepage = "https://gitlab.gnome.org/World/giara"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + mainProgram = "giara"; + }; +} diff --git a/pkgs/by-name/gi/gibo/package.nix b/pkgs/by-name/gi/gibo/package.nix new file mode 100644 index 000000000000..d037059fd4e3 --- /dev/null +++ b/pkgs/by-name/gi/gibo/package.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, coreutils, findutils, git }: + +stdenv.mkDerivation rec { + pname = "gibo"; + version = "1.0.6"; + + src = fetchFromGitHub { + owner = "simonwhitaker"; + repo = "gibo"; + rev = version; + sha256 = "07j3sv9ar9l074krajw8nfmsfmdp836irsbd053dbqk2v880gfm6"; + }; + + installPhase = '' + mkdir -p $out/bin $out/share/bash-completion/completions + cp gibo $out/bin + cp gibo-completion.bash $out/share/bash-completion/completions + + sed -e 's|\<git |${git}/bin/git |g' \ + -e 's|\<basename |${coreutils}/bin/basename |g' \ + -i "$out/bin/gibo" + sed -e 's|\<find |${findutils}/bin/find |g' \ + -i "$out/share/bash-completion/completions/gibo-completion.bash" + ''; + + meta = { + homepage = "https://github.com/simonwhitaker/gibo"; + license = lib.licenses.publicDomain; + description = "Shell script for easily accessing gitignore boilerplates"; + platforms = lib.platforms.unix; + mainProgram = "gibo"; + }; +} diff --git a/pkgs/by-name/gi/gif-for-cli/package.nix b/pkgs/by-name/gi/gif-for-cli/package.nix new file mode 100644 index 000000000000..3a2ad84a4430 --- /dev/null +++ b/pkgs/by-name/gi/gif-for-cli/package.nix @@ -0,0 +1,56 @@ +{ lib +, fetchFromGitHub +, fetchpatch +, python3Packages +, ffmpeg +, zlib +, libjpeg +}: + +python3Packages.buildPythonApplication { + pname = "gif-for-cli"; + version = "1.1.2"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "google"; + repo = "gif-for-cli"; + rev = "31f8aa2d617d6d6e941154f60e287c38dd9a74d5"; + hash = "sha256-Bl5o492BUAn1KsscnlMIXCzJuy7xWUsdnxIKZKaRM3M="; + }; + + patches = [ + # https://github.com/google/gif-for-cli/pull/36 + (fetchpatch { + name = "pillow-10-compatibility.patch"; + url = "https://github.com/google/gif-for-cli/commit/49b13ec981e197cbc10f920b7b25a97c4cc6a61c.patch"; + hash = "sha256-B8wfkdhSUY++St6DzgaJ1xF1mZKvi8oxLXbo63yemDM="; + }) + ]; + + # coverage is not needed to build and test this package + postPatch = '' + sed -i '/coverage>=/d' setup.py + ''; + + buildInputs = [ + zlib + libjpeg + ]; + + propagatedBuildInputs = with python3Packages; [ + ffmpeg + pillow + requests + x256 + ]; + + meta = with lib; { + description = "Render gifs as ASCII art in your cli"; + longDescription = "Takes in a GIF, short video, or a query to the Tenor GIF API and converts it to animated ASCII art."; + homepage = "https://github.com/google/gif-for-cli"; + license = licenses.asl20; + maintainers = with maintainers; [ Scriptkiddi ]; + mainProgram = "gif-for-cli"; + }; +} diff --git a/pkgs/by-name/gi/gif2apng/package.nix b/pkgs/by-name/gi/gif2apng/package.nix new file mode 100644 index 000000000000..1a824e14a5a3 --- /dev/null +++ b/pkgs/by-name/gi/gif2apng/package.nix @@ -0,0 +1,69 @@ +{ lib +, stdenv +, fetchzip +, fetchpatch +, zlib +, zopfli +}: + +stdenv.mkDerivation rec { + pname = "gif2apng"; + version = "1.9"; + + src = fetchzip { + url = "mirror://sourceforge/gif2apng/gif2apng-${version}-src.zip"; + stripRoot = false; + hash = "sha256-rt1Vp4hjeFAVWJOU04BdU2YvBwECe9Q1c7EpNpIN+uE="; + }; + + patches = [ + (fetchpatch { + url = "https://sources.debian.org/data/main/g/gif2apng/1.9%2Bsrconly-3%2Bdeb11u1/debian/patches/10-7z.patch"; + hash = "sha256-zQgSWP/CIGaTUIxP/X92zpAQVSGgVo8gQEoCCMn+XT0="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/g/gif2apng/1.9%2Bsrconly-3%2Bdeb11u1/debian/patches/CVE-2021-45909.patch"; + hash = "sha256-ZDN3xgvktgahDEtrEpyVsL+4u+97Fo9vAB1RSKhu8KA="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/g/gif2apng/1.9%2Bsrconly-3%2Bdeb11u1/debian/patches/CVE-2021-45910.patch"; + hash = "sha256-MzOUOC7kqH22DmTMXoDu+jZAMBJPndnFNJGAQv5FcdI="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/g/gif2apng/1.9%2Bsrconly-3%2Bdeb11u1/debian/patches/CVE-2021-45911.patch"; + hash = "sha256-o2YDHsSaorCx/6bQQfudzkLHo9pakgyvs2Pbafplnek="; + }) + ]; + + # Remove bundled libs + postPatch = '' + rm -r 7z zlib zopfli + ''; + + buildInputs = [ + zlib + zopfli + ]; + + preBuild = '' + buildFlagsArray+=("LIBS=-lzopfli -lstdc++ -lz") + ''; + + makeFlags = [ "CC=${stdenv.cc.targetPrefix}c++" ]; + + NIX_CFLAGS_COMPILE="-DENABLE_LOCAL_ZOPFLI"; + + installPhase = '' + runHook preInstall + install -Dm755 gif2apng $out/bin/gif2apng + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://gif2apng.sourceforge.net/"; + description = "Simple program that converts animations from GIF to APNG format"; + license = licenses.zlib; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/by-name/gi/giflib/CVE-2021-40633.patch b/pkgs/by-name/gi/giflib/CVE-2021-40633.patch new file mode 100644 index 000000000000..8a665bb1638b --- /dev/null +++ b/pkgs/by-name/gi/giflib/CVE-2021-40633.patch @@ -0,0 +1,26 @@ +From ccbc956432650734c91acb3fc88837f7b81267ff Mon Sep 17 00:00:00 2001 +From: "Eric S. Raymond" <esr@thyrsus.com> +Date: Wed, 21 Feb 2024 18:55:00 -0500 +Subject: [PATCH] Clean up memory better at end of run (CVE-2021-40633) + +--- + gif2rgb.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/gif2rgb.c b/gif2rgb.c +index d51226d..fc2e683 100644 +--- a/gif2rgb.c ++++ b/gif2rgb.c +@@ -517,6 +517,9 @@ static void GIF2RGB(int NumFiles, char *FileName, bool OneFileFlag, + DumpScreen2RGB(OutFileName, OneFileFlag, ColorMap, ScreenBuffer, + GifFile->SWidth, GifFile->SHeight); + ++ for (i = 0; i < GifFile->SHeight; i++) { ++ (void)free(ScreenBuffer[i]); ++ } + (void)free(ScreenBuffer); + + { +-- +2.44.0 + diff --git a/pkgs/by-name/gi/giflib/mingw-install-exes.patch b/pkgs/by-name/gi/giflib/mingw-install-exes.patch new file mode 100644 index 000000000000..5ec3fdad7e65 --- /dev/null +++ b/pkgs/by-name/gi/giflib/mingw-install-exes.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -92,7 +92,7 @@ + install: all install-bin install-include install-lib install-man + install-bin: $(INSTALLABLE) + $(INSTALL) -d "$(DESTDIR)$(BINDIR)" +- $(INSTALL) $^ "$(DESTDIR)$(BINDIR)" ++ $(INSTALL) $(^:=.exe) "$(DESTDIR)$(BINDIR)" + install-include: + $(INSTALL) -d "$(DESTDIR)$(INCDIR)" + $(INSTALL) -m 644 gif_lib.h "$(DESTDIR)$(INCDIR)" diff --git a/pkgs/by-name/gi/giflib/package.nix b/pkgs/by-name/gi/giflib/package.nix new file mode 100644 index 000000000000..c6dd7c81833f --- /dev/null +++ b/pkgs/by-name/gi/giflib/package.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchurl +, fixDarwinDylibNames +, pkgsStatic +}: + +stdenv.mkDerivation rec { + pname = "giflib"; + version = "5.2.2"; + + src = fetchurl { + url = "mirror://sourceforge/giflib/giflib-${version}.tar.gz"; + hash = "sha256-vn/70FfK3r4qoURUL9kMaDjGoIO16KkEi47jtmsp1fs="; + }; + + patches = [ + ./CVE-2021-40633.patch + ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # Build dll libraries. + (fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/001-mingw-build.patch?h=mingw-w64-giflib&id=b7311edf54824ac797c7916cd3ddc3a4b2368a19"; + hash = "sha256-bBx7lw7FWtxZJ+E9AAbKIpCGcJnS5lrGpjYcv/zBtKk="; + }) + + # Install executables. + ./mingw-install-exes.patch + ]; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; + + makeFlags = [ + "PREFIX=${builtins.placeholder "out"}" + ]; + + postPatch = '' + # we don't want to build HTML documentation + substituteInPlace doc/Makefile \ + --replace-fail "all: allhtml manpages" "all: manpages" + '' + lib.optionalString stdenv.hostPlatform.isStatic '' + # Upstream build system does not support NOT building shared libraries. + sed -i '/all:/ s/$(LIBGIFSO)//' Makefile + sed -i '/all:/ s/$(LIBUTILSO)//' Makefile + sed -i '/-m 755 $(LIBGIFSO)/ d' Makefile + sed -i '/ln -sf $(LIBGIFSOVER)/ d' Makefile + sed -i '/ln -sf $(LIBGIFSOMAJOR)/ d' Makefile + ''; + + passthru.tests = { + static = pkgsStatic.giflib; + }; + + meta = { + description = "Library for reading and writing gif images"; + homepage = "https://giflib.sourceforge.net/"; + platforms = lib.platforms.unix ++ lib.platforms.windows; + license = lib.licenses.mit; + maintainers = [ ]; + branch = "5.2"; + }; +} diff --git a/pkgs/by-name/gi/gifticlib/package.nix b/pkgs/by-name/gi/gifticlib/package.nix new file mode 100644 index 000000000000..b305df08860b --- /dev/null +++ b/pkgs/by-name/gi/gifticlib/package.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub, cmake, expat, nifticlib, zlib }: + +stdenv.mkDerivation rec { + pname = "gifticlib"; + version = "unstable-2020-07-07"; + + src = fetchFromGitHub { + owner = "NIFTI-Imaging"; + repo = "gifti_clib"; + rev = "5eae81ba1e87ef3553df3b6ba585f12dc81a0030"; + sha256 = "0gcab06gm0irjnlrkpszzd4wr8z0fi7gx8f7966gywdp2jlxzw19"; + }; + + cmakeFlags = [ "-DUSE_SYSTEM_NIFTI=ON" "-DDOWNLOAD_TEST_DATA=OFF" ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ expat nifticlib zlib ]; + + # without the test data, this is only a few basic tests + doCheck = !stdenv.hostPlatform.isDarwin; + checkPhase = '' + runHook preCheck + ctest -LE 'NEEDS_DATA' + runHook postCheck + ''; + + meta = with lib; { + homepage = "https://www.nitrc.org/projects/gifti"; + description = "Medical imaging geometry format C API"; + maintainers = with maintainers; [ bcdarwin ]; + platforms = platforms.unix; + license = licenses.publicDomain; + }; +} diff --git a/pkgs/by-name/gi/gigalixir/package.nix b/pkgs/by-name/gi/gigalixir/package.nix new file mode 100644 index 000000000000..8628fdfcffb3 --- /dev/null +++ b/pkgs/by-name/gi/gigalixir/package.nix @@ -0,0 +1,65 @@ +{ stdenv +, lib +, python3 +, fetchPypi +, git +}: + +python3.pkgs.buildPythonApplication rec { + pname = "gigalixir"; + version = "1.12.1"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-T16+0F28/SxDl53GGTRzKbG+ghbL/80NkY08WpCixhA="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "'pytest-runner'," "" \ + --replace "cryptography==" "cryptography>=" + ''; + + propagatedBuildInputs = with python3.pkgs; [ + click + pygments + pyopenssl + qrcode + requests + rollbar + stripe + ]; + + nativeCheckInputs = [ + git + ] ++ (with python3.pkgs; [ + httpretty + pytestCheckHook + sure + ]); + + disabledTests = [ + # Test requires network access + "test_rollback_without_version" + # These following test's are now depraced and removed, check out these commits: + # https://github.com/gigalixir/gigalixir-cli/commit/00b758ed462ad8eff6ff0b16cd37fa71f75b2d7d + # https://github.com/gigalixir/gigalixir-cli/commit/76fa25f96e71fd75cc22e5439b4a8f9e9ec4e3e5 + "test_create_config" + "test_delete_free_database" + "test_get_free_databases" + ]; + + pythonImportsCheck = [ + "gigalixir" + ]; + + meta = with lib; { + broken = stdenv.hostPlatform.isDarwin; + description = "Gigalixir Command-Line Interface"; + homepage = "https://github.com/gigalixir/gigalixir-cli"; + license = licenses.mit; + maintainers = [ ]; + mainProgram = "gigalixir"; + }; +} diff --git a/pkgs/by-name/gi/gigedit/package.nix b/pkgs/by-name/gi/gigedit/package.nix new file mode 100644 index 000000000000..d53aa51d9b56 --- /dev/null +++ b/pkgs/by-name/gi/gigedit/package.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchurl +, autoconf +, automake +, intltool +, libtool +, pkg-config +, which +, docbook_xml_dtd_45 +, docbook_xsl +, gtkmm2 +, pangomm_2_42 +, libgig +, libsndfile +, libxslt +}: + +let + gtkmm2_with_pango242 = gtkmm2.override { pangomm = pangomm_2_42; }; +in +stdenv.mkDerivation rec { + pname = "gigedit"; + version = "1.1.1"; + + src = fetchurl { + url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.bz2"; + sha256 = "08db12crwf0dy1dbyrmivqqpg5zicjikqkmf2kb1ywpq0a9hcxrb"; + }; + + preConfigure = "make -f Makefile.svn"; + + nativeBuildInputs = [ autoconf automake intltool libtool pkg-config which ]; + + buildInputs = [ docbook_xml_dtd_45 docbook_xsl gtkmm2_with_pango242 libgig libsndfile libxslt ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "http://www.linuxsampler.org"; + description = "Gigasampler file access library"; + license = licenses.gpl2; + maintainers = [ ]; + platforms = platforms.linux; + mainProgram = "gigedit"; + }; +} diff --git a/pkgs/by-name/gi/gildas/clang.patch b/pkgs/by-name/gi/gildas/clang.patch new file mode 100644 index 000000000000..aee010835248 --- /dev/null +++ b/pkgs/by-name/gi/gildas/clang.patch @@ -0,0 +1,77 @@ +diff --git a/admin/Makefile.def b/admin/Makefile.def +index 932d18f102..309114e339 100644 +--- a/admin/Makefile.def ++++ b/admin/Makefile.def +@@ -310,7 +310,7 @@ endif + + # Apple CLANG flags (identical to GCC) + ifeq ($(GAG_COMPILER_CKIND),clang) +- GLOBAL_CFLAGS += -pipe -fPIC ++ GLOBAL_CFLAGS += -fPIC + ifeq ($(RELEASE_MODE),no) + OPTION_CFLAGS += -Wall + endif +@@ -360,7 +360,7 @@ endif + + # GFORTRAN flags + ifeq ($(GAG_COMPILER_FKIND),gfortran) +- GLOBAL_FFLAGS += -J$(moddir) -pipe -fno-backslash -fno-range-check ++ GLOBAL_FFLAGS += -J$(moddir) -fno-backslash -fno-range-check + ifeq ($(GAG_USE_SANITIZE),yes) + GLOBAL_FFLAGS += -fsanitize=address -fsanitize=null + # Can not be used with our memory(ip): +diff --git a/admin/define-system.sh b/admin/define-system.sh +index b6eda9fdfd..704050a9ac 100644 +--- a/admin/define-system.sh ++++ b/admin/define-system.sh +@@ -272,34 +272,23 @@ EOF + else + GAG_MACHINE=pc + fi +- if which gcc > /dev/null 2>&1; then +- DEFAULT_CCOMPILER=gcc +- fi +- if which g++ > /dev/null 2>&1; then +- DEFAULT_CXXCOMPILER=g++ +- elif which clang++ > /dev/null 2>&1; then +- DEFAULT_CXXCOMPILER=clang++ +- fi +- if which ifort > /dev/null 2>&1; then +- DEFAULT_FCOMPILER=ifort +- elif which gfortran > /dev/null 2>&1; then +- DEFAULT_FCOMPILER=gfortran +- fi +- elif [ `uname -p` = "arm" ]; then ++ elif [ `uname -p` = "arm" ]; then + GAG_MACHINE=arm64 +- if which gcc > /dev/null 2>&1; then +- DEFAULT_CCOMPILER=gcc +- fi +- if which clang++ > /dev/null 2>&1; then +- DEFAULT_CXXCOMPILER=clang++ +- elif which g++ > /dev/null 2>&1; then +- DEFAULT_CXXCOMPILER=g++ +- fi +- if which ifort > /dev/null 2>&1; then +- DEFAULT_FCOMPILER=ifort +- elif which gfortran > /dev/null 2>&1; then +- DEFAULT_FCOMPILER=gfortran +- fi ++ fi ++ if which clang > /dev/null 2>&1; then ++ DEFAULT_CCOMPILER=clang ++ elif which gcc > /dev/null 2>&1; then ++ DEFAULT_CCOMPILER=gcc ++ fi ++ if which clang++ > /dev/null 2>&1; then ++ DEFAULT_CXXCOMPILER=clang++ ++ elif which g++ > /dev/null 2>&1; then ++ DEFAULT_CXXCOMPILER=g++ ++ fi ++ if which ifort > /dev/null 2>&1; then ++ DEFAULT_FCOMPILER=ifort ++ elif which gfortran > /dev/null 2>&1; then ++ DEFAULT_FCOMPILER=gfortran + fi ;; + CYGWIN*) + if [ `uname -m | grep -c "x86_64"` -ne 0 ]; then diff --git a/pkgs/by-name/gi/gildas/cpp-darwin.patch b/pkgs/by-name/gi/gildas/cpp-darwin.patch new file mode 100644 index 000000000000..09085c29bf94 --- /dev/null +++ b/pkgs/by-name/gi/gildas/cpp-darwin.patch @@ -0,0 +1,17 @@ +diff --git a/admin/Makefile.def b/admin/Makefile.def +index 0395d9d4f0..932d18f102 100644 +--- a/admin/Makefile.def ++++ b/admin/Makefile.def +@@ -228,7 +228,11 @@ GLOBAL_DIRTY = $(builddir) *~ TAGS ChangeLog* Makefile.bak + # Fortran preprocessing + + # Preprocessor command +-CPP = cpp ++ifdef GAG_CPP ++ CPP = $(GAG_CPP) ++else ++ CPP = cpp ++endif + + # Preprocessor generic flags + GLOBAL_CPPFLAGS += -P -traditional -C diff --git a/pkgs/by-name/gi/gildas/package.nix b/pkgs/by-name/gi/gildas/package.nix new file mode 100644 index 000000000000..eafc631ef92c --- /dev/null +++ b/pkgs/by-name/gi/gildas/package.nix @@ -0,0 +1,75 @@ +{ lib, stdenv, fetchurl, gtk2-x11 , pkg-config , python3 , gfortran , lesstif +, cfitsio , getopt , perl , groff , which, darwin, ncurses +}: + +let + python3Env = python3.withPackages(ps: with ps; [ numpy setuptools ]); +in + +stdenv.mkDerivation rec { + srcVersion = "sep24a"; + version = "20240901_a"; + pname = "gildas"; + + src = fetchurl { + # For each new release, the upstream developers of Gildas move the + # source code of the previous release to a different directory + urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" + "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ]; + sha256 = "sha256-dZ03J3I1dgoSgSc9yGfO13ZvNawCSYKN3+SGvp1eyGA="; + }; + + nativeBuildInputs = [ pkg-config groff perl getopt gfortran which ]; + + buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ] + ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]); + + patches = [ ./wrapper.patch ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ([ ./clang.patch ./cpp-darwin.patch ]); + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument"; + + # Workaround for https://github.com/NixOS/nixpkgs/issues/304528 + env.GAG_CPP = lib.optionalString stdenv.hostPlatform.isDarwin "${gfortran.outPath}/bin/cpp"; + + NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; "-F${CoreFoundation}/Library/Frameworks"); + + configurePhase='' + substituteInPlace admin/wrapper.sh --replace '%%OUT%%' $out + substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python3Env} + substituteInPlace utilities/main/gag-makedepend.pl --replace '/usr/bin/perl' ${perl}/bin/perl + source admin/gildas-env.sh -c gfortran -o openmp + echo "gag_doc: $out/share/doc/" >> kernel/etc/gag.dico.lcl + ''; + + userExec = "astro class greg imager mapping sic"; + + postInstall='' + mkdir -p $out/bin + cp -a ../gildas-exe-${srcVersion}/* $out + mv $out/$GAG_EXEC_SYSTEM $out/libexec + for i in ${userExec} ; do + cp admin/wrapper.sh $out/bin/$i + chmod 755 $out/bin/$i + done + ''; + + meta = { + description = "Radioastronomy data analysis software"; + longDescription = '' + GILDAS is a collection of state-of-the-art software + oriented toward (sub-)millimeter radioastronomical + applications (either single-dish or interferometer). + It is daily used to reduce all data acquired with the + IRAM 30M telescope and Plateau de Bure Interferometer + PDBI (except VLBI observations). GILDAS is easily + extensible. GILDAS is written in Fortran-90, with a + few parts in C/C++ (mainly keyboard interaction, + plotting, widgets).''; + homepage = "http://www.iram.fr/IRAMFR/GILDAS/gildas.html"; + license = lib.licenses.free; + maintainers = [ lib.maintainers.bzizou lib.maintainers.smaret ]; + platforms = lib.platforms.all; + }; + +} diff --git a/pkgs/by-name/gi/gildas/wrapper.patch b/pkgs/by-name/gi/gildas/wrapper.patch new file mode 100644 index 000000000000..3843937bf1bc --- /dev/null +++ b/pkgs/by-name/gi/gildas/wrapper.patch @@ -0,0 +1,20 @@ +diff --new-file -r -u gildas-src-feb17d.orig/admin/wrapper.sh gildas-src-feb17d/admin/wrapper.sh +--- gildas-src-feb17d.orig/admin/wrapper.sh 1970-01-01 01:00:00.000000000 +0100 ++++ gildas-src-feb17d/admin/wrapper.sh 2017-05-18 21:00:01.660778782 +0200 +@@ -0,0 +1,16 @@ ++#!/bin/sh -e ++ ++export GAG_ROOT_DIR="%%OUT%%" ++export GAG_PATH="${GAG_ROOT_DIR}/etc" ++export GAG_EXEC_SYSTEM="libexec" ++export GAG_GAG="${HOME}/.gag" ++export PYTHONHOME="%%PYTHONHOME%%" ++if [ -z "\$PYTHONPATH" ]; then ++ PYTHONPATH="${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/python" ++else ++ PYTHONPATH="${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/python:${PYTHONPATH}" ++fi ++export PYTHONPATH ++export LD_LIBRARY_PATH=${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/lib/ ++me=`basename $0` ++exec ${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/bin/${me} ${*} diff --git a/pkgs/by-name/gi/gimme-aws-creds/package.nix b/pkgs/by-name/gi/gimme-aws-creds/package.nix new file mode 100644 index 000000000000..69db86d4591d --- /dev/null +++ b/pkgs/by-name/gi/gimme-aws-creds/package.nix @@ -0,0 +1,84 @@ +{ lib +, installShellFiles +, python3 +, fetchPypi +, fetchFromGitHub +, nix-update-script +, testers +, gimme-aws-creds +}: + +python3.pkgs.buildPythonApplication rec { + pname = "gimme-aws-creds"; + version = "2.8.2"; # N.B: if you change this, check if overrides are still up-to-date + format = "setuptools"; + + src = fetchFromGitHub { + owner = "Nike-Inc"; + repo = "gimme-aws-creds"; + rev = "v${version}"; + hash = "sha256-fsFYcfbLeYV6tpOGgNrFmYjcUAmdsx5zwUbvcctwFVs="; + }; + + nativeBuildInputs = with python3.pkgs; [ + installShellFiles + ]; + + pythonRemoveDeps = [ + "configparser" + ]; + + dependencies = with python3.pkgs; [ + boto3 + beautifulsoup4 + ctap-keyring-device + requests + okta + pyjwt + html5lib + furl + ]; + + preCheck = '' + # Disable using platform's keyring unavailable in sandbox + export PYTHON_KEYRING_BACKEND="keyring.backends.fail.Keyring" + ''; + + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + responses + ]; + + disabledTests = [ + "test_build_factor_name_webauthn_registered" + ]; + + pythonImportsCheck = [ + "gimme_aws_creds" + ]; + + postInstall = '' + rm $out/bin/gimme-aws-creds.cmd + chmod +x $out/bin/gimme-aws-creds + installShellCompletion --bash --name gimme-aws-creds $out/bin/gimme-aws-creds-autocomplete.sh + rm $out/bin/gimme-aws-creds-autocomplete.sh + ''; + + passthru = { + updateScript = nix-update-script { }; + tests.version = testers.testVersion { + package = gimme-aws-creds; + command = ''touch tmp.conf && OKTA_CONFIG="tmp.conf" gimme-aws-creds --version''; + version = "gimme-aws-creds ${version}"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/Nike-Inc/gimme-aws-creds"; + changelog = "https://github.com/Nike-Inc/gimme-aws-creds/releases"; + description = "CLI that utilizes Okta IdP via SAML to acquire temporary AWS credentials"; + mainProgram = "gimme-aws-creds"; + license = licenses.asl20; + maintainers = with maintainers; [ jbgosselin ]; + }; +} diff --git a/pkgs/by-name/gi/gimoji/package.nix b/pkgs/by-name/gi/gimoji/package.nix new file mode 100644 index 000000000000..02fe472ab39e --- /dev/null +++ b/pkgs/by-name/gi/gimoji/package.nix @@ -0,0 +1,32 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "gimoji"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "zeenix"; + repo = "gimoji"; + rev = version; + hash = "sha256-X1IiDnnRXiZBL/JBDfioKc/724TnVKaEjZLrNwX5SoA="; + }; + + cargoHash = "sha256-4B+IRYnqwIqkxjRjlxER8O414Zd/8Are4fu1OxA+dWI="; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ]; + + meta = with lib; { + description = "Easily add emojis to your git commit messages"; + homepage = "https://github.com/zeenix/gimoji"; + license = licenses.mit; + mainProgram = "gimoji"; + maintainers = with maintainers; [ a-kenji ]; + }; +} diff --git a/pkgs/by-name/gi/gimx/conf.patch b/pkgs/by-name/gi/gimx/conf.patch new file mode 100644 index 000000000000..1040a6192f38 --- /dev/null +++ b/pkgs/by-name/gi/gimx/conf.patch @@ -0,0 +1,26 @@ +diff --git a/core/config_reader.c b/core/config_reader.c +index 451fc48..ed45f4d 100644 +--- a/core/config_reader.c ++++ b/core/config_reader.c +@@ -1355,7 +1355,7 @@ int read_config_file(const char* file) + char file_path[PATH_MAX]; + + snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file); +- ++ snprintf(file_path, sizeof(file_path), "%s", file); + if(read_file(file_path) == -1) + { + gerror("read_file failed\n"); +diff --git a/core/gimx.c b/core/gimx.c +index 700cae9..9143d8b 100755 +--- a/core/gimx.c ++++ b/core/gimx.c +@@ -192,7 +192,7 @@ void show_config() + char file_path[PATH_MAX]; + + snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file); +- ++ snprintf(file_path, sizeof(file_path), "%s", gimx_params.config_file); + FILE * fp = gfile_fopen(file_path, "r"); + if (fp == NULL) + { diff --git a/pkgs/by-name/gi/gimx/gcc14.patch b/pkgs/by-name/gi/gimx/gcc14.patch new file mode 100644 index 000000000000..b736891f07ea --- /dev/null +++ b/pkgs/by-name/gi/gimx/gcc14.patch @@ -0,0 +1,26 @@ +diff --git a/core/config_reader.c b/core/config_reader.c +index 451fc48..737d27c 100644 +--- a/core/config_reader.c ++++ b/core/config_reader.c +@@ -17,7 +17,7 @@ + #include "../directories.h" + #include "macros.h" + #include <errno.h> +- ++#include <stdlib.h> + /* + * These variables are used to read the configuration. + */ +diff --git a/core/gimx.c b/core/gimx.c +index 700cae9..693f72f 100755 +--- a/core/gimx.c ++++ b/core/gimx.c +@@ -8,7 +8,7 @@ + #include <errno.h> //to print errors + #include <string.h> //to print errors + #include <limits.h> //PATH_MAX +- ++#include <stdlib.h> + #ifndef WIN32 + #include <termios.h> //to disable/enable echo + #include <unistd.h> diff --git a/pkgs/by-name/gi/gimx/package.nix b/pkgs/by-name/gi/gimx/package.nix new file mode 100644 index 000000000000..8f81ab09357d --- /dev/null +++ b/pkgs/by-name/gi/gimx/package.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, bluez, libxml2, ncurses5, libmhash, xorg }: + +let + gimx-config = fetchFromGitHub { + owner = "matlo"; + repo = "GIMX-configurations"; + rev = "c20300f24d32651d369e2b27614b62f4b856e4a0"; + hash = "sha256-t/Ttlvc9LCRW624oSsFaP8EmswJ3OAn86QgF1dCUjAs="; + }; + +in stdenv.mkDerivation rec { + pname = "gimx"; + version = "8.0"; + + src = fetchFromGitHub { + owner = "matlo"; + repo = "GIMX"; + rev = "v${version}"; + fetchSubmodules = true; + hash = "sha256-BcFLdQgEAi6Sxyb5/P9YAIkmeXNZXrKcOa/6g817xQg="; + }; + + env.NIX_CFLAGS_COMPILE = "-Wno-error"; + patches = [ ./conf.patch ./gcc14.patch ]; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ curl libusb1 bluez libxml2 ncurses5 libmhash xorg.libX11 xorg.libXi ]; + makeFlags = [ "build-core" ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + substituteInPlace ./core/Makefile --replace-fail "chmod ug+s" "echo" + export DESTDIR="$out" + make install-shared install-core + mv $out/usr/lib $out/lib + mv $out/usr/bin $out/bin + cp -r ${gimx-config}/Linux $out/share + + makeWrapper $out/bin/gimx $out/bin/gimx-ds4 \ + --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \ + --add-flags "-c $out/share/Dualshock4.xml" + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/matlo/GIMX"; + description = "Game Input Multiplexer"; + license = licenses.gpl3Only; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/gi/ginac/package.nix b/pkgs/by-name/gi/ginac/package.nix new file mode 100644 index 000000000000..d2713befed38 --- /dev/null +++ b/pkgs/by-name/gi/ginac/package.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python3 }: + +stdenv.mkDerivation rec { + pname = "ginac"; + version = "1.8.7"; + + src = fetchurl { + url = "https://www.ginac.de/ginac-${version}.tar.bz2"; + sha256 = "sha256-cf9PLYoA5vB86P7mm3bcweu7cnvmdgtYfB+7XM97Yeo="; + }; + + propagatedBuildInputs = [ cln ]; + + buildInputs = [ readline ] + ++ lib.optional stdenv.hostPlatform.isDarwin gmp; + + nativeBuildInputs = [ pkg-config python3 ]; + + strictDeps = true; + + preConfigure = '' + patchShebangs ginsh + ''; + + configureFlags = [ "--disable-rpath" ]; + + meta = with lib; { + description = "GiNaC is Not a CAS"; + homepage = "https://www.ginac.de/"; + maintainers = with maintainers; [ lovek323 ]; + license = licenses.gpl2; + platforms = platforms.all; + }; +} diff --git a/pkgs/by-name/gi/ginkgo/package.nix b/pkgs/by-name/gi/ginkgo/package.nix new file mode 100644 index 000000000000..06a4c36a7d9f --- /dev/null +++ b/pkgs/by-name/gi/ginkgo/package.nix @@ -0,0 +1,45 @@ +{ lib, buildGoModule, fetchFromGitHub, testers, ginkgo }: + +buildGoModule rec { + pname = "ginkgo"; + version = "2.21.0"; + + src = fetchFromGitHub { + owner = "onsi"; + repo = "ginkgo"; + rev = "v${version}"; + sha256 = "sha256-9WvBdcl65WTwzFKTPYTg6ufhIBuqx+T99ng7UePSNHU="; + }; + vendorHash = "sha256-tjHBnkFlkP7n0/c9bz/nUzWerPzVQ+12cKijG1Jzti8="; + + # integration tests expect more file changes + # types tests are missing CodeLocation + excludedPackages = [ "integration" "types" ]; + + __darwinAllowLocalNetworking = true; + + passthru.tests.version = testers.testVersion { + package = ginkgo; + command = "ginkgo version"; + }; + + meta = with lib; { + homepage = "https://onsi.github.io/ginkgo/"; + changelog = "https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md"; + description = "Modern Testing Framework for Go"; + mainProgram = "ginkgo"; + longDescription = '' + Ginkgo is a testing framework for Go designed to help you write expressive + tests. It is best paired with the Gomega matcher library. When combined, + Ginkgo and Gomega provide a rich and expressive DSL + (Domain-specific Language) for writing tests. + + Ginkgo is sometimes described as a "Behavior Driven Development" (BDD) + framework. In reality, Ginkgo is a general purpose testing framework in + active use across a wide variety of testing contexts: unit tests, + integration tests, acceptance test, performance tests, etc. + ''; + license = licenses.mit; + maintainers = with maintainers; [ saschagrunert jk ]; + }; +} diff --git a/pkgs/by-name/gi/gio-sharp/package.nix b/pkgs/by-name/gi/gio-sharp/package.nix new file mode 100644 index 000000000000..91fbb86bd669 --- /dev/null +++ b/pkgs/by-name/gi/gio-sharp/package.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, autoconf, automake, which, pkg-config, mono, glib, gtk-sharp-2_0 }: + +stdenv.mkDerivation rec { + pname = "gio-sharp"; + version = "0.3"; + + src = fetchFromGitHub { + owner = "mono"; + repo = "gio-sharp"; + + rev = version; + sha256 = "13pc529pjabj7lq23dbndc26ssmg5wkhc7lfvwapm87j711m0zig"; + }; + + nativeBuildInputs = [ pkg-config autoconf automake which ]; + buildInputs = [ mono glib gtk-sharp-2_0 ]; + + dontStrip = true; + + prePatch = '' + ./autogen-2.22.sh + ''; + + meta = with lib; { + description = "GIO API bindings"; + homepage = "https://github.com/mono/gio-sharp"; + license = licenses.mit; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/gi/giph/package.nix b/pkgs/by-name/gi/giph/package.nix new file mode 100644 index 000000000000..9d0175911d69 --- /dev/null +++ b/pkgs/by-name/gi/giph/package.nix @@ -0,0 +1,44 @@ +{ stdenvNoCC +, lib +, fetchFromGitHub +, ffmpeg +, xdotool +, slop +, libnotify +, procps +, makeWrapper +}: + +stdenvNoCC.mkDerivation rec { + pname = "giph"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "phisch"; + repo = pname; + rev = version; + sha256 = "19l46m1f32b3bagzrhaqsfnl5n3wbrmg3sdy6fdss4y1yf6nqayk"; + }; + + dontConfigure = true; + + dontBuild = true; + + installFlags = [ "PREFIX=${placeholder "out"}" ]; + + nativeBuildInputs = [ makeWrapper ]; + + postInstall = '' + wrapProgram $out/bin/giph \ + --prefix PATH : ${lib.makeBinPath [ ffmpeg xdotool libnotify slop procps ]} + ''; + + meta = with lib; { + homepage = "https://github.com/phisch/giph"; + description = "Simple gif recorder"; + license = licenses.mit; + maintainers = [ maintainers.lom ]; + platforms = platforms.linux; + mainProgram = "giph"; + }; +} diff --git a/pkgs/by-name/gi/gir-rs/Cargo.lock b/pkgs/by-name/gi/gir-rs/Cargo.lock new file mode 100644 index 000000000000..4a605d9ae634 --- /dev/null +++ b/pkgs/by-name/gi/gir-rs/Cargo.lock @@ -0,0 +1,278 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clock_ticks" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c49a90f58e73ac5f41ed0ac249861ceb5f0976db35fabc2b9c2c856916042d63" + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "log 0.4.17", +] + +[[package]] +name = "fix-getters-rules" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6af7c515020a47f109ddbb4ae0ea662e202c361e5d8570caaca2f1d9037d1bc" +dependencies = [ + "once_cell", +] + +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "gir" +version = "0.0.1" +dependencies = [ + "bitflags", + "env_logger", + "fix-getters-rules", + "getopts", + "hprof", + "log 0.4.17", + "once_cell", + "regex", + "rustdoc-stripper", + "toml", + "xml-rs", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hprof" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17b42e67c01ef27237e424783538a0bc45721ecd53438fab5c3f8bbf5dfd8516" +dependencies = [ + "clock_ticks", + "log 0.3.9", +] + +[[package]] +name = "indexmap" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "log" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +dependencies = [ + "log 0.4.17", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" + +[[package]] +name = "proc-macro2" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "rustdoc-stripper" +version = "0.1.18" +source = "git+https://github.com/GuillaumeGomez/rustdoc-stripper#08114e390ea162c7ed35dc20cbf1d38bd8bfc130" + +[[package]] +name = "serde" +version = "1.0.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_spanned" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c68e921cef53841b8925c2abadd27c9b891d9613bdc43d6b823062866df38e8" +dependencies = [ + "serde", +] + +[[package]] +name = "syn" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "toml" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb9d890e4dc9298b70f740f615f2e05b9db37dce531f6b24fb77ac993f9f217" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729bfd096e40da9c001f778f5cdecbd2957929a24e10e5883d9392220a751581" +dependencies = [ + "indexmap", + "nom8", + "serde", + "serde_spanned", + "toml_datetime", +] + +[[package]] +name = "unicode-ident" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" diff --git a/pkgs/by-name/gi/gir-rs/package.nix b/pkgs/by-name/gi/gir-rs/package.nix new file mode 100644 index 000000000000..afdfbda2c54e --- /dev/null +++ b/pkgs/by-name/gi/gir-rs/package.nix @@ -0,0 +1,37 @@ +{ lib, fetchFromGitHub, rustPlatform }: + +let + version = "0.17.1"; +in +rustPlatform.buildRustPackage { + pname = "gir"; + inherit version; + + src = fetchFromGitHub { + owner = "gtk-rs"; + repo = "gir"; + rev = version; + sha256 = "sha256-WpTyT62bykq/uwzBFQXeJ1HxR1a2vKmtid8YAzk7J+Q="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "rustdoc-stripper-0.1.18" = "sha256-b+RRXJDGULEvkIZDBzU/ZchVF63pX0S9hBupeP12CkU="; + }; + }; + + postPatch = '' + rm build.rs + sed -i '/build = "build\.rs"/d' Cargo.toml + echo "pub const VERSION: &str = \"$version\";" > src/gir_version.rs + ''; + + meta = with lib; { + description = "Tool to generate rust bindings and user API for glib-based libraries"; + homepage = "https://github.com/gtk-rs/gir/"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ ekleog ]; + mainProgram = "gir"; + }; +} diff --git a/pkgs/by-name/gi/girouette/package.nix b/pkgs/by-name/gi/girouette/package.nix index 2c2a733c3117..09b0d61fccc9 100644 --- a/pkgs/by-name/gi/girouette/package.nix +++ b/pkgs/by-name/gi/girouette/package.nix @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ dbus openssl - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; diff --git a/pkgs/by-name/gi/girsh/package.nix b/pkgs/by-name/gi/girsh/package.nix new file mode 100644 index 000000000000..ebec6f968df8 --- /dev/null +++ b/pkgs/by-name/gi/girsh/package.nix @@ -0,0 +1,35 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "girsh"; + version = "0.41"; + + src = fetchFromGitHub { + owner = "nodauf"; + repo = "Girsh"; + rev = "refs/tags/v${version}"; + hash = "sha256-MgzIBag0Exoh0TXW/AD0lbSOj7PVkMeVYQ8v5jdCgAs="; + }; + + vendorHash = "sha256-8NPFohguMX/X1khEPF+noLBNe/MUoPpXS2PN6SiotL8="; + + ldflags = [ + "-s" + "-w" + ]; + + postInstall = '' + mv $out/bin/src $out/bin/$pname + ''; + + meta = with lib; { + description = "Automatically spawn a reverse shell fully interactive for Linux or Windows victim"; + homepage = "https://github.com/nodauf/Girsh"; + changelog = "https://github.com/nodauf/Girsh/releases/tag/v${version}"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/by-name/gi/git-agecrypt/package.nix b/pkgs/by-name/gi/git-agecrypt/package.nix index a9c2d85ff63c..bdd9beba175d 100644 --- a/pkgs/by-name/gi/git-agecrypt/package.nix +++ b/pkgs/by-name/gi/git-agecrypt/package.nix @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage { nativeBuildInputs = [ pkg-config git ]; buildInputs = [ libgit2 zlib ] - ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; + ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; meta = with lib; { diff --git a/pkgs/by-name/gi/git-aggregator/package.nix b/pkgs/by-name/gi/git-aggregator/package.nix new file mode 100644 index 000000000000..740f805d12c5 --- /dev/null +++ b/pkgs/by-name/gi/git-aggregator/package.nix @@ -0,0 +1,43 @@ +{ lib, python3Packages, fetchPypi, git }: + +python3Packages.buildPythonApplication rec { + pname = "git-aggregator"; + version = "2.1.0"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-79xNPzYP1j71sU5wZM5e2xTqQExqQEdxXPxbk4T/Scw="; + }; + + nativeBuildInputs = with python3Packages; [ + setuptools-scm + ]; + + propagatedBuildInputs = with python3Packages; [ + argcomplete + colorama + git + kaptan + requests + ]; + + nativeCheckInputs = [ + git + ]; + + preCheck = '' + export HOME="$(mktemp -d)" + git config --global user.name John + git config --global user.email john@localhost + git config --global init.defaultBranch master + git config --global pull.rebase false + ''; + + meta = with lib; { + description = "Manage the aggregation of git branches from different remotes to build a consolidated one"; + homepage = "https://github.com/acsone/git-aggregator"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ bbjubjub ]; + mainProgram = "gitaggregate"; + }; +} diff --git a/pkgs/by-name/gi/git-annex-remote-rclone/package.nix b/pkgs/by-name/gi/git-annex-remote-rclone/package.nix new file mode 100644 index 000000000000..4d1a7b2ade1d --- /dev/null +++ b/pkgs/by-name/gi/git-annex-remote-rclone/package.nix @@ -0,0 +1,30 @@ +{ lib, stdenvNoCC, fetchFromGitHub, rclone, makeWrapper }: + +stdenvNoCC.mkDerivation rec { + pname = "git-annex-remote-rclone"; + version = "0.8"; + + src = fetchFromGitHub { + owner = "DanielDent"; + repo = "git-annex-remote-rclone"; + rev = "v${version}"; + sha256 = "sha256-B6x67XXE4BHd3x7a8pQlqPPmpy0c62ziDAldB4QpqQ4="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + install -Dm755 -t $out/bin git-annex-remote-rclone + wrapProgram "$out/bin/git-annex-remote-rclone" \ + --prefix PATH ":" "${lib.makeBinPath [ rclone ]}" + ''; + + meta = with lib; { + homepage = "https://github.com/DanielDent/git-annex-remote-rclone"; + description = "Use rclone supported cloud storage providers with git-annex"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = [ maintainers.montag451 ]; + mainProgram = "git-annex-remote-rclone"; + }; +} diff --git a/pkgs/by-name/gi/git-annex-utils/package.nix b/pkgs/by-name/gi/git-annex-utils/package.nix new file mode 100644 index 000000000000..2b63192ea3b0 --- /dev/null +++ b/pkgs/by-name/gi/git-annex-utils/package.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchgit, autoconf, automake, libtool, gmp }: + +stdenv.mkDerivation rec { + pname = "git-annex-utils"; + version = "0.04-3-g531bb33"; + src = fetchgit { + url = "http://git.mysteryvortex.com/repositories/git-annex-utils.git"; + rev = "531bb33"; + sha256 = "1sv7s2ykc840cjwbfn7ayy743643x9i1lvk4cd55w9l052xvzj65"; + }; + nativeBuildInputs = [ autoconf automake ]; + buildInputs = [ libtool gmp ]; + preConfigure = "./autogen.sh"; + + meta = { + description = "gadu, a du like utility for annexed files"; + longDescription = '' + This is a set of utilities that are handy to use with git-annex repositories. + Currently there is only one utility gadu, a du like utility for annexed files. + ''; + homepage = "https://git-annex.mysteryvortex.com/git-annex-utils.html"; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ woffs ]; + mainProgram = "gadu"; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/by-name/gi/git-appraise/package.nix b/pkgs/by-name/gi/git-appraise/package.nix new file mode 100644 index 000000000000..cc77bf5aca65 --- /dev/null +++ b/pkgs/by-name/gi/git-appraise/package.nix @@ -0,0 +1,25 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "git-appraise"; + version = "unstable-2022-04-13"; + + src = fetchFromGitHub { + owner = "google"; + repo = "git-appraise"; + rev = "99aeb0e71544d3e1952e208c339b1aec70968cf3"; + sha256 = "sha256-TteTI8yGP2sckoJ5xuBB5S8xzm1upXmZPlcDLvXZrpc="; + }; + + vendorHash = "sha256-Lzq4qpDAUjKFA2T685eW9NCfzEhDsn5UR1A1cIaZadE="; + + ldflags = [ "-s" "-w" ]; + + meta = with lib; { + description = "Distributed code review system for Git repos"; + homepage = "https://github.com/google/git-appraise"; + license = licenses.asl20; + maintainers = with maintainers; [ vdemeester ]; + mainProgram = "git-appraise"; + }; +} diff --git a/pkgs/by-name/gi/git-backdate/package.nix b/pkgs/by-name/gi/git-backdate/package.nix new file mode 100644 index 000000000000..0d7d5810b9a8 --- /dev/null +++ b/pkgs/by-name/gi/git-backdate/package.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub, python3 }: + +stdenv.mkDerivation rec { + pname = "git-backdate"; + version = "2023-07-19"; + + src = fetchFromGitHub { + owner = "rixx"; + repo = pname; + rev = "8ba5a0eba04e5559be2e4b1b6e02e62b64ca4dd8"; + sha256 = "sha256-91cEGQ0FtoiHEZHQ93jPFHF2vLoeQuBidykePFHtrsY="; + }; + + buildInputs = [ + python3 + ]; + + installPhase = '' + runHook preInstall + install -Dm555 git-backdate -t $out/bin + runHook postInstall + ''; + + meta = with lib; { + description = "Backdate a commit or range of commit to a date or range of dates"; + homepage = "https://github.com/rixx/git-backdate"; + license = licenses.wtfpl; + maintainers = with maintainers; [ matthiasbeyer ]; + mainProgram = "git-backdate"; + }; +} + diff --git a/pkgs/by-name/gi/git-backup-go/package.nix b/pkgs/by-name/gi/git-backup-go/package.nix index 761912e118c3..41fa743ccc5d 100644 --- a/pkgs/by-name/gi/git-backup-go/package.nix +++ b/pkgs/by-name/gi/git-backup-go/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "git-backup-go"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "ChappIO"; repo = "git-backup"; rev = "v${version}"; - hash = "sha256-C/ha/GuRvqxmgrbOgkhup1tNoDT3pDIbE+nO5eMZGlY="; + hash = "sha256-Z32ThzmGkF89wsYqJnP/Koz4/2mulkrvvnUKHE6Crks="; }; - vendorHash = "sha256-wzivnTe9Rx3YLz6lvrzsLiJIbxX7QE059Kzb4rUfD+s="; + vendorHash = "sha256-BLnnwwCrJJd8ihpgfdWel7l8aAIVVJBIpE+97J9ojPo="; ldflags = [ "-X main.Version=${version}" ]; diff --git a/pkgs/by-name/gi/git-bars/package.nix b/pkgs/by-name/gi/git-bars/package.nix new file mode 100644 index 000000000000..66ae9bf2987b --- /dev/null +++ b/pkgs/by-name/gi/git-bars/package.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub, python3Packages, git }: + +python3Packages.buildPythonApplication { + pname = "git-bars"; + version = "unstable-2023-08-08"; + + src = fetchFromGitHub { + owner = "knadh"; + repo = "git-bars"; + rev = "f15fbc15345d9ef021e5a9b278e352bb532dcee8"; + hash = "sha256-jHP6LqhUQv6hh97tSXAdOruWdtp2FXM6ANlpWoA+fHQ="; + }; + + propagatedBuildInputs = [ + git + python3Packages.setuptools + ]; + + meta = with lib; { + homepage = "https://github.com/knadh/git-bars"; + description = "Utility for visualising git commit activity as bars on the terminal"; + license = licenses.mit; + maintainers = [ maintainers.matthiasbeyer ]; + mainProgram = "git-bars"; + }; +} diff --git a/pkgs/by-name/gi/git-big-picture/package.nix b/pkgs/by-name/gi/git-big-picture/package.nix new file mode 100644 index 000000000000..a3ac58c04be8 --- /dev/null +++ b/pkgs/by-name/gi/git-big-picture/package.nix @@ -0,0 +1,27 @@ +{ lib, python3Packages, fetchPypi, git, graphviz }: + +python3Packages.buildPythonApplication rec { + pname = "git-big-picture"; + version = "1.1.1"; + format = "wheel"; + + src = fetchPypi { + inherit format version; + pname = "git_big_picture"; # underscores needed for working download URL + python = "py3"; # i.e. no Python 2.7 + sha256 = "a20a480057ced1585c4c38497d27a5012f12dd29697313f0bb8fa6ddbb5c17d8"; + }; + + postFixup = '' + wrapProgram $out/bin/git-big-picture \ + --prefix PATH ":" ${ lib.makeBinPath [ git graphviz ] } + ''; + + meta = { + description = "Tool for visualization of Git repositories"; + homepage = "https://github.com/git-big-picture/git-big-picture"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.nthorne ]; + mainProgram = "git-big-picture"; + }; +} diff --git a/pkgs/by-name/gi/git-branchstack/package.nix b/pkgs/by-name/gi/git-branchstack/package.nix new file mode 100644 index 000000000000..e0cdfaa884df --- /dev/null +++ b/pkgs/by-name/gi/git-branchstack/package.nix @@ -0,0 +1,30 @@ +{ + lib, + fetchPypi, + python3Packages, +}: + +let + self = python3Packages.buildPythonApplication { + pname = "git-branchstack"; + version = "0.2.0"; + + src = fetchPypi { + pname = "git-branchstack"; + inherit (self) version; + hash = "sha256-gja93LOcVCQ6l+Cygvsm+3uomvxtvUl6t23GIb/tKyQ="; + }; + + dependencies = with python3Packages; [ + git-revise + ]; + + meta = { + homepage = "https://github.com/krobelus/git-branchstack"; + description = "Efficiently manage Git branches without leaving your local branch"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; + }; +in +self diff --git a/pkgs/by-name/gi/git-bug-migration/package.nix b/pkgs/by-name/gi/git-bug-migration/package.nix new file mode 100644 index 000000000000..45e90c521f10 --- /dev/null +++ b/pkgs/by-name/gi/git-bug-migration/package.nix @@ -0,0 +1,35 @@ +{ lib, buildGoModule, fetchFromGitHub, git }: +buildGoModule rec { + pname = "git-bug-migration"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "MichaelMure"; + repo = "git-bug-migration"; + rev = "v${version}"; + hash = "sha256-IOBgrU3C0ZHD2wx9LRVgKEJzDlUj6z2UXlHGU3tdTdQ="; + }; + + vendorHash = "sha256-Hid9OK91LNjLmDHam0ZlrVQopVOsqbZ+BH2rfQi5lS0="; + + nativeCheckInputs = [ git ]; + + ldflags = [ + "-X main.GitExactTag=${version}" + "-X main.GitLastTag=${version}" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + git config --global user.name 'Nixpkgs Test User' + git config --global user.email 'nobody@localhost' + ''; + + meta = with lib; { + description = "Tool for upgrading repositories using git-bug to new versions"; + homepage = "https://github.com/MichaelMure/git-bug-migration"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ DeeUnderscore ]; + mainProgram = "git-bug-migration"; + }; +} diff --git a/pkgs/by-name/gi/git-bug/package.nix b/pkgs/by-name/gi/git-bug/package.nix new file mode 100644 index 000000000000..7db43130ab4c --- /dev/null +++ b/pkgs/by-name/gi/git-bug/package.nix @@ -0,0 +1,44 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: + +buildGoModule rec { + pname = "git-bug"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "git-bug"; + repo = "git-bug"; + rev = "v${version}"; + sha256 = "12byf6nsamwz0ssigan1z299s01cyh8bhgj86bibl90agd4zs9n8"; + }; + + vendorHash = "sha256-32kNDoBE50Jx1Ef9YwhDk7nd3CaTSnHPlu7PgWPUGfE="; + + nativeBuildInputs = [ installShellFiles ]; + + doCheck = false; + + excludedPackages = [ "doc" "misc" ]; + + ldflags = [ + "-X github.com/MichaelMure/git-bug/commands.GitCommit=v${version}" + "-X github.com/MichaelMure/git-bug/commands.GitLastTag=${version}" + "-X github.com/MichaelMure/git-bug/commands.GitExactTag=${version}" + ]; + + postInstall = '' + installShellCompletion \ + --bash misc/completion/bash/git-bug \ + --zsh misc/completion/zsh/git-bug \ + --fish misc/completion/fish/git-bug + + installManPage doc/man/* + ''; + + meta = with lib; { + description = "Distributed bug tracker embedded in Git"; + homepage = "https://github.com/git-bug/git-bug"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ royneary DeeUnderscore sudoforge ]; + mainProgram = "git-bug"; + }; +} diff --git a/pkgs/by-name/gi/git-cache/package.nix b/pkgs/by-name/gi/git-cache/package.nix new file mode 100644 index 000000000000..a099f92f504d --- /dev/null +++ b/pkgs/by-name/gi/git-cache/package.nix @@ -0,0 +1,28 @@ +{fetchFromGitHub, lib, stdenv}: + +stdenv.mkDerivation { + pname = "git-cache"; + version = "2018-06-18"; + + src = fetchFromGitHub { + owner = "Seb35"; + repo = "git-cache"; + rev = "354f661e40b358c5916c06957bd6b2c65426f452"; + hash = "sha256-V7rQOy+s9Lzdc+RTA2QGPfyavw4De/qQ+tWrzYtO2qA="; + }; + + dontBuild = true; + + installPhase = '' + install -Dm555 git-cache $out/bin/git-cache + ''; + + meta = with lib; { + homepage = "https://github.com/Seb35/git-cache"; + license = licenses.wtfpl; + description = "Program to add and manage a system-wide or user-wide cache for remote git repositories"; + mainProgram = "git-cache"; + platforms = platforms.unix; + maintainers = with maintainers; [ maxhearnden ]; + }; +} diff --git a/pkgs/by-name/gi/git-chain/package.nix b/pkgs/by-name/gi/git-chain/package.nix new file mode 100644 index 000000000000..1b66e4eb5d21 --- /dev/null +++ b/pkgs/by-name/gi/git-chain/package.nix @@ -0,0 +1,48 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + git, + nix-update-script, + stdenv, + darwin, +}: + +rustPlatform.buildRustPackage { + pname = "git-chain"; + version = "0-unstable-2024-08-09"; + + src = fetchFromGitHub { + owner = "dashed"; + repo = "git-chain"; + rev = "4fee033ea1ee51bbb6b7f75411f0f4f799aea1e2"; + hash = "sha256-wQZXixg7mCBUo18z/WCkTWW3R0j2jxs8t1yaQzY3Eu4="; + }; + + cargoHash = "sha256-pRxOrlDgfSpUBY2WKfoIH9ngLzb2noiLqxA3/6s+mRw="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + ] + ); + + nativeCheckInputs = [ git ]; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + meta = with lib; { + description = "Tool for rebasing a chain of local git branches"; + homepage = "https://github.com/dashed/git-chain"; + license = licenses.mit; + mainProgram = "git-chain"; + maintainers = with maintainers; [ bcyran ]; + }; +} diff --git a/pkgs/by-name/gi/git-chglog/package.nix b/pkgs/by-name/gi/git-chglog/package.nix new file mode 100644 index 000000000000..eccc508fc257 --- /dev/null +++ b/pkgs/by-name/gi/git-chglog/package.nix @@ -0,0 +1,27 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "git-chglog"; + version = "0.15.4"; + + src = fetchFromGitHub { + owner = "git-chglog"; + repo = "git-chglog"; + rev = "v${version}"; + sha256 = "sha256-rTJn2vUrEnmG2japqCxHv3BR9MpmMfpMLO2FBP6ONbw="; + }; + + vendorHash = "sha256-skhEHpSnxOTZrL8XLlQZL3s224mg8XRINKJnatYCQko="; + + ldflags = [ "-s" "-w" "-X=main.Version=v${version}" ]; + + subPackages = [ "cmd/git-chglog" ]; + + meta = with lib; { + description = "CHANGELOG generator implemented in Go (Golang)"; + homepage = "https://github.com/git-chglog/git-chglog"; + license = licenses.mit; + maintainers = with maintainers; [ ldenefle ]; + mainProgram = "git-chglog"; + }; +} diff --git a/pkgs/by-name/gi/git-codereview/package.nix b/pkgs/by-name/gi/git-codereview/package.nix new file mode 100644 index 000000000000..a55fe7e3e7ed --- /dev/null +++ b/pkgs/by-name/gi/git-codereview/package.nix @@ -0,0 +1,27 @@ +{ lib, buildGoModule, fetchFromGitHub, git }: + +buildGoModule rec { + pname = "git-codereview"; + version = "1.12.0"; + + src = fetchFromGitHub { + owner = "golang"; + repo = "review"; + rev = "v${version}"; + hash = "sha256-s3Re+LD3B8TAjamOSu66AfhaiIdcBoTjxEWxHEWSLPA="; + }; + + vendorHash = null; + + ldflags = [ "-s" "-w" ]; + + nativeCheckInputs = [ git ]; + + meta = with lib; { + description = "Manage the code review process for Git changes using a Gerrit server"; + homepage = "https://golang.org/x/review/git-codereview"; + license = licenses.bsd3; + maintainers = [ maintainers.edef ]; + mainProgram = "git-codereview"; + }; +} diff --git a/pkgs/by-name/gi/git-cola/package.nix b/pkgs/by-name/gi/git-cola/package.nix new file mode 100644 index 000000000000..fac196e9ad0c --- /dev/null +++ b/pkgs/by-name/gi/git-cola/package.nix @@ -0,0 +1,69 @@ +{ stdenv +, lib +, fetchFromGitHub +, python3Packages +, gettext +, git +, qt5 +, gitUpdater +}: + +python3Packages.buildPythonApplication rec { + pname = "git-cola"; + version = "4.8.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "git-cola"; + repo = "git-cola"; + rev = "v${version}"; + hash = "sha256-8OErZ6uKTWE245BoBu9lQyTLA43DfWaYDv3wbPWaufg="; + }; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + qt5.qtwayland + ]; + + propagatedBuildInputs = with python3Packages; [ + setuptools + git + pyqt5 + qtpy + send2trash + polib + ]; + + nativeBuildInputs = with python3Packages; [ + setuptools-scm + gettext + qt5.wrapQtAppsHook + ]; + + nativeCheckInputs = with python3Packages; [ + git + pytestCheckHook + ]; + + disabledTestPaths = [ + "qtpy/" + "contrib/win32" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "cola/inotify.py" + ]; + + preFixup = '' + makeWrapperArgs+=("''${qtWrapperArgs[@]}") + ''; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + meta = with lib; { + homepage = "https://github.com/git-cola/git-cola"; + description = "Sleek and powerful Git GUI"; + license = licenses.gpl2; + maintainers = [ maintainers.bobvanderlinden ]; + mainProgram = "git-cola"; + }; +} diff --git a/pkgs/by-name/gi/git-crecord/package.nix b/pkgs/by-name/gi/git-crecord/package.nix new file mode 100644 index 000000000000..5365dc4e43ae --- /dev/null +++ b/pkgs/by-name/gi/git-crecord/package.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub, python3 }: + +python3.pkgs.buildPythonApplication rec { + pname = "git-crecord"; + version = "20230226.0"; + + src = fetchFromGitHub { + owner = "andrewshadura"; + repo = "git-crecord"; + rev = "refs/tags/${version}"; + sha256 = "sha256-zsrMAD9EU+TvkWfWl9x6WbMXuw7YEz50LxQzSFVkKdQ="; + }; + + propagatedBuildInputs = with python3.pkgs; [ docutils ]; + + # has no tests + doCheck = false; + + meta = with lib; { + homepage = "https://github.com/andrewshadura/git-crecord"; + description = "Git subcommand to interactively select changes to commit or stage"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ onny ]; + mainProgram = "git-crecord"; + }; +} diff --git a/pkgs/by-name/gi/git-credential-oauth/package.nix b/pkgs/by-name/gi/git-credential-oauth/package.nix new file mode 100644 index 000000000000..209a3e8f7d08 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-oauth/package.nix @@ -0,0 +1,36 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: + +buildGoModule rec { + pname = "git-credential-oauth"; + version = "0.13.3"; + + src = fetchFromGitHub { + owner = "hickford"; + repo = pname; + rev = "v${version}"; + hash = "sha256-vs+PRFyvzn25nM6oO4VybXkTr1frmSspA2isSXLJFQo="; + }; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; + + vendorHash = "sha256-muK8UZW+8bhC6K0FvN6B7evTMeZnMeYlrIMJdJprPLM="; + + postInstall = '' + installManPage $src/git-credential-oauth.1 + ''; + + meta = { + description = "Git credential helper that securely authenticates to GitHub, GitLab and BitBucket using OAuth"; + homepage = "https://github.com/hickford/git-credential-oauth"; + changelog = "https://github.com/hickford/git-credential-oauth/releases/tag/${src.rev}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ shyim ]; + mainProgram = "git-credential-oauth"; + }; +} diff --git a/pkgs/by-name/gi/git-crypt/package.nix b/pkgs/by-name/gi/git-crypt/package.nix new file mode 100644 index 000000000000..2355f48bcb77 --- /dev/null +++ b/pkgs/by-name/gi/git-crypt/package.nix @@ -0,0 +1,71 @@ +{ fetchFromGitHub +, git +, gnupg +, makeWrapper +, openssl +, lib +, stdenv +, libxslt +, docbook_xsl +}: + +stdenv.mkDerivation rec { + pname = "git-crypt"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "AGWA"; + repo = pname; + rev = version; + sha256 = "sha256-GcGCX6hoKL+sNLAeGEzZpaM+cdFjcNlwYExfOFEPi0I="; + }; + + strictDeps = true; + + nativeBuildInputs = [ libxslt makeWrapper ]; + + buildInputs = [ openssl ]; + + postPatch = '' + substituteInPlace commands.cpp \ + --replace '(escape_shell_arg(our_exe_path()))' '= "git-crypt"' + ''; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "ENABLE_MAN=yes" + "DOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl-nons/manpages/docbook.xsl" + ]; + + # https://github.com/AGWA/git-crypt/issues/232 + CXXFLAGS = [ + "-DOPENSSL_API_COMPAT=0x30000000L" + ]; + + postFixup = '' + wrapProgram $out/bin/git-crypt \ + --suffix PATH : ${lib.makeBinPath [ git gnupg ]} + ''; + + meta = with lib; { + homepage = "https://www.agwa.name/projects/git-crypt"; + description = "Transparent file encryption in git"; + longDescription = '' + git-crypt enables transparent encryption and decryption of files in a git + repository. Files which you choose to protect are encrypted when + committed, and decrypted when checked out. git-crypt lets you freely + share a repository containing a mix of public and private + content. git-crypt gracefully degrades, so developers without the secret + key can still clone and commit to a repository with encrypted files. This + lets you store your secret material (such as keys or passwords) in the + same repository as your code, without requiring you to lock down your + entire repository. + ''; + downloadPage = "https://github.com/AGWA/git-crypt/releases"; + license = licenses.gpl3; + maintainers = with maintainers; [ dochang ]; + platforms = platforms.unix; + mainProgram = "git-crypt"; + }; + +} diff --git a/pkgs/by-name/gi/git-delete-merged-branches/package.nix b/pkgs/by-name/gi/git-delete-merged-branches/package.nix new file mode 100644 index 000000000000..423dc72d24ff --- /dev/null +++ b/pkgs/by-name/gi/git-delete-merged-branches/package.nix @@ -0,0 +1,28 @@ +{ lib, python3Packages, fetchFromGitHub, git }: + +python3Packages.buildPythonApplication rec { + pname = "git-delete-merged-branches"; + version = "7.4.1"; + + src = fetchFromGitHub { + owner = "hartwork"; + repo = pname; + rev = "refs/tags/${version}"; + sha256 = "sha256-1CUwac2TPU5s1uLS1zPvtXZEGCWYwm1y935jqbI173Q="; + }; + + propagatedBuildInputs = with python3Packages; [ + colorama + prompt-toolkit + ]; + + nativeCheckInputs = [ git ] + ++ (with python3Packages; [ parameterized ]); + + meta = with lib; { + description = "Command-line tool to delete merged Git branches"; + homepage = "https://pypi.org/project/git-delete-merged-branches/"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/by-name/gi/git-dive/package.nix b/pkgs/by-name/gi/git-dive/package.nix new file mode 100644 index 000000000000..b80397e142bf --- /dev/null +++ b/pkgs/by-name/gi/git-dive/package.nix @@ -0,0 +1,69 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, libgit2 +, oniguruma +, zlib +, stdenv +, darwin +, git +}: + +rustPlatform.buildRustPackage rec { + pname = "git-dive"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "gitext-rs"; + repo = "git-dive"; + rev = "v${version}"; + hash = "sha256-sy2qNFn8JLE173HVWfFXBx21jcx4kpFMwi9a0m38lso="; + }; + + cargoHash = "sha256-Z3TgVunC/qNzUe0X9xIg3fTFXFk2w9yDA+EskSCg0Qo="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libgit2 + oniguruma + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + nativeCheckInputs = [ + git + ]; + + # don't use vendored libgit2 + buildNoDefaultFeatures = true; + + checkFlags = [ + # requires internet access + "--skip=screenshot" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + git config --global user.name nixbld + git config --global user.email nixbld@example.com + ''; + + env = { + LIBGIT2_NO_VENDOR = 1; + RUSTONIG_SYSTEM_LIBONIG = true; + }; + + meta = with lib; { + description = "Dive into a file's history to find root cause"; + homepage = "https://github.com/gitext-rs/git-dive"; + changelog = "https://github.com/gitext-rs/git-dive/blob/${src.rev}/CHANGELOG.md"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "git-dive"; + }; +} diff --git a/pkgs/by-name/gi/git-extras/package.nix b/pkgs/by-name/gi/git-extras/package.nix new file mode 100644 index 000000000000..53382b2c2403 --- /dev/null +++ b/pkgs/by-name/gi/git-extras/package.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, unixtools +, which +}: + +stdenv.mkDerivation rec { + pname = "git-extras"; + version = "7.3.0"; + + src = fetchFromGitHub { + owner = "tj"; + repo = "git-extras"; + rev = version; + sha256 = "sha256-0XZwEhDjh+rL6ZEWb60+GUw7hFOS3Xr32hgPNJcOL9I="; + }; + + postPatch = '' + patchShebangs check_dependencies.sh + ''; + + nativeBuildInputs = [ + unixtools.column + which + ]; + + dontBuild = true; + + installFlags = [ + "PREFIX=${placeholder "out"}" + "SYSCONFDIR=${placeholder "out"}/share" + ]; + + postInstall = '' + # bash completion is already handled by make install + install -D etc/git-extras-completion.zsh $out/share/zsh/site-functions/_git_extras + ''; + + meta = with lib; { + homepage = "https://github.com/tj/git-extras"; + description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/by-name/gi/git-fast-export/package.nix b/pkgs/by-name/gi/git-fast-export/package.nix new file mode 100644 index 000000000000..f94bf3a3e580 --- /dev/null +++ b/pkgs/by-name/gi/git-fast-export/package.nix @@ -0,0 +1,88 @@ +{ + lib, + stdenv, + fetchFromGitHub, + git, + mercurial, + makeWrapper, + nix-update-script, + fetchpatch, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "fast-export"; + version = "231118"; + + src = fetchFromGitHub { + owner = "frej"; + repo = "fast-export"; + rev = "v${finalAttrs.version}"; + hash = "sha256-JUy0t2yzd4bI7WPGG1E8L1topLfR5leV/WTU+u0bCyM="; + }; + + patches = [ + (fetchpatch { + url = "https://github.com/frej/fast-export/commit/a3d0562737e1e711659e03264e45cb47a5a2f46d.patch?full_index=1"; + hash = "sha256-vZOHnb5lXO22ElCK4oWQKCcPIqRyZV5axWfZqa84V1Y="; + }) + ]; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ + mercurial.python + mercurial + ]; + + installPhase = '' + binPath=$out/bin + libexecPath=$out/libexec/fast-export + sitepackagesPath=$out/${mercurial.python.sitePackages} + mkdir -p $binPath $libexecPath $sitepackagesPath + + # Patch shell scripts so they can execute the Python scripts + sed -i "s|ROOT=.*|ROOT=$libexecPath|" *.sh + + mv hg-fast-export.sh hg-reset.sh $binPath + mv hg-fast-export.py hg-reset.py $libexecPath + mv hg2git.py pluginloader plugins $sitepackagesPath + + for script in $out/bin/*.sh; do + wrapProgram $script \ + --prefix PATH : "${git}/bin":"${mercurial.python}/bin":$libexec \ + --prefix PYTHONPATH : "${mercurial}/${mercurial.python.sitePackages}":$sitepackagesPath + done + ''; + + doInstallCheck = true; + # deliberately not adding git or hg into nativeInstallCheckInputs - package should + # be able to work without them in runtime env + installCheckPhase = '' + mkdir repo-hg + pushd repo-hg + ${mercurial}/bin/hg init + echo foo > bar + ${mercurial}/bin/hg add bar + ${mercurial}/bin/hg commit --message "baz" + popd + + mkdir repo-git + pushd repo-git + ${git}/bin/git init + ${git}/bin/git config core.ignoreCase false # for darwin + $out/bin/hg-fast-export.sh -r ../repo-hg/ --hg-hash + for s in "foo" "bar" "baz" ; do + (${git}/bin/git show | grep $s > /dev/null) && echo $s found + done + popd + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Import mercurial into git"; + homepage = "https://repo.or.cz/w/fast-export.git"; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.koral ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/gi/git-fire/package.nix b/pkgs/by-name/gi/git-fire/package.nix new file mode 100644 index 000000000000..bc7e9f4840b7 --- /dev/null +++ b/pkgs/by-name/gi/git-fire/package.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + pname = "git-fire"; + version = "unstable-2017-08-27"; + + src = fetchFromGitHub { + owner = "qw3rtman"; + repo = "git-fire"; + rev = "d72b68ed356f726c77c60294f9220275f16c9931"; + sha256 = "1hdwkhyjjx31y0lpjkhbb4f5y9f7g70fnd4c2246cmk2rbsvj5b2"; + }; + + installPhase = '' + install -D -m755 $src/git-fire $out/bin/git-fire + ''; + + meta = with lib; { + description = '' + Push ALL changes in a git repository + ''; + longDescription = '' + In the event of an emergency (fire, etc.), automatically commit all changes/files in a repository, pushing to all known remotes all commits and stashes. + ''; + homepage = "https://github.com/qw3rtman/git-fire"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ swflint ]; + mainProgram = "git-fire"; + }; +} diff --git a/pkgs/by-name/gi/git-fixup/package.nix b/pkgs/by-name/gi/git-fixup/package.nix index 9a42a529e726..467870e33f32 100644 --- a/pkgs/by-name/gi/git-fixup/package.nix +++ b/pkgs/by-name/gi/git-fixup/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper, git, coreutils, gnused, gnugrep }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + git, + coreutils, + gnused, + gnugrep, + nix-update-script, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "git-fixup"; @@ -28,9 +38,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { postInstall = '' wrapProgram $out/bin/git-fixup \ - --prefix PATH : "${lib.makeBinPath [ git coreutils gnused gnugrep ]}" + --prefix PATH : "${ + lib.makeBinPath [ + git + coreutils + gnused + gnugrep + ] + }" ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Fighting the copy-paste element of your rebase workflow"; homepage = "https://github.com/keis/git-fixup"; diff --git a/pkgs/by-name/gi/git-ftp/package.nix b/pkgs/by-name/gi/git-ftp/package.nix new file mode 100644 index 000000000000..a3087249cadd --- /dev/null +++ b/pkgs/by-name/gi/git-ftp/package.nix @@ -0,0 +1,100 @@ +{ lib +, resholve +, fetchFromGitHub +, fetchpatch +, bash +, coreutils +, git +, gnugrep +, gawk +, curl +, hostname +, gnused +, findutils +, lftp +, pandoc +, man +}: + +resholve.mkDerivation rec { + pname = "git-ftp"; + version = "1.6.0"; + src = fetchFromGitHub { + owner = "git-ftp"; + repo = "git-ftp"; + rev = version; + sha256 = "1hxkqf7jbrx24q18yxpnd3dxzh4xk6asymwkylp1x7zg6mcci87d"; + }; + + dontBuild = true; + + # fix bug/typo; PRed upstream @ + # https://github.com/git-ftp/git-ftp/pull/628 + patches = [ + (fetchpatch { + name = "fix-function-invocation-typo.patch"; + url = "https://github.com/git-ftp/git-ftp/commit/cddf7cbba80e710758f6aac0ec0d77552ea8cd75.patch"; + sha256 = "sha256-2B0QaMJi78Bg3bA1jp41aiyql1/LCryoaDs7+xmS1HY="; + }) + ]; + + installPhase = '' + make install-all prefix=$out + ''; + + nativeBuildInputs = [ pandoc man ]; + + solutions = { + git-ftp = { + scripts = [ "bin/git-ftp" ]; + interpreter = "${bash}/bin/bash"; + inputs = [ + coreutils + git + gnugrep + gawk + curl + hostname + gnused + findutils + lftp + ]; + fake = { + # don't resolve impure system macOS security + # caution: will still be fragile if PATH is bad + # TODO: fixable once we figure out how to handle + # this entire class of problem... + "external" = [ "security" ]; + }; + keep = { + # looks like run-time user/env/git-config controlled + "$GIT_PAGER" = true; + "$hook" = true; # presumably git hooks given context + }; + execer = [ + # TODO: rm when binlore/resholve handle git; manually + # checked and see no obvious subexec for now + "cannot:${git}/bin/git" + /* + Mild uncertainty here. There *are* commandlikes in + the arguments (especially wait & cd), but I think they are + fine as-is, because I'm reading them as: + 1. ftp commands + 2. running on the remote anyways + + See https://github.com/git-ftp/git-ftp/blob/057f7d8e9f00ffc5a8c6ceaa4be30af2939df41a/git-ftp#L1214-L1221 + */ + "cannot:${lftp}/bin/lftp" + ]; + }; + }; + + meta = with lib; { + description = "Git powered FTP client written as shell script"; + homepage = "https://git-ftp.github.io/"; + license = licenses.gpl3; + maintainers = with maintainers; [ tweber ]; + platforms = platforms.unix; + mainProgram = "git-ftp"; + }; +} diff --git a/pkgs/by-name/gi/git-gr/package.nix b/pkgs/by-name/gi/git-gr/package.nix index 96a03ed49e94..a50d389c04d0 100644 --- a/pkgs/by-name/gi/git-gr/package.nix +++ b/pkgs/by-name/gi/git-gr/package.nix @@ -35,11 +35,11 @@ rustPlatform.buildRustPackage { nativeBuildInputs = [installShellFiles] - ++ lib.optional stdenv.isLinux pkg-config; + ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; buildInputs = - lib.optional stdenv.isLinux openssl - ++ lib.optionals stdenv.isDarwin [ + lib.optional stdenv.hostPlatform.isLinux openssl + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.CoreServices darwin.apple_sdk.frameworks.SystemConfiguration diff --git a/pkgs/by-name/gi/git-graph/package.nix b/pkgs/by-name/gi/git-graph/package.nix new file mode 100644 index 000000000000..e801cb0e23bf --- /dev/null +++ b/pkgs/by-name/gi/git-graph/package.nix @@ -0,0 +1,28 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, stdenv +}: + +rustPlatform.buildRustPackage rec { + pname = "git-graph"; + version = "unstable-2023-01-14"; + + src = fetchFromGitHub { + owner = "mlange-42"; + repo = pname; + rev = "9bd54eb0aed6f108364bce9ad0bdff12077038fc"; + hash = "sha256-tMM/mpt9yzZYSpnOGBuGLM0XTJiiyChfUrERMuyn3mQ="; + }; + + cargoHash = "sha256-ZLF/l2HnIbmkayWXhjYr01M6lGaGiK2UYyp654ncxgo="; + + meta = with lib; { + description = "Command line tool to show clear git graphs arranged for your branching model"; + homepage = "https://github.com/mlange-42/git-graph"; + license = licenses.mit; + broken = stdenv.hostPlatform.isDarwin; + maintainers = with maintainers; [ cafkafk ]; + mainProgram = "git-graph"; + }; +} diff --git a/pkgs/by-name/gi/git-hound/package.nix b/pkgs/by-name/gi/git-hound/package.nix new file mode 100644 index 000000000000..86efeef1c444 --- /dev/null +++ b/pkgs/by-name/gi/git-hound/package.nix @@ -0,0 +1,43 @@ +{ buildGoModule +, fetchFromGitHub +, fetchpatch +, lib +}: + +buildGoModule rec { + pname = "git-hound"; + version = "1.7.2"; + + src = fetchFromGitHub { + owner = "tillson"; + repo = pname; + rev = "v${version}"; + hash = "sha256-W+rYDyRIw4jWWO4UZkUHFq/D/7ZXM+y5vdbclk6S0ro="; + }; + + patches = [ + # https://github.com/tillson/git-hound/pull/66 + (fetchpatch { + url = "https://github.com/tillson/git-hound/commit/cd8aa19401cfdec9e4d76c1f6eb4d85928ec4b03.patch"; + hash = "sha256-EkdR2KkxxlMLNtKFGpxsQ/msJT5NcMF7irIUcU2WWJY="; + }) + ]; + + # tests fail outside of nix + doCheck = false; + + vendorHash = "sha256-8teIa083oMXm0SjzMP+mGOVAel1Hbsp3TSMhdvqVbQs="; + + meta = with lib; { + description = "Reconnaissance tool for GitHub code search"; + longDescription = '' + GitHound pinpoints exposed API keys and other sensitive information + across all of GitHub using pattern matching, commit history searching, + and a unique result scoring system. + ''; + homepage = "https://github.com/tillson/git-hound"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + mainProgram = "git-hound"; + }; +} diff --git a/pkgs/by-name/gi/git-hub/package.nix b/pkgs/by-name/gi/git-hub/package.nix new file mode 100644 index 000000000000..907721f882b3 --- /dev/null +++ b/pkgs/by-name/gi/git-hub/package.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchFromGitHub, gitMinimal, docutils }: + +stdenv.mkDerivation rec { + pname = "git-hub"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "sociomantic-tsunami"; + repo = "git-hub"; + rev = "v${version}"; + sha256 = "sha256-fb/WDmBx1Vayu4fLeG+D1nmHJJawgIAAXcQsABsenBo="; + }; + + nativeBuildInputs = [ + gitMinimal # Used during build to generate Bash completion. + docutils + ]; + + postPatch = '' + patchShebangs . + ''; + + enableParallelBuilding = true; + + installFlags = [ "prefix=$(out)" "sysconfdir=$(out)/etc" ]; + + postInstall = '' + # Remove inert ftdetect vim plugin and a README that's a man page subset: + rm -r $out/share/{doc,vim} + ''; + + meta = with lib; { + inherit (src.meta) homepage; + description = "Git command line interface to GitHub"; + longDescription = '' + A simple command line interface to GitHub, enabling most useful GitHub + tasks (like creating and listing pull request or issues) to be accessed + directly through the Git command line. + ''; + license = licenses.gpl3Plus; + platforms = platforms.all; + mainProgram = "git-hub"; + }; +} diff --git a/pkgs/by-name/gi/git-identity/package.nix b/pkgs/by-name/gi/git-identity/package.nix new file mode 100644 index 000000000000..51addeebc16c --- /dev/null +++ b/pkgs/by-name/gi/git-identity/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + installShellFiles, + ronn, + nix-update-script, +}: +stdenvNoCC.mkDerivation rec { + pname = "git-identity"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "madx"; + repo = "git-identity"; + rev = "refs/tags/v${version}"; + hash = "sha256-u4lIW0bntaKrVUwodXZ8ZwWxSZtLuhVSUAbIj8jjcLw="; + }; + + nativeBuildInputs = [ + installShellFiles + ronn + ]; + + buildPhase = '' + runHook preBuild + ronn --roff git-identity.1.ronn + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp git-identity $out/bin/git-identity + installManPage git-identity.1 + installShellCompletion --cmd git-identity \ + --bash git-identity.bash-completion \ + --zsh git-identity.zsh-completion + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Manage your identity in Git"; + mainProgram = "git-identity"; + homepage = "https://github.com/madx/git-identity"; + license = lib.licenses.wtfpl; + maintainers = with lib.maintainers; [ mynacol ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/by-name/gi/git-igitt/package.nix b/pkgs/by-name/gi/git-igitt/package.nix index a8c281991686..65ee35a5e763 100644 --- a/pkgs/by-name/gi/git-igitt/package.nix +++ b/pkgs/by-name/gi/git-igitt/package.nix @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage { libgit2 oniguruma zlib - ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; env = { RUSTONIG_SYSTEM_LIBONIG = true; diff --git a/pkgs/by-name/gi/git-ignore/package.nix b/pkgs/by-name/gi/git-ignore/package.nix new file mode 100644 index 000000000000..12f4f02fd0a2 --- /dev/null +++ b/pkgs/by-name/gi/git-ignore/package.nix @@ -0,0 +1,44 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, installShellFiles +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "git-ignore"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "sondr3"; + repo = pname; + rev = "v${version}"; + hash = "sha256-KIdhsbD9v2kCM2C/kSJCleyniEz4Bw7UxBsF762fnJs="; + }; + + cargoHash = "sha256-UicChl0wD2GSCCHAqF4/FKVq15g9qusNOnNJJW2B/nw="; + + nativeBuildInputs = [ + installShellFiles + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + postInstall = '' + assets=$releaseDir/../assets + installManPage $assets/git-ignore.1 + installShellCompletion $assets/git-ignore.{bash,fish} --zsh $assets/_git-ignore + ''; + + meta = with lib; { + description = "Quickly and easily fetch .gitignore templates from gitignore.io"; + homepage = "https://github.com/sondr3/git-ignore"; + changelog = "https://github.com/sondr3/git-ignore/blob/${src.rev}/CHANGELOG.md"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "git-ignore"; + }; +} diff --git a/pkgs/by-name/gi/git-instafix/package.nix b/pkgs/by-name/gi/git-instafix/package.nix index d05e9fab8726..18ab6f5fa0bd 100644 --- a/pkgs/by-name/gi/git-instafix/package.nix +++ b/pkgs/by-name/gi/git-instafix/package.nix @@ -37,6 +37,6 @@ rustPlatform.buildRustPackage { license = with licenses; [ mit asl20 ]; maintainers = with maintainers; [ mightyiam quodlibetor ]; changelog = "https://github.com/quodlibetor/git-instafix/releases/tag/v${version}"; - broken = stdenv.isDarwin; + broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix b/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix new file mode 100644 index 000000000000..fef465d9446e --- /dev/null +++ b/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, apple-sdk_11 }: + +rustPlatform.buildRustPackage rec { + pname = "git-interactive-rebase-tool"; + version = "2.4.1"; + + src = fetchFromGitHub { + owner = "MitMaro"; + repo = pname; + rev = version; + hash = "sha256-NlnESZua4OP7rhMoER/VgBST9THqISQ0LCG1ZakNTqs="; + }; + + cargoHash = "sha256-9pUUKxPpyoX9f10ZiLWsol2rv66WzQqwa6VubRTrT9Y="; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv apple-sdk_11 ]; + + # Compilation during tests fails if this env var is not set. + preCheck = "export GIRT_BUILD_GIT_HASH=${version}"; + postCheck = "unset GIRT_BUILD_GIT_HASH"; + + meta = with lib; { + homepage = "https://github.com/MitMaro/git-interactive-rebase-tool"; + description = "Native cross platform full feature terminal based sequence editor for git interactive rebase"; + changelog = "https://github.com/MitMaro/git-interactive-rebase-tool/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ SuperSandro2000 zowoq ma27 ]; + mainProgram = "interactive-rebase-tool"; + }; +} diff --git a/pkgs/by-name/gi/git-latexdiff/package.nix b/pkgs/by-name/gi/git-latexdiff/package.nix new file mode 100644 index 000000000000..e7e4351a2088 --- /dev/null +++ b/pkgs/by-name/gi/git-latexdiff/package.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchFromGitLab, git, bash }: + +stdenv.mkDerivation rec { + version = "1.6.0"; + pname = "git-latexdiff"; + + src = fetchFromGitLab { + hash = "sha256-DMoGEbCBuqUGjbna3yDpD4WNTikPudYRD4Wy1pPG2mw="; + rev = version; + repo = "git-latexdiff"; + owner = "git-latexdiff"; + }; + + buildInputs = [ git bash ]; + + dontBuild = true; + + patches = [ ./version-test.patch ]; + + postPatch = '' + substituteInPlace git-latexdiff \ + --replace "@GIT_LATEXDIFF_VERSION@" "v${version}" + patchShebangs git-latexdiff + ''; + + installPhase = '' + mkdir -p $prefix/bin + mv git-latexdiff $prefix/bin + chmod +x $prefix/bin/git-latexdiff + ''; + + meta = with lib; { + description = "View diff on LaTeX source files on the generated PDF files"; + homepage = "https://gitlab.com/git-latexdiff/git-latexdiff"; + maintainers = [ ]; + license = licenses.bsd3; # https://gitlab.com/git-latexdiff/git-latexdiff/issues/9 + platforms = platforms.unix; + mainProgram = "git-latexdiff"; + }; +} diff --git a/pkgs/by-name/gi/git-latexdiff/version-test.patch b/pkgs/by-name/gi/git-latexdiff/version-test.patch new file mode 100644 index 000000000000..243bd90f9005 --- /dev/null +++ b/pkgs/by-name/gi/git-latexdiff/version-test.patch @@ -0,0 +1,17 @@ +Fix for https://gitlab.com/git-latexdiff/git-latexdiff/issues/7 +--- +--- src/git-latexdiff 2016-01-26 14:04:54.338568955 +0100 ++++ src/git-latexdiff 2016-01-26 14:40:23.700381943 +0100 +@@ -44,11 +44,7 @@ + git_latexdiff_version='@GIT_LATEXDIFF_VERSION@' + + git_latexdiff_compute_version () { +- if [ "$git_latexdiff_version" = '@GIT_LATEXDIFF''_VERSION@' ]; then +- (cd "$(dirname "$0")" && git describe --tags HEAD 2>/dev/null || echo 'Unknown version') +- else +- echo "$git_latexdiff_version" +- fi ++ echo "$git_latexdiff_version" + } + + usage () { diff --git a/pkgs/by-name/gi/git-mit/package.nix b/pkgs/by-name/gi/git-mit/package.nix new file mode 100644 index 000000000000..e334ef8c9fb6 --- /dev/null +++ b/pkgs/by-name/gi/git-mit/package.nix @@ -0,0 +1,49 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, libgit2 +, openssl +, zlib +, stdenv +, darwin +}: + +let + version = "5.13.30"; +in +rustPlatform.buildRustPackage { + pname = "git-mit"; + inherit version; + + src = fetchFromGitHub { + owner = "PurpleBooth"; + repo = "git-mit"; + rev = "v${version}"; + hash = "sha256-HBY9YJk7LvhCGAuXsWpugD5uSitLc1f/F4Ms4PxhZUo="; + }; + + cargoHash = "sha256-XMlVGr88RWwfJ2gHTSxdOxgUDlf51ra/opL66Dkd1p4="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + libgit2 + openssl + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ]; + + env = { + LIBGIT2_NO_VENDOR = 1; + }; + + meta = with lib; { + description = "Minimalist set of hooks to aid pairing and link commits to issues"; + homepage = "https://github.com/PurpleBooth/git-mit"; + changelog = "https://github.com/PurpleBooth/git-mit/releases/tag/v${version}"; + license = licenses.cc0; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/by-name/gi/git-nomad/package.nix b/pkgs/by-name/gi/git-nomad/package.nix new file mode 100644 index 000000000000..659a342247c9 --- /dev/null +++ b/pkgs/by-name/gi/git-nomad/package.nix @@ -0,0 +1,31 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + git, +}: + +rustPlatform.buildRustPackage rec { + pname = "git-nomad"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "rraval"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-N+iPr389l9PDfJIhvRL6ziGSPI6pgvfdGX6wxmapLhA="; + }; + + cargoHash = "sha256-7CZC29y9dLpyanolO+epKd0KwmRc1iGY+sPM9f/j5hk="; + + nativeCheckInputs = [ git ]; + + meta = with lib; { + description = "Synchronize work-in-progress git branches in a light weight fashion"; + homepage = "https://github.com/rraval/git-nomad"; + changelog = "https://github.com/rraval/git-nomad/blob/v${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ rraval ]; + mainProgram = "git-nomad"; + }; +} diff --git a/pkgs/by-name/gi/git-octopus/package.nix b/pkgs/by-name/gi/git-octopus/package.nix new file mode 100644 index 000000000000..3865c9ac83b8 --- /dev/null +++ b/pkgs/by-name/gi/git-octopus/package.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub, git, perl, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "git-octopus"; + version = "1.4"; + + installFlags = [ "prefix=$(out)" ]; + + nativeBuildInputs = [ makeWrapper ]; + + # perl provides shasum + postInstall = '' + for f in $out/bin/*; do + wrapProgram $f --prefix PATH : ${lib.makeBinPath [ git perl ]} + done + ''; + + src = fetchFromGitHub { + owner = "lesfurets"; + repo = "git-octopus"; + rev = "v${version}"; + sha256 = "14p61xk7jankp6gc26xciag9fnvm7r9vcbhclcy23f4ghf4q4sj1"; + }; + + meta = with lib; { + homepage = "https://github.com/lesfurets/git-octopus"; + description = "Continuous merge workflow"; + license = licenses.lgpl3; + platforms = platforms.unix; + maintainers = [maintainers.mic92]; + }; +} diff --git a/pkgs/by-name/gi/git-open/package.nix b/pkgs/by-name/gi/git-open/package.nix new file mode 100644 index 000000000000..1b4153f2ad1d --- /dev/null +++ b/pkgs/by-name/gi/git-open/package.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, xdg-utils, gnugrep, fetchFromGitHub, installShellFiles, makeWrapper, pandoc }: + +stdenv.mkDerivation rec { + pname = "git-open"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "paulirish"; + repo = "git-open"; + rev = "v${version}"; + sha256 = "sha256-Bag2rI2uR7ilkg2ozjR8tPXqKz5XjiY7WAUJKTVTXd8="; + }; + + nativeBuildInputs = [ installShellFiles makeWrapper pandoc ]; + + buildPhase = '' + # marked-man is broken and severly outdated. + # pandoc with some extra metadata is good enough and produces a by man readable file. + cat <(echo echo '% git-open (1) Version ${version} | Git manual') git-open.1.md > tmp + mv tmp git-open.1.md + pandoc --standalone --to man git-open.1.md -o git-open.1 + ''; + + installPhase = '' + mkdir -p $out/bin + mv git-open $out/bin + installManPage git-open.1 + wrapProgram $out/bin/git-open \ + --prefix PATH : "${lib.makeBinPath [ gnugrep ]}" \ + --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" + ''; + + meta = with lib; { + homepage = "https://github.com/paulirish/git-open"; + description = "Open the GitHub page or website for a repository in your browser"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ SuperSandro2000 ]; + mainProgram = "git-open"; + }; +} diff --git a/pkgs/by-name/gi/git-privacy/package.nix b/pkgs/by-name/gi/git-privacy/package.nix new file mode 100644 index 000000000000..3d3d7521f28d --- /dev/null +++ b/pkgs/by-name/gi/git-privacy/package.nix @@ -0,0 +1,48 @@ +{ lib +, fetchFromGitHub +, git +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "git-privacy"; + version = "2.3.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "EMPRI-DEVOPS"; + repo = pname; + rev = "v${version}"; + hash = "sha256-b2RkRL8/mZwqc3xCs+oltzualhQtp/7F9POlLlT3UUU="; + }; + + propagatedBuildInputs = with python3.pkgs; [ + click + git-filter-repo + gitpython + pynacl + setuptools + ]; + + nativeCheckInputs = with python3.pkgs; [ + git + pytestCheckHook + ]; + + disabledTests = [ + # Tests want to interact with a git repo + "TestGitPrivacy" + ]; + + pythonImportsCheck = [ + "gitprivacy" + ]; + + meta = with lib; { + description = "Tool to redact Git author and committer dates"; + homepage = "https://github.com/EMPRI-DEVOPS/git-privacy"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ fab ]; + mainProgram = "git-privacy"; + }; +} diff --git a/pkgs/by-name/gi/git-prole/package.nix b/pkgs/by-name/gi/git-prole/package.nix new file mode 100644 index 000000000000..9519c7840eeb --- /dev/null +++ b/pkgs/by-name/gi/git-prole/package.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + git, + bash, + nix-update-script, +}: +let + version = "0.5.1"; +in +rustPlatform.buildRustPackage { + pname = "git-prole"; + inherit version; + + src = fetchFromGitHub { + owner = "9999years"; + repo = "git-prole"; + rev = "refs/tags/v${version}"; + hash = "sha256-jJEskahZRCpM2WEH4myTLfowQxEJ4WCNXbTwGkwBHnY="; + }; + + cargoHash = "sha256-u4UJH+dIDI+I6fEQTRe3RRufYZwxBENxnwULSSCOZF8="; + + nativeCheckInputs = [ + git + bash + ]; + + meta = { + homepage = "https://github.com/9999years/git-prole"; + changelog = "https://github.com/9999years/git-prole/releases/tag/v${version}"; + description = "`git-worktree(1)` manager"; + license = [ lib.licenses.mit ]; + maintainers = [ lib.maintainers._9999years ]; + mainProgram = "git-prole"; + }; + + passthru.updateScript = nix-update-script { }; +} diff --git a/pkgs/by-name/gi/git-quick-stats/package.nix b/pkgs/by-name/gi/git-quick-stats/package.nix new file mode 100644 index 000000000000..113388c48cd3 --- /dev/null +++ b/pkgs/by-name/gi/git-quick-stats/package.nix @@ -0,0 +1,52 @@ +{ lib, stdenv +, fetchFromGitHub +, makeWrapper +, coreutils +, gawk +, git +, gnugrep +, ncurses +, util-linux +}: + +stdenv.mkDerivation rec { + pname = "git-quick-stats"; + version = "2.5.7"; + + src = fetchFromGitHub { + repo = "git-quick-stats"; + owner = "arzzen"; + rev = version; + sha256 = "sha256-TGwoW4jpXbFdxk9HAZJTDhXIHhR1QEcDRCjspBv2KdQ="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installFlags = [ + "PREFIX=${builtins.placeholder "out"}" + ]; + + postInstall = + let + path = lib.makeBinPath [ + coreutils + gawk + git + gnugrep + ncurses + util-linux + ]; + in + '' + wrapProgram $out/bin/git-quick-stats --suffix PATH : ${path} + ''; + + meta = with lib; { + homepage = "https://github.com/arzzen/git-quick-stats"; + description = "Simple and efficient way to access various statistics in git repository"; + platforms = platforms.all; + maintainers = [ maintainers.kmein ]; + license = licenses.mit; + mainProgram = "git-quick-stats"; + }; +} diff --git a/pkgs/by-name/gi/git-radar/package.nix b/pkgs/by-name/gi/git-radar/package.nix new file mode 100644 index 000000000000..59ec4b61d85c --- /dev/null +++ b/pkgs/by-name/gi/git-radar/package.nix @@ -0,0 +1,35 @@ +{ coreutils-prefixed, lib, makeWrapper, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "git-radar"; + version = "0.6"; + + src = fetchFromGitHub { + owner = "michaeldfallen"; + repo = "git-radar"; + rev = "v${version}"; + sha256 = "0c3zp8s4w7m4s71qgwk1jyfc8yzw34f2hi43x1w437ypgabwg81j"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/bin + cp git-radar fetch.sh prompt.bash prompt.zsh radar-base.sh $out + ln -s $out/git-radar $out/bin + ${lib.optionalString stdenv.hostPlatform.isDarwin '' + wrapProgram $out/git-radar --prefix PATH : ${lib.makeBinPath [ coreutils-prefixed ]} + ''} + ''; + + meta = with lib; { + homepage = "https://github.com/michaeldfallen/git-radar"; + license = licenses.mit; + description = "Tool you can add to your prompt to provide at-a-glance information on your git repo"; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ kamilchm ]; + mainProgram = "git-radar"; + }; +} diff --git a/pkgs/by-name/gi/git-relevant-history/package.nix b/pkgs/by-name/gi/git-relevant-history/package.nix new file mode 100644 index 000000000000..063aa3215705 --- /dev/null +++ b/pkgs/by-name/gi/git-relevant-history/package.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub, python3, git, git-filter-repo }: + +python3.pkgs.buildPythonApplication rec { + pname = "git-relevant-history"; + version = "2022-09-15"; + src = fetchFromGitHub { + owner = "rainlabs-eu"; + repo = pname; + rev = "84552324d7cb4790db86282fc61bf98a05b7a4fd"; + hash = "sha256-46a6TR1Hi3Lg2DTmOp1aV5Uhd4IukTojZkA3TVbTnRY="; + }; + propagatedBuildInputs = [ + git git-filter-repo + python3.pkgs.docopt + ]; + + meta = with lib; { + description = "Extract only relevant history from git repo"; + homepage = "https://github.com/rainlabs-eu/git-relevant-history"; + license = licenses.asl20; + platforms = platforms.all; + maintainers = [ maintainers.bendlas ]; + mainProgram = "git-relevant-history"; + }; +} diff --git a/pkgs/by-name/gi/git-remote-gcrypt/package.nix b/pkgs/by-name/gi/git-remote-gcrypt/package.nix new file mode 100644 index 000000000000..d3f53b704eeb --- /dev/null +++ b/pkgs/by-name/gi/git-remote-gcrypt/package.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchFromGitHub, docutils, makeWrapper +, gnupg, curl, rsync, coreutils +, gawk, gnused, gnugrep +}: + +stdenv.mkDerivation rec { + pname = "git-remote-gcrypt"; + version = "1.5"; + rev = version; + + src = fetchFromGitHub { + inherit rev; + owner = "spwhitton"; + repo = "git-remote-gcrypt"; + sha256 = "sha256-uy6s3YQwY/aZmQoW/qe1YrSlfNHyDTXBFxB6fPGiPNQ="; + }; + + outputs = [ "out" "man" ]; + + nativeBuildInputs = [ docutils makeWrapper ]; + + installPhase = '' + prefix="$out" ./install.sh + wrapProgram "$out/bin/git-remote-gcrypt" \ + --prefix PATH ":" "${lib.makeBinPath [ gnupg curl rsync coreutils + gawk gnused gnugrep ]}" + ''; + + meta = with lib; { + homepage = "https://spwhitton.name/tech/code/git-remote-gcrypt"; + description = "Git remote helper for GPG-encrypted remotes"; + license = licenses.gpl3; + maintainers = with maintainers; [ ellis montag451 ]; + platforms = platforms.unix; + mainProgram = "git-remote-gcrypt"; + }; +} diff --git a/pkgs/by-name/gi/git-remote-hg/package.nix b/pkgs/by-name/gi/git-remote-hg/package.nix new file mode 100644 index 000000000000..76f40911f076 --- /dev/null +++ b/pkgs/by-name/gi/git-remote-hg/package.nix @@ -0,0 +1,32 @@ +{ lib, fetchFromGitHub, python3Packages +, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2 +}: + +python3Packages.buildPythonApplication rec { + pname = "git-remote-hg"; + version = "1.0.3.2"; + + src = fetchFromGitHub { + owner = "mnauw"; + repo = "git-remote-hg"; + rev = "v${version}"; + sha256 = "0b5lfbrcrvzpz380817md00lbgy5yl4y76vs3vm0bpm5wmr7c027"; + }; + + nativeBuildInputs = [ + asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt libxml2 + ]; + propagatedBuildInputs = with python3Packages; [ mercurial ]; + + postInstall = '' + make install-doc prefix=$out + ''; + + meta = with lib; { + homepage = "https://github.com/mnauw/git-remote-hg"; + description = "Semi-official Mercurial bridge from Git project"; + license = licenses.gpl2; + maintainers = [ ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/by-name/gi/git-reparent/package.nix b/pkgs/by-name/gi/git-reparent/package.nix new file mode 100644 index 000000000000..38a66d6db1db --- /dev/null +++ b/pkgs/by-name/gi/git-reparent/package.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub, makeWrapper, git, gnused }: + +stdenv.mkDerivation rec { + pname = "git-reparent"; + version = "unstable-2017-09-03"; + + src = fetchFromGitHub { + owner = "MarkLodato"; + repo = "git-reparent"; + rev = "a99554a32524a86421659d0f61af2a6c784b7715"; + sha256 = "0v0yxydpw6r4awy0hb7sbnh520zsk86ibzh1xjf3983yhsvkfk5v"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + install -m755 -Dt $out/bin git-reparent + ''; + + postFixup = '' + wrapProgram $out/bin/git-reparent --prefix PATH : "${lib.makeBinPath [ git gnused ]}" + ''; + + meta = with lib; { + inherit (src.meta) homepage; + description = "Git command to recommit HEAD with a new set of parents"; + maintainers = [ ]; + license = licenses.gpl2; + platforms = platforms.unix; + mainProgram = "git-reparent"; + }; +} diff --git a/pkgs/by-name/gi/git-repo/import-ssl-module.patch b/pkgs/by-name/gi/git-repo/import-ssl-module.patch new file mode 100644 index 000000000000..43e879a8ba17 --- /dev/null +++ b/pkgs/by-name/gi/git-repo/import-ssl-module.patch @@ -0,0 +1,30 @@ +Fix runtime error due missing import + +Traceback (most recent call last): + File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 1339, in <module> + main(sys.argv[1:]) + File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 1304, in main + _Init(args, gitc_init=(cmd == 'gitc-init')) + File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 607, in _Init + _Clone(url, dst, opt.clone_bundle, opt.quiet, opt.verbose) + File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 912, in _Clone + if clone_bundle and _DownloadBundle(url, cwd, quiet, verbose): + File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 860, in _DownloadBundle + r = urllib.request.urlopen(url, context=ssl.create_default_context()) +NameError: name 'ssl' is not defined +builder for '/nix/store/4hvds8fv8xmzlm86yg9cf1lj6hrya7sg-amdvlk-src.drv' failed with exit code 1 + +diff --git a/repo b/repo +index 8b05def..f394b3e 100755 +--- a/repo ++++ b/repo +@@ -236,8 +236,9 @@ import optparse + import re + import shutil + import stat ++import ssl + import urllib.error + import urllib.request + + if sys.version_info[0] == 3: + import urllib.request diff --git a/pkgs/by-name/gi/git-repo/package.nix b/pkgs/by-name/gi/git-repo/package.nix new file mode 100644 index 000000000000..7a95582ee0ed --- /dev/null +++ b/pkgs/by-name/gi/git-repo/package.nix @@ -0,0 +1,61 @@ +{ lib, stdenv, fetchFromGitHub, makeWrapper, nix-update-script +, python3, git, gnupg, less, openssh +}: + +stdenv.mkDerivation rec { + pname = "git-repo"; + version = "2.48"; + + src = fetchFromGitHub { + owner = "android"; + repo = "tools_repo"; + rev = "v${version}"; + hash = "sha256-BrdB6SqQlLRvXbfIXHqaKD+F/SBzqGru6ISkUrEnUeQ="; + }; + + # Fix 'NameError: name 'ssl' is not defined' + patches = [ ./import-ssl-module.patch ]; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python3 ]; + + postPatch = '' + substituteInPlace repo --replace \ + 'urllib.request.urlopen(url)' \ + 'urllib.request.urlopen(url, context=ssl.create_default_context())' + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp repo $out/bin/repo + + runHook postInstall + ''; + + # Important runtime dependencies + postFixup = '' + wrapProgram $out/bin/repo --prefix PATH ":" \ + "${lib.makeBinPath [ git gnupg less openssh ]}" + ''; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = with lib; { + description = "Android's repo management tool"; + longDescription = '' + Repo is a Python script based on Git that helps manage many Git + repositories, does the uploads to revision control systems, and automates + parts of the development workflow. Repo is not meant to replace Git, only + to make it easier to work with Git. + ''; + homepage = "https://android.googlesource.com/tools/repo"; + license = licenses.asl20; + maintainers = with maintainers; [ otavio ]; + platforms = platforms.unix; + mainProgram = "repo"; + }; +} diff --git a/pkgs/by-name/gi/git-secret/package.nix b/pkgs/by-name/gi/git-secret/package.nix new file mode 100644 index 000000000000..6c0613a28df7 --- /dev/null +++ b/pkgs/by-name/gi/git-secret/package.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }: + +stdenv.mkDerivation rec { + pname = "git-secret"; + version = "0.5.0"; + + src = fetchFromGitHub { + repo = "git-secret"; + owner = "sobolevn"; + rev = "v${version}"; + sha256 = "sha256-Vdlv3H99BZcT1O66ZCpq5olENOaUSubx58B1PQ/OlMU="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + install -D git-secret $out/bin/git-secret + + wrapProgram $out/bin/git-secret \ + --prefix PATH : "${lib.makeBinPath [ git gnupg gawk ]}" + + mkdir $out/share + cp -r man $out/share + ''; + + meta = { + description = "Bash-tool to store your private data inside a git repository"; + homepage = "https://git-secret.io"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.lo1tuma ]; + platforms = lib.platforms.all; + mainProgram = "git-secret"; + }; +} diff --git a/pkgs/by-name/gi/git-secrets/package.nix b/pkgs/by-name/gi/git-secrets/package.nix new file mode 100644 index 000000000000..a2f2045a3ddc --- /dev/null +++ b/pkgs/by-name/gi/git-secrets/package.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, makeWrapper, git, coreutils }: + +stdenv.mkDerivation rec { + pname = "git-secrets"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "awslabs"; + repo = "git-secrets"; + rev = version; + sha256 = "10lnxg0q855zi3d6804ivlrn6dc817kilzdh05mmz8a0ccvm2qc7"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + install -m755 -Dt $out/bin git-secrets + install -m444 -Dt $out/share/man/man1 git-secrets.1 + + wrapProgram $out/bin/git-secrets \ + --prefix PATH : "${lib.makeBinPath [ git coreutils ]}" + ''; + + meta = with lib; { + description = "Prevents you from committing secrets and credentials into git repositories"; + homepage = "https://github.com/awslabs/git-secrets"; + license = licenses.asl20; + platforms = platforms.all; + mainProgram = "git-secrets"; + }; +} diff --git a/pkgs/by-name/gi/git-series/package.nix b/pkgs/by-name/gi/git-series/package.nix new file mode 100644 index 000000000000..86277614bc4c --- /dev/null +++ b/pkgs/by-name/gi/git-series/package.nix @@ -0,0 +1,65 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + curl, + installShellFiles, + libgit2, + libssh2, + openssl, + zlib, +}: + +rustPlatform.buildRustPackage { + pname = "git-series"; + version = "0.9.1-unstable-2024-02-02"; + + src = fetchFromGitHub { + owner = "git-series"; + repo = "git-series"; + rev = "9c5d40edec87b79db0c5bac1458aa0e2c8fdeb8e"; + hash = "sha256-DtOR7+vX7efNzYMRJwJTj5cXlFHQwzcS0Gp2feVdea4="; + }; + + cargoHash = "sha256-D83mfaH4iKagGjdX+YhCzva99+dCneHeWPNnkzZB/k0="; + + nativeBuildInputs = [ + pkg-config + installShellFiles + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl ]; + + buildInputs = [ + libgit2 + libssh2 + openssl + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl ]; + + env = { + LIBGIT2_SYS_USE_PKG_CONFIG = true; + LIBSSH2_SYS_USE_PKG_CONFIG = true; + }; + + postInstall = '' + installManPage ./git-series.1 + ''; + + meta = with lib; { + description = "Tool to help with formatting git patches for review on mailing lists"; + longDescription = '' + git series tracks changes to a patch series over time. git + series also tracks a cover letter for the patch series, + formats the series for email, and prepares pull requests. + ''; + homepage = "https://github.com/git-series/git-series"; + license = licenses.mit; + maintainers = with maintainers; [ + edef + vmandela + aleksana + ]; + mainProgram = "git-series"; + }; +} diff --git a/pkgs/by-name/gi/git-sim/package.nix b/pkgs/by-name/gi/git-sim/package.nix new file mode 100644 index 000000000000..2cae12371b63 --- /dev/null +++ b/pkgs/by-name/gi/git-sim/package.nix @@ -0,0 +1,84 @@ +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + python3Packages, +}: +let + inherit (python3Packages) + buildPythonApplication + gitpython + manim + opencv4 + typer + pydantic + fonttools + git-dummy + pytestCheckHook + ; + + version = "0.3.5"; +in + +buildPythonApplication { + pname = "git-sim"; + inherit version; + pyproject = true; + + src = fetchFromGitHub { + owner = "initialcommit-com"; + repo = "git-sim"; + rev = "v${version}"; + hash = "sha256-4jHkAlF2SAzHjBi8pmAJ0TKkcLxw+6EdGsXnHZUMILw="; + }; + + patches = [ ./tests.patch ]; + + build-system = [ ]; + + pythonRemoveDeps = [ "opencv-python-headless" ]; + + dependencies = [ + gitpython + manim + opencv4 + typer + pydantic + fonttools + git-dummy + ]; + + # https://github.com/NixOS/nixpkgs/commit/8033561015355dd3c3cf419d81ead31e534d2138 + makeWrapperArgs = [ "--prefix PYTHONWARNINGS , ignore:::pydub.utils:" ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = + # https://github.com/NixOS/nixpkgs/issues/308283 + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd git-sim \ + --bash <($out/bin/git-sim --show-completion bash) \ + --fish <($out/bin/git-sim --show-completion fish) \ + --zsh <($out/bin/git-sim --show-completion zsh) + '' + + "ln -s ${git-dummy}/bin/git-dummy $out/bin/"; + + preCheck = '' + PATH=$PATH:$out/bin + ''; + + nativeCheckInputs = [ + pytestCheckHook + git-dummy + ]; + + doCheck = false; + + meta = { + description = "Visually simulate Git operations in your own repos with a single terminal command"; + homepage = "https://initialcommit.com/tools/git-sim"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ mathiassven ]; + }; +} diff --git a/pkgs/by-name/gi/git-sim/tests.patch b/pkgs/by-name/gi/git-sim/tests.patch new file mode 100644 index 000000000000..525ce6b25252 --- /dev/null +++ b/pkgs/by-name/gi/git-sim/tests.patch @@ -0,0 +1,33 @@ +diff --git a/tests/e2e_tests/conftest.py b/tests/e2e_tests/conftest.py +index 310197a..9e82a1e 100644 +--- a/tests/e2e_tests/conftest.py ++++ b/tests/e2e_tests/conftest.py +@@ -22,9 +22,7 @@ def tmp_repo(tmp_path_factory): + # Create the sample repo for testing. + os.chdir(tmp_repo_dir) + +- # When defining cmd, as_posix() is required for Windows compatibility. +- git_dummy_path = utils.get_venv_path() / "git-dummy" +- cmd = f"{git_dummy_path.as_posix()} --commits=10 --branches=4 --merge=1 --constant-sha --name=sample_repo --diverge-at=2" ++ cmd = "git-dummy --commits=10 --branches=4 --merge=1 --constant-sha --name=sample_repo --diverge-at=2" + cmd_parts = split(cmd) + subprocess.run(cmd_parts) + +diff --git a/tests/e2e_tests/utils.py b/tests/e2e_tests/utils.py +index 8dfc623..41a4cf6 100644 +--- a/tests/e2e_tests/utils.py ++++ b/tests/e2e_tests/utils.py +@@ -69,13 +69,6 @@ def get_cmd_parts(raw_command): + f"git-sim -d --output-only-path --img-format=png --font='{font_path}'", + ) + +- # Replace `git-sim` with the full path to the binary. +- # as_posix() is needed for Windows compatibility. +- # The space is included in "git-sim " to avoid replacing any occurrences +- # of git-sim in a font path. +- git_sim_path = get_venv_path() / "git-sim" +- cmd = cmd.replace("git-sim ", f"{git_sim_path.as_posix()} ") +- + # Show full test command when run in diagnostic mode. + print(f" Test command: {cmd}") + diff --git a/pkgs/by-name/gi/git-sizer/package.nix b/pkgs/by-name/gi/git-sizer/package.nix new file mode 100644 index 000000000000..b3d7f7a3a432 --- /dev/null +++ b/pkgs/by-name/gi/git-sizer/package.nix @@ -0,0 +1,31 @@ +{ lib, buildGoModule, fetchFromGitHub, testers, git-sizer }: + +buildGoModule rec { + pname = "git-sizer"; + version = "1.5.0"; + + src = fetchFromGitHub { + owner = "github"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-On7QBTzKfnuuzwMQ8m1odxGqfIKL+EDg5V05Kxuhmqw="; + }; + + vendorHash = "sha256-oRlsD99XiI/0ZWibjyRcycmGab+vMbXrV5hIdIyUDYg="; + + ldflags = [ "-s" "-w" "-X main.BuildVersion=${version}" ]; + + doCheck = false; + + passthru.tests.vesion = testers.testVersion { + package = git-sizer; + }; + + meta = with lib; { + description = "Compute various size metrics for a Git repository"; + homepage = "https://github.com/github/git-sizer"; + license = licenses.mit; + maintainers = with maintainers; [ matthewbauer ]; + mainProgram = "git-sizer"; + }; +} diff --git a/pkgs/by-name/gi/git-spice/package.nix b/pkgs/by-name/gi/git-spice/package.nix index 08e9260361b7..60b1e35d709b 100644 --- a/pkgs/by-name/gi/git-spice/package.nix +++ b/pkgs/by-name/gi/git-spice/package.nix @@ -1,26 +1,30 @@ { lib, + stdenv, buildGo123Module, fetchFromGitHub, git, nix-update-script, + installShellFiles, }: buildGo123Module rec { pname = "git-spice"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "abhinav"; repo = "git-spice"; rev = "refs/tags/v${version}"; - hash = "sha256-VODBN+3xDa+sGynhnWnnhPy0VEKPWOQeh2Ge75OTS0A="; + hash = "sha256-ap0ZGRDdHQMVYSk9J8vsZNpvaAwpHFmPT5REiCxYepQ="; }; - vendorHash = "sha256-irYXuh0KmCmeZ2fKNduu7zpVqDQmmR7H2bNTMa2zOjI="; + vendorHash = "sha256-YJ8OxmonnxNu4W17tD1Z7K625LCINlh6ZgoxOpmtNC0="; subPackages = [ "." ]; + nativeBuildInputs = [ installShellFiles ]; + nativeCheckInputs = [ git ]; buildInputs = [ git ]; @@ -31,6 +35,21 @@ buildGo123Module rec { "-X=main._version=${version}" ]; + __darwinAllowLocalNetworking = true; + + preCheck = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' + # timeout + rm testdata/script/branch_submit_remote_prompt.txt + rm testdata/script/branch_submit_multiple_pr_templates.txt + ''; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd gs \ + --bash <($out/bin/gs shell completion bash) \ + --zsh <($out/bin/gs shell completion zsh) \ + --fish <($out/bin/gs shell completion fish) + ''; + passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/by-name/gi/git-stree/package.nix b/pkgs/by-name/gi/git-stree/package.nix new file mode 100644 index 000000000000..d15db48902fa --- /dev/null +++ b/pkgs/by-name/gi/git-stree/package.nix @@ -0,0 +1,28 @@ +{ stdenv, lib, fetchFromGitHub, ... }: + +stdenv.mkDerivation { + pname = "git-stree"; + version = "0.4.5"; + + src = fetchFromGitHub { + owner = "tdd"; + repo = "git-stree"; + rev = "0.4.5"; + sha256 = "0y5h44n38w6rhy9m591dvibxpfggj3q950ll7y4h49bhpks4m0l9"; + }; + + installPhase = '' + mkdir -p $out/bin $out/share/bash-completion/completions + install -m 0755 git-stree $out/bin/ + install -m 0644 git-stree-completion.bash $out/share/bash-completion/completions/ + ''; + + meta = with lib; { + description = "Better Git subtree helper command"; + homepage = "http://deliciousinsights.github.io/git-stree"; + license = licenses.mit; + maintainers = [ maintainers.benley ]; + platforms = platforms.unix; + mainProgram = "git-stree"; + }; +} diff --git a/pkgs/by-name/gi/git-subrepo/package.nix b/pkgs/by-name/gi/git-subrepo/package.nix new file mode 100644 index 000000000000..29da4ee6be8b --- /dev/null +++ b/pkgs/by-name/gi/git-subrepo/package.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchFromGitHub, git, makeWrapper, which, installShellFiles }: + +stdenv.mkDerivation rec { + pname = "git-subrepo"; + version = "0.4.9"; + + src = fetchFromGitHub { + owner = "ingydotnet"; + repo = "git-subrepo"; + rev = version; + sha256 = "sha256-Fwh4haGXVDsLexe/1kjUhY4lF6u5cTrAwivZiOkPig0="; + }; + + nativeBuildInputs = [ + makeWrapper + which + installShellFiles + ]; + + buildInputs = [ + git + ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "INSTALL_LIB=${placeholder "out"}/bin" + "INSTALL_MAN=${placeholder "out"}/share/man/man1" + ]; + + postInstall = '' + installShellCompletion --bash --name git-subrepo.bash share/completion.bash + installShellCompletion --zsh share/zsh-completion/_git-subrepo + ''; + + postFixup = '' + wrapProgram $out/bin/git-subrepo \ + --prefix PATH : "${git}/bin" + ''; + + meta = with lib; { + homepage = "https://github.com/ingydotnet/git-subrepo"; + description = "Git submodule alternative"; + mainProgram = "git-subrepo"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ ryantrinkle ]; + }; +} diff --git a/pkgs/by-name/gi/git-subtrac/package.nix b/pkgs/by-name/gi/git-subtrac/package.nix new file mode 100644 index 000000000000..43fb89661735 --- /dev/null +++ b/pkgs/by-name/gi/git-subtrac/package.nix @@ -0,0 +1,25 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "git-subtrac"; + version = "0.04"; + + src = fetchFromGitHub { + owner = "apenwarr"; + repo = pname; + rev = "v${version}"; + hash = "sha256-3Z1AbPPsTBa3rqfvNAMBz7CIRq/zc9q5/TcLJWYSNlw="; + }; + + vendorHash = "sha256-3mJoSsGE+f9hVbNctjMR7WmSkCaHmKIO125LWG1+xFQ="; + + doCheck = false; + + meta = with lib; { + description = "Keep the content for your git submodules all in one place: the parent repo"; + homepage = "https://github.com/apenwarr/git-subtrac"; + license = licenses.asl20; + maintainers = [ ]; + mainProgram = "git-subtrac"; + }; +} diff --git a/pkgs/by-name/gi/git-sync/package.nix b/pkgs/by-name/gi/git-sync/package.nix new file mode 100644 index 000000000000..1534cfb81c1e --- /dev/null +++ b/pkgs/by-name/gi/git-sync/package.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchFromGitHub, coreutils, git, gnugrep, gnused, makeWrapper, inotify-tools }: + +stdenv.mkDerivation rec { + pname = "git-sync"; + version = "0-unstable-2024-02-15"; + + src = fetchFromGitHub { + owner = "simonthum"; + repo = "git-sync"; + rev = "493b0155fb974b477b6ea623d6e41e13ddad8500"; + hash = "sha256-hsq+kpB+akjbFKBeHMsP8ibrtygEG2Yf2QW9vFFIano="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/bin + cp -a git-* $out/bin/ + cp -a contrib/git-* $out/bin/ + ''; + + wrapperPath = lib.makeBinPath ([ + coreutils + git + gnugrep + gnused + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify-tools ]); + + postFixup = '' + wrap_path="${wrapperPath}":$out/bin + + wrapProgram $out/bin/git-sync \ + --prefix PATH : $wrap_path + + wrapProgram $out/bin/git-sync-on-inotify \ + --prefix PATH : $wrap_path + ''; + + meta = { + description = "Script to automatically synchronize a git repository"; + homepage = "https://github.com/simonthum/git-sync"; + maintainers = with lib.maintainers; [ imalison ]; + license = lib.licenses.cc0; + platforms = with lib.platforms; unix; + }; +} diff --git a/pkgs/by-name/gi/git-team/package.nix b/pkgs/by-name/gi/git-team/package.nix new file mode 100644 index 000000000000..19556366b1eb --- /dev/null +++ b/pkgs/by-name/gi/git-team/package.nix @@ -0,0 +1,46 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, go-mockery +, installShellFiles +}: + +buildGoModule rec { + pname = "git-team"; + version = "1.8.1"; + + src = fetchFromGitHub { + owner = "hekmekk"; + repo = "git-team"; + rev = "v${version}"; + hash = "sha256-+j5d1tImVHaTx63uzLdh2YNCFa1ErAVv4OMwxOutBQ4="; + }; + + vendorHash = "sha256-NTOUL1oE2IhgLyYYHwRCMW5yCxIRxUwqkfuhSSBXf6A="; + + nativeBuildInputs = [ + go-mockery + installShellFiles + ]; + + preBuild = '' + mockery --dir=src/ --all --keeptree + ''; + + postInstall = '' + go run main.go --generate-man-page > git-team.1 + installManPage git-team.1 + + installShellCompletion --cmd git-team \ + --bash <($out/bin/git-team completion bash) \ + --zsh <($out/bin/git-team completion zsh) + ''; + + meta = with lib; { + description = "Command line interface for managing and enhancing git commit messages with co-authors"; + homepage = "https://github.com/hekmekk/git-team"; + license = licenses.mit; + maintainers = with maintainers; [ lockejan ]; + mainProgram = "git-team"; + }; +} diff --git a/pkgs/by-name/gi/git-test/package.nix b/pkgs/by-name/gi/git-test/package.nix new file mode 100644 index 000000000000..fb8619249b55 --- /dev/null +++ b/pkgs/by-name/gi/git-test/package.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub, makeWrapper, git }: + +stdenv.mkDerivation rec { + pname = "git-test"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "spotify"; + repo = "git-test"; + rev = "v${version}"; + sha256 = "01h3f0andv1p7pwir3k6n01v92hgr5zbjadfwl144yjw9x37fm2f"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + install -m755 -Dt $out/bin git-test + install -m444 -Dt $out/share/man/man1 git-test.1 + + wrapProgram $out/bin/git-test \ + --prefix PATH : "${lib.makeBinPath [ git ]}" + ''; + + meta = with lib; { + description = "Test your commits"; + homepage = "https://github.com/spotify/git-test"; + license = licenses.asl20; + maintainers = [ ]; + platforms = platforms.all; + mainProgram = "git-test"; + }; +} diff --git a/pkgs/by-name/gi/git-together/package.nix b/pkgs/by-name/gi/git-together/package.nix index e71668a83a73..44ae1249a59c 100644 --- a/pkgs/by-name/gi/git-together/package.nix +++ b/pkgs/by-name/gi/git-together/package.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin darwin.Security; + buildInputs = [ openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.Security; OPENSSL_NO_VENDOR = true; diff --git a/pkgs/by-name/gi/git-town/package.nix b/pkgs/by-name/gi/git-town/package.nix new file mode 100644 index 000000000000..226afe310323 --- /dev/null +++ b/pkgs/by-name/gi/git-town/package.nix @@ -0,0 +1,74 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, git, testers, git-town, makeWrapper }: + +buildGoModule rec { + pname = "git-town"; + version = "16.4.1"; + + src = fetchFromGitHub { + owner = "git-town"; + repo = "git-town"; + rev = "v${version}"; + hash = "sha256-8Xr1R6txsJBGzBtvvKOCg2lcAHksl4hNPc9zySkTfdg="; + }; + + vendorHash = null; + + nativeBuildInputs = [ installShellFiles makeWrapper ]; + + buildInputs = [ git ]; + + ldflags = + let + modulePath = "github.com/git-town/git-town/v${lib.versions.major version}"; + in + [ + "-s" + "-w" + "-X ${modulePath}/src/cmd.version=v${version}" + "-X ${modulePath}/src/cmd.buildDate=nix" + ]; + + nativeCheckInputs = [ git ]; + + preCheck = '' + HOME=$(mktemp -d) + + # this runs tests requiring local operations + rm main_test.go + ''; + + checkFlags = + let + # Disable tests requiring local operations + skippedTests = [ + "TestGodog" + "TestMockingRunner/MockCommand" + "TestMockingRunner/QueryWith" + "TestTestCommands/CreateChildFeatureBranch" + ]; + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; + + postInstall = '' + installShellCompletion --cmd git-town \ + --bash <($out/bin/git-town completions bash) \ + --fish <($out/bin/git-town completions fish) \ + --zsh <($out/bin/git-town completions zsh) + + wrapProgram $out/bin/git-town --prefix PATH : ${lib.makeBinPath [ git ]} + ''; + + passthru.tests.version = testers.testVersion { + package = git-town; + command = "git-town --version"; + inherit version; + }; + + meta = with lib; { + description = "Generic, high-level git support for git-flow workflows"; + homepage = "https://www.git-town.com/"; + license = licenses.mit; + maintainers = with maintainers; [ allonsy blaggacao gabyx ]; + mainProgram = "git-town"; + }; +} diff --git a/pkgs/by-name/gi/git-upstream/package.nix b/pkgs/by-name/gi/git-upstream/package.nix index f038db5a9dac..d94ca080b630 100644 --- a/pkgs/by-name/gi/git-upstream/package.nix +++ b/pkgs/by-name/gi/git-upstream/package.nix @@ -5,7 +5,7 @@ nix-update-script, }: let pname = "git-upstream"; - version = "1.1.0"; + version = "1.2.0"; in rustPlatform.buildRustPackage { inherit pname version; @@ -14,17 +14,17 @@ in owner = "9999years"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-Pq0Z1WwrTP7dCwk6V/E0zu9sLLWr3kNuT3aJRZuRzhI="; + hash = "sha256-GnsqZSztDLXMO4T16nfcOKMKXap88CJzJ5nObzGwhMA="; }; - cargoHash = "sha256-jNpleFrOvt1m2TXTeBXfhTSjWNpCknNoKooF2xsO46w="; + cargoHash = "sha256-a12C/fpeo0ZJ0MFQlKHVZER9dVrXF95YI1i8MwCTCJo="; - meta = with lib; { + meta = { homepage = "https://github.com/9999years/git-upstream"; changelog = "https://github.com/9999years/git-upstream/releases/tag/v${version}"; description = "Shortcut for `git push --set-upstream`"; - license = [licenses.mit]; - maintainers = [maintainers._9999years]; + license = [lib.licenses.mit]; + maintainers = [lib.maintainers._9999years]; mainProgram = "git-upstream"; }; diff --git a/pkgs/by-name/gi/git-vanity-hash/package.nix b/pkgs/by-name/gi/git-vanity-hash/package.nix new file mode 100644 index 000000000000..55332c6c7287 --- /dev/null +++ b/pkgs/by-name/gi/git-vanity-hash/package.nix @@ -0,0 +1,33 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: + +rustPlatform.buildRustPackage { + pname = "git-vanity-hash"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "prasmussen"; + repo = "git-vanity-hash"; + # v1.0.0 + build fix + rev = "a80e7725ac6d0b7e6807cd7315cfdc7eaf0584f6"; + hash = "sha256-1z4jbtzUB3SH79dDXAITf7Vup1YZdTLHBieSrhrvSXc="; + }; + + cargoHash = "sha256-+SQ0HpURBjnnwH1Ue7IUReOtI4LxVPK9AGSAihs0qsc="; + + postInstall = '' + mkdir -p $out/share/doc/git-vanity-hash + cp README.md $out/share/doc/git-vanity-hash + ''; + + meta = with lib; { + homepage = "https://github.com/prasmussen/git-vanity-hash"; + description = "Tool for creating commit hashes with a specific prefix"; + license = [ licenses.mit ]; + maintainers = [ maintainers.kaction ]; + mainProgram = "git-vanity-hash"; + }; +} diff --git a/pkgs/by-name/gi/git-vendor/package.nix b/pkgs/by-name/gi/git-vendor/package.nix new file mode 100644 index 000000000000..a0f3e26b2e4f --- /dev/null +++ b/pkgs/by-name/gi/git-vendor/package.nix @@ -0,0 +1,67 @@ +{ lib, stdenv, fetchFromGitHub, writeShellScriptBin, skawarePackages +}: + +let + version = "1.3.0"; + sha256 = "sha256-CFv9gZQHeEiZctJFyB6PJ1dVNkrQ7PlVtgZuteQQTJ0="; + +in stdenv.mkDerivation { + pname = "git-vendor"; + inherit version; + + src = fetchFromGitHub { + owner = "brettlangdon"; + repo = "git-vendor"; + rev = "v${version}"; + inherit sha256; + }; + + outputs = [ "bin" "man" "doc" "out" ]; + + PREFIX = (placeholder "out"); + BINPREFIX = "${placeholder "bin"}/bin"; + MANPREFIX = "${placeholder "man"}/share/man/man1"; + + buildInputs = [ + # stubbing out a `git config` check that `make install` tries to do + (writeShellScriptBin "git" "") + ]; + + postInstall = '' + ${skawarePackages.cleanPackaging.commonFileActions { + docFiles = [ + "LICENSE" + "README.md" + ]; + noiseFiles = [ + "bin/git-vendor" + "Makefile" + "etc/bash_completion.sh" + "man" + "install.sh" + ]; + }} $doc/share/doc/git-vendor + ''; + + postFixup = '' + ${skawarePackages.cleanPackaging.checkForRemainingFiles} + ''; + + meta = { + description = "Git command for managing vendored dependencies"; + longDescription = '' + git-vendor is a wrapper around git-subtree commands for checking out and updating vendored dependencies. + + By default git-vendor conforms to the pattern used for vendoring golang dependencies: + * Dependencies are stored under vendor/ directory in the repo. + * Dependencies are stored under the fully qualified project path. + e.g. https://github.com/brettlangdon/forge will be stored under vendor/github.com/brettlangdon/forge. + ''; + homepage = "https://github.com/brettlangdon/git-vendor"; + license = lib.licenses.mit; + maintainers = [ ]; + platforms = lib.platforms.all; + mainProgram = "git-vendor"; + }; + +} diff --git a/pkgs/by-name/gi/git-warp-time/package.nix b/pkgs/by-name/gi/git-warp-time/package.nix new file mode 100644 index 000000000000..02b58f2cf703 --- /dev/null +++ b/pkgs/by-name/gi/git-warp-time/package.nix @@ -0,0 +1,78 @@ +{ + lib, + stdenv, + fetchurl, + + # nativeBuildInputs + zstd, + pkg-config, + jq, + cargo, + rustc, + rustPlatform, + + # buildInputs + libgit2, + typos, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "git-warp-time"; + version = "0.8.4"; + + src = fetchurl { + url = "https://github.com/alerque/git-warp-time/releases/download/v${finalAttrs.version}/git-warp-time-${finalAttrs.version}.tar.zst"; + sha256 = "sha256-Xh30nA77cJ7+UfKlIslnyD+93AtnQ+8P3sCFsG0DAUk="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit (finalAttrs) src; + nativeBuildInputs = [ zstd ]; + dontConfigure = true; + hash = "sha256-ozy8Mfl5fTJL2Sr22tCSnK30SOKaC9cL+g4lX6ivi9Q="; + }; + + nativeBuildInputs = [ + zstd + pkg-config + jq + cargo + rustc + rustPlatform.cargoSetupHook + ]; + + buildInputs = [ + libgit2 + typos + ]; + + env = { + LIBGIT2_NO_VENDOR = "1"; + }; + + outputs = [ + "out" + "doc" + "man" + "dev" + ]; + + enableParallelBuilding = true; + + meta = { + description = "Utility to reset filesystem timestamps based on Git history"; + longDescription = '' + A CLI utility that resets the timestamps of files in a Git repository + working directory to the exact timestamp of the last commit which + modified each file. + ''; + homepage = "https://github.com/alerque/git-warp-time"; + changelog = "https://github.com/alerque/git-warp-time/raw/v${finalAttrs.version}/CHANGELOG.md"; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + alerque + ]; + license = lib.licenses.gpl3Only; + mainProgram = "git-warp-time"; + }; +}) diff --git a/pkgs/by-name/gi/git-when-merged/package.nix b/pkgs/by-name/gi/git-when-merged/package.nix new file mode 100644 index 000000000000..36336d964cc3 --- /dev/null +++ b/pkgs/by-name/gi/git-when-merged/package.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchFromGitHub, python3 }: + +stdenv.mkDerivation rec { + pname = "git-when-merged"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "mhagger"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-Yp/GNzD+7EPlk/kzZnT1eiSNsSxpYEiZezRbUU3HfLc="; + }; + + buildInputs = [ python3 ]; + + installPhase = '' + install -D --target-directory $out/bin/ bin/git-when-merged + ''; + + meta = with lib; { + description = + "Helps you figure out when and why a commit was merged into a branch"; + longDescription = '' + If you use standard Git workflows, then you create a feature + branch for each feature that you are working on. When the feature + is complete, you merge it into your master branch. You might even + have sub-feature branches that are merged into a feature branch + before the latter is merged. + + In such a workflow, the first-parent history of master consists + mainly of merges of feature branches into the mainline. git + when-merged can be used to ask, "When (and why) was commit C + merged into the current branch?" + ''; + homepage = "https://github.com/mhagger/git-when-merged"; + license = licenses.gpl2Only; + platforms = python3.meta.platforms; + maintainers = with maintainers; [ DamienCassou ]; + mainProgram = "git-when-merged"; + }; +} diff --git a/pkgs/by-name/gi/git2-cpp/package.nix b/pkgs/by-name/gi/git2-cpp/package.nix new file mode 100644 index 000000000000..45750d0b24d4 --- /dev/null +++ b/pkgs/by-name/gi/git2-cpp/package.nix @@ -0,0 +1,30 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "git2-cpp"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "ken-matsui"; + repo = "git2-cpp"; + rev = finalAttrs.version; + hash = "sha256-2jKSQW6dUCIKtl33paSTuZdYAaYdFnILx/Gxv/ghFiI="; + }; + + nativeBuildInputs = [ + cmake + ]; + + meta = with lib; { + homepage = "https://github.com/ken-matsui/git2-cpp"; + description = "libgit2 bindings for C++"; + license = licenses.mit; + maintainers = [ ]; + platforms = platforms.unix; + }; +}) +# TODO [ ken-matsui ]: tests diff --git a/pkgs/by-name/gi/git2cl/package.nix b/pkgs/by-name/gi/git2cl/package.nix new file mode 100644 index 000000000000..cddc6eb7e2fe --- /dev/null +++ b/pkgs/by-name/gi/git2cl/package.nix @@ -0,0 +1,25 @@ +{ fetchgit, lib, stdenv, perl }: + +stdenv.mkDerivation rec { + pname = "git2cl"; + version = "unstable-2008-08-27"; + + src = fetchgit { + url = "git://repo.or.cz/git2cl.git"; + rev = "8373c9f74993e218a08819cbcdbab3f3564bbeba"; + sha256 = "b0d39379640c8a12821442431e2121f7908ce1cc88ec8ec6bede218ea8c21f2f"; + }; + + buildInputs = [ perl ]; + installPhase = '' + install -D -m755 git2cl $out/bin/git2cl + install -D -m644 README $out/share/doc/git2cl/README + ''; + + meta = { + homepage = "https://savannah.nongnu.org/projects/git2cl"; + description = "Convert git logs to GNU style ChangeLog files"; + platforms = lib.platforms.unix; + mainProgram = "git2cl"; + }; +} diff --git a/pkgs/by-name/gi/gitaly/git.nix b/pkgs/by-name/gi/gitaly/git.nix new file mode 100644 index 000000000000..2610c39ca711 --- /dev/null +++ b/pkgs/by-name/gi/gitaly/git.nix @@ -0,0 +1,57 @@ +{ stdenv +, lib +, gitaly +, fetchFromGitLab +, curl +, pcre2 +, zlib +}: + +stdenv.mkDerivation rec { + pname = "gitaly-git"; + version = "2.45.2"; + + # `src` attribute for nix-update + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "git"; + rev = "v${version}"; + hash = "sha256-R4K5b4d1DQw+pwoOCAK4EJtVPXQDPossTUmVv0LJtUs="; + }; + + # we actually use the gitaly build system + unpackPhase = '' + cp -r ${gitaly.src} source + chmod -R +w source + + mkdir -p source/_build/deps + + cp -r ${src} source/_build/deps/git-distribution + chmod -R +w source/_build/deps/git-distribution + + # FIXME? maybe just patch the makefile? + echo -n 'v${version} DEVELOPER=1 DEVOPTS=no-error USE_LIBPCRE=YesPlease NO_PERL=YesPlease NO_EXPAT=YesPlease NO_TCLTK=YesPlease NO_GETTEXT=YesPlease NO_PYTHON=YesPlease' > source/_build/deps/git-distribution.version + echo -n 'v${version}' > source/_build/deps/git-distribution/version + ''; + sourceRoot = "source"; + + buildFlags = [ "git" ]; + + buildInputs = [ + curl + pcre2 + zlib + ]; + + # The build phase already installs it all + GIT_PREFIX = placeholder "out"; + dontInstall = true; + + meta = { + homepage = "https://git-scm.com/"; + description = "Distributed version control system - with Gitaly patches"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.all; + maintainers = lib.teams.gitlab.members; + }; +} diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix new file mode 100644 index 000000000000..a826ba55b080 --- /dev/null +++ b/pkgs/by-name/gi/gitaly/package.nix @@ -0,0 +1,67 @@ +{ lib +, callPackage +, fetchFromGitLab +, buildGoModule +, pkg-config +}: + +let + version = "17.3.6"; + package_version = "v${lib.versions.major version}"; + gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; + + git = callPackage ./git.nix { }; + + commonOpts = { + inherit version; + + # nixpkgs-update: no auto update + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "gitaly"; + rev = "v${version}"; + hash = "sha256-nXblQfr9ml6F5nNz64haN7ub+cuN3eao14N0Y2d3n0Y="; + }; + + vendorHash = "sha256-spfSOOe+9NGu+2ZbEGb93X3HnANEXYbvP73DD6neIXQ="; + + ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ]; + + tags = [ "static" ]; + + doCheck = false; + }; + + auxBins = buildGoModule ({ + pname = "gitaly-aux"; + + subPackages = [ "cmd/gitaly-hooks" "cmd/gitaly-ssh" "cmd/gitaly-lfs-smudge" "cmd/gitaly-gpg" ]; + } // commonOpts); +in +buildGoModule ({ + pname = "gitaly"; + + subPackages = [ "cmd/gitaly" "cmd/gitaly-backup" ]; + + preConfigure = '' + mkdir -p _build/bin + cp -r ${auxBins}/bin/* _build/bin + for f in ${git}/bin/git-*; do + cp "$f" "_build/bin/gitaly-$(basename $f)"; + done + ''; + + outputs = [ "out" ]; + + passthru = { + inherit git; + }; + + meta = with lib; { + homepage = "https://gitlab.com/gitlab-org/gitaly"; + description = "Git RPC service for handling all the git calls made by GitLab"; + platforms = platforms.linux ++ [ "x86_64-darwin" ]; + maintainers = teams.gitlab.members; + license = licenses.mit; + }; +} // commonOpts) diff --git a/pkgs/by-name/gi/gitbatch/package.nix b/pkgs/by-name/gi/gitbatch/package.nix new file mode 100644 index 000000000000..7f7c6c64891a --- /dev/null +++ b/pkgs/by-name/gi/gitbatch/package.nix @@ -0,0 +1,39 @@ +{ lib, buildGoModule, fetchFromGitHub, git }: + +buildGoModule rec { + pname = "gitbatch"; + version = "0.6.1"; + + src = fetchFromGitHub { + owner = "isacikgoz"; + repo = "gitbatch"; + rev = "v${version}"; + sha256 = "sha256-ovmdbyPRSebwmW6AW55jBgBKaNdY6w5/wrpUF2cMKw8="; + }; + + vendorHash = "sha256-wwpaJO5cXMsvqFXj+qGiIm4zg/SL4YCm2mNnG/qdilw="; + + ldflags = [ "-s" "-w" ]; + + nativeCheckInputs = [ + git # required by unit tests + ]; + + preCheck = '' + HOME=$(mktemp -d) + ''; + + checkFlags = [ + # Disable tests requiring network access to gitlab.com + "-skip=Test(Run|Start|(Fetch|Pull)With(Go|)Git)" + ]; + + meta = with lib; { + description = "Running git UI commands"; + homepage = "https://github.com/isacikgoz/gitbatch"; + license = licenses.mit; + maintainers = with maintainers; [ teto ]; + platforms = with platforms; linux; + mainProgram = "gitbatch"; + }; +} diff --git a/pkgs/by-name/gi/gitbutler/package.nix b/pkgs/by-name/gi/gitbutler/package.nix index 66da05851dde..ea4ee4717e53 100644 --- a/pkgs/by-name/gi/gitbutler/package.nix +++ b/pkgs/by-name/gi/gitbutler/package.nix @@ -18,10 +18,12 @@ libsoup, moreutils, openssl, - webkitgtk, + rust, + webkitgtk_4_0, nix-update-script, cacert, }: + rustPlatform.buildRustPackage rec { pname = "gitbutler"; version = "0.12.16"; @@ -33,11 +35,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-L4PVaNb3blpLIcyA7XLc71qwUPUADclxvbOkq1Jc1no="; }; - # deactivate the upstream updater in tauri configuration - # TODO: use `tauri build`'s `--config` flag with the release configuration instead of manually merging - # them. it doesn't seem to like using paths currently, even though it should. + # deactivate the upstream updater in tauri configuration & set the version postPatch = '' - jq --slurp ".[0] * .[1] | .tauri.updater.active = false" crates/gitbutler-tauri/tauri.conf{,.release}.json | sponge crates/gitbutler-tauri/tauri.conf.json + tauri_conf="crates/gitbutler-tauri/tauri.conf.release.json" + jq '.package.version = "${version}" | .tauri.updater.active = false' "$tauri_conf" | sponge "$tauri_conf" ''; cargoLock = { @@ -50,11 +51,11 @@ rustPlatform.buildRustPackage rec { pnpmDeps = pnpm_9.fetchDeps { inherit pname version src; - hash = "sha256-r2PkNDvOofginL5Y0K+7Qhnsev2zle1q9qraG/ub7Wo="; + hash = "sha256-rlEwFwN6DrOJZm1Hzy6qu7rLKQx69rRIqrScx9FExZM="; }; nativeBuildInputs = [ - cargo-tauri + cargo-tauri.hook desktop-file-utils jq moreutils @@ -67,12 +68,12 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] - ++ lib.optionals stdenv.isLinux [ + ++ lib.optionals stdenv.hostPlatform.isLinux [ glib-networking libsoup - webkitgtk + webkitgtk_4_0 ] - ++ lib.optionals stdenv.isDarwin ( + ++ lib.optionals stdenv.hostPlatform.isDarwin ( with darwin.apple_sdk.frameworks; [ AppKit @@ -82,7 +83,15 @@ rustPlatform.buildRustPackage rec { ] ); + # extended release configuration + tauriBuildFlags = [ "--config crates/gitbutler-tauri/tauri.conf.release.json" ]; + env = { + # make sure `crates/gitbutler-tauri/inject-git-binaries.sh` can find our + # target dir + # https://github.com/gitbutlerapp/gitbutler/blob/56b64d778042d0e93fa362f808c35a7f095ab1d1/crates/gitbutler-tauri/inject-git-binaries.sh#L10C10-L10C26 + TRIPLE_OVERRIDE = rust.envVars.rustHostPlatformSpec; + # `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's COREPACK_ENABLE_STRICT = 0; @@ -95,14 +104,6 @@ rustPlatform.buildRustPackage rec { # we also need to have `tracing` support in `tokio` for `console-subscriber` RUSTFLAGS = "--cfg tokio_unstable"; - tauriBundle = - { - Linux = "deb"; - Darwin = "app"; - } - .${stdenv.hostPlatform.uname.system} - or (throw "No tauri bundle available for ${stdenv.hostPlatform.uname.system}"); - ESBUILD_BINARY_PATH = lib.getExe ( esbuild.override { buildGoModule = @@ -128,39 +129,23 @@ rustPlatform.buildRustPackage rec { OPENSSL_NO_VENDOR = true; }; - buildPhase = '' - runHook preBuild - + preBuild = '' pushd packages/ui pnpm package popd - - cargo tauri build --bundles "$tauriBundle" - - runHook postBuild ''; - installPhase = - '' - runHook preInstall - '' - + lib.optionalString stdenv.isDarwin '' - mkdir -p $out/bin - cp -r target/release/bundle/macos $out/Applications + postInstall = + lib.optionalString stdenv.hostPlatform.isDarwin '' mv $out/Applications/GitButler.app/Contents/MacOS/GitButler $out/bin/git-butler ln -s $out/bin/git-butler $out/Applications/GitButler.app/Contents/MacOS/GitButler '' - + lib.optionalString stdenv.isLinux '' - cp -r target/release/bundle/"$tauriBundle"/*/data/usr $out - + + lib.optionalString stdenv.hostPlatform.isLinux '' desktop-file-edit \ --set-comment "A Git client for simultaneous branches on top of your existing workflow." \ --set-key="Keywords" --set-value="git;" \ --set-key="StartupWMClass" --set-value="GitButler" \ $out/share/applications/git-butler.desktop - '' - + '' - runHook postInstall ''; # the `gitbutler-git` crate's checks do not support release mode diff --git a/pkgs/by-name/gi/gitea-actions-runner/package.nix b/pkgs/by-name/gi/gitea-actions-runner/package.nix new file mode 100644 index 000000000000..d84c0de480b2 --- /dev/null +++ b/pkgs/by-name/gi/gitea-actions-runner/package.nix @@ -0,0 +1,42 @@ +{ + lib, + fetchFromGitea, + buildGo123Module, + testers, + gitea-actions-runner, +}: + +buildGo123Module rec { + pname = "gitea-actions-runner"; + version = "0.2.11"; + + src = fetchFromGitea { + domain = "gitea.com"; + owner = "gitea"; + repo = "act_runner"; + rev = "v${version}"; + hash = "sha256-PmDa8XIe1uZ4SSrs9zh5HBmFaOuj+uuLm7jJ4O5V1dI="; + }; + + vendorHash = "sha256-lYJFySGqkhT89vHDp1FcTiiC7DG4ziQ1DaBHLh/kXQc="; + + ldflags = [ + "-s" + "-w" + "-X gitea.com/gitea/act_runner/internal/pkg/ver.version=v${version}" + ]; + + passthru.tests.version = testers.testVersion { + package = gitea-actions-runner; + version = "v${version}"; + }; + + meta = with lib; { + mainProgram = "act_runner"; + maintainers = with maintainers; [ techknowlogick ]; + license = licenses.mit; + changelog = "https://gitea.com/gitea/act_runner/releases/tag/v${version}"; + homepage = "https://gitea.com/gitea/act_runner"; + description = "Runner for Gitea based on act"; + }; +} diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index 3b5e5ccdf579..e68a58be66e6 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -33,18 +33,18 @@ let }; in buildGoModule rec { pname = "gitea"; - version = "1.22.2"; + version = "1.22.3"; src = fetchFromGitHub { owner = "go-gitea"; repo = "gitea"; rev = "v${gitea.version}"; - hash = "sha256-PwA23cbRgw5crzZmngDjAAIODMtguwBCqc9NqWMjF3o="; + hash = "sha256-F1vvyf/FE/OIfDjM0CCOef/cXy+GPA+8n1AypE0r6p8="; }; proxyVendor = true; - vendorHash = "sha256-rMTKmztQNse/9CK1qFGWmSwqunwh918EvcuIHk6BSTY="; + vendorHash = "sha256-iKf4ozCBcTJQ6bm6dX4dd4buVMGNDVF+rLuYkb7Zxw8="; outputs = [ "out" "data" ]; diff --git a/pkgs/by-name/gi/gitflow/package.nix b/pkgs/by-name/gi/gitflow/package.nix new file mode 100644 index 000000000000..de291113daea --- /dev/null +++ b/pkgs/by-name/gi/gitflow/package.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchFromGitHub, makeWrapper, getopt, git, coreutils }: + +stdenv.mkDerivation rec { + pname = "gitflow"; + version = "1.12.3"; + + src = fetchFromGitHub { + owner = "petervanderdoes"; + repo = pname; + rev = version; + sha256 = "sha256-kHirHG/bfsU6tKyQ0khNSTyChhzHfzib+HyA3LOtBI8="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + preBuild = '' + makeFlagsArray+=(prefix="$out") + ''; + + postInstall = '' + wrapProgram $out/bin/git-flow \ + --set FLAGS_GETOPT_CMD ${getopt}/bin/getopt \ + --suffix PATH : ${git}/bin \ + --prefix PATH : ${coreutils}/bin + ''; + + meta = with lib; { + homepage = "https://github.com/petervanderdoes/gitflow"; + description = "Extend git with the Gitflow branching model"; + mainProgram = "git-flow"; + longDescription = '' + A set of scripts that provide high-level repository operations + for managing feature/release/hotfix branches in a Git repository, + particularly suited to be utilised to follow Vincent Driessen's + branching model. + ''; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = with maintainers; [ offline ]; + }; +} diff --git a/pkgs/by-name/gi/gitfs/package.nix b/pkgs/by-name/gi/gitfs/package.nix new file mode 100644 index 000000000000..c99455cdb997 --- /dev/null +++ b/pkgs/by-name/gi/gitfs/package.nix @@ -0,0 +1,44 @@ +{ lib, fetchFromGitHub, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "gitfs"; + version = "0.5.2"; + + src = fetchFromGitHub { + owner = "PressLabs"; + repo = "gitfs"; + rev = version; + sha256 = "1jzwdwan8ndvp2lw6j7zbvg5k9rgf2d8dcxjrwc6bwyk59xdxn4p"; + }; + + patchPhase = '' + # requirement checks are unnecessary at runtime + echo > requirements.txt + + # NOTE: As of gitfs 0.5.2, The pygit2 release that upstream uses is a major + # version behind the one packaged in nixpkgs. + substituteInPlace gitfs/mounter.py --replace \ + 'from pygit2.remote import RemoteCallbacks' \ + 'from pygit2 import RemoteCallbacks' + ''; + + nativeCheckInputs = with python3Packages; [ pytest pytest-cov mock ]; + propagatedBuildInputs = with python3Packages; [ atomiclong fusepy pygit2 six ]; + + checkPhase = "py.test"; + doCheck = false; + + meta = { + description = "FUSE filesystem that fully integrates with git"; + longDescription = '' + A git remote repository's branch can be mounted locally, + and any subsequent changes made to the files will be + automatically committed to the remote. + ''; + homepage = "https://github.com/PressLabs/gitfs"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.robbinch ]; + mainProgram = "gitfs"; + }; +} diff --git a/pkgs/by-name/gi/gitg/package.nix b/pkgs/by-name/gi/gitg/package.nix index 5c99f00c1206..c5071267ae8c 100644 --- a/pkgs/by-name/gi/gitg/package.nix +++ b/pkgs/by-name/gi/gitg/package.nix @@ -90,6 +90,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gitlab.gnome.org/GNOME/gitg"; + changelog = "https://gitlab.gnome.org/GNOME/gitg/-/blob/v${version}/NEWS?ref_type=tags"; description = "GNOME GUI client to view git repositories"; mainProgram = "gitg"; maintainers = with maintainers; [ domenkozar Luflosi ]; diff --git a/pkgs/by-name/gi/githooks/package.nix b/pkgs/by-name/gi/githooks/package.nix index d5a0b78f494f..54acd5292923 100644 --- a/pkgs/by-name/gi/githooks/package.nix +++ b/pkgs/by-name/gi/githooks/package.nix @@ -9,13 +9,13 @@ }: buildGoModule rec { pname = "githooks"; - version = "3.0.3"; + version = "3.0.4"; src = fetchFromGitHub { owner = "gabyx"; repo = "githooks"; rev = "v${version}"; - hash = "sha256-9IsE9XGeMgOPPEyBvGLZaZKyz5HjnugiELP76+alFmU="; + hash = "sha256-pTSC8ruNiPzQO1C6j+G+WFX3pz/mWPukuWkKUSYdfHw="; }; modRoot = "./githooks"; diff --git a/pkgs/by-name/gi/github-backup/package.nix b/pkgs/by-name/gi/github-backup/package.nix new file mode 100644 index 000000000000..6958bf579b5a --- /dev/null +++ b/pkgs/by-name/gi/github-backup/package.nix @@ -0,0 +1,39 @@ +{ lib +, python3Packages +, fetchFromGitHub +, git +, git-lfs +}: + +python3Packages.buildPythonApplication rec { + pname = "github-backup"; + version = "0.46.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "josegonzalez"; + repo = "python-github-backup"; + rev = "refs/tags/${version}"; + hash = "sha256-kSxkD8vWBvaT7C0sS9rs3CEP2yeWsAJ0kjPlrGezoLU="; + }; + + build-system = with python3Packages; [ + setuptools + ]; + + makeWrapperArgs = [ + "--prefix" "PATH" ":" (lib.makeBinPath [ git git-lfs ]) + ]; + + # has no unit tests + doCheck = false; + + meta = with lib; { + description = "Backup a github user or organization"; + homepage = "https://github.com/josegonzalez/python-github-backup"; + changelog = "https://github.com/josegonzalez/python-github-backup/blob/${version}/CHANGES.rst"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + mainProgram = "github-backup"; + }; +} diff --git a/pkgs/by-name/gi/github-commenter/package.nix b/pkgs/by-name/gi/github-commenter/package.nix new file mode 100644 index 000000000000..50a12e0eb0a8 --- /dev/null +++ b/pkgs/by-name/gi/github-commenter/package.nix @@ -0,0 +1,23 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "github-commenter"; + version = "0.28.0"; + + src = fetchFromGitHub { + owner = "cloudposse"; + repo = pname; + rev = version; + hash = "sha256-x3/ae22ub9Us3mvSmvq9ohlkujvZCUfSrmZeQNvIWzE="; + }; + + vendorHash = "sha256-DS2cTYQasIKmyqHS3kTpNMA4fuLxSv4n7ZQjeRWE0gI="; + + meta = with lib; { + description = "Command line utility for creating GitHub comments on Commits, Pull Request Reviews or Issues"; + mainProgram = "github-commenter"; + license = licenses.asl20; + homepage = "https://github.com/cloudposse/github-commenter"; + maintainers = [ maintainers.mmahut ]; + }; +} diff --git a/pkgs/by-name/gi/github-copilot-cli/package-lock.json b/pkgs/by-name/gi/github-copilot-cli/package-lock.json new file mode 100644 index 000000000000..03bc0c1fc339 --- /dev/null +++ b/pkgs/by-name/gi/github-copilot-cli/package-lock.json @@ -0,0 +1,3329 @@ +{ + "name": "@githubnext/github-copilot-cli", + "version": "0.1.36", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@githubnext/github-copilot-cli", + "version": "0.1.36", + "dependencies": { + "applicationinsights": "^2.9.1", + "axios": "^1.6.0", + "chalk": "^5.1.0", + "cli-highlight": "^2.1.11", + "commander": "^9.4.1", + "get-stream": "^6.0.1", + "immer": "^9.0.16", + "ink": "^3.2.0", + "ink-divider": "^3.0.0", + "ink-select-input": "^4.2.1", + "ink-spinner": "^4.0.3", + "ink-text-input": "^4.0.3", + "inquirer": "^9.1.4", + "marked": "^4.2.12", + "marked-terminal": "^5.1.1", + "ora": "^6.1.2", + "radash": "^9.1.0", + "react": "17", + "react-devtools-core": "^4.28.4", + "react-dom": "17", + "react-query": "^3.39.2", + "semver": "^5.7.2", + "simple-update-notifier": "^1.1.0", + "tiny-invariant": "^1.3.1", + "tough-cookie": "^4.1.3", + "ts-dedent": "^2.2.0", + "use-zustand": "^0.0.1", + "uuid": "^9.0.0", + "zustand": "^4.1.4" + }, + "bin": { + "github-copilot-cli": "cli.js" + }, + "devDependencies": { + "@types/inquirer": "^9.0.2", + "@types/node": "^18.8.3", + "@types/react": "^18.0.25", + "@types/uuid": "^8.3.4", + "esbuild": "^0.15.10", + "genversion": "^3.1.1", + "typescript": "^4.8.4" + } + }, + "node_modules/@azure/abort-controller": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", + "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.5.0.tgz", + "integrity": "sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz", + "integrity": "sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "form-data": "^4.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "tslib": "^2.2.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.1.tgz", + "integrity": "sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.2.0.tgz", + "integrity": "sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", + "integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/opentelemetry-instrumentation-azure-sdk": { + "version": "1.0.0-beta.5", + "resolved": "https://registry.npmjs.org/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz", + "integrity": "sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==", + "dependencies": { + "@azure/core-tracing": "^1.0.0", + "@azure/logger": "^1.0.0", + "@opentelemetry/api": "^1.4.1", + "@opentelemetry/core": "^1.15.2", + "@opentelemetry/instrumentation": "^0.41.2", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", + "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@ljharb/through": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@microsoft/applicationinsights-web-snippet": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web-snippet/-/applicationinsights-web-snippet-1.0.1.tgz", + "integrity": "sha512-2IHAOaLauc8qaAitvWS+U931T+ze+7MNWrDHY47IENP5y2UA0vqJDu67kWZDdpCN1fFC77sfgfB+HV7SrKshnQ==" + }, + "node_modules/@opentelemetry/api": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.7.0.tgz", + "integrity": "sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.20.0.tgz", + "integrity": "sha512-lSRvk5AIdD6CtgYJcJXh0wGibQ3S/8bC2qbqKs9wK8e0K1tsWV6YkGFOqVc+jIRlCbZoIBeZzDe5UI+vb94uvg==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.20.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.8.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.41.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz", + "integrity": "sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==", + "dependencies": { + "@types/shimmer": "^1.0.2", + "import-in-the-middle": "1.4.2", + "require-in-the-middle": "^7.1.1", + "semver": "^7.5.1", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.20.0.tgz", + "integrity": "sha512-nOpV0vGegSq+9ze2cEDvO3BMA5pGBhmhKZiAlj+xQZjiEjPmJtdHIuBLRvptu2ahcbFJw85gIB9BYHZOvZK1JQ==", + "dependencies": { + "@opentelemetry/core": "1.20.0", + "@opentelemetry/semantic-conventions": "1.20.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.8.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.20.0.tgz", + "integrity": "sha512-BAIZ0hUgnhdb3OBQjn1FKGz/Iwie4l+uOMKklP7FGh7PTqEAbbzDNMJKaZQh6KepF7Fq+CZDRKslD3yrYy2Tzw==", + "dependencies": { + "@opentelemetry/core": "1.20.0", + "@opentelemetry/resources": "1.20.0", + "@opentelemetry/semantic-conventions": "1.20.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.8.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.20.0.tgz", + "integrity": "sha512-3zLJJCgTKYpbqFX8drl8hOCHtdchELC+kGqlVcV4mHW1DiElTtv1Nt9EKBptTd1IfL56QkuYnWJ3DeHd2Gtu/A==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/inquirer": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.7.tgz", + "integrity": "sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==", + "dev": true, + "dependencies": { + "@types/through": "*", + "rxjs": "^7.2.0" + } + }, + "node_modules/@types/node": { + "version": "18.19.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.2.48", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", + "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "devOptional": true + }, + "node_modules/@types/shimmer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.5.tgz", + "integrity": "sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==" + }, + "node_modules/@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "node_modules/@types/yoga-layout": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.2.tgz", + "integrity": "sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==" + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/applicationinsights": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.9.2.tgz", + "integrity": "sha512-wlDiD7v0BQNM8oNzsf9C836R5ze25u+CuCEZsbA5xMIXYYBxkqkWE/mo9GFJM7rsKaiGqpxEwWmePHKD2Lwy2w==", + "dependencies": { + "@azure/core-auth": "^1.5.0", + "@azure/core-rest-pipeline": "1.10.1", + "@azure/core-util": "1.2.0", + "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.5", + "@microsoft/applicationinsights-web-snippet": "^1.0.1", + "@opentelemetry/api": "^1.7.0", + "@opentelemetry/core": "^1.19.0", + "@opentelemetry/sdk-trace-base": "^1.19.0", + "@opentelemetry/semantic-conventions": "^1.19.0", + "cls-hooked": "^4.2.2", + "continuation-local-storage": "^3.2.1", + "diagnostic-channel": "1.1.1", + "diagnostic-channel-publishers": "1.0.8" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "applicationinsights-native-metrics": "*" + }, + "peerDependenciesMeta": { + "applicationinsights-native-metrics": { + "optional": true + } + } + }, + "node_modules/arr-rotate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/arr-rotate/-/arr-rotate-1.0.0.tgz", + "integrity": "sha512-yOzOZcR9Tn7enTF66bqKorGGH0F36vcPaSWg8fO0c0UYb3LX3VMXj5ZxEqQLNOecAhlRJ7wYZja5i4jTlnbIfQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/async-hook-jl": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", + "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", + "dependencies": { + "stack-chain": "^1.3.7" + }, + "engines": { + "node": "^4.7 || >=6.9 || >=7.3" + } + }, + "node_modules/async-listener": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz", + "integrity": "sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==", + "dependencies": { + "semver": "^5.3.0", + "shimmer": "^1.1.0" + }, + "engines": { + "node": "<=0.11.8 || >0.11.10" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/axios": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/broadcast-channel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", + "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "detect-node": "^2.1.0", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "oblivious-set": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" + } + }, + "node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cls-hooked": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", + "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", + "dependencies": { + "async-hook-jl": "^1.7.6", + "emitter-listener": "^1.0.1", + "semver": "^5.4.1" + }, + "engines": { + "node": "^4.7 || >=6.9 || >=7.3 || >=8.2.1" + } + }, + "node_modules/code-excerpt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-3.0.0.tgz", + "integrity": "sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==", + "dependencies": { + "convert-to-spaces": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/continuation-local-storage": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz", + "integrity": "sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==", + "dependencies": { + "async-listener": "^0.6.0", + "emitter-listener": "^1.1.1" + } + }, + "node_modules/convert-to-spaces": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", + "integrity": "sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "devOptional": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/diagnostic-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz", + "integrity": "sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==", + "dependencies": { + "semver": "^7.5.3" + } + }, + "node_modules/diagnostic-channel-publishers": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.8.tgz", + "integrity": "sha512-HmSm9hXxSPxA9BaLGY98QU1zsdjeCk113KjAYGPCen1ZP6mhVaTPzHd6UYv5r21DnWANi+f+NyPOHruGT9jpqQ==", + "peerDependencies": { + "diagnostic-channel": "*" + } + }, + "node_modules/diagnostic-channel/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emitter-listener": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", + "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", + "dependencies": { + "shimmer": "^1.2.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/find-package": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-package/-/find-package-1.0.0.tgz", + "integrity": "sha512-yVn71XCCaNgxz58ERTl8nA/8YYtIQDY9mHSrgFBfiFtdNNfY0h183Vh8BRkKxD8x9TUw3ec290uJKhDVxqGZBw==", + "dev": true, + "dependencies": { + "parents": "^1.0.1" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/genversion": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/genversion/-/genversion-3.2.0.tgz", + "integrity": "sha512-OIYSX6XYA8PHecLDCTri30hadSZfAjZ8Iq1+BBDXqLWP4dRLuJNLoNjsSWtTpw97IccK2LDWzkEstxAB8GdN7g==", + "dev": true, + "dependencies": { + "commander": "^7.2.0", + "ejs": "^3.1.9", + "find-package": "^1.0.0" + }, + "bin": { + "genversion": "bin/genversion.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/genversion/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "engines": { + "node": "*" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-in-the-middle": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz", + "integrity": "sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==", + "dependencies": { + "acorn": "^8.8.2", + "acorn-import-assertions": "^1.9.0", + "cjs-module-lexer": "^1.2.2", + "module-details-from-path": "^1.0.3" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ink": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ink/-/ink-3.2.0.tgz", + "integrity": "sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "auto-bind": "4.0.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.0", + "cli-cursor": "^3.1.0", + "cli-truncate": "^2.1.0", + "code-excerpt": "^3.0.0", + "indent-string": "^4.0.0", + "is-ci": "^2.0.0", + "lodash": "^4.17.20", + "patch-console": "^1.0.0", + "react-devtools-core": "^4.19.1", + "react-reconciler": "^0.26.2", + "scheduler": "^0.20.2", + "signal-exit": "^3.0.2", + "slice-ansi": "^3.0.0", + "stack-utils": "^2.0.2", + "string-width": "^4.2.2", + "type-fest": "^0.12.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0", + "ws": "^7.5.5", + "yoga-layout-prebuilt": "^1.9.6" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": ">=16.8.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/ink-divider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ink-divider/-/ink-divider-3.0.0.tgz", + "integrity": "sha512-Mqb9WArtEZCtXw622aHhJqPK157QNc+8ssl9/RvAZlS6nZRCKyW4mYOYCudQh6dSuFGt9eG5yaqT1mJaGmwu+w==", + "dependencies": { + "prop-types": "^15.7.2", + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "ink": ">=3.0.0", + "react": ">=16.8.0" + } + }, + "node_modules/ink-select-input": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/ink-select-input/-/ink-select-input-4.2.2.tgz", + "integrity": "sha512-E5AS2Vnd4CSzEa7Rm+hG47wxRQo1ASfh4msKxO7FHmn/ym+GKSSsFIfR+FonqjKNDPXYJClw8lM47RdN3Pi+nw==", + "dependencies": { + "arr-rotate": "^1.0.0", + "figures": "^3.2.0", + "lodash.isequal": "^4.5.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ink": "^3.0.5", + "react": "^16.5.2 || ^17.0.0" + } + }, + "node_modules/ink-spinner": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-4.0.3.tgz", + "integrity": "sha512-uJ4nbH00MM9fjTJ5xdw0zzvtXMkeGb0WV6dzSWvFv2/+ks6FIhpkt+Ge/eLdh0Ah6Vjw5pLMyNfoHQpRDRVFbQ==", + "dependencies": { + "cli-spinners": "^2.3.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ink": ">=3.0.5", + "react": ">=16.8.2" + } + }, + "node_modules/ink-text-input": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ink-text-input/-/ink-text-input-4.0.3.tgz", + "integrity": "sha512-eQD01ik9ltmNoHmkeQ2t8LszYkv2XwuPSUz3ie/85qer6Ll/j0QSlSaLNl6ENHZakBHdCBVZY04iOXcLLXA0PQ==", + "dependencies": { + "chalk": "^4.1.0", + "type-fest": "^0.15.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ink": "^3.0.0-3", + "react": "^16.5.2 || ^17.0.0" + } + }, + "node_modules/ink-text-input/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ink-text-input/node_modules/type-fest": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.15.1.tgz", + "integrity": "sha512-n+UXrN8i5ioo7kqT/nF8xsEzLaqFra7k32SEsSPwvXVGyAcRgV/FUQN/sgfptJTR1oRmmq7z4IXMFSM7im7C9A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ink/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer": { + "version": "9.2.12", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", + "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", + "dependencies": { + "@ljharb/through": "^2.3.11", + "ansi-escapes": "^4.3.2", + "chalk": "^5.3.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.1.0", + "external-editor": "^3.1.0", + "figures": "^5.0.0", + "lodash": "^4.17.21", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/inquirer/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/inquirer/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dependencies": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/ora/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/marked-terminal": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz", + "integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==", + "dependencies": { + "ansi-escapes": "^6.2.0", + "cardinal": "^2.1.1", + "chalk": "^5.2.0", + "cli-table3": "^0.6.3", + "node-emoji": "^1.11.0", + "supports-hyperlinks": "^2.3.0" + }, + "engines": { + "node": ">=14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/marked-terminal/node_modules/ansi-escapes": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "dependencies": { + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/marked-terminal/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/match-sorter": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.3.tgz", + "integrity": "sha512-sgiXxrRijEe0SzHKGX4HouCpfHRPnqteH42UdMEW7BlWy990ZkzcvonJGv4Uu9WE7Y1f8Yocm91+4qFPCbmNww==", + "dependencies": { + "@babel/runtime": "^7.23.8", + "remove-accents": "0.5.0" + } + }, + "node_modules/microseconds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/module-details-from-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", + "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nano-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", + "dependencies": { + "big-integer": "^1.6.16" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oblivious-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", + "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", + "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", + "dependencies": { + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "dependencies": { + "path-platform": "~0.11.15" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/patch-console": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/patch-console/-/patch-console-1.0.0.tgz", + "integrity": "sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/radash": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/radash/-/radash-9.5.0.tgz", + "integrity": "sha512-t0s8BJlvrk8YPaOS8X0J2xzqAsBlXAUkDEjoBXwlzaXsXNCpBILjT9OvWlabLa2KB/r4XrhThdXjxMs7SiCyIw==", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools-core": { + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz", + "integrity": "sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-query": { + "version": "3.39.3", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", + "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "broadcast-channel": "^3.4.1", + "match-sorter": "^6.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-reconciler": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.26.2.tgz", + "integrity": "sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^17.0.2" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/remove-accents": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", + "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-in-the-middle": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz", + "integrity": "sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==", + "dependencies": { + "debug": "^4.1.1", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stack-chain": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", + "integrity": "sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-fest": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", + "integrity": "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unload": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-zustand": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/use-zustand/-/use-zustand-0.0.1.tgz", + "integrity": "sha512-axjswesUfXirTQ1CC1F4r0dkaI7g2nMEftyvg23Wq4PnAbLogswzj+o5gbnnnQaQOMXKHxNZIlYpKfuTnL466Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yoga-layout-prebuilt": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz", + "integrity": "sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==", + "dependencies": { + "@types/yoga-layout": "1.9.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/zustand": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.4.7.tgz", + "integrity": "sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + } +} diff --git a/pkgs/by-name/gi/github-copilot-cli/package.nix b/pkgs/by-name/gi/github-copilot-cli/package.nix new file mode 100644 index 000000000000..8bed7df94084 --- /dev/null +++ b/pkgs/by-name/gi/github-copilot-cli/package.nix @@ -0,0 +1,29 @@ +{ lib, buildNpmPackage, fetchzip }: + +buildNpmPackage rec { + pname = "github-copilot-cli"; + version = "0.1.36"; + + src = fetchzip { + url = "https://registry.npmjs.org/@githubnext/github-copilot-cli/-/github-copilot-cli-${version}.tgz"; + hash = "sha256-7n+7sN61OrqMVGaKll85+HwX7iGG9M/UW5lf2Pd5sRU="; + }; + + npmDepsHash = "sha256-h0StxzGbl3ZeOQ4Jy1BgJ5sJ0pAbubMCRsiIOYpU04w="; + + postPatch = '' + cp ${./package-lock.json} package-lock.json + ''; + + dontNpmBuild = true; + + meta = with lib; { + description = "CLI experience for letting GitHub Copilot help you on the command line"; + homepage = "https://githubnext.com/projects/copilot-cli/"; + license = licenses.unfree; # upstream has no license + maintainers = [ maintainers.malo ]; + platforms = platforms.all; + mainProgram = "github-copilot-cli"; + }; +} + diff --git a/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix b/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix new file mode 100644 index 000000000000..13c28ca5b71a --- /dev/null +++ b/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix @@ -0,0 +1,82 @@ +{ stdenv, lib, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "github-copilot-intellij-agent"; + version = "1.4.5.4049"; + + src = fetchurl { + name = "${pname}-${version}-plugin.zip"; + url = "https://plugins.jetbrains.com/plugin/download?updateId=454005"; + hash = "sha256-ibu3OcmtyLHuumhJQ6QipsNEIdEhvLUS7sb3xmnaR0U="; + }; + + nativeBuildInputs = [ unzip ]; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + unzip -p $src github-copilot-intellij/copilot-agent/bin/copilot-agent-${ + if stdenv.hostPlatform.isDarwin then (if stdenv.hostPlatform.isAarch64 then "macos-arm64" else "macos") else "linux" + } | install -m755 /dev/stdin $out/bin/copilot-agent + + runHook postInstall + ''; + + # https://discourse.nixos.org/t/unrelatable-error-when-working-with-patchelf/12043 + # https://github.com/NixOS/nixpkgs/blob/db0d8e10fc1dec84f1ccb111851a82645aa6a7d3/pkgs/development/web/now-cli/default.nix + preFixup = let + binaryLocation = "$out/bin/copilot-agent"; + libPath = lib.makeLibraryPath [ stdenv.cc.cc ]; + in '' + orig_size=$(stat --printf=%s ${binaryLocation}) + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ${binaryLocation} + patchelf --set-rpath ${libPath} ${binaryLocation} + chmod +x ${binaryLocation} + + new_size=$(stat --printf=%s ${binaryLocation}) + + var_skip=20 + var_select=22 + shift_by=$(expr $new_size - $orig_size) + + function fix_offset { + location=$(grep -obUam1 "$1" ${binaryLocation} | cut -d: -f1) + location=$(expr $location + $var_skip) + value=$(dd if=${binaryLocation} iflag=count_bytes,skip_bytes skip=$location \ + bs=1 count=$var_select status=none) + value=$(expr $shift_by + $value) + echo -n $value | dd of=${binaryLocation} bs=1 seek=$location conv=notrunc + } + + fix_offset PAYLOAD_POSITION + fix_offset PRELUDE_POSITION + ''; + + dontStrip = true; + + meta = rec { + description = "GitHub copilot IntelliJ plugin's native component"; + longDescription = '' + The GitHub copilot IntelliJ plugin's native component. + bin/copilot-agent must be symlinked into the plugin directory, replacing the existing binary. + + For example: + + ```shell + ln -fs /run/current-system/sw/bin/copilot-agent ~/.local/share/JetBrains/IntelliJIdea2022.2/github-copilot-intellij/copilot-agent/bin/copilot-agent-linux + ``` + ''; + homepage = "https://plugins.jetbrains.com/plugin/17718-github-copilot"; + downloadPage = homepage; + changelog = homepage; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ hacker1024 ]; + mainProgram = "copilot-agent"; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + }; +} diff --git a/pkgs/by-name/gi/github-desktop/package.nix b/pkgs/by-name/gi/github-desktop/package.nix index cbd89cda3c21..88f8b5620b45 100644 --- a/pkgs/by-name/gi/github-desktop/package.nix +++ b/pkgs/by-name/gi/github-desktop/package.nix @@ -2,8 +2,7 @@ , lib , fetchurl , autoPatchelfHook -, wrapGAppsHook3 -, makeWrapper +, buildPackages , gnome-keyring , libsecret , git @@ -44,7 +43,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoPatchelfHook - (wrapGAppsHook3.override { inherit makeWrapper; }) + # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651 + # Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset. + (buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; }) ]; buildInputs = [ diff --git a/pkgs/by-name/gi/github-markdown-toc-go/package.nix b/pkgs/by-name/gi/github-markdown-toc-go/package.nix new file mode 100644 index 000000000000..809664c90d1d --- /dev/null +++ b/pkgs/by-name/gi/github-markdown-toc-go/package.nix @@ -0,0 +1,25 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: +buildGoModule rec { + pname = "github-markdown-toc-go"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "ekalinin"; + repo = "github-markdown-toc.go"; + rev = "v${version}"; + hash = "sha256-tZGAvbC9lrNhtRubCJUkQShRsfCsaAeI6XHhSp4FkS0="; + }; + + vendorHash = "sha256-K5yb7bnW6eS5UESK9wgNEUwGjB63eJk6+B0jFFiFero="; + + meta = { + homepage = "https://github.com/ekalinin/github-markdown-toc.go"; + description = "Easy TOC creation for GitHub README.md (in go)"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dannixon ]; + mainProgram = "gh-md-toc"; + }; +} diff --git a/pkgs/by-name/gi/github-release/package.nix b/pkgs/by-name/gi/github-release/package.nix new file mode 100644 index 000000000000..e2480451e98d --- /dev/null +++ b/pkgs/by-name/gi/github-release/package.nix @@ -0,0 +1,37 @@ +{ buildGoModule, fetchFromGitHub, lib, testers, github-release }: + +buildGoModule rec { + pname = "github-release"; + version = "0.10.1-unstable-2024-06-25"; + + src = fetchFromGitHub { + owner = "github-release"; + repo = "github-release"; + rev = "d250e89a7bf00d54e823b169c3a4722a55ac67b0"; + hash = "sha256-QDImy9VNJ3hfGVCpMoJ72Za3CiM3SVNH1D9RFHVM+4I="; + }; + + vendorHash = null; + + ldflags = [ "-s" ]; + + passthru.tests.version = testers.testVersion { + package = github-release; + version = "v${version}"; + }; + + meta = with lib; { + description = "Commandline app to create and edit releases on Github (and upload artifacts)"; + mainProgram = "github-release"; + longDescription = '' + A small commandline app written in Go that allows you to easily create and + delete releases of your projects on Github. + In addition it allows you to attach files to those releases. + ''; + + license = licenses.mit; + homepage = "https://github.com/github-release/github-release"; + maintainers = with maintainers; [ ardumont j03 ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/by-name/gi/github-runner/package.nix b/pkgs/by-name/gi/github-runner/package.nix index 535aaeed42cf..392edeb7abfe 100644 --- a/pkgs/by-name/gi/github-runner/package.nix +++ b/pkgs/by-name/gi/github-runner/package.nix @@ -1,20 +1,21 @@ -{ buildDotnetModule -, darwin -, dotnetCorePackages -, fetchFromGitHub -, fetchpatch -, git -, glibc -, glibcLocales -, lib -, nixosTests -, stdenv -, which -, buildPackages -, runtimeShell +{ + buildDotnetModule, + darwin, + dotnetCorePackages, + fetchFromGitHub, + fetchpatch, + git, + glibc, + glibcLocales, + lib, + nixosTests, + stdenv, + which, + buildPackages, + runtimeShell, # List of Node.js runtimes the package should support -, nodeRuntimes ? [ "node20" ] -, nodejs_20 + nodeRuntimes ? [ "node20" ], + nodejs_20, }: # Node.js runtimes supported by upstream @@ -22,13 +23,13 @@ assert builtins.all (x: builtins.elem x [ "node20" ]) nodeRuntimes; buildDotnetModule rec { pname = "github-runner"; - version = "2.319.1"; + version = "2.320.0"; src = fetchFromGitHub { owner = "actions"; repo = "runner"; rev = "v${version}"; - hash = "sha256-cXOYW4py2RRJVUKrQBGf6LHNyc1sJ/bMR4hJxtDv3PU="; + hash = "sha256-mVi/Z89R2nbxQAyEkpbcaU3Pc3wK6989QojHew9ad4g="; leaveDotGit = true; postFetch = '' git -C $out rev-parse --short HEAD > $out/.git-revision @@ -79,25 +80,24 @@ buildDotnetModule rec { url = "https://github.com/actions/runner/commit/5ff0ce1.patch"; hash = "sha256-2Vg3cKZK3cE/OcPDZkdN2Ro2WgvduYTTwvNGxwCfXas="; }) - ] ++ lib.optionals (nodeRuntimes == [ "node20" ]) [ - # If the package is built without Node 16, make Node 20 the default internal version - # https://github.com/actions/runner/pull/2844 - (fetchpatch { - name = "internal-node-20.patch"; - url = "https://github.com/actions/runner/commit/acdc6ed.patch"; - hash = "sha256-3/6yhhJPr9OMWBFc5/NU/DRtn76aTYvjsjQo2u9ZqnU="; - }) ]; - postPatch = '' - # Ignore changes to src/Runner.Sdk/BuildConstants.cs - substituteInPlace src/dir.proj \ - --replace 'git update-index --assume-unchanged ./Runner.Sdk/BuildConstants.cs' \ - 'true' - ''; + postPatch = + '' + # Ignore changes to src/Runner.Sdk/BuildConstants.cs + substituteInPlace src/dir.proj \ + --replace 'git update-index --assume-unchanged ./Runner.Sdk/BuildConstants.cs' \ + 'true' + '' + + lib.optionalString (nodeRuntimes == [ "node20" ]) '' + substituteInPlace src/Runner.Common/Util/NodeUtil.cs \ + --replace-fail '_defaultNodeVersion = "node16"' '_defaultNodeVersion = "node20"' + ''; DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = isNull glibcLocales; - LOCALE_ARCHIVE = lib.optionalString (!DOTNET_SYSTEM_GLOBALIZATION_INVARIANT) "${glibcLocales}/lib/locale/locale-archive"; + LOCALE_ARCHIVE = lib.optionalString ( + !DOTNET_SYSTEM_GLOBALIZATION_INVARIANT + ) "${glibcLocales}/lib/locale/locale-archive"; postConfigure = '' # Generate src/Runner.Sdk/BuildConstants.cs @@ -110,19 +110,23 @@ buildDotnetModule rec { src/dir.proj ''; - nativeBuildInputs = [ - which - git - ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ - darwin.autoSignDarwinBinariesHook - ]; + nativeBuildInputs = + [ + which + git + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + darwin.autoSignDarwinBinariesHook + ]; - buildInputs = [ stdenv.cc.cc.lib ]; + buildInputs = [ (lib.getLib stdenv.cc.cc) ]; dotnet-sdk = dotnetCorePackages.sdk_6_0; dotnet-runtime = dotnetCorePackages.runtime_6_0; - dotnetFlags = [ "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" ]; + dotnetFlags = [ + "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" + ]; # As given here: https://github.com/actions/runner/blob/0befa62/src/dir.proj#L33-L41 projectFile = [ @@ -209,70 +213,79 @@ buildDotnetModule rec { testProjectFile = [ "src/Test/Test.csproj" ]; - preCheck = '' - mkdir -p _layout/externals - '' + lib.optionalString (lib.elem "node20" nodeRuntimes) '' - ln -s ${nodejs_20} _layout/externals/node20 - ''; + preCheck = + '' + mkdir -p _layout/externals + '' + + lib.optionalString (lib.elem "node20" nodeRuntimes) '' + ln -s ${nodejs_20} _layout/externals/node20 + ''; - postInstall = '' - mkdir -p $out/bin - - install -m755 src/Misc/layoutbin/runsvc.sh $out/lib/github-runner - install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/github-runner - install -m755 src/Misc/layoutroot/run.sh $out/lib/github-runner - install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/github-runner/run-helper.sh - install -m755 src/Misc/layoutroot/config.sh $out/lib/github-runner - install -m755 src/Misc/layoutroot/env.sh $out/lib/github-runner - - # env.sh is patched to not require any wrapping - ln -sr "$out/lib/github-runner/env.sh" "$out/bin/" - - substituteInPlace $out/lib/github-runner/config.sh \ - --replace './bin/Runner.Listener' "$out/bin/Runner.Listener" - '' + lib.optionalString stdenv.isLinux '' - substituteInPlace $out/lib/github-runner/config.sh \ - --replace 'command -v ldd' 'command -v ${glibc.bin}/bin/ldd' \ - --replace 'ldd ./bin' '${glibc.bin}/bin/ldd ${dotnet-runtime}/shared/Microsoft.NETCore.App/${dotnet-runtime.version}/' \ - --replace '/sbin/ldconfig' '${glibc.bin}/bin/ldconfig' - '' + '' - # Remove uneeded copy for run-helper template - substituteInPlace $out/lib/github-runner/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' ' - substituteInPlace $out/lib/github-runner/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/' - - # Make paths absolute - substituteInPlace $out/lib/github-runner/runsvc.sh \ - --replace './externals' "$out/lib/externals" \ - --replace './bin/RunnerService.js' "$out/lib/github-runner/RunnerService.js" - - # The upstream package includes Node and expects it at the path - # externals/node$version. As opposed to the official releases, we don't - # link the Alpine Node flavors. - mkdir -p $out/lib/externals - '' + lib.optionalString (lib.elem "node20" nodeRuntimes) '' - ln -s ${nodejs_20} $out/lib/externals/node20 - '' + '' - # Install Nodejs scripts called from workflows - install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js - mkdir -p $out/lib/github-runner/checkScripts - install src/Misc/layoutbin/checkScripts/* $out/lib/github-runner/checkScripts/ - '' + lib.optionalString stdenv.isLinux '' - # Wrap explicitly to, e.g., prevent extra entries for LD_LIBRARY_PATH - makeWrapperArgs=() - - # We don't wrap with libicu - substituteInPlace $out/lib/github-runner/config.sh \ - --replace '$LDCONFIG_COMMAND -NXv ''${libpath//:/ }' 'echo libicu' - '' + '' - # XXX: Using the corresponding Nix argument does not work as expected: - # https://github.com/NixOS/nixpkgs/issues/218449 - # Common wrapper args for `executables` - makeWrapperArgs+=( - --run 'export RUNNER_ROOT="''${RUNNER_ROOT:-"$HOME/.github-runner"}"' - --run 'mkdir -p "$RUNNER_ROOT"' - --chdir "$out" - ) - ''; + postInstall = + '' + mkdir -p $out/bin + + install -m755 src/Misc/layoutbin/runsvc.sh $out/lib/github-runner + install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/github-runner + install -m755 src/Misc/layoutroot/run.sh $out/lib/github-runner + install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/github-runner/run-helper.sh + install -m755 src/Misc/layoutroot/config.sh $out/lib/github-runner + install -m755 src/Misc/layoutroot/env.sh $out/lib/github-runner + + # env.sh is patched to not require any wrapping + ln -sr "$out/lib/github-runner/env.sh" "$out/bin/" + + substituteInPlace $out/lib/github-runner/config.sh \ + --replace './bin/Runner.Listener' "$out/bin/Runner.Listener" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace $out/lib/github-runner/config.sh \ + --replace 'command -v ldd' 'command -v ${glibc.bin}/bin/ldd' \ + --replace 'ldd ./bin' '${glibc.bin}/bin/ldd ${dotnet-runtime}/shared/Microsoft.NETCore.App/${dotnet-runtime.version}/' \ + --replace '/sbin/ldconfig' '${glibc.bin}/bin/ldconfig' + '' + + '' + # Remove uneeded copy for run-helper template + substituteInPlace $out/lib/github-runner/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' ' + substituteInPlace $out/lib/github-runner/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/' + + # Make paths absolute + substituteInPlace $out/lib/github-runner/runsvc.sh \ + --replace './externals' "$out/lib/externals" \ + --replace './bin/RunnerService.js' "$out/lib/github-runner/RunnerService.js" + + # The upstream package includes Node and expects it at the path + # externals/node$version. As opposed to the official releases, we don't + # link the Alpine Node flavors. + mkdir -p $out/lib/externals + '' + + lib.optionalString (lib.elem "node20" nodeRuntimes) '' + ln -s ${nodejs_20} $out/lib/externals/node20 + '' + + '' + # Install Nodejs scripts called from workflows + install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js + mkdir -p $out/lib/github-runner/checkScripts + install src/Misc/layoutbin/checkScripts/* $out/lib/github-runner/checkScripts/ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # Wrap explicitly to, e.g., prevent extra entries for LD_LIBRARY_PATH + makeWrapperArgs=() + + # We don't wrap with libicu + substituteInPlace $out/lib/github-runner/config.sh \ + --replace '$LDCONFIG_COMMAND -NXv ''${libpath//:/ }' 'echo libicu' + '' + + '' + # XXX: Using the corresponding Nix argument does not work as expected: + # https://github.com/NixOS/nixpkgs/issues/218449 + # Common wrapper args for `executables` + makeWrapperArgs+=( + --run 'export RUNNER_ROOT="''${RUNNER_ROOT:-"$HOME/.github-runner"}"' + --run 'mkdir -p "$RUNNER_ROOT"' + --chdir "$out" + ) + ''; # List of files to wrap executables = [ @@ -318,8 +331,18 @@ buildDotnetModule rec { description = "Self-hosted runner for GitHub Actions"; homepage = "https://github.com/actions/runner"; license = licenses.mit; - maintainers = with maintainers; [ veehaitch kfollesdal aanderse zimbatm ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with maintainers; [ + veehaitch + kfollesdal + aanderse + zimbatm + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gi/gitit/package.nix b/pkgs/by-name/gi/gitit/package.nix new file mode 100644 index 000000000000..6958e1e6c59c --- /dev/null +++ b/pkgs/by-name/gi/gitit/package.nix @@ -0,0 +1,42 @@ +{ lib, stdenv, haskellPackages, haskell +# “Plugins” are a fancy way of saying gitit will invoke +# GHC at *runtime*, which in turn makes it pull GHC +# into its runtime closure. Only enable if you really need +# that feature. But if you do you’ll want to use gitit +# as a library anyway. +, pluginSupport ? false +}: + +let + inherit (haskell.lib.compose) + enableCabalFlag + disableCabalFlag + justStaticExecutables + overrideCabal + ; + + base = (if pluginSupport then enableCabalFlag else disableCabalFlag) + "plugins" + haskellPackages.gitit; + + # Removes erroneous references from dead code that GHC can't eliminate + aarch64DarwinFix = overrideCabal (drv: + lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) { + postInstall = '' + ${drv.postInstall or ""} + remove-references-to -t ${haskellPackages.HTTP} "$out/bin/gitit" + remove-references-to -t ${haskellPackages.HTTP} "$out/bin/expireGititCache" + remove-references-to -t ${haskellPackages.happstack-server} "$out/bin/gitit" + remove-references-to -t ${haskellPackages.hoauth2} "$out/bin/gitit" + remove-references-to -t ${haskellPackages.pandoc} "$out/bin/gitit" + remove-references-to -t ${haskellPackages.pandoc-types} "$out/bin/gitit" + ''; + }); +in + +if pluginSupport +then base +else lib.pipe (base.override { ghc-paths = null; }) [ + justStaticExecutables + aarch64DarwinFix +] diff --git a/pkgs/by-name/gi/gitjacker/package.nix b/pkgs/by-name/gi/gitjacker/package.nix new file mode 100644 index 000000000000..83e8b91f8b28 --- /dev/null +++ b/pkgs/by-name/gi/gitjacker/package.nix @@ -0,0 +1,44 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, git +, stdenv +}: + +buildGoModule rec { + pname = "gitjacker"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "liamg"; + repo = "gitjacker"; + rev = "v${version}"; + sha256 = "sha256-rEn9FpcRfEt2yGepIPEAO9m8JeVb+nMhYMBWhC/barc="; + }; + + vendorHash = null; + + propagatedBuildInputs = [ git ]; + + nativeCheckInputs = [ git ]; + + doCheck = !stdenv.hostPlatform.isDarwin; + + preCheck = '' + export PATH=$TMPDIR/usr/bin:$PATH + ''; + + meta = with lib; { + description = "Leak git repositories from misconfigured websites"; + mainProgram = "gitjacker"; + longDescription = '' + Gitjacker downloads git repositories and extracts their contents + from sites where the .git directory has been mistakenly uploaded. + It will still manage to recover a significant portion of a repository + even where directory listings are disabled. + ''; + homepage = "https://github.com/liamg/gitjacker"; + license = with licenses; [ unlicense ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/by-name/gi/gitkraken/package.nix b/pkgs/by-name/gi/gitkraken/package.nix new file mode 100644 index 000000000000..3347a8cebbbb --- /dev/null +++ b/pkgs/by-name/gi/gitkraken/package.nix @@ -0,0 +1,254 @@ +{ + lib, + stdenv, + libXcomposite, + libgnome-keyring, + makeWrapper, + udev, + curlWithGnuTls, + alsa-lib, + libXfixes, + atk, + gtk3, + libXrender, + pango, + adwaita-icon-theme, + cairo, + freetype, + fontconfig, + libX11, + libXi, + libxcb, + libXext, + libXcursor, + glib, + libXScrnSaver, + libxkbfile, + libXtst, + nss, + nspr, + cups, + fetchzip, + expat, + gdk-pixbuf, + libXdamage, + libXrandr, + dbus, + makeDesktopItem, + openssl, + wrapGAppsHook3, + buildPackages, + at-spi2-atk, + at-spi2-core, + libuuid, + e2fsprogs, + krb5, + libdrm, + mesa, + unzip, + copyDesktopItems, + libxshmfence, + libxkbcommon, + git, + libGL, + zlib, + cacert, +}: + +let + pname = "gitkraken"; + version = "10.4.1"; + + throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; + + srcs = { + x86_64-linux = fetchzip { + url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz"; + hash = "sha256-ZvLDGhBnWjjWqzwqJOz91X8hr94jkXtMA8CL2hh9mlI="; + }; + + x86_64-darwin = fetchzip { + url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip"; + hash = "sha256-fPvEItavxFwUbk3WsTBvzRMu7fjnm5HxybEueHn//Q4="; + }; + + aarch64-darwin = fetchzip { + url = "https://release.axocdn.com/darwin-arm64/GitKraken-v${version}.zip"; + hash = "sha256-N8WMbJFC74tIeJ6Yyk58nT+sIBYN/7PNLdYNxGSB2yM="; + }; + }; + + src = srcs.${stdenv.hostPlatform.system} or throwSystem; + + meta = with lib; { + homepage = "https://www.gitkraken.com/git-client"; + description = "Simplifying Git for any OS"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + platforms = builtins.attrNames srcs; + maintainers = with maintainers; [ + xnwdd + evanjs + arkivm + nicolas-goudry + ]; + mainProgram = "gitkraken"; + }; + + linux = stdenv.mkDerivation rec { + inherit + pname + version + src + meta + ; + + dontBuild = true; + dontConfigure = true; + + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + curlWithGnuTls + udev + libX11 + libXext + libXcursor + libXi + libxcb + glib + libXScrnSaver + libxkbfile + libXtst + nss + nspr + cups + alsa-lib + expat + gdk-pixbuf + dbus + libXdamage + libXrandr + atk + pango + cairo + freetype + fontconfig + libXcomposite + libXfixes + libXrender + gtk3 + libgnome-keyring + openssl + at-spi2-atk + at-spi2-core + libuuid + e2fsprogs + krb5 + libdrm + mesa + libxshmfence + libxkbcommon + libGL + zlib + ]; + + desktopItems = [ + (makeDesktopItem { + name = "GitKraken Desktop"; + exec = "gitkraken"; + icon = "gitkraken"; + desktopName = "GitKraken Desktop"; + genericName = "Git Client"; + categories = [ "Development" ]; + comment = "Unleash your repo"; + }) + ]; + + nativeBuildInputs = [ + copyDesktopItems + # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651 + # Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset. + (buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; }) + ]; + buildInputs = [ + gtk3 + adwaita-icon-theme + ]; + + # avoid double-wrapping + dontWrapGApps = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/${pname}/ + cp -R $src/* $out/share/${pname} + + mkdir -p $out/share/pixmaps + cp gitkraken.png $out/share/pixmaps/ + + runHook postInstall + ''; + + preFixup = '' + gappsWrapperArgs+=(--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}") + ''; + + postFixup = '' + pushd $out/share/${pname} + for file in gitkraken chrome-sandbox chrome_crashpad_handler; do + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $file + done + + for file in $(find . -type f \( -name \*.node -o -name gitkraken -o -name git -o -name git-\* -o -name scalar -o -name \*.so\* \) ); do + patchelf --set-rpath ${libPath}:$out/share/${pname} $file || true + done + popd + + # SSL and permissions fix for bundled nodegit + pushd $out/share/${pname}/resources/app.asar.unpacked/node_modules/@axosoft/nodegit/build/Release + mv nodegit-ubuntu-18.node nodegit-ubuntu-18-ssl-1.1.1.node + mv nodegit-ubuntu-18-ssl-static.node nodegit-ubuntu-18.node + chmod 755 nodegit-ubuntu-18.node + popd + + # Devendor bundled git + rm -rf $out/share/${pname}/resources/app.asar.unpacked/git + ln -s ${git} $out/share/${pname}/resources/app.asar.unpacked/git + + # GitKraken expects the CA bundle to be located in the bundled git directory. Since we replace it with + # the one from nixpkgs, which doesn't provide a CA bundle, we need to explicitly set its location at runtime + makeWrapper $out/share/${pname}/gitkraken $out/bin/gitkraken \ + --set GIT_SSL_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \ + "''${gappsWrapperArgs[@]}" + ''; + }; + + darwin = stdenv.mkDerivation { + inherit + pname + version + src + meta + ; + + nativeBuildInputs = [ + unzip + makeWrapper + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/Applications/GitKraken.app $out/bin + cp -R . $out/Applications/GitKraken.app + + makeWrapper $out/Applications/GitKraken.app/Contents/MacOS/GitKraken $out/bin/gitkraken + + runHook postInstall + ''; + + dontFixup = true; + }; +in +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/by-name/gi/gitlab-ci-ls/package.nix b/pkgs/by-name/gi/gitlab-ci-ls/package.nix index 7468842c6468..ed0f4c522756 100644 --- a/pkgs/by-name/gi/gitlab-ci-ls/package.nix +++ b/pkgs/by-name/gi/gitlab-ci-ls/package.nix @@ -10,20 +10,20 @@ rustPlatform.buildRustPackage rec { pname = "gitlab-ci-ls"; - version = "0.21.2"; + version = "0.22.0"; src = fetchFromGitHub { owner = "alesbrelih"; repo = "gitlab-ci-ls"; rev = "${version}"; - hash = "sha256-wkL6ko43oWrpyscEpCMuoFamDMJk9+xI3qYOs+DgI8g="; + hash = "sha256-RXM581tW78YzH+NQhkpsbHz6m+PAF7NQ5p3TFugPo+M="; }; - cargoHash = "sha256-H/p29QbCaZRa81g+5eUsG47tUJPVgB1J9zZYY5/n5Vk="; + cargoHash = "sha256-PuNpkDjoJr1GttETWHA9X+LYNIJSgBXdZId5q2JSo6g="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] - ++ lib.optionals stdenv.isDarwin [ + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; diff --git a/pkgs/by-name/gi/gitlab-clippy/package.nix b/pkgs/by-name/gi/gitlab-clippy/package.nix new file mode 100644 index 000000000000..8bdd529bb447 --- /dev/null +++ b/pkgs/by-name/gi/gitlab-clippy/package.nix @@ -0,0 +1,31 @@ +{ lib +, fetchFromGitLab +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "gitlab-clippy"; + version = "1.0.3"; + + src = fetchFromGitLab { + owner = "dlalic"; + repo = pname; + rev = version; + hash = "sha256-d7SmlAWIV4SngJhIvlud90ZUSF55FWIrzFpkfSXIy2Y="; + }; + cargoHash = "sha256-ztPbI+ncMNMKnIxUksxgz8GHQpLZ7SVWdC4QJWh18Wk="; + + # TODO re-add theses tests once they get fixed in upstream + checkFlags = [ + "--skip cli::converts_error_from_pipe" + "--skip cli::converts_warnings_from_pipe" + ]; + + meta = { + homepage = "https://gitlab.com/dlalic/gitlab-clippy"; + description = "Convert clippy warnings into GitLab Code Quality report"; + mainProgram = "gitlab-clippy"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ wucke13 ]; + }; +} diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix new file mode 100644 index 000000000000..5cd236a468ab --- /dev/null +++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix @@ -0,0 +1,34 @@ +{ lib, buildGoModule, fetchFromGitLab }: + +buildGoModule rec { + pname = "gitlab-container-registry"; + version = "4.11.0"; + rev = "v${version}-gitlab"; + + # nixpkgs-update: no auto update + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "container-registry"; + inherit rev; + hash = "sha256-wUypldxi3O5sm4i9v2HiZjqUy/JwtcRPvCCmINCk4YU="; + }; + + vendorHash = "sha256-Ed+WvdWpEU5c9v14eM1PdCcT3qRnaRF/XeUKedPmaSU="; + + postPatch = '' + # Disable flaky inmemory storage driver test + rm registry/storage/driver/inmemory/driver_test.go + + substituteInPlace health/checks/checks_test.go \ + --replace \ + 'func TestHTTPChecker(t *testing.T) {' \ + 'func TestHTTPChecker(t *testing.T) { t.Skip("Test requires network connection")' + ''; + + meta = with lib; { + description = "GitLab Docker toolset to pack, ship, store, and deliver content"; + license = licenses.asl20; + maintainers = with maintainers; [ yayayayaka ] ++ teams.cyberus.members; + platforms = platforms.unix; + }; +} diff --git a/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix b/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix new file mode 100644 index 000000000000..e04809a59a83 --- /dev/null +++ b/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix @@ -0,0 +1,26 @@ +{ lib, buildGoModule, fetchFromGitLab, pkg-config, icu }: + +buildGoModule rec { + pname = "gitlab-elasticsearch-indexer"; + version = "5.2.0"; + + # nixpkgs-update: no auto update + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "gitlab-elasticsearch-indexer"; + rev = "v${version}"; + hash = "sha256-pkZWIsPWUDkjZo48mJ9N8LbMJJAHNI2Wf6X0F5+K23s="; + }; + + vendorHash = "sha256-hFTvNh/N3z99O7dtAEiksonJcTn7Zj7Ijp68vfXEBw8="; + + buildInputs = [ icu ]; + nativeBuildInputs = [ pkg-config ]; + + meta = with lib; { + description = "Indexes Git repositories into Elasticsearch for GitLab"; + mainProgram = "gitlab-elasticsearch-indexer"; + license = licenses.mit; + maintainers = with maintainers; [ yayayayaka ] ++ teams.cyberus.members; + }; +} diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix new file mode 100644 index 000000000000..9846ae52cee2 --- /dev/null +++ b/pkgs/by-name/gi/gitlab-pages/package.nix @@ -0,0 +1,26 @@ +{ buildGoModule, lib, fetchFromGitLab }: + +buildGoModule rec { + pname = "gitlab-pages"; + version = "17.3.6"; + + # nixpkgs-update: no auto update + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "gitlab-pages"; + rev = "v${version}"; + hash = "sha256-yieOM9QQuQQ4RkfjASpcEvIKwbYMT9LkkJPHAYhY7uY="; + }; + + vendorHash = "sha256-O8kWiOpgVCUD6DdM95F1b+j4Gv9LTLRdBjByqXWV7Pk="; + subPackages = [ "." ]; + + meta = with lib; { + description = "Daemon used to serve static websites for GitLab users"; + mainProgram = "gitlab-pages"; + homepage = "https://gitlab.com/gitlab-org/gitlab-pages"; + changelog = "https://gitlab.com/gitlab-org/gitlab-pages/-/blob/v${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = teams.gitlab.members; + }; +} diff --git a/pkgs/by-name/gi/gitlab-release-cli/package.nix b/pkgs/by-name/gi/gitlab-release-cli/package.nix index 64f1f24e744b..61e2d5d84161 100644 --- a/pkgs/by-name/gi/gitlab-release-cli/package.nix +++ b/pkgs/by-name/gi/gitlab-release-cli/package.nix @@ -7,18 +7,18 @@ buildGoModule rec { pname = "gitlab-release-cli"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "release-cli"; rev = "v${version}"; - hash = "sha256-CCSice/uMf2OfFNEpwwhX6A0wrSsC1v9XWEhAAwQRso="; + hash = "sha256-AEDao1tehg15SmluHlivG/I+Y9Gcxjj7KUEGAmOZ1aY="; }; vendorHash = "sha256-UwDMRsWbk8rEv2d5FssIzCLby68YZULoxd3/JGLsCQU="; - checkFlags = lib.optionals stdenv.isDarwin [ + checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ # Skip failing test "-skip TestHTTPSCustomCA" ]; diff --git a/pkgs/by-name/gi/gitlab-shell/package.nix b/pkgs/by-name/gi/gitlab-shell/package.nix new file mode 100644 index 000000000000..53614d3a39e9 --- /dev/null +++ b/pkgs/by-name/gi/gitlab-shell/package.nix @@ -0,0 +1,38 @@ +{ lib, fetchFromGitLab, buildGoModule, ruby, libkrb5 }: + +buildGoModule rec { + pname = "gitlab-shell"; + version = "14.38.0"; + + # nixpkgs-update: no auto update + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "gitlab-shell"; + rev = "v${version}"; + hash = "sha256-oYvsSjdzfJn4ujy1qbMmqZyEQFbYTSke8t3KBqjr/Vc="; + }; + + buildInputs = [ ruby libkrb5 ]; + + patches = [ + ./remove-hardcoded-locations.patch + ]; + + vendorHash = "sha256-YOShgZv0zdfXgKi//IENt6wE2m0S1Kqa+2ndvCwKDLQ="; + + postInstall = '' + cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin + mv $out/bin/install $out/bin/gitlab-shell-install + mv $out/bin/check $out/bin/gitlab-shell-check + cp -r "$NIX_BUILD_TOP/source"/{support,VERSION} $out/ + ''; + doCheck = false; + + meta = with lib; { + description = "SSH access and repository management app for GitLab"; + homepage = "http://www.gitlab.com/"; + platforms = platforms.linux; + maintainers = teams.gitlab.members; + license = licenses.mit; + }; +} diff --git a/pkgs/by-name/gi/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/by-name/gi/gitlab-shell/remove-hardcoded-locations.patch new file mode 100644 index 000000000000..8fdc546cbf36 --- /dev/null +++ b/pkgs/by-name/gi/gitlab-shell/remove-hardcoded-locations.patch @@ -0,0 +1,48 @@ +diff --git a/internal/config/config.go b/internal/config/config.go +index 36f8625..72ede08 100644 +--- a/internal/config/config.go ++++ b/internal/config/config.go +@@ -12,7 +12,7 @@ import ( + ) + + const ( +- configFile = "config.yml" ++ configFile = "shell-config.yml" + defaultSecretFileName = ".gitlab_shell_secret" + ) + +@@ -91,7 +91,7 @@ func (c *Config) GetHttpClient() *client.HttpClient { + // NewFromDirExternal returns a new config from a given root dir. It also applies defaults appropriate for + // gitlab-shell running in an external SSH server. + func NewFromDirExternal(dir string) (*Config, error) { +- cfg, err := newFromFile(filepath.Join(dir, configFile)) ++ cfg, err := newFromFile(filepath.Join("/run/gitlab", configFile)) + if err != nil { + return nil, err + } +diff --git a/internal/keyline/key_line.go b/internal/keyline/key_line.go +index c6f2422..fb0426b 100644 +--- a/internal/keyline/key_line.go ++++ b/internal/keyline/key_line.go +@@ -37,7 +37,7 @@ func NewPrincipalKeyLine(keyId, principal string, config *config.Config) (*KeyLi + } + + func (k *KeyLine) ToString() string { +- command := fmt.Sprintf("%s %s-%s", path.Join(k.Config.RootDir, executable.BinDir, executable.GitlabShell), k.Prefix, k.ID) ++ command := fmt.Sprintf("%s %s-%s", path.Join("/run/current-system/sw/bin", executable.GitlabShell), k.Prefix, k.ID) + + return fmt.Sprintf(`command="%s",%s %s`, command, SshOptions, k.Value) + } +diff --git a/support/gitlab_config.rb b/support/gitlab_config.rb +index 52ac5ee..d96baa3 100644 +--- a/support/gitlab_config.rb ++++ b/support/gitlab_config.rb +@@ -7,7 +7,7 @@ class GitlabConfig + attr_reader :config + + def initialize +- @config = YAML.load_file(File.join(ROOT_PATH, 'config.yml')) ++ @config = YAML.load_file('/run/gitlab/shell-config.yml') + end + + def auth_file diff --git a/pkgs/by-name/gi/gitlab-timelogs/package.nix b/pkgs/by-name/gi/gitlab-timelogs/package.nix index 23c03763e314..c0dc2a2a6153 100644 --- a/pkgs/by-name/gi/gitlab-timelogs/package.nix +++ b/pkgs/by-name/gi/gitlab-timelogs/package.nix @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] - ++ lib.optionals stdenv.isDarwin [ + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration iconv ]; diff --git a/pkgs/by-name/gi/gitleaks/package.nix b/pkgs/by-name/gi/gitleaks/package.nix new file mode 100644 index 000000000000..fa17828c303c --- /dev/null +++ b/pkgs/by-name/gi/gitleaks/package.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + gitleaks, + installShellFiles, + testers, + nix-update-script, +}: + +buildGoModule rec { + pname = "gitleaks"; + version = "8.21.2"; + + src = fetchFromGitHub { + owner = "zricethezav"; + repo = "gitleaks"; + rev = "refs/tags/v${version}"; + hash = "sha256-1MCSGFpjYD4XdES+kJTz/NTN/B00TWMQ1Rmk/nsKf2Q="; + }; + + vendorHash = "sha256-iIgS0fXdiVMYKr3FZTYlCSEqqaH9sxZh1MFry9pGET8="; + + ldflags = [ + "-s" + "-w" + "-X=github.com/zricethezav/gitleaks/v${lib.versions.major version}/cmd.Version=${version}" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + # With v8 the config tests are blocking + doCheck = false; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd ${pname} \ + --bash <($out/bin/${pname} completion bash) \ + --fish <($out/bin/${pname} completion fish) \ + --zsh <($out/bin/${pname} completion zsh) + ''; + + passthru.tests.version = testers.testVersion { + package = gitleaks; + command = "${pname} version"; + }; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + description = "Scan git repos (or files) for secrets"; + longDescription = '' + Gitleaks is a SAST tool for detecting hardcoded secrets like passwords, + API keys and tokens in git repos. + ''; + homepage = "https://github.com/zricethezav/gitleaks"; + changelog = "https://github.com/zricethezav/gitleaks/releases/tag/v${version}"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + mainProgram = "gitleaks"; + }; +} diff --git a/pkgs/by-name/gi/gitless/package.nix b/pkgs/by-name/gi/gitless/package.nix new file mode 100644 index 000000000000..93014402a2eb --- /dev/null +++ b/pkgs/by-name/gi/gitless/package.nix @@ -0,0 +1,40 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "gitless"; + version = "0.9.17"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "goldstar611"; + repo = pname; + rev = version; + hash = "sha256-XDB1i2b1reMCM6i1uK3IzTnsoLXO7jldYtNlYUo1AoQ="; + }; + + + propagatedBuildInputs = with python3.pkgs; [ + pygit2 + argcomplete + ]; + + pythonRelaxDeps = [ "pygit2" ]; + + doCheck = false; + + pythonImportsCheck = [ + "gitless" + ]; + + meta = with lib; { + description = "Version control system built on top of Git"; + homepage = "https://gitless.com/"; + license = licenses.mit; + maintainers = with maintainers; [ cransom ]; + platforms = platforms.all; + mainProgram = "gl"; + }; +} diff --git a/pkgs/by-name/gi/gitls/package.nix b/pkgs/by-name/gi/gitls/package.nix new file mode 100644 index 000000000000..16ae8c9e6a8b --- /dev/null +++ b/pkgs/by-name/gi/gitls/package.nix @@ -0,0 +1,35 @@ +{ lib +, buildGoModule +, gitls +, fetchFromGitHub +, testers +}: + +buildGoModule rec { + pname = "gitls"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "hahwul"; + repo = pname; + rev = "v${version}"; + hash = "sha256-kLkH/nNidd1QNPKvo7fxZwMhTgd4AVB8Ofw0Wo0z6c0="; + }; + + vendorHash = null; + + passthru.tests.version = testers.testVersion { + package = gitls; + command = "gitls -version"; + version = "v${version}"; + }; + + meta = with lib; { + description = "Tools to enumerate git repository URL"; + homepage = "https://github.com/hahwul/gitls"; + changelog = "https://github.com/hahwul/gitls/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + mainProgram = "gitls"; + }; +} diff --git a/pkgs/by-name/gi/gitnr/package.nix b/pkgs/by-name/gi/gitnr/package.nix new file mode 100644 index 000000000000..5d2813850983 --- /dev/null +++ b/pkgs/by-name/gi/gitnr/package.nix @@ -0,0 +1,49 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, libxkbcommon +, openssl +, stdenv +, darwin +, wayland +}: + +rustPlatform.buildRustPackage rec { + pname = "gitnr"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "reemus-dev"; + repo = "gitnr"; + rev = "v${version}"; + hash = "sha256-9vx+bGfYuJuafZUY2ZT4SAgrNcSXuMe1kHH/lrpItvM="; + }; + + cargoHash = "sha256-ZvF8X+IT7mrKaUaNS4NhYzX9P3hkhNNH/ActxG/6YZE="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxkbcommon + wayland + ]; + + # requires internet access + doCheck = false; + + meta = with lib; { + description = "Create `.gitignore` files using one or more templates from TopTal, GitHub or your own collection"; + homepage = "https://github.com/reemus-dev/gitnr"; + changelog = "https://github.com/reemus-dev/gitnr/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda matthiasbeyer ]; + mainProgram = "gitnr"; + }; +} diff --git a/pkgs/by-name/gi/gitnuro/package.nix b/pkgs/by-name/gi/gitnuro/package.nix new file mode 100644 index 000000000000..8809f748e6b7 --- /dev/null +++ b/pkgs/by-name/gi/gitnuro/package.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchurl +, makeWrapper +, copyDesktopItems +, makeDesktopItem +, jre +, libGL +}: + +stdenv.mkDerivation rec { + pname = "gitnuro"; + version = "1.3.1"; + + src = fetchurl ( + if stdenv.hostPlatform.system == "x86_64-linux" then + { + url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-x86_64-${version}.jar"; + hash = "sha256-7yne9dD/7VT+H4tIBJvpOf8ksECCpoNAa8TSmFmjYMw="; + } + else if stdenv.hostPlatform.system == "aarch64-linux" then + { + url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-arm_aarch64-${version}.jar"; + hash = "sha256-6TRQfIhaKBjNPn3tEVWoUF92JAmwlHUtQZE8gKEZ/ZI="; + } + else throw "Unsupported architecture: ${stdenv.hostPlatform.system}" + ); + + icon = fetchurl { + url = "https://raw.githubusercontent.com/JetpackDuba/Gitnuro/4cfc45069c176f807d9bfb1a7cba410257078d3c/icons/logo.svg"; + hash = "sha256-QGJcWTSJesIpDArOWiS3Kn1iznzeMFzvqS+CuNXh3as="; + }; + + dontUnpack = true; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + + installPhase = '' + runHook preInstall + + makeWrapper ${jre}/bin/java $out/bin/gitnuro \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ + --add-flags "-jar $src" + + install -Dm444 $icon $out/share/icons/hicolor/scalable/apps/com.jetpackduba.Gitnuro.svg + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "Gitnuro"; + exec = "gitnuro"; + icon = "com.jetpackduba.Gitnuro"; + desktopName = "Gitnuro"; + categories = [ "Development" ]; + comment = meta.description; + }) + ]; + + meta = with lib; { + description = "A FOSS Git multiplatform client based on Compose and JGit"; + homepage = "https://gitnuro.com/"; + license = licenses.gpl3Plus; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + maintainers = with maintainers; [ zendo ]; + mainProgram = "gitnuro"; + }; +} diff --git a/pkgs/by-name/gi/gitolite/package.nix b/pkgs/by-name/gi/gitolite/package.nix new file mode 100644 index 000000000000..df0c75976032 --- /dev/null +++ b/pkgs/by-name/gi/gitolite/package.nix @@ -0,0 +1,54 @@ +{ stdenv, coreutils, fetchFromGitHub, git, lib, makeWrapper, nettools, perl, nixosTests }: + +stdenv.mkDerivation rec { + pname = "gitolite"; + version = "3.6.13"; + + src = fetchFromGitHub { + owner = "sitaramc"; + repo = "gitolite"; + rev = "v${version}"; + hash = "sha256-/VBu+aepIrxWc2padPa/WoXbIdKfIwqmA/M8d1GE5FI="; + }; + + buildInputs = [ nettools perl ]; + nativeBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = [ git ]; + + dontBuild = true; + + postPatch = '' + substituteInPlace ./install --replace " 2>/dev/null" "" + substituteInPlace src/lib/Gitolite/Hooks/PostUpdate.pm \ + --replace /usr/bin/perl "${perl}/bin/perl" + substituteInPlace src/lib/Gitolite/Hooks/Update.pm \ + --replace /usr/bin/perl "${perl}/bin/perl" + substituteInPlace src/lib/Gitolite/Setup.pm \ + --replace hostname "${nettools}/bin/hostname" + substituteInPlace src/commands/sskm \ + --replace /bin/rm "${coreutils}/bin/rm" + ''; + + postFixup = '' + wrapProgram $out/bin/gitolite-shell \ + --prefix PATH : ${lib.makeBinPath [ git (perl.withPackages (p: [ p.JSON ])) ]} + ''; + + installPhase = '' + mkdir -p $out/bin + perl ./install -to $out/bin + echo ${version} > $out/bin/VERSION + ''; + + passthru.tests = { + gitolite = nixosTests.gitolite; + }; + + meta = with lib; { + description = "Finely-grained git repository hosting"; + homepage = "https://gitolite.com/gitolite/index.html"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.thoughtpolice maintainers.lassulus maintainers.tomberek ]; + }; +} diff --git a/pkgs/by-name/gi/gitopper/package.nix b/pkgs/by-name/gi/gitopper/package.nix new file mode 100644 index 000000000000..442a706ad7f9 --- /dev/null +++ b/pkgs/by-name/gi/gitopper/package.nix @@ -0,0 +1,54 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + git, + makeWrapper, +}: +let + pname = "gitopper"; + version = "0.0.16"; +in +buildGoModule { + inherit pname version; + + src = fetchFromGitHub { + owner = "miekg"; + repo = "gitopper"; + rev = "v${version}"; + hash = "sha256-EAOC54VtGx6axfty5m8JOebcayINTy4cP4NBo5+ioLk="; + }; + + ldflags = [ "-X main.Version=${version}" ]; + + vendorHash = "sha256-sxeN7nbNTGfD8ZgNQiEQdYl11rhOvPP8UrnYXs9Ljhc="; + + nativeCheckInputs = [ + makeWrapper + git + ]; + + checkFlags = + let + # Skip tests that does not works well inside an isolated environment + skippedTests = [ + "TestInitialGitCheckout" + "TestHash" + ]; + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; + + postInstall = '' + wrapProgram $out/bin/gitopper \ + --suffix PATH : ${lib.makeBinPath [ git ]} + ''; + + meta = { + description = "Gitops for non-Kubernetes folks"; + homepage = "https://github.com/miekg/gitopper/"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ luftmensch-luftmensch ]; + mainProgram = "gitopper"; + }; +} diff --git a/pkgs/by-name/gi/gitrs/package.nix b/pkgs/by-name/gi/gitrs/package.nix new file mode 100644 index 000000000000..99139437b4a7 --- /dev/null +++ b/pkgs/by-name/gi/gitrs/package.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitHub +, openssl +, pkg-config +, libiconv +, darwin +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "gitrs"; + version = "v0.3.6"; + + src = fetchFromGitHub { + owner = "mccurdyc"; + repo = pname; + rev = version; + hash = "sha256-+43XJroPNWmdUC6FDL84rZWrJm5fzuUXfpDkAMyVQQg="; + }; + + cargoHash = "sha256-2TXm1JTs0Xkid91A5tdi6Kokm0K1NOPmlocwFXv48uw="; + + nativeBuildInputs = [ + pkg-config # for openssl + ]; + + buildInputs = [ openssl.dev ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; + + meta = with lib; { + description = "Simple, opinionated, tool, written in Rust, for declaratively managing Git repos on your machine"; + homepage = "https://github.com/mccurdyc/gitrs"; + license = licenses.mit; + maintainers = with maintainers; [ mccurdyc ]; + mainProgram = "gitrs"; + }; +} diff --git a/pkgs/by-name/gi/gitsign/package.nix b/pkgs/by-name/gi/gitsign/package.nix new file mode 100644 index 000000000000..abc1e6a32594 --- /dev/null +++ b/pkgs/by-name/gi/gitsign/package.nix @@ -0,0 +1,44 @@ +{ lib, buildGoModule, fetchFromGitHub, makeWrapper, gitMinimal, testers, gitsign }: + +buildGoModule rec { + pname = "gitsign"; + version = "0.10.2"; + + src = fetchFromGitHub { + owner = "sigstore"; + repo = pname; + rev = "v${version}"; + hash = "sha256-JNCz5MVqn8PeTfYUVowIVZwtpfD+Gx9yBckter6PfXA="; + }; + vendorHash = "sha256-QW+ZWYEXkhSQR4HvmPLENzY/VEfjEX43mBPhmhsEBMI="; + + subPackages = [ + "." + "cmd/gitsign-credential-cache" + ]; + + nativeBuildInputs = [ makeWrapper ]; + + ldflags = [ "-s" "-w" "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" ]; + + preCheck = '' + # test all paths + unset subPackages + ''; + + postInstall = '' + for f in $out/bin/*; do + wrapProgram $f --prefix PATH : ${lib.makeBinPath [ gitMinimal ]} + done + ''; + + passthru.tests.version = testers.testVersion { package = gitsign; }; + + meta = { + homepage = "https://github.com/sigstore/gitsign"; + changelog = "https://github.com/sigstore/gitsign/releases/tag/v${version}"; + description = "Keyless Git signing using Sigstore"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ lesuisse developer-guy ]; + }; +} diff --git a/pkgs/by-name/gi/gitstats/package.nix b/pkgs/by-name/gi/gitstats/package.nix new file mode 100644 index 000000000000..25fcd7247c22 --- /dev/null +++ b/pkgs/by-name/gi/gitstats/package.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, installShellFiles +, perl +, python3 +, gnuplot +, coreutils +, gnugrep +}: + +stdenv.mkDerivation rec { + pname = "gitstats"; + version = "2016-01-08"; + + # upstream does not make releases + src = fetchFromGitHub { + owner = "hoxu"; + repo = "gitstats"; + rev = "55c5c285558c410bb35ebf421245d320ab9ee9fa"; + sha256 = "sha256-qUQB3aCRbPkbMoMf39kPQ0vil8RjXL8RqjdTryfkzK0="; + }; + + patches = [ + # make gitstats compatible with python3 + # https://github.com/hoxu/gitstats/pull/105 + (fetchpatch { + name = "convert-gitstats-to-use-python3.patch"; + url = "https://github.com/hoxu/gitstats/commit/ca415668ce6b739ca9fefba6acd29c63b89f4211.patch"; + hash = "sha256-sgjoj8eQ5CxQBffmhqymsmXb8peuaSbfFoWciLK3LOo="; + }) + ]; + + nativeBuildInputs = [ installShellFiles perl ]; + + buildInputs = [ python3 ]; + + strictDeps = true; + + postPatch = '' + sed -e "s|gnuplot_cmd = .*|gnuplot_cmd = '${gnuplot}/bin/gnuplot'|" \ + -e "s|\<wc\>|${coreutils}/bin/wc|g" \ + -e "s|\<grep\>|${gnugrep}/bin/grep|g" \ + -i gitstats + ''; + + makeFlags = [ + "PREFIX=$(out)" + "VERSION=${version}" + ]; + + buildFlags = [ "man" ]; + + postInstall = '' + installManPage doc/gitstats.1 + ''; + + meta = with lib; { + homepage = "https://gitstats.sourceforge.net/"; + description = "Git history statistics generator"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ bjornfor ]; + mainProgram = "gitstats"; + }; +} diff --git a/pkgs/by-name/gi/gitstatus/package.nix b/pkgs/by-name/gi/gitstatus/package.nix new file mode 100644 index 000000000000..cc6037d16c21 --- /dev/null +++ b/pkgs/by-name/gi/gitstatus/package.nix @@ -0,0 +1,129 @@ +{ + callPackage, + lib, + stdenv, + fetchFromGitHub, + git, + zsh, + runtimeShell, +}: +stdenv.mkDerivation rec { + pname = "gitstatus"; + version = "1.5.5"; + + src = fetchFromGitHub { + owner = "romkatv"; + repo = "gitstatus"; + rev = "v${version}"; + sha256 = "sha256-b+9bwJ87VV6rbOPobkwMkDXGH34STjYPlt8wCRR5tEc="; + }; + + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { + NIX_LDFLAGS = "-liconv"; + }; + + buildInputs = [ (callPackage ./romkatv_libgit2.nix { }) ]; + + postPatch = '' + sed -i '1i GITSTATUS_AUTO_INSTALL=''${GITSTATUS_AUTO_INSTALL-0}' gitstatus.plugin.sh + sed -i '1i GITSTATUS_AUTO_INSTALL=''${GITSTATUS_AUTO_INSTALL-0}' gitstatus.plugin.zsh + sed -i "1a GITSTATUS_DAEMON=$out/bin/gitstatusd" install + ''; + + installPhase = '' + install -Dm755 usrbin/gitstatusd $out/bin/gitstatusd + install -Dm444 gitstatus.plugin.sh -t $out/share/gitstatus/ + install -Dm444 gitstatus.plugin.zsh -t $out/share/gitstatus/ + install -Dm444 gitstatus.prompt.sh -t $out/share/gitstatus/ + install -Dm444 gitstatus.prompt.zsh -t $out/share/gitstatus/ + install -Dm555 install -t $out/share/gitstatus/ + install -Dm444 build.info -t $out/share/gitstatus/ + + # the fallback path is wrong in the case of home-manager + # because the FHS directories don't start at / + substituteInPlace install \ + --replace "_gitstatus_install_main ." "_gitstatus_install_main $out" + + cat <<EOF > $out/bin/gitstatus-share + #!${runtimeShell} + # Run this script to find the gitstatus shared folder where all the shell + # integration scripts are living. + echo $out/share/gitstatus + EOF + chmod +x $out/bin/gitstatus-share + ''; + + # Don't install the "install" and "build.info" files, which the end user + # should not need to worry about. + pathsToLink = [ + "/bin/gitstatusd" + "/share/gitstatus/gitstatus.plugin.sh" + "/share/gitstatus/gitstatus.plugin.zsh" + "/share/gitstatus/gitstatus.prompt.sh" + "/share/gitstatus/gitstatus.prompt.zsh" + ]; + + # The install check sets up an empty Git repository and a minimal zshrc that + # invokes gitstatus.plugin.zsh. It runs zsh against this zshrc and verifies + # that the script was sourced successfully and that the "gitstatus_query" + # command ran successfully. This tests the binary itself and the zsh + # integration. + nativeInstallCheckInputs = [ + git + zsh + ]; + doInstallCheck = true; + installCheckPhase = '' + TEMP=$(mktemp -d) + cd "$TEMP" + + git init + + echo ' + GITSTATUS_LOG_LEVEL=DEBUG + . $out/share/gitstatus/gitstatus.plugin.zsh || exit 1 + + gitstatus_stop NIX_TEST && gitstatus_start NIX_TEST + gitstatus_query NIX_TEST + if [[ $? -ne 0 ]]; then + print -- "Something went wrong with gitstatus" + exit 1 + elif [[ $VCS_STATUS_RESULT != "ok-sync" ]]; then + print -- "Not in a Git repo" + exit 1 + else + print -- "OK" + exit 0 + fi + ' > .zshrc + + # If we try to run zsh like "zsh -i -c true" or "zsh -i > output" then job + # control will be disabled in the shell and the gitstatus plugin script + # will fail when it tries to set the MONITOR option. As a workaround, we + # run zsh as a full-fledged independent process and then wait for it to + # exit. (The "exit" statements in the zshrc ensure that zsh will exit + # almost immediately after starting.) + ZDOTDIR=. zsh -i & + wait $! + ''; + + meta = with lib; { + description = "10x faster implementation of `git status` command"; + longDescription = '' + To enable the included gitstatus prompt, add the appropriate line to your NixOS configuration: + `programs.bash.promptInit = "source $(gitstatus-share)/gitstatus.prompt.sh";` + `programs.zsh.promptInit = "source $(gitstatus-share)/gitstatus.prompt.zsh";` + + See the project homepage for details on customization. + ''; + homepage = "https://github.com/romkatv/gitstatus"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ + mmlb + hexa + SuperSandro2000 + ]; + platforms = platforms.all; + mainProgram = "gitstatusd"; + }; +} diff --git a/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix b/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix new file mode 100644 index 000000000000..9881bd480406 --- /dev/null +++ b/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix @@ -0,0 +1,29 @@ +{ fetchFromGitHub, libgit2, ... }: + +libgit2.overrideAttrs (oldAttrs: { + cmakeFlags = oldAttrs.cmakeFlags ++ [ + "-DBUILD_CLAR=OFF" + "-DBUILD_SHARED_LIBS=OFF" + "-DREGEX_BACKEND=builtin" + "-DUSE_BUNDLED_ZLIB=ON" + "-DUSE_GSSAPI=OFF" + "-DUSE_HTTPS=OFF" + "-DUSE_HTTP_PARSER=builtin" # overwritten from libgit2 + "-DUSE_NTLMCLIENT=OFF" + "-DUSE_SSH=OFF" + "-DZERO_NSEC=ON" + ]; + + src = fetchFromGitHub { + owner = "romkatv"; + repo = "libgit2"; + rev = "tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6"; + hash = "sha256-Bm3Gj9+AhNQMvkIqdrTkK5D9vrZ1qq6CS8Wrn9kfKiw="; + }; + + # this is a heavy fork of the original libgit2 + # the original checkPhase does not work for this fork + doCheck = false; + + patches = [ ]; +}) diff --git a/pkgs/by-name/gi/gittuf/package.nix b/pkgs/by-name/gi/gittuf/package.nix index 04c4c8c32bb0..8dfca387e94a 100644 --- a/pkgs/by-name/gi/gittuf/package.nix +++ b/pkgs/by-name/gi/gittuf/package.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "gittuf"; - version = "0.5.2"; + version = "0.6.2"; src = fetchFromGitHub { owner = "gittuf"; repo = pname; rev = "v${version}"; - hash = "sha256-mes+6Bs6KhLkcHRzI07ciT1SuSJU/YxjXt0MCDeVCUk="; + hash = "sha256-iPaYwZUnIu9GeyY4kBhj+9gIINYx+pGSWJqPekh535g="; }; - vendorHash = "sha256-7z7+ycV6e24JUlLIxRCAgJwxRcRgGWBYPgbXgGqatEE="; + vendorHash = "sha256-mafN+Nrr0AtfMjnXNoEIuz90kJa58pgY2vUOlv7v+TE="; ldflags = [ "-X github.com/gittuf/gittuf/internal/version.gitVersion=${version}" ]; diff --git a/pkgs/by-name/gi/gitty/package.nix b/pkgs/by-name/gi/gitty/package.nix new file mode 100644 index 000000000000..ba677b2ba8e5 --- /dev/null +++ b/pkgs/by-name/gi/gitty/package.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "gitty"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "muesli"; + repo = "gitty"; + rev = "v${version}"; + sha256 = "sha256-g0D6nJiHY7cz72DSmdQZsj9Vgv/VOp0exTcLsaypGiU="; + }; + + vendorHash = "sha256-qrLECQkjXH0aTHmysq64jnXj9jgbunpVtBAIXJOEYIY="; + + ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + + meta = with lib; { + homepage = "https://github.com/muesli/gitty/"; + description = "Contextual information about your git projects, right on the command-line"; + license = licenses.mit; + maintainers = with maintainers; [ izorkin ]; + mainProgram = "gitty"; + }; +} diff --git a/pkgs/by-name/gi/gitu/package.nix b/pkgs/by-name/gi/gitu/package.nix index eda3c91c59cb..db382be54fe7 100644 --- a/pkgs/by-name/gi/gitu/package.nix +++ b/pkgs/by-name/gi/gitu/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "gitu"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "altsem"; repo = "gitu"; rev = "v${version}"; - hash = "sha256-DqJ/O87LdNXmJNmoBCdAvLod8uDRHlNuMzAv+kEew1w="; + hash = "sha256-rHlehYdyBYyhP/kFciFW0vmaewtXYuypaHMzqyMDXYA="; }; - cargoHash = "sha256-rfj2rDqO/sMaghpou2TCTfqrUmPxh0qooR6hhqlS4PM="; + cargoHash = "sha256-b0Z1SOprsVe8Sg4X0ooOahE9yrP65CV1otZ3nXFvPHo="; nativeBuildInputs = [ pkg-config @@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec { libgit2 openssl zlib - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.AppKit darwin.apple_sdk.frameworks.Security ]; diff --git a/pkgs/by-name/gi/gitui/package.nix b/pkgs/by-name/gi/gitui/package.nix index a93cad786827..df3adcb0e39f 100644 --- a/pkgs/by-name/gi/gitui/package.nix +++ b/pkgs/by-name/gi/gitui/package.nix @@ -25,8 +25,8 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] - ++ lib.optional stdenv.isLinux xclip - ++ lib.optionals stdenv.isDarwin [ + ++ lib.optional stdenv.hostPlatform.isLinux xclip + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.AppKit diff --git a/pkgs/by-name/gi/gitweb/package.nix b/pkgs/by-name/gi/gitweb/package.nix new file mode 100644 index 000000000000..f2cb91ac4f83 --- /dev/null +++ b/pkgs/by-name/gi/gitweb/package.nix @@ -0,0 +1,27 @@ +{ lib, buildEnv, git, fetchFromGitHub +, gitwebTheme ? false }: + +let + gitwebThemeSrc = fetchFromGitHub { + owner = "kogakure"; + repo = "gitweb-theme"; + rev = "049b88e664a359f8ec25dc6f531b7e2aa60dd1a2"; + postFetch = '' + mkdir -p "$TMPDIR/gitwebTheme" + mv "$out"/* "$TMPDIR/gitwebTheme/" + mkdir "$out/static" + mv "$TMPDIR/gitwebTheme"/* "$out/static/" + ''; + sha256 = "17hypq6jvhy6zhh26lp3nyi52npfd5wy5752k6sq0shk4na2acqi"; + }; +in buildEnv { + name = "gitweb-${lib.getVersion git}"; + + ignoreCollisions = true; + paths = lib.optional gitwebTheme gitwebThemeSrc + ++ [ "${git}/share/gitweb" ]; + + meta = git.meta // { + maintainers = [ ]; + }; +} diff --git a/pkgs/by-name/gi/gitxray/package.nix b/pkgs/by-name/gi/gitxray/package.nix new file mode 100644 index 000000000000..dbdd5ce9dbfc --- /dev/null +++ b/pkgs/by-name/gi/gitxray/package.nix @@ -0,0 +1,33 @@ +{ + lib, + python3, + fetchFromGitHub, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "gitxray"; + version = "1.0.16"; + pyproject = true; + + src = fetchFromGitHub { + owner = "kulkansecurity"; + repo = "gitxray"; + rev = "refs/tags/${version}"; + hash = "sha256-sBDKRHNhRG0SUd9G0+iiKOB+lqzISi92itbZIT+j4ME="; + }; + + build-system = with python3.pkgs; [ setuptools ]; + + dependencies = with python3.pkgs; [ requests ]; + + pythonImportsCheck = [ "gitxray" ]; + + meta = { + description = "Tool which leverages Public GitHub REST APIs for various tasks"; + homepage = "https://github.com/kulkansecurity/gitxray"; + changelog = "https://github.com/kulkansecurity/gitxray/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "gitxray"; + }; +} diff --git a/pkgs/by-name/gi/gixy/package.nix b/pkgs/by-name/gi/gixy/package.nix new file mode 100644 index 000000000000..5d1bfb65d4c2 --- /dev/null +++ b/pkgs/by-name/gi/gixy/package.nix @@ -0,0 +1,79 @@ +{ + lib, + fetchFromGitHub, + fetchpatch2, + python3, + nginx, +}: + +let + python = python3.override { + self = python; + packageOverrides = self: super: { + pyparsing = super.pyparsing.overridePythonAttrs rec { + version = "2.4.7"; + src = fetchFromGitHub { + owner = "pyparsing"; + repo = "pyparsing"; + rev = "pyparsing_${version}"; + sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h"; + }; + nativeBuildInputs = [ super.setuptools ]; + }; + }; + }; +in +python.pkgs.buildPythonApplication rec { + pname = "gixy"; + version = "0.1.20"; + pyproject = true; + + # fetching from GitHub because the PyPi source is missing the tests + src = fetchFromGitHub { + owner = "yandex"; + repo = "gixy"; + rev = "v${version}"; + sha256 = "14arz3fjidb8z37m08xcpih1391varj8s0v3gri79z3qb4zq5k6b"; + }; + + patches = [ + # Migrate tests to pytest + # https://github.com/yandex/gixy/pull/146 + (fetchpatch2 { + url = "https://github.com/yandex/gixy/compare/6f68624a7540ee51316651bda656894dc14c9a3e...b1c6899b3733b619c244368f0121a01be028e8c2.patch"; + hash = "sha256-6VUF2eQ2Haat/yk8I5qIXhHdG9zLQgEXJMLfe25OKEo="; + }) + ]; + + build-system = [ python.pkgs.setuptools ]; + + dependencies = with python.pkgs; [ + cached-property + configargparse + pyparsing + jinja2 + six + ]; + + nativeCheckInputs = [ python.pkgs.pytestCheckHook ]; + + pythonRemoveDeps = [ "argparse" ]; + + passthru = { + inherit (nginx.passthru) tests; + }; + + meta = { + description = "Nginx configuration static analyzer"; + mainProgram = "gixy"; + longDescription = '' + Gixy is a tool to analyze Nginx configuration. + The main goal of Gixy is to prevent security misconfiguration and automate flaw detection. + ''; + homepage = "https://github.com/yandex/gixy"; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + license = lib.licenses.mpl20; + maintainers = [ lib.maintainers.willibutz ]; + platforms = lib.platforms.unix; + }; +} |