mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-19 11:23:29 +00:00
openvpn3: 23 -> 24 (#363360)
This commit is contained in:
commit
73c4d98a70
@ -17916,7 +17916,10 @@
|
||||
github = "JarvisCraft";
|
||||
githubId = 7693005;
|
||||
name = "Petr Portnov";
|
||||
keys = [ { fingerprint = "884B 08D2 8DFF 6209 1857 C1C7 7E8F C8F7 D1BB 84A3"; } ];
|
||||
keys = [
|
||||
{ fingerprint = "884B 08D2 8DFF 6209 1857 C1C7 7E8F C8F7 D1BB 84A3"; }
|
||||
{ fingerprint = "AA96 35AA F392 52BF 0E60 825E 1192 2217 F828 8484"; }
|
||||
];
|
||||
};
|
||||
progval = {
|
||||
email = "progval+nix@progval.net";
|
||||
|
@ -10,12 +10,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gdbuspp";
|
||||
version = "2";
|
||||
version = "3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenVPN";
|
||||
repo = "gdbuspp";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-A0sl4zZa17zMec/jJASE8lDVNohzJzEGZbWjjsorB2Y=";
|
||||
hash = "sha256-LwEUNBQ7BUyoTm8tBgE4hwL7AbimCY/grQus8lWSI/M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 30b2528054e6627a7124ac04cb018356ef23d864 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Portnov <mrjarviscraft@gmail.com>
|
||||
Date: Mon, 2 Sep 2024 22:25:33 +0300
|
||||
Subject: [PATCH 1/1] build: reduce hardcode in `asio_path`
|
||||
|
||||
Currently, `asio_path` variable value is concatenated with `/asio/include`
|
||||
to specify the path to custom `asio` installation.
|
||||
The problem is that this is too strict as some distros (namely NixOS)
|
||||
may have the `include` directory with a differently named parent.
|
||||
Thus this change minimizes the hardcoded part of the path to make it more flexible.
|
||||
|
||||
Signed-off-by: Petr Portnov <mrjarviscraft@gmail.com>
|
||||
---
|
||||
meson.build | 2 +-
|
||||
meson_options.txt | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index c9e0a2d..c01eb8e 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -74,7 +74,7 @@ endif
|
||||
#
|
||||
# Setup additional include header dirs
|
||||
#
|
||||
-asio_inc = get_option('asio_path') / 'asio' / 'include'
|
||||
+asio_inc = get_option('asio_path') / 'include'
|
||||
message ('ASIO library: ' + asio_inc)
|
||||
|
||||
openvpn3_core_inc = get_option('openvpn3_core_path')
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index d9cf02e..43e301e 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -26,7 +26,7 @@ option('debug_options', type: 'boolean', value: false,
|
||||
#
|
||||
# Build environment and related build time options
|
||||
#
|
||||
-option('asio_path', type: 'string', value: './vendor/asio',
|
||||
+option('asio_path', type: 'string', value: './vendor/asio/asio',
|
||||
description: 'Path to the ASIO header files')
|
||||
|
||||
option('openvpn3_core_path', type: 'string', value: './openvpn3-core',
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,115 +0,0 @@
|
||||
From 848cc46d05c203de393d75434a3f571d78687f50 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Portnov <mrjarviscraft@gmail.com>
|
||||
Date: Sun, 22 Sep 2024 13:16:02 +0300
|
||||
Subject: [PATCH] build: allow installation directories' customization
|
||||
|
||||
This allows to configure the installation directories
|
||||
for systemd and D-Bus files.
|
||||
|
||||
Signed-off-by: Petr Portnov <mrjarviscraft@gmail.com>
|
||||
---
|
||||
distro/systemd/meson.build | 9 +++++++--
|
||||
meson.build | 12 ++++++++++--
|
||||
meson_options.txt | 12 ++++++++++++
|
||||
src/configmgr/meson.build | 10 ++++++----
|
||||
4 files changed, 35 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/distro/systemd/meson.build b/distro/systemd/meson.build
|
||||
index 36d556c..9c636b6 100644
|
||||
--- a/distro/systemd/meson.build
|
||||
+++ b/distro/systemd/meson.build
|
||||
@@ -15,12 +15,17 @@ systemd_cfg = configuration_data({
|
||||
|
||||
systemd_service_cfg = dependency('systemd')
|
||||
|
||||
+systemd_system_unit_dir = get_option('systemd_system_unit_dir')
|
||||
+if systemd_system_unit_dir == ''
|
||||
+ systemd_system_unit_dir = systemd_service_cfg.get_variable('systemdsystemunitdir')
|
||||
+endif
|
||||
+
|
||||
configure_file(
|
||||
input: 'openvpn3-autoload.service.in',
|
||||
output: 'openvpn3-autoload.service',
|
||||
configuration: systemd_cfg,
|
||||
install: true,
|
||||
- install_dir: systemd_service_cfg.get_variable('systemdsystemunitdir'),
|
||||
+ install_dir: systemd_system_unit_dir,
|
||||
)
|
||||
|
||||
configure_file(
|
||||
@@ -28,7 +33,7 @@ configure_file(
|
||||
output: 'openvpn3-session@.service',
|
||||
configuration: systemd_cfg,
|
||||
install: true,
|
||||
- install_dir: systemd_service_cfg.get_variable('systemdsystemunitdir'),
|
||||
+ install_dir: systemd_system_unit_dir,
|
||||
)
|
||||
|
||||
custom_target('openvpn3-systemd',
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 586c72a..ba41440 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -203,8 +203,16 @@ message('OpenVPN 3 Linux service binary directory: ' + get_option('prefix') / li
|
||||
|
||||
#
|
||||
# D-Bus configuration
|
||||
-dbus_policy_dir = dep_dbus.get_variable('datadir') / 'dbus-1' / 'system.d'
|
||||
-dbus_service_dir = dep_dbus.get_variable('system_bus_services_dir')
|
||||
+dbus_policy_dir = get_option('dbus_policy_dir')
|
||||
+if dbus_policy_dir == ''
|
||||
+ dbus_policy_dir = dep_dbus.get_variable('datadir') / 'dbus-1' / 'system.d'
|
||||
+endif
|
||||
+
|
||||
+dbus_service_dir = get_option('dbus_system_service_dir')
|
||||
+if dbus_service_dir == ''
|
||||
+ dbus_service_dir = dep_dbus.get_variable('system_bus_services_dir')
|
||||
+endif
|
||||
+
|
||||
dbus_config = {
|
||||
'OPENVPN_USERNAME': get_option('openvpn_username'),
|
||||
'LIBEXEC_PATH': get_option('prefix') / libexec_dir,
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 43e301e..04809df 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -93,6 +93,18 @@ option('use-legacy-polkit-pkla', type: 'feature', value: 'disabled',
|
||||
option('polkit_pkla_rulesdir', type: 'string', value: '',
|
||||
description: 'Override PolicyKit PKLA rules directory')
|
||||
|
||||
+#
|
||||
+# Installation
|
||||
+#
|
||||
+option('dbus_policy_dir', type: 'string',
|
||||
+ description: 'D-Bus policy directory')
|
||||
+option('dbus_system_service_dir', type: 'string',
|
||||
+ description: 'D-Bus system service directory')
|
||||
+option('systemd_system_unit_dir', type: 'string',
|
||||
+ description: 'Path to systemd system unit directory')
|
||||
+option('create_statedir', type: 'feature', value: 'enabled',
|
||||
+ description: 'Create directory for OpenVPN 3 state during install phase')
|
||||
+
|
||||
#
|
||||
# Testing tools
|
||||
#
|
||||
diff --git a/src/configmgr/meson.build b/src/configmgr/meson.build
|
||||
index 5d0a649..6f788b7 100644
|
||||
--- a/src/configmgr/meson.build
|
||||
+++ b/src/configmgr/meson.build
|
||||
@@ -52,7 +52,9 @@ configure_file(
|
||||
install_dir: dbus_service_dir,
|
||||
)
|
||||
|
||||
-# Create the configs directory for persistent configuration profiles
|
||||
-# NOTE: Can be replaced with install_emptydir() when Meson 0.60 or newer
|
||||
-# is available on all supported distros
|
||||
-meson.add_install_script('sh','-c', 'mkdir -p $DESTDIR@0@'.format(openvpn3_statedir / 'configs'))
|
||||
+if get_option('create_statedir').enabled()
|
||||
+ # Create the configs directory for persistent configuration profiles
|
||||
+ # NOTE: Can be replaced with install_emptydir() when Meson 0.60 or newer
|
||||
+ # is available on all supported distros
|
||||
+ meson.add_install_script('sh','-c', 'mkdir -p $DESTDIR@0@'.format(openvpn3_statedir / 'configs'))
|
||||
+endif
|
||||
--
|
||||
2.45.2
|
||||
|
@ -28,25 +28,18 @@
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openvpn3";
|
||||
# also update openvpn3-core
|
||||
version = "23";
|
||||
version = "24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenVPN";
|
||||
repo = "openvpn3-linux";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5gkutqyUPZDwRPzSFdUXg2G5mtQKbdhZu8xnNAdXoF0=";
|
||||
hash = "sha256-e3NRLrznTEolTzMO+kGEh48MCrcEr8p7JG3hG889aK4=";
|
||||
# `openvpn3-core` is a submodule.
|
||||
# TODO: make it into a separate package
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Merged in upstream, will land in v24
|
||||
# https://github.com/OpenVPN/openvpn3-linux/commit/75abb7dc9366ba85fb1a144d88f02a1e8a62f538
|
||||
./0001-build-reduce-hardcode-in-asio_path.patch
|
||||
./0002-build-allow-installation-directories-customization.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
echo '#define OPENVPN_VERSION "3.git:unknown:unknown"
|
||||
#define PACKAGE_GUIVERSION "v${builtins.replaceStrings [ "_" ] [ ":" ] version}"
|
||||
@ -106,7 +99,7 @@ stdenv.mkDerivation rec {
|
||||
(lib.mesonOption "dbus_policy_dir" "${placeholder "out"}/share/dbus-1/system.d")
|
||||
(lib.mesonOption "dbus_system_service_dir" "${placeholder "out"}/share/dbus-1/system-services")
|
||||
(lib.mesonOption "systemd_system_unit_dir" "${placeholder "out"}/lib/systemd/system")
|
||||
(lib.mesonOption "create_statedir" "disabled")
|
||||
(lib.mesonOption "create_statedir" "false")
|
||||
(lib.mesonOption "sharedstatedir" "/etc")
|
||||
];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user