macfuse-stubs: init at 4.0.4
replaces osxfuse 3.8.3
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
{ lib, stdenv, fetchurl, cpio, xar, undmg, libtapi }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "macfuse-stubs";
|
||||
version = "4.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/osxfuse/osxfuse/releases/download/macfuse-${version}/macfuse-${version}.dmg";
|
||||
sha256 = "118hg64w5wb95lbxw6w1hbqxrx3plcbxfjhvxx86q0zx0saa9diw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cpio xar undmg libtapi ];
|
||||
|
||||
postUnpack = ''
|
||||
xar -xf 'Install macFUSE.pkg'
|
||||
cd Core.pkg
|
||||
gunzip -dc Payload | cpio -i
|
||||
'';
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
buildPhase = ''
|
||||
pushd usr/local/lib
|
||||
for f in *.dylib; do
|
||||
tapi stubify --filetype=tbd-v2 "$f" -o "''${f%%.dylib}.tbd"
|
||||
done
|
||||
sed -i "s|^prefix=.*|prefix=$out|" pkgconfig/fuse.pc
|
||||
popd
|
||||
'';
|
||||
|
||||
# NOTE: Keep in mind that different parts of macFUSE are distributed under a
|
||||
# different license
|
||||
installPhase = ''
|
||||
mkdir -p $out/include $out/lib/pkgconfig
|
||||
cp usr/local/lib/*.tbd $out/lib
|
||||
cp usr/local/lib/pkgconfig/*.pc $out/lib/pkgconfig
|
||||
cp -R usr/local/include/* $out/include
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://osxfuse.github.io";
|
||||
description = "Build time stubs for FUSE on macOS";
|
||||
platforms = platforms.darwin;
|
||||
maintainers = with maintainers; [ midchildan ];
|
||||
|
||||
# macFUSE as a whole includes code with restrictions on commercial
|
||||
# redistribution. However, the build artifacts that we actually touch for
|
||||
# this derivation are distributed under a free license.
|
||||
license = with licenses; [
|
||||
lgpl2Plus # libfuse
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
{ lib, stdenv, runCommand, fetchFromGitHub, autoreconfHook }:
|
||||
|
||||
let
|
||||
version = "3.8.3";
|
||||
|
||||
headers = runCommand "osxfuse-common-${version}" {
|
||||
src = fetchFromGitHub {
|
||||
owner = "osxfuse";
|
||||
repo = "osxfuse";
|
||||
rev = "osxfuse-${version}";
|
||||
sha256 = "13lmg41zcyiajh8m42w7szkbg2is4551ryx2ia2mmzvvd23pag0z";
|
||||
};
|
||||
} ''
|
||||
mkdir -p $out/include
|
||||
cp --target-directory=$out/include $src/common/*.h
|
||||
'';
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
pname = "osxfuse";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "osxfuse";
|
||||
repo = "fuse";
|
||||
rev = "1a1977a"; # Submodule reference from osxfuse/osxfuse at tag osxfuse-${version}
|
||||
sha256 = "101fw8j40ylfbbrjycnwr5qp422agyf9sfbczyb9w5ivrkds3rfw";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
touch config.rpath
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
ln -s osxfuse.pc $out/lib/pkgconfig/fuse.pc
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ headers ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://osxfuse.github.io";
|
||||
description = "C-based FUSE for macOS SDK";
|
||||
platforms = platforms.darwin;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user