From b0f202003e6e95d842ae071700edef96c0bfb40c Mon Sep 17 00:00:00 2001 From: ghpzin Date: Sun, 30 Mar 2025 14:48:54 +0300 Subject: [PATCH 1/2] untie: fix build with gcc14 - add patch that adds `#define _GNU_SOURCE` to `untie.c`, as glibc wrapper over clone syscall is not declared otherwise. Fixes `-Wimplicit-function-declaration` error: ``` untie.c:411:15: error: implicit declaration of function 'clone'; did you mean 'close'? [] 411 | ret = clone(child_process, &stack[STACK_SIZE - 1], flags, &args_info); | ^~~~~ | close make: *** [: untie.o] Error 1 ``` --- pkgs/by-name/un/untie/add-define-gnu-source.patch | 12 ++++++++++++ pkgs/by-name/un/untie/package.nix | 5 +++++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/by-name/un/untie/add-define-gnu-source.patch diff --git a/pkgs/by-name/un/untie/add-define-gnu-source.patch b/pkgs/by-name/un/untie/add-define-gnu-source.patch new file mode 100644 index 000000000000..aaaf99149e31 --- /dev/null +++ b/pkgs/by-name/un/untie/add-define-gnu-source.patch @@ -0,0 +1,12 @@ +diff --git a/untie.c b/untie.c +index f08a10d..d3d20b4 100644 +--- a/untie.c ++++ b/untie.c +@@ -18,6 +18,7 @@ + * Copyright (c) 2006, 2007 Guillaume Chazarain + */ + ++#define _GNU_SOURCE + #include + #include + #include diff --git a/pkgs/by-name/un/untie/package.nix b/pkgs/by-name/un/untie/package.nix index 9dee6d7e422d..2bb38695f509 100644 --- a/pkgs/by-name/un/untie/package.nix +++ b/pkgs/by-name/un/untie/package.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { sha256 = "1334ngvbi4arcch462mzi5vxvxck4sy1nf0m58116d9xmx83ak0m"; }; + patches = [ + # fix build with gcc14 + ./add-define-gnu-source.patch + ]; + makeFlags = [ "PREFIX=$(out)" ]; meta = with lib; { From 05a52a2af957025ca8486fc35ce1cc41d043e723 Mon Sep 17 00:00:00 2001 From: ghpzin Date: Sun, 30 Mar 2025 15:36:17 +0300 Subject: [PATCH 2/2] untie: modernize - replace `rec` with `finalAttrs` - remove `with lib;` in `meta` --- pkgs/by-name/un/untie/package.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/un/untie/package.nix b/pkgs/by-name/un/untie/package.nix index 2bb38695f509..8ef7c90e5e3e 100644 --- a/pkgs/by-name/un/untie/package.nix +++ b/pkgs/by-name/un/untie/package.nix @@ -4,11 +4,11 @@ fetchurl, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "untie"; version = "0.3"; src = fetchurl { - url = "http://guichaz.free.fr/untie/files/${pname}-${version}.tar.bz2"; + url = "http://guichaz.free.fr/untie/files/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2"; sha256 = "1334ngvbi4arcch462mzi5vxvxck4sy1nf0m58116d9xmx83ak0m"; }; @@ -19,12 +19,12 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; - meta = with lib; { + meta = { description = "Tool to run processes untied from some of the namespaces"; mainProgram = "untie"; - maintainers = with maintainers; [ raskin ]; - platforms = platforms.linux; - license = licenses.gpl2Plus; + maintainers = with lib.maintainers; [ raskin ]; + platforms = lib.platforms.linux; + license = lib.licenses.gpl2Plus; }; passthru = { @@ -32,4 +32,4 @@ stdenv.mkDerivation rec { downloadPage = "http://guichaz.free.fr/untie"; }; }; -} +})