parent
85141b8609
commit
fa6c8b656b
@ -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; |
||||
}; |
||||
} |
Loading…
Reference in new issue