summaryrefslogtreecommitdiffstats
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authormidchildan <git@midchildan.org>2021-01-02 01:02:32 +0900
committermidchildan <git@midchildan.org>2021-03-21 15:50:13 +0900
commitfa6c8b656b72dfa97d7a5aa9892569fd6eb64dfc (patch)
tree2d8c118a61edab5d2bcce7ce49a6e00ec9667920 /pkgs/os-specific
parent85141b8609cae8747d29ea9ca66e58828a3a85e4 (diff)
macfuse-stubs: init at 4.0.4
replaces osxfuse 3.8.3
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/darwin/macfuse/default.nix53
-rw-r--r--pkgs/os-specific/darwin/osxfuse/default.nix48
2 files changed, 53 insertions, 48 deletions
diff --git a/pkgs/os-specific/darwin/macfuse/default.nix b/pkgs/os-specific/darwin/macfuse/default.nix
new file mode 100644
index 000000000000..a5162b3aed27
--- /dev/null
+++ b/pkgs/os-specific/darwin/macfuse/default.nix
@@ -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
+ ];
+ };
+}
diff --git a/pkgs/os-specific/darwin/osxfuse/default.nix b/pkgs/os-specific/darwin/osxfuse/default.nix
deleted file mode 100644
index d0f6b0f53117..000000000000
--- a/pkgs/os-specific/darwin/osxfuse/default.nix
+++ /dev/null
@@ -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;
- };
-}