nixpkgs/pkgs/tools/filesystems/securefs/default.nix
Rick van Schijndel 9833d56c24 treewide: mark packages broken that never built on PLATFORM
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.

I manually audited the results and removed some results that were not valid.

Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.

Some observations:

- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
  - gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
  platforms that are not x86_64-linux
2022-12-13 21:40:12 +01:00

49 lines
1.4 KiB
Nix

{ lib, stdenv, fetchFromGitHub
, cmake
, fuse }:
stdenv.mkDerivation rec {
pname = "securefs";
version = "0.11.1";
src = fetchFromGitHub {
sha256 = "1sxfgqgy63ml7vg7zj3glvra4wj2qmfv9jzmpm1jqy8hq7qlqlsx";
rev = version;
repo = "securefs";
owner = "netheril96";
fetchSubmodules = true;
};
patches = [
# Make it build with macFUSE
# Backported from https://github.com/netheril96/securefs/pull/114
./add-macfuse-support.patch
];
postPatch = ''
sed -i -e '/TEST_SOURCES/d' CMakeLists.txt
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ fuse ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Transparent encryption filesystem";
longDescription = ''
Securefs is a filesystem in userspace (FUSE) that transparently encrypts
and authenticates data stored. It is particularly designed to secure
data stored in the cloud.
Securefs mounts a regular directory onto a mount point. The mount point
appears as a regular filesystem, where one can read/write/create files,
directories and symbolic links. The underlying directory will be
automatically updated to contain the encrypted and authenticated
contents.
'';
license = with licenses; [ bsd2 mit ];
platforms = platforms.unix;
# never built on aarch64-darwin since first introduction in nixpkgs
broken = stdenv.isDarwin && stdenv.isAarch64;
};
}