Merge pull request #135642 from Mic92/writers

writers: drop writeC
launchpad/nixpkgs/master
Jörg Thalheim 3 years ago committed by GitHub
commit eafa8276d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 45
      pkgs/build-support/writers/default.nix
  2. 26
      pkgs/build-support/writers/test.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 <ncurses.h>
# 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:

@ -17,14 +17,6 @@ let
if [[ "test" == "test" ]]; then echo "success"; fi
'';
c = writeCBin "test-writers-c" { libraries = [ ]; } ''
#include <stdio.h>
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 <gio/gio.h>
#include <stdio.h>
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'
'';

Loading…
Cancel
Save