diff options
author | Eirik Nygaard <eirik@ngrd.no> | 2022-01-24 00:36:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-24 00:36:51 +0100 |
commit | d53ef8b8229336b0f7dcb5b8fbeba217a0bf2033 (patch) | |
tree | 8d683289fee1531718f2178b772a97c157becf4a /pkgs/tools/misc/plocate | |
parent | 0354c3a913bebc23d0a8ff62d6e0ff0449e71821 (diff) |
nixos/locate Add support for plocate (#156185)
Diffstat (limited to 'pkgs/tools/misc/plocate')
-rw-r--r-- | pkgs/tools/misc/plocate/dbfile.patch | 29 | ||||
-rw-r--r-- | pkgs/tools/misc/plocate/default.nix | 13 |
2 files changed, 38 insertions, 4 deletions
diff --git a/pkgs/tools/misc/plocate/dbfile.patch b/pkgs/tools/misc/plocate/dbfile.patch new file mode 100644 index 0000000000000..4e0278ae286d5 --- /dev/null +++ b/pkgs/tools/misc/plocate/dbfile.patch @@ -0,0 +1,29 @@ +commit 26e7bf8bcb2823819c87115e07932c0d2ba88170 (HEAD -> configurable-dbfile-path) +Author: Eirik Nygaard <eirik@ngrd.no> +Date: Sun Jan 23 12:05:01 2022 +0100 + + Make entire path for plocate database configurable + +diff --git a/meson.build b/meson.build +index 435cd0a..8dc2393 100644 +--- a/meson.build ++++ b/meson.build +@@ -2,8 +2,7 @@ project('plocate', 'cpp', default_options: ['buildtype=debugoptimized','cpp_std= + + add_project_arguments('-DGROUPNAME="' + get_option('locategroup') + '"', language: 'cpp') + add_project_arguments('-DUPDATEDB_CONF="/etc/updatedb.conf"', language: 'cpp') +-dbdir = join_paths(get_option('sharedstatedir'), 'plocate') +-dbfile = join_paths(dbdir, 'plocate.db') ++dbfile = join_paths(get_option('sharedstatedir'), get_option('dbpath')) + add_project_arguments('-DDBFILE="' + dbfile + '"', language: 'cpp') + add_project_arguments('-DPACKAGE_NAME="plocate"', language: 'cpp') + add_project_arguments('-DPACKAGE_VERSION="' + meson.project_version() + '"', language: 'cpp') +diff --git a/meson_options.txt b/meson_options.txt +index 8ac13c5..a9f3358 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -3,3 +3,4 @@ option('install_systemd', type: 'boolean', value: true, description: 'Install sy + option('systemunitdir', type: 'string', description: 'Where to install systemd units to (default: autodetect)') + option('locategroup', type: 'string', value: 'plocate', description: 'Group that the install script will use for the .db file') + option('updatedb_progname', type: 'string', value: 'updatedb', description: 'Binary name of updatedb') ++option('dbpath', type: 'string', value: 'plocate/plocate.db', description: 'Path to plocate database relative to "sharedstatedir"') diff --git a/pkgs/tools/misc/plocate/default.nix b/pkgs/tools/misc/plocate/default.nix index 31309e91911c7..ff10019ed9070 100644 --- a/pkgs/tools/misc/plocate/default.nix +++ b/pkgs/tools/misc/plocate/default.nix @@ -1,4 +1,5 @@ -{ stdenv +{ config +, stdenv , lib , fetchgit , pkg-config @@ -8,8 +9,9 @@ , liburing , zstd }: - -stdenv.mkDerivation rec { +let + dbfile = lib.attrByPath [ "locate" "dbfile" ] "/var/cache/locatedb" config; +in stdenv.mkDerivation rec { pname = "plocate"; version = "1.1.14"; @@ -19,6 +21,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-SgvCy03H5aKolbkI1dg/0G5VwT3TdSGenn2h9H4gfTY="; }; + patches = [ ./dbfile.patch ]; + postPatch = '' sed -i meson.build \ -e '/mkdir\.sh/d' @@ -30,7 +34,8 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dsystemunitdir=${placeholder "out"}/etc/systemd/system" - "-Dsharedstatedir=/var/lib" + "-Dsharedstatedir=${builtins.dirOf dbfile}" + "-Ddbpath=${builtins.baseNameOf dbfile}" ]; meta = with lib; { |