uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
|
|
@ -0,0 +1,58 @@
|
|||
commit 363c5be465dd6dde35c3d31abd7b5cca9b1f3a9f
|
||||
Author: Jan Tojnar <jtojnar@gmail.com>
|
||||
Date: Thu Jul 23 18:49:03 2020 +0200
|
||||
|
||||
Improve separation between malcontent and malcontent-ui packages
|
||||
|
||||
These artefacts go into both packages by default:
|
||||
|
||||
* malcontent-control – a CLI tool
|
||||
* PAM module
|
||||
* gettext locale data
|
||||
* help pages ✨
|
||||
* AccountService/D-Bus interfaces
|
||||
* Polkit com.endlessm.ParentalControls rules and policy
|
||||
|
||||
Items marked with ✨ will go to ui package, while the rest is installed with the base library.
|
||||
|
||||
See also the packaging done by upstream in Endless:
|
||||
https://github.com/endlessm/malcontent/tree/5482b7eb99aee9b8c344629bc078e193d3c26ffc/debian
|
||||
|
||||
Cannot upstream this since they are worried about maintainability:
|
||||
https://gitlab.freedesktop.org/pwithnall/malcontent/merge_requests/38#note_437946
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 6e1dfa5..196350b 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -123,9 +123,8 @@ test_env = [
|
||||
'LC_ALL=C.UTF-8',
|
||||
]
|
||||
|
||||
-subdir('accounts-service')
|
||||
-subdir('help')
|
||||
if not get_option('use_system_libmalcontent')
|
||||
+ subdir('accounts-service')
|
||||
subdir('libmalcontent')
|
||||
else
|
||||
libmalcontent_api_version = '0'
|
||||
@@ -136,11 +135,16 @@ endif
|
||||
if get_option('ui').enabled()
|
||||
subdir('libmalcontent-ui')
|
||||
endif
|
||||
-subdir('malcontent-client')
|
||||
+if not get_option('use_system_libmalcontent')
|
||||
+ subdir('malcontent-client')
|
||||
+endif
|
||||
if get_option('ui').enabled()
|
||||
subdir('malcontent-control')
|
||||
+ subdir('help')
|
||||
+endif
|
||||
+if not get_option('use_system_libmalcontent')
|
||||
+ subdir('pam')
|
||||
+ subdir('po')
|
||||
endif
|
||||
-subdir('pam')
|
||||
-subdir('po')
|
||||
|
||||
meson.add_install_script('build-aux/meson_post_install.py')
|
||||
104
pkgs/development/libraries/malcontent/default.nix
Normal file
104
pkgs/development/libraries/malcontent/default.nix
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gobject-introspection
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, coreutils
|
||||
, accountsservice
|
||||
, dbus
|
||||
, pam
|
||||
, polkit
|
||||
, glib-testing
|
||||
, python3
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "malcontent";
|
||||
version = "0.10.4";
|
||||
|
||||
outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "pwithnall";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-s2wQLb3tCfO3p8yYG8Nc6pu+y2TLfrmo7Ug1LgDLEdw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Allow installing installed tests to a separate output.
|
||||
./installed-tests-path.patch
|
||||
|
||||
# Do not build things that are part of malcontent-ui package
|
||||
./better-separation.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
accountsservice
|
||||
dbus
|
||||
pam
|
||||
polkit
|
||||
glib-testing
|
||||
(python3.withPackages (pp: with pp; [
|
||||
pygobject3
|
||||
]))
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dinstalled_tests=true"
|
||||
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
||||
"-Dpamlibdir=${placeholder "pam"}/lib/security"
|
||||
"-Dui=disabled"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace libmalcontent/tests/app-filter.c \
|
||||
--replace "/usr/bin/true" "${coreutils}/bin/true" \
|
||||
--replace "/bin/true" "${coreutils}/bin/true" \
|
||||
--replace "/usr/bin/false" "${coreutils}/bin/false" \
|
||||
--replace "/bin/false" "${coreutils}/bin/false"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# `giDiscoverSelf` only picks up paths in `out` output.
|
||||
# This needs to be in `postInstall` so that it runs before
|
||||
# `gappsWrapperArgsHook` that runs as one of `preFixupPhases`.
|
||||
addToSearchPath GI_TYPELIB_PATH "$lib/lib/girepository-1.0"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.malcontent;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
# We need to install Polkit & AccountsService data files in `out`
|
||||
# but `buildEnv` only uses `bin` when both `bin` and `out` are present.
|
||||
outputsToInstall = [ "bin" "out" "man" ];
|
||||
|
||||
description = "Parental controls library";
|
||||
homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
diff --git a/libmalcontent/tests/meson.build b/libmalcontent/tests/meson.build
|
||||
index 610bc35..13e0713 100644
|
||||
--- a/libmalcontent/tests/meson.build
|
||||
+++ b/libmalcontent/tests/meson.build
|
||||
@@ -72,9 +72,9 @@ test_programs = [
|
||||
], deps],
|
||||
]
|
||||
|
||||
-installed_tests_metadir = join_paths(datadir, 'installed-tests',
|
||||
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests',
|
||||
'libmalcontent-' + libmalcontent_api_version)
|
||||
-installed_tests_execdir = join_paths(libexecdir, 'installed-tests',
|
||||
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests',
|
||||
'libmalcontent-' + libmalcontent_api_version)
|
||||
|
||||
foreach program: test_programs
|
||||
@@ -105,4 +105,4 @@ foreach program: test_programs
|
||||
env: envs,
|
||||
args: ['--tap'],
|
||||
)
|
||||
-endforeach
|
||||
\ No newline at end of file
|
||||
+endforeach
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index d516c70..583cb94 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -4,6 +4,12 @@ option(
|
||||
value: false,
|
||||
description: 'enable installed tests'
|
||||
)
|
||||
+option(
|
||||
+ 'installed_test_prefix',
|
||||
+ type: 'string',
|
||||
+ value: '',
|
||||
+ description: 'Prefix for installed tests'
|
||||
+)
|
||||
option(
|
||||
'pamlibdir',
|
||||
type: 'string',
|
||||
diff --git a/pam/tests/meson.build b/pam/tests/meson.build
|
||||
index 0560dcb..a74dab2 100644
|
||||
--- a/pam/tests/meson.build
|
||||
+++ b/pam/tests/meson.build
|
||||
@@ -12,9 +12,9 @@ test_programs = [
|
||||
['pam_malcontent', [], deps],
|
||||
]
|
||||
|
||||
-installed_tests_metadir = join_paths(datadir, 'installed-tests',
|
||||
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests',
|
||||
'libmalcontent-' + libmalcontent_api_version)
|
||||
-installed_tests_execdir = join_paths(libexecdir, 'installed-tests',
|
||||
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests',
|
||||
'libmalcontent-' + libmalcontent_api_version)
|
||||
|
||||
foreach program: test_programs
|
||||
74
pkgs/development/libraries/malcontent/ui.nix
Normal file
74
pkgs/development/libraries/malcontent/ui.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{ lib, stdenv
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gobject-introspection
|
||||
, itstool
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, accountsservice
|
||||
, dbus
|
||||
, flatpak
|
||||
, malcontent
|
||||
, gtk3
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, polkit
|
||||
, glib-testing
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "malcontent-ui";
|
||||
|
||||
inherit (malcontent) version src;
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
patches = [
|
||||
# Allow installing installed tests to a separate output.
|
||||
./installed-tests-path.patch
|
||||
|
||||
# Do not build things that are part of malcontent package
|
||||
./better-separation.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
itstool
|
||||
desktop-file-utils
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
appstream-glib
|
||||
dbus
|
||||
polkit
|
||||
glib-testing
|
||||
flatpak
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
accountsservice
|
||||
malcontent
|
||||
glib
|
||||
gtk3
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dinstalled_tests=true"
|
||||
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
||||
"-Duse_system_libmalcontent=true"
|
||||
"-Dui=enabled"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "UI components for parental controls library";
|
||||
homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue