Unverified Commit 2d19e4a7 authored by Keto's avatar Keto
Browse files

archivemount: 0.9.1 -> 1

parent 256d33ba
Loading
Loading
Loading
Loading
+36 −8
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchurl,
  fetchFromSourcehut,
  fetchpatch,
  pkg-config,
  fuse,
  libarchive,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "archivemount";
  version = "0.9.1";
  version = "1";

  src = fetchurl {
    url = "https://www.cybernoia.de/software/archivemount/archivemount-${version}.tar.gz";
    sha256 = "1cy5b6qril9c3ry6fv7ir87s8iyy5vxxmbyx90dm86fbra0vjaf5";
  src = fetchFromSourcehut {
    owner = "~nabijaczleweli";
    repo = "archivemount-ng";
    rev = finalAttrs.version;
    hash = "sha256-xuLtbqC9iS86BKz4jG8of4id+GTlBXoohONrkmIzOpY=";
  };

  nativeBuildInputs = [ pkg-config ];
@@ -22,10 +25,35 @@ stdenv.mkDerivation rec {
    libarchive
  ];

  makeFlags = [
    "PREFIX=${placeholder "out"}"
    "VERSION=${finalAttrs.version}"
  ];

  dontConfigure = true;

  # Fix missing standard struct stat on Darwin
  # Already on upstream, but no new release made
  patches = [
    (fetchpatch {
      name = "fix-missing-standard-struct-stat-on-darwin.patch";
      url = "https://git.sr.ht/~nabijaczleweli/archivemount-ng/commit/53dd70f05fdb6ababe7c1ca70f0f62bcf4930b5a.patch";
      hash = "sha256-UqoALAJoNXihop6Mem4mu+W8REOV92Zyv7pPW20Ugz8=";
    })
  ];

  # Fix cross-compilation
  postPatch = ''
    substituteInPlace Makefile --replace-fail pkg-config "$PKG_CONFIG"
  '';

  meta = {
    description = "Gateway between FUSE and libarchive: allows mounting of cpio, .tar.gz, .tar.bz2 archives";
    mainProgram = "archivemount";
    license = lib.licenses.gpl2Only;
    license = [
      lib.licenses.lgpl2Plus
      lib.licenses.bsd0
    ];
    platforms = lib.platforms.unix;
  };
}
})