From b0cf086efe870b26963e916a5e0afcadfc8a44ff Mon Sep 17 00:00:00 2001 From: aleksana Date: Sat, 20 Jul 2024 22:35:26 +0800 Subject: [PATCH] zsync2: init at 2.0.0-alpha-1-20230304 --- pkgs/by-name/zs/zsync2/package.nix | 66 ++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 pkgs/by-name/zs/zsync2/package.nix diff --git a/pkgs/by-name/zs/zsync2/package.nix b/pkgs/by-name/zs/zsync2/package.nix new file mode 100644 index 000000000000..70a204eafab6 --- /dev/null +++ b/pkgs/by-name/zs/zsync2/package.nix @@ -0,0 +1,66 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + libgcrypt, + libcpr, + libargs, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "zsync2"; + version = "2.0.0-alpha-1-20230304"; + + src = fetchFromGitHub { + owner = "AppImageCommunity"; + repo = "zsync2"; + rev = finalAttrs.version; + hash = "sha256-OCeMEXQmbc34MZ1NyOfAASdrUyeSQqqfvWqAszJN4x0="; + }; + + patches = [ + # Add missing cstdint includes + (fetchpatch { + url = "https://github.com/AppImageCommunity/zsync2/commit/e57e1fce68194fa920542fd334488de5123e4832.patch"; + hash = "sha256-iLXxD6v+pSwFKmwAEyzbYUJ3DmtpvV/DYr8kcD+t5Cg="; + }) + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'VERSION "2.0.0-alpha-1"' 'VERSION "${finalAttrs.version}"' \ + --replace-fail 'git rev-parse --short HEAD' 'bash -c "echo unknown"' \ + --replace-fail '' '' \ + --replace-fail 'env LC_ALL=C date -u "+%Y-%m-%d %H:%M:%S %Z"' 'bash -c "echo 1970-01-01 00:00:01 UTC"' + ''; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + libgcrypt + libcpr + libargs + ]; + + cmakeFlags = [ + (lib.cmakeBool "USE_SYSTEM_CPR" true) + (lib.cmakeBool "USE_SYSTEM_ARGS" true) + ]; + + meta = { + description = "Rewrite of the advanced file download/sync tool zsync"; + homepage = "https://github.com/AppImageCommunity/zsync2"; + license = lib.licenses.artistic2; + mainProgram = "zsync2"; + maintainers = with lib.maintainers; [ aleksana ]; + # macro only supports linux as of now + # src/zsclient.cpp#L460 + platforms = lib.platforms.linux; + }; +})