From 2c1a608bf7ab1cdf3055afd1f452d1dce6da1b78 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Thu, 7 Nov 2024 11:04:08 +0100 Subject: [PATCH 1/2] apfsprogs: format with nixfmt-rfc-style --- pkgs/by-name/ap/apfsprogs/package.nix | 29 +++++++++++++++------------ 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/ap/apfsprogs/package.nix b/pkgs/by-name/ap/apfsprogs/package.nix index 6483b967e7ba..42175558be32 100644 --- a/pkgs/by-name/ap/apfsprogs/package.nix +++ b/pkgs/by-name/ap/apfsprogs/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -15,15 +16,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+c+wU52XKNOTxSpSrkrNWoGEYw6Zo4CGEOyKMvkXEa0="; }; - postPatch = let - shortRev = builtins.substring 0 9 finalAttrs.src.rev; - in '' - substituteInPlace \ - apfs-snap/Makefile apfsck/Makefile mkapfs/Makefile apfs-label/Makefile \ - --replace-fail \ - '$(shell git describe --always HEAD | tail -c 9)' \ - '${shortRev}' - ''; + postPatch = + let + shortRev = builtins.substring 0 9 finalAttrs.src.rev; + in + '' + substituteInPlace \ + apfs-snap/Makefile apfsck/Makefile mkapfs/Makefile apfs-label/Makefile \ + --replace-fail \ + '$(shell git describe --always HEAD | tail -c 9)' \ + '${shortRev}' + ''; buildPhase = '' runHook preBuild From 7b77b4ab6cf7b48faab962f88a1166423c7f249f Mon Sep 17 00:00:00 2001 From: Luflosi Date: Thu, 7 Nov 2024 11:04:18 +0100 Subject: [PATCH 2/2] apfsprogs: 0-unstable-2024-09-27 -> 0.2.0 https://github.com/linux-apfs/apfsprogs/releases/tag/v0.2.0 Also add some simple tests to check that all tools can output the correct version. --- pkgs/by-name/ap/apfsprogs/package.nix | 55 ++++++++++++++++++--------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/ap/apfsprogs/package.nix b/pkgs/by-name/ap/apfsprogs/package.nix index 42175558be32..53b374f77975 100644 --- a/pkgs/by-name/ap/apfsprogs/package.nix +++ b/pkgs/by-name/ap/apfsprogs/package.nix @@ -3,30 +3,34 @@ stdenv, fetchFromGitHub, nixosTests, + testers, }: - +let + tools = [ + "apfsck" + "apfs-label" + "apfs-snap" + "mkapfs" + ]; +in stdenv.mkDerivation (finalAttrs: { pname = "apfsprogs"; - version = "0-unstable-2024-09-27"; + version = "0.2.0"; src = fetchFromGitHub { owner = "linux-apfs"; repo = "apfsprogs"; - rev = "f31d7c2d69d212ce381399d2bb1e91410f592484"; - hash = "sha256-+c+wU52XKNOTxSpSrkrNWoGEYw6Zo4CGEOyKMvkXEa0="; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-rolbBLdE98jqlKC06fTo6eJU3abKzgB3QIlaw4bza9U="; }; - postPatch = - let - shortRev = builtins.substring 0 9 finalAttrs.src.rev; - in - '' - substituteInPlace \ - apfs-snap/Makefile apfsck/Makefile mkapfs/Makefile apfs-label/Makefile \ - --replace-fail \ - '$(shell git describe --always HEAD | tail -c 9)' \ - '${shortRev}' - ''; + postPatch = '' + substituteInPlace \ + apfs-snap/Makefile apfsck/Makefile mkapfs/Makefile apfs-label/Makefile \ + --replace-fail \ + '$(shell git describe --always HEAD | tail -c 9)' \ + 'v${finalAttrs.version}' + ''; buildPhase = '' runHook preBuild @@ -46,15 +50,30 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru.tests = { - apfs = nixosTests.apfs; - }; + passthru.tests = + let + mkVersionTest = tool: { + "version-${tool}" = testers.testVersion { + package = finalAttrs.finalPackage; + command = "${tool} -v"; + version = "v${finalAttrs.version}"; + }; + }; + versionTestList = builtins.map mkVersionTest tools; + + versionTests = lib.mergeAttrsList versionTestList; + in + { + apfs = nixosTests.apfs; + } + // versionTests; strictDeps = true; meta = with lib; { description = "Experimental APFS tools for linux"; homepage = "https://github.com/linux-apfs/apfsprogs"; + changelog = "https://github.com/linux-apfs/apfsprogs/releases/tag/v${finalAttrs.version}"; license = licenses.gpl2Only; platforms = platforms.linux; maintainers = with maintainers; [ Luflosi ];