From 982f46985e37a6488d8e904b46e0cba2060adc71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 25 Aug 2021 09:32:10 +0200 Subject: [PATCH] writers: drop writeC This function is fundamentally broken. Not even the ncurses example will compile. The interface needs to be rethought for it to work (i.e. don't unconditionally include all pc files, set include path and ld path and rpath). Since it is unlikely that in the current this has any user, just drop it for now. --- pkgs/build-support/writers/default.nix | 45 -------------------------- pkgs/build-support/writers/test.nix | 26 --------------- 2 files changed, 71 deletions(-) diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index 47919c251af1..111ec68a6021 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -99,51 +99,6 @@ rec { writeBashBin = name: writeBash "/bin/${name}"; - # writeC writes an executable c package called `name` to `destination` using `libraries`. - # - # Examples: - # writeC "hello-world-ncurses" { libraries = [ pkgs.ncurses ]; } '' - # #include - # int main() { - # initscr(); - # printw("Hello World !!!"); - # refresh(); endwin(); - # return 0; - # } - # '' - writeC = name: { - libraries ? [], - strip ? true - }: - makeBinWriter { - compileScript = '' - PATH=${makeBinPath [ - pkgs.binutils-unwrapped - pkgs.coreutils - pkgs.findutils - pkgs.gcc - pkgs.pkg-config - ]} - export PKG_CONFIG_PATH=${concatMapStringsSep ":" (pkg: "${pkg}/lib/pkgconfig") libraries} - gcc \ - ${optionalString (libraries != []) - "$(pkg-config --cflags --libs ${ - concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgconfig -name \\*.pc)") libraries - })" - } \ - -O \ - -o "$out" \ - -Wall \ - -x c \ - "$contentPath" - ''; - inherit strip; - } name; - - # writeCBin takes the same arguments as writeC but outputs a directory (like writeScriptBin) - writeCBin = name: - writeC "/bin/${name}"; - # Like writeScript but the first line is a shebang to dash # # Example: diff --git a/pkgs/build-support/writers/test.nix b/pkgs/build-support/writers/test.nix index 00cad9a96b53..69bc7dd2c61a 100644 --- a/pkgs/build-support/writers/test.nix +++ b/pkgs/build-support/writers/test.nix @@ -17,14 +17,6 @@ let if [[ "test" == "test" ]]; then echo "success"; fi ''; - c = writeCBin "test-writers-c" { libraries = [ ]; } '' - #include - int main() { - printf("success\n"); - return 0; - } - ''; - dash = writeDashBin "test-writers-dash-bin" '' test '~' = '~' && echo 'success' ''; @@ -88,24 +80,6 @@ let if [[ "test" == "test" ]]; then echo "success"; fi ''; - c = writeC "test-writers-c" { libraries = [ glib.dev ]; } '' - #include - #include - int main() { - GApplication *application = g_application_new ("hello.world", G_APPLICATION_FLAGS_NONE); - g_application_register (application, NULL, NULL); - GNotification *notification = g_notification_new ("Hello world!"); - g_notification_set_body (notification, "This is an example notification."); - GIcon *icon = g_themed_icon_new ("dialog-information"); - g_notification_set_icon (notification, icon); - g_object_unref (icon); - g_object_unref (notification); - g_object_unref (application); - printf("success\n"); - return 0; - } - ''; - dash = writeDash "test-writers-dash" '' test '~' = '~' && echo 'success' '';