Packaging libfprint-goodixtls-55x4 throws error in installPhase

Package that i have used earlier: AUR PKGBUILD
Derivation defination:

{ lib
, git
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, gtk-doc
, docbook-xsl-nons
, docbook_xml_dtd_43
, gobject-introspection
, cmake
, openssl
, doctest
, opencv
, gusb
, pixman
, glib
, nss
, cairo
, libgudev
,
}: stdenv.mkDerivation {
  pname = "libfprint-goodixtls-55x4";
  version = "1.0";
  # branch: 55b4-experimental

  src = fetchFromGitHub {
    owner = "TheWeirdDev";
    repo = "libfprint";
    rev = "6e4fdc0160088a4e0c1061fa173fb76c1f2efbf7";
    sha256 = "sha256-nyDp7WL8ZULsFKqA393v5KC0tryuwKmpog+tPJ+kJ0A=";
  };

  nativeBuildInputs = [
    pkg-config
    meson
    ninja
    gtk-doc
    docbook-xsl-nons
    docbook_xml_dtd_43
    gobject-introspection
    cmake # for finding doctest
  ];

  buildInputs = [
    git
    gusb
    pixman
    glib
    nss
    cairo
    libgudev
    doctest
    opencv
    openssl
  ];
  enableParallelBuilding = true;

  mesonFlags = [
    "-Ddoc=false"
    "--buildtype=release"
    "--prefix=${placeholder "out"}/"
  ];

  meta = with lib; {
    description = "libfprint fork for goodixtls 55x4 devices (supports 55b4, 55a4 support planned)";
    license = licenses.lgpl2Plus;
    platforms = platforms.linux;
    homepage = "https://github.com/TheWeirdDev/libfprint";
    maintainers = with maintainers; [ niksingh710 ];
  };
}
nix-repl> :b packages.x86_64-linux.libfprint-goodixtls-55x4
error: builder for '/nix/store/dngbndgv6cb3kx5j5x2wkmmx5d83f98c-libfprint-goodixtls-55x4-r1802.6e4fdc0.drv' failed with exit code 13;
       last 25 log lines:
       > Installing libfprint/fp-enums.h to /nix/store/gmhdlb0g7adf86rjpmgy13i5lx6ms19g-libfprint-goodixtls-55x4-r1802.6e4fdc0/include/libfprint-2
       > Installing libfprint/libfprint-2.so.2.0.0 to /nix/store/gmhdlb0g7adf86rjpmgy13i5lx6ms19g-libfprint-goodixtls-55x4-r1802.6e4fdc0/lib
       > Installing libfprint/70-libfprint-2.rules to /nix/store/pcdclhaknnwgqjcm8l57y14mj8y0cb77-systemd-minimal-libs-256.8/lib/udev/rules.d
       > Traceback (most recent call last):
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 193, in run
       >     return options.run_func(options)
       >            ^^^^^^^^^^^^^^^^^^^^^^^^^
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 870, in run
       >     installer.do_install(datafilename)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 550, in do_install
       >     self.install_targets(d, dm, destdir, fullprefix)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 747, in install_targets
       >     file_copied = self.do_copyfile(fname, outname, makedirs=(dm, outdir))
       >                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 416, in do_copyfile
       >     dirmaker.makedirs(outdir, exist_ok=True)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 109, in makedirs
       >     self.makedirs_impl(path, exist_ok=exist_ok)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 316, in makedirs
       >     os.makedirs(*args, **kwargs)
       >   File "<frozen os>", line 215, in makedirs
       >   File "<frozen os>", line 225, in makedirs
       > PermissionError: [Errno 13] Permission denied: '/nix/store/pcdclhaknnwgqjcm8l57y14mj8y0cb77-systemd-minimal-libs-256.8/lib/udev'
       >
       > ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.
       For full logs, run 'nix log /nix/store/dngbndgv6cb3kx5j5x2wkmmx5d83f98c-libfprint-goodixtls-55x4-r1802.6e4fdc0.drv'.

nix-repl> :lf .
Added 26 variables.

nix-repl> :b packages.x86_64-linux.libfprint-goodixtls-55x4
error: builder for '/nix/store/zr2drbnvjcc7xvl1khzcxx1xlnpdc3vs-libfprint-goodixtls-55x4-1.0.drv' failed with exit code 13;
       last 25 log lines:
       > Installing libfprint/fp-enums.h to /nix/store/zx90qdsm93gxd19vsmgms0siynv90ma9-libfprint-goodixtls-55x4-1.0/include/libfprint-2
       > Installing libfprint/libfprint-2.so.2.0.0 to /nix/store/zx90qdsm93gxd19vsmgms0siynv90ma9-libfprint-goodixtls-55x4-1.0/lib
       > Installing libfprint/70-libfprint-2.rules to /nix/store/pcdclhaknnwgqjcm8l57y14mj8y0cb77-systemd-minimal-libs-256.8/lib/udev/rules.d
       > Traceback (most recent call last):
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 193, in run
       >     return options.run_func(options)
       >            ^^^^^^^^^^^^^^^^^^^^^^^^^
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 870, in run
       >     installer.do_install(datafilename)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 550, in do_install
       >     self.install_targets(d, dm, destdir, fullprefix)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 747, in install_targets
       >     file_copied = self.do_copyfile(fname, outname, makedirs=(dm, outdir))
       >                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 416, in do_copyfile
       >     dirmaker.makedirs(outdir, exist_ok=True)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 109, in makedirs
       >     self.makedirs_impl(path, exist_ok=exist_ok)
       >   File "/nix/store/idr353czlcnq5prbrfnjhjb2dpwmn2jc-meson-1.6.0/lib/python3.12/site-packages/mesonbuild/minstall.py", line 316, in makedirs
       >     os.makedirs(*args, **kwargs)
       >   File "<frozen os>", line 215, in makedirs
       >   File "<frozen os>", line 225, in makedirs
       > PermissionError: [Errno 13] Permission denied: '/nix/store/pcdclhaknnwgqjcm8l57y14mj8y0cb77-systemd-minimal-libs-256.8/lib/udev'
       >
       > ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.
       For full logs, run 'nix log /nix/store/zr2drbnvjcc7xvl1khzcxx1xlnpdc3vs-libfprint-goodixtls-55x4-1.0.drv'.

I am relatively new to using Nix, and I seek feedback and suggestions for improvement on my current approach.

My primary concern is identifying the issue I am encountering: despite setting the output directory for Meson to $out, I am receiving a permission error.

Please provide guidance on what might be going wrong and how to resolve this issue?

I am new as well, so I’m down to collaborate on getting this to work if you want, as I was literally trying to compile the same package just now.

Anyway, I think the --prefix should be set to /usr instead, so that the resulting build structure would be under <store>/usr/

Aah, nice having someone on the same boat :),

For the prefix i was trying out coz What is the difference between `placeholder "out"` and `$out`