about summary refs log tree commit diff
path: root/pkgs/applications/version-management
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management')
-rw-r--r--pkgs/applications/version-management/gerrit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-gone/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-nomad/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-publish/default.nix32
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/default.nix7
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/shards.nix8
-rw-r--r--pkgs/applications/version-management/p4/default.nix114
-rw-r--r--pkgs/applications/version-management/p4d/default.nix2
-rw-r--r--pkgs/applications/version-management/srvc/default.nix22
13 files changed, 201 insertions, 60 deletions
diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix
index e1e1fe17547f2..335a899b4da10 100644
--- a/pkgs/applications/version-management/gerrit/default.nix
+++ b/pkgs/applications/version-management/gerrit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gerrit";
-  version = "3.5.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
-    sha256 = "3fb5de878b6470dc8ef65ce22f2709cb8baecb5f16d89497dfaa33a0f33f7920";
+    sha256 = "sha256-/OckQD6r9WSMx9Vt44eFpzsacH6VMa6NJX6sj2HBQSs=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
index af2bff403572b..a9bf9229e0247 100644
--- a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.8.7";
+  version = "1.8.8";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-3NlGS6DTTE0FCsvNPBNaxxbYcKKwE3gd1jsfdxlTl38=";
+    sha256 = "sha256-xB/TdeXC0V8dZs6N6Uq1+gzG84j9uhSrwkSbIMwUWSk=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index 6e2377bbec4bb..937a771b1e42e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -1,29 +1,21 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , unixtools
 , which
 }:
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "6.4.0";
+  version = "6.5.0";
 
   src = fetchFromGitHub {
     owner = "tj";
     repo = "git-extras";
     rev = version;
-    sha256 = "sha256-Cn7IXMzgg0QIsNIHz+X14Gkmop0UbsSBlGlGkmg71ek=";
+    sha256 = "sha256-7VNkIFjz4stRT48a9uXks84W7/tP3p7esMJKnIe1O+8=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/tj/git-extras/commit/66961ad4911cd0f1a908530f2b725bacc7d198e1.patch";
-      sha256 = "sha256-iC1lUf/NmuAPADxDWZ2JScHIMgYjIaR0edlGpq0qCOc=";
-    })
-  ];
-
   postPatch = ''
     patchShebangs check_dependencies.sh
   '';
diff --git a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
index 7a26b38b6b2d3..5bdab4b081ee8 100644
--- a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
@@ -1,29 +1,27 @@
 { lib
 , stdenv
-, fetchFromGitea
+, fetchFromGitHub
 , rustPlatform
-, libiconv
 , Security
 , installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "git-gone";
-  version = "0.4.1";
+  version = "0.4.2";
 
-  src = fetchFromGitea {
-    domain = "codeberg.org";
-    owner = "flausch";
-    repo = pname;
+  src = fetchFromGitHub {
+    owner = "lunaryorn";
+    repo = "git-gone";
     rev = "v${version}";
-    sha256 = "sha256-kqKFs3xvTVHnsLpLC9gjj1dcPChhegmupNrbWy+7C6o=";
+    sha256 = "sha256-aKBNi797aMPawxD+BLpk0sazXz2g0XTzmDpR/mk07no=";
   };
 
-  cargoSha256 = "sha256-8R13eHS69fQ3r3LYlnB3nPTPX7VesUPlAUCmQEpUUdw=";
+  cargoSha256 = "sha256-vO1ePqDIy5HEBauO3OkMCovrgtIVB9biJExw/q89ivE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   postInstall = ''
     installManPage git-gone.1
@@ -31,8 +29,8 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Cleanup stale Git branches of merge requests";
-    homepage = "https://codeberg.org/flausch/git-gone";
-    changelog = "https://codeberg.org/flausch/git-gone/raw/tag/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/lunaryorn/git-gone";
+    changelog = "https://github.com/lunaryorn/git-gone/raw/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
index b85f6d973cf22..97e2cf0537ac9 100644
--- a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-interactive-rebase-tool";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "MitMaro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-++KTMzTt84dowoZP+Bc9E/jUS21YN5ybKrlpQUKCir0=";
+    sha256 = "sha256-KqItunxh24jAkvsAMnByS+dhm+wyUqmdF96qEDs/5mI=";
   };
 
-  cargoSha256 = "sha256-OUaP/nDs589FYaGYcleRMTQNu3/q/2wBjHSv2q8OyjA=";
+  cargoSha256 = "sha256-510kNtcSsuXADMmSqu2t0HsnPUS/Jedsfvjnh2k+vDs=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-nomad/default.nix b/pkgs/applications/version-management/git-and-tools/git-nomad/default.nix
new file mode 100644
index 0000000000000..f11e978ceafbd
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-nomad/default.nix
@@ -0,0 +1,22 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-nomad";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "rraval";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-1PXAdXafkPOIVzaWjW/RlWHwYhMqPoj0Hj5JmOMUj8A=";
+  };
+
+  cargoHash = "sha256-ULcdJRla1JwI0y6ngW9xQXjNw2wO48HuAczsNIsJJK0=";
+
+  meta = with lib; {
+    description = "Synchronize work-in-progress git branches in a light weight fashion";
+    homepage = "https://github.com/rraval/git-nomad";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rraval ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-publish/default.nix b/pkgs/applications/version-management/git-and-tools/git-publish/default.nix
new file mode 100644
index 0000000000000..0f0eeff156b06
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-publish/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, python, perl, fetchFromGitHub, installShellFiles }:
+stdenv.mkDerivation rec {
+  pname = "git-publish";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "stefanha";
+    repo = "git-publish";
+    rev = "v${version}";
+    sha256 = "14rz5kli6sz171cvdc46z3z0nnpd57rliwr6nn6vjjc49yyfwgl4";
+  };
+
+  nativeBuildInputs = [ perl installShellFiles ];
+  buildInputs = [ python ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm0755 git-publish $out/bin/git-publish
+    pod2man git-publish.pod > git-publish.1
+    installManPage git-publish.1
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Prepare and store patch revisions as git tags";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.lheckemann ];
+    homepage = "https://github.com/stefanha/git-publish";
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 95327f31ddcde..9b2c755b1091a 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
     done
   '';
 
-  nativeBuildInputs = [ gettext perlPackages.perl makeWrapper ]
+  nativeBuildInputs = [ gettext perlPackages.perl makeWrapper pkg-config ]
     ++ lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
          docbook_xsl docbook_xml_dtd_45 libxslt ];
   buildInputs = [ curl openssl zlib expat cpio libiconv bash ]
@@ -82,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optionals guiSupport [tcl tk]
     ++ lib.optionals withpcre2 [ pcre2 ]
     ++ lib.optionals stdenv.isDarwin [ Security CoreServices ]
-    ++ lib.optionals withLibsecret [ pkg-config glib libsecret ];
+    ++ lib.optionals withLibsecret [ glib libsecret ];
 
   # required to support pthread_cancel()
   NIX_LDFLAGS = lib.optionalString (stdenv.cc.isGNU && stdenv.hostPlatform.libc == "glibc") "-lgcc_s"
@@ -252,7 +252,7 @@ stdenv.mkDerivation (finalAttrs: {
       '')
 
    + lib.optionalString withManual ''# Install man pages
-       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html \
+       make -j $NIX_BUILD_CORES PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html \
          -C Documentation ''
 
    + (if guiSupport then ''
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/default.nix b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
index 6aa639be86c96..1f331ffd49623 100644
--- a/pkgs/applications/version-management/git-and-tools/thicket/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
@@ -1,22 +1,21 @@
 { lib
-, fetchFromGitHub
 , crystal
+, fetchFromGitHub
 }:
 
 crystal.buildCrystalPackage rec {
   pname = "thicket";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "taylorthurlow";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7X1RKj/FWgJdgA7P746hU0ndUM49fH79ZNRSkvNZYFg=";
+    sha256 = "sha256-sF+fNKEZEfjpW3buh6kFUpL1P0yO9g4SrTb0rhx1uNc=";
   };
 
   format = "shards";
 
-  shardsFile = ./shards.nix;
   crystalBinaries.thicket.src = "src/thicket.cr";
 
   # there is one test that tries to clone a repo
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/shards.nix b/pkgs/applications/version-management/git-and-tools/thicket/shards.nix
deleted file mode 100644
index 1c035d332e53b..0000000000000
--- a/pkgs/applications/version-management/git-and-tools/thicket/shards.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  ameba = {
-    owner = "veelenga";
-    repo = "ameba";
-    rev = "v0.14.3";
-    sha256 = "1cfr95xi6hsyxw1wlrh571hc775xhwmssk3k14i8b7dgbwfmm5x1";
-  };
-}
diff --git a/pkgs/applications/version-management/p4/default.nix b/pkgs/applications/version-management/p4/default.nix
index 4f61be6669aa1..8a54d4eb77bf2 100644
--- a/pkgs/applications/version-management/p4/default.nix
+++ b/pkgs/applications/version-management/p4/default.nix
@@ -1,31 +1,115 @@
-{ stdenv, fetchurl, lib, autoPatchelfHook }:
+{ stdenv
+, fetchurl
+, fetchzip
+, lib
+, emptyDirectory
+, linkFarm
+, symlinkJoin
+, jam
+, libcxx
+, libcxxabi
+, openssl
+, xcbuild
+, CoreServices
+, Foundation
+, Security
+}:
 
+let
+  opensslStatic = openssl.override {
+    static = true;
+  };
+  androidZlibContrib =
+    let
+      src = fetchzip {
+        url = "https://android.googlesource.com/platform/external/zlib/+archive/61174f4fd262c6075f88768465f308aae95a2f04.tar.gz";
+        sha256 = "sha256-EMzKAHcEWOUugcHKH2Fj3ZaIHC9UlgO4ULKe3RvgxvI=";
+        stripRoot = false;
+      };
+    in
+    linkFarm "android-zlib-contrib" [
+      # We only want to keep the contrib directory as the other files conflict
+      # with p4's own zlib files. (For the same reason, we can't use the
+      # cone-based Git sparse checkout, either.)
+      { name = "contrib"; path = "${src}/contrib"; }
+    ];
+  libcxxUnified = symlinkJoin {
+    inherit (libcxx) name;
+    paths = [ libcxx libcxxabi ];
+  };
+in
 stdenv.mkDerivation rec {
   pname = "p4";
-  version = "2021.2.2201121";
+  version = "2022.1.2305383";
 
   src = fetchurl {
-    # actually  https://cdist2.perforce.com/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz but upstream deletes releases
-    url = "https://web.archive.org/web/20211118024943/https://cdist2.perforce.com/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz";
-    sha256 = "sha256-SrfI2ZD7KDyttCd8+fo8g4UZKljYYO/SbzqrS9tAcC8=";
+    # Upstream replaces minor versions, so use archived URL.
+    url = "https://web.archive.org/web/20220901184735id_/https://ftp.perforce.com/perforce/r22.1/bin.tools/p4source.tgz";
+    sha256 = "27ab3ddd7b178b05cf0b710e941650dac0688d294110ebafda9027732c0944c6";
   };
 
-  sourceRoot = ".";
+  nativeBuildInputs = [ jam ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Foundation Security ];
+
+  outputs = [ "out" "bin" "dev" ];
 
-  dontBuild = true;
+  hardeningDisable = lib.optionals stdenv.isDarwin [ "strictoverflow" ];
 
-  nativeBuildInputs = [ autoPatchelfHook ];
+  jamFlags =
+    [
+      "-sEXEC=bin.unix"
+      "-sCROSS_COMPILE=${stdenv.cc.targetPrefix}"
+      "-sMALLOC_OVERRIDE=no"
+      "-sSSLINCDIR=${lib.getDev opensslStatic}/include"
+      "-sSSLLIBDIR=${lib.getLib opensslStatic}/lib"
+    ]
+    ++ lib.optionals stdenv.cc.isClang [ "-sOSCOMP=clang" "-sCLANGVER=${stdenv.cc.cc.version}" ]
+    ++ lib.optionals stdenv.cc.isGNU [ "-sOSCOMP=gcc" "-sGCCVER=${stdenv.cc.cc.version}" ]
+    ++ lib.optionals stdenv.isLinux [ "-sOSVER=26" ]
+    ++ lib.optionals stdenv.isDarwin [
+      "-sOSVER=1013"
+      "-sMACOSX_SDK=${emptyDirectory}"
+      "-sLIBC++DIR=${libcxxUnified}/lib"
+    ];
+
+  CCFLAGS =
+    # The file contrib/optimizations/slide_hash_neon.h is missing from the
+    # upstream distribution. It comes from the Android/Chromium sources.
+    lib.optionals stdenv.isAarch64 [ "-I${androidZlibContrib}" ];
+
+  "C++FLAGS" =
+    # Avoid a compilation error that only occurs for 4-byte longs.
+    lib.optionals stdenv.isi686 [ "-Wno-narrowing" ]
+    # See the "Header dependency changes" section of
+    # https://www.gnu.org/software/gcc/gcc-11/porting_to.html for more
+    # information on why we need to include these.
+    ++ lib.optionals
+      (stdenv.cc.isClang || (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.cc.version "11.0.0"))
+      [ "-include" "limits" "-include" "thread" ];
+
+  buildPhase = ''
+    runHook preBuild
+    jam $jamFlags -j$NIX_BUILD_CORES p4
+    jam $jamFlags -j$NIX_BUILD_CORES -sPRODUCTION=yes p4api.tar
+    runHook postBuild
+  '';
 
   installPhase = ''
-    install -D --target $out/bin p4 p4broker p4d p4p
+    runHook preInstall
+    mkdir -p $bin/bin $dev $out
+    cp bin.unix/p4 $bin/bin
+    cp -r bin.unix/p4api-${version}/include $dev
+    cp -r bin.unix/p4api-${version}/lib $out
+    runHook postInstall
   '';
 
-  meta = {
-    description = "Perforce Command-Line Client";
+  meta = with lib; {
+    description = "Perforce Helix Core command-line client and APIs";
     homepage = "https://www.perforce.com";
-    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-    license = lib.licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with lib.maintainers; [ corngood ];
+    license = licenses.bsd2;
+    mainProgram = "p4";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ corngood impl ];
   };
 }
diff --git a/pkgs/applications/version-management/p4d/default.nix b/pkgs/applications/version-management/p4d/default.nix
index 5b98131303d3b..e2cf8e1013c3d 100644
--- a/pkgs/applications/version-management/p4d/default.nix
+++ b/pkgs/applications/version-management/p4d/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation {
     license = licenses.unfree;
     mainProgram = "p4d";
     platforms = builtins.attrNames srcs;
-    maintainers = with maintainers; [ impl ];
+    maintainers = with maintainers; [ corngood impl ];
   };
 }
diff --git a/pkgs/applications/version-management/srvc/default.nix b/pkgs/applications/version-management/srvc/default.nix
new file mode 100644
index 0000000000000..8e32b42912c0d
--- /dev/null
+++ b/pkgs/applications/version-management/srvc/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "srvc";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "insilica";
+    repo = "rs-srvc";
+    rev = "v${version}";
+    sha256 = "sha256-PBs86cvEacvCt/2JnURL4qKvXGXRZHWaGYrPUSsnt0I=";
+  };
+
+  cargoSha256 = "sha256-5CUbfI67gsINdHcxN8KbIN10Mu90rAU53DbmQ5QotWg=";
+
+  meta = with lib; {
+    description = "Sysrev version control";
+    homepage = "https://github.com/insilica/rs-srvc";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ john-shaffer ];
+  };
+}