84 lines
1.8 KiB
Nix
84 lines
1.8 KiB
Nix
{
|
|
stdenv,
|
|
lib,
|
|
fetchFromGitHub,
|
|
gitUpdater,
|
|
testers,
|
|
glib,
|
|
libsForQt5,
|
|
pkg-config,
|
|
qt6Packages,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "sailfish-access-control";
|
|
version = "0.0.12";
|
|
|
|
outputs = [
|
|
"out"
|
|
"dev"
|
|
];
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "sailfishos";
|
|
repo = "sailfish-access-control";
|
|
tag = finalAttrs.version;
|
|
hash = "sha256-3gZUz6MZ/dZ1ntPmU89vEoLJ3zPE6Tax/YHw7/MwNCI=";
|
|
};
|
|
|
|
# sourceRoot breaks patches
|
|
preConfigure = ''
|
|
cd glib
|
|
'';
|
|
|
|
strictDeps = true;
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [
|
|
glib
|
|
];
|
|
|
|
makeFlags = [
|
|
"VERSION=${finalAttrs.version}"
|
|
];
|
|
|
|
installFlags = [
|
|
"ROOT="
|
|
"PREFIX=${placeholder "out"}"
|
|
"INCDIR=${placeholder "dev"}/include/sailfishaccesscontrol"
|
|
];
|
|
|
|
passthru = {
|
|
updateScript = gitUpdater { };
|
|
tests = {
|
|
pkg-config = testers.hasPkgConfigModules {
|
|
package = finalAttrs.finalPackage;
|
|
versionCheck = true;
|
|
};
|
|
qt5 = libsForQt5.sailfish-access-control-plugin;
|
|
qt6 = qt6Packages.sailfish-access-control-plugin;
|
|
};
|
|
};
|
|
|
|
meta = {
|
|
description = "Thin wrapper on top of pwd.h and grp.h of glibc";
|
|
longDescription = ''
|
|
This package provides a thin wrapper library on top of the getuid, getpwuid, getgrouplist, and friends.
|
|
Checking whether a user belongs to a group should be done via this Sailfish Access Control library.
|
|
|
|
This will make it easier to fix for instance rerentrancy issues.
|
|
'';
|
|
homepage = "https://github.com/sailfishos/sailfish-access-control";
|
|
changelog = "https://github.com/sailfishos/sailfish-access-control/releases/tag/${finalAttrs.version}";
|
|
license = lib.licenses.lgpl2Plus;
|
|
teams = [ lib.teams.lomiri ];
|
|
platforms = lib.platforms.linux;
|
|
pkgConfigModules = [
|
|
"sailfishaccesscontrol"
|
|
];
|
|
};
|
|
})
|