From b7dcb6e2c70d9e2ed06a17d0ba728f156943c080 Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 12 Mar 2022 20:20:22 +0200 Subject: [PATCH] e2fsprogs: build fuse2fs and add output for fuse2fs it adds 14mb of dependencies which can be significant for initrd without a separate output $ du -sch $(nix-store -qR ./result-bin) | sort -h before fuse dep 618K /nix/store/w2id1hwv4vv7hvp4slgsyrydrjbfqdxc-libidn2-2.3.2 698K /nix/store/ki0x4wywp5b7rixwk1miq222wybdl3si-e2fsprogs-1.46.5-bin 732K /nix/store/4nmqxajzaf60yjribkgvj5j54x9yvr1r-bash-5.1-p12 747K /nix/store/8ckxc8biqqfdwyhr0w70jgrcb4h7a4y5-libunistring-0.9.10 853K /nix/store/kx41yd3yyr9bwrsk85fhhx6qhavfwql6-util-linux-2.37.3-lib 2,3M /nix/store/7nkr1kzrj5j6vzq952p35g0vzk747xjz-e2fsprogs-1.46.5 16M /nix/store/4s21k8k7p1mfik0b33r2spq5hq7774k1-glibc-2.33-108 22M total after fuse dep 38K /nix/store/k15b817jqz4ckp8rp1mgpkvvx78xxp2n-shadow-4.8.1-su 112K /nix/store/bqjh8dc6m5plswxrmmn9x4cpxrrw94lv-zlib-1.2.11 277K /nix/store/nzw0c7ag22mbyc4xrqyy1q1azq9r8kis-audit-2.8.5 285K /nix/store/ka1xx3ldpliww27wmskc1yxlgcfisdyf-libcap-ng-0.8.2 371K /nix/store/mvgg2fk5wwrcmm3wbrjhjn034aivrik2-fuse-2.9.9 618K /nix/store/w2id1hwv4vv7hvp4slgsyrydrjbfqdxc-libidn2-2.3.2 732K /nix/store/4nmqxajzaf60yjribkgvj5j54x9yvr1r-bash-5.1-p12 738K /nix/store/7wi0dn50wgimvfi30i3d4mxz40vcal10-e2fsprogs-1.46.5-bin 747K /nix/store/8ckxc8biqqfdwyhr0w70jgrcb4h7a4y5-libunistring-0.9.10 853K /nix/store/kx41yd3yyr9bwrsk85fhhx6qhavfwql6-util-linux-2.37.3-lib 1,3M /nix/store/043lz8mvyx5vxl058c1i586yqc8ax4ig-glibc-2.33-108-bin 1,7M /nix/store/fpzbv79ak68sh2sh6mag6jym553wfxws-db-4.8.30 2,3M /nix/store/9w5l1zrdd21hjxgjp5jnxxr6jibpjxd4-shadow-4.8.1 2,3M /nix/store/hjmxalhkvvajs2n26b0ry7ns56bh9k9s-e2fsprogs-1.46.5 2,5M /nix/store/ndnqiz3nnifj1blhg9q626xlmkqq1nmh-gcc-10.3.0-lib 2,8M /nix/store/pnp5qkmj8m07jl8pghhglfdczz2840r9-linux-pam-1.5.2 2,9M /nix/store/h25q7c560bchn326363ms2001jjgf338-util-linux-2.37.3-bin 16M /nix/store/4s21k8k7p1mfik0b33r2spq5hq7774k1-glibc-2.33-108 36M total e2fsprogs: build fuse2fs on linux only the fuse for macos might be broken --- pkgs/tools/filesystems/e2fsprogs/default.nix | 11 +++++++++-- pkgs/top-level/aliases.nix | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index 6fbc0b9b45f2..d4c4738be751 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,4 +1,5 @@ { lib, stdenv, buildPackages, fetchurl, fetchpatch, pkg-config, libuuid, gettext, texinfo +, fuse , shared ? !stdenv.hostPlatform.isStatic , e2fsprogs, runCommand }: @@ -12,11 +13,14 @@ stdenv.mkDerivation rec { sha256 = "1fgvwbj9ihz5svzrd2l0s18k16r4qg3wimrniv71fn3vdcg0shxp"; }; - outputs = [ "bin" "dev" "out" "man" "info" ]; + # fuse2fs adds 14mb of dependencies + outputs = [ "bin" "dev" "out" "man" "info" ] + ++ lib.optionals stdenv.isLinux [ "fuse2fs" ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkg-config texinfo ]; - buildInputs = [ libuuid gettext ]; + buildInputs = [ libuuid gettext ] + ++ lib.optionals stdenv.isLinux [ fuse ]; # Only use glibc's __GNUC_PREREQ(X,Y) (checks if compiler is gcc version >= X.Y) when using glibc patches = if stdenv.hostPlatform.libc == "glibc" then null @@ -62,6 +66,9 @@ stdenv.mkDerivation rec { if [ -f $out/lib/${pname}/e2scrub_all_cron ]; then mv $out/lib/${pname}/e2scrub_all_cron $bin/bin/ fi + '' + lib.optionalString stdenv.isLinux '' + mkdir -p $fuse2fs/bin + mv $bin/bin/fuse2fs $fuse2fs/bin/fuse2fs ''; enableParallelBuilding = true; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 174d2c721993..6629edad53a1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -371,6 +371,7 @@ mapAliases ({ fslint = throw "fslint has been removed: end of life. Upstream recommends using czkawka (https://qarmin.github.io/czkawka/) instead"; # Added 2022-01-15 fuse_exfat = throw "'fuse_exfat' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22 fuseki = throw "'fuseki' has been renamed to/replaced by 'apache-jena-fuseki'"; # Converted to throw 2022-02-22 + fuse2fs = if stdenv.isLinux then e2fsprogs.fuse2fs else null; # Added 2022-03-27 preserve, reason: convenience, arch has a package named fuse2fs too. fwupdate = throw "fwupdate was merged into fwupd"; # Added 2020-05-19 ### G ###