diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6c524d321771..1700da9af7c2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3893,6 +3893,11 @@ github = "StillerHarpo"; name = "Florian Engel"; }; + stites = { + email = "sam@stites.io"; + github = "stites"; + name = "Sam Stites"; + }; stumoss = { email = "samoss@gmail.com"; github = "stumoss"; diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix index 270be695f03a..52e4c512f9a2 100644 --- a/pkgs/os-specific/linux/paxctl/default.nix +++ b/pkgs/os-specific/linux/paxctl/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, elf-header }: stdenv.mkDerivation rec { name = "paxctl-${version}"; @@ -9,7 +9,17 @@ stdenv.mkDerivation rec { sha256 = "0biw882fp1lmgs6kpxznp1v6758r7dg9x8iv5a06k0b82bcdsc53"; }; - preBuild = '' + # TODO Always do first way next mass rebuild. + buildInputs = stdenv.lib.optional + (!stdenv.hostPlatform.isLinux || !stdenv.buildPlatform.isLinux) + elf-header; + + # TODO Always do first way next mass rebuild. + preBuild = if !stdenv.hostPlatform.isLinux || !stdenv.buildPlatform.isLinux then '' + sed -i Makefile \ + -e 's|--owner 0 --group 0||g' \ + -e '/CC:=gcc/d' + '' else '' sed "s|--owner 0 --group 0||g" -i Makefile ''; @@ -24,7 +34,7 @@ stdenv.mkDerivation rec { description = "A tool for controlling PaX flags on a per binary basis"; homepage = "https://pax.grsecurity.net"; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix index d1efa3602374..daa9f66615c9 100644 --- a/pkgs/stdenv/cross/default.nix +++ b/pkgs/stdenv/cross/default.nix @@ -53,6 +53,9 @@ in lib.init bootStages ++ [ else buildPackages.gcc; extraNativeBuildInputs = old.extraNativeBuildInputs + ++ lib.optionals + (hostPlatform.isLinux && !buildPlatform.isLinux) + [ buildPackages.patchelf buildPackages.paxctl ] ++ lib.optional (let f = p: !p.isx86 || p.libc == "musl"; in f hostPlatform && !(f buildPlatform)) buildPackages.updateAutotoolsGnuConfigScriptsHook diff --git a/pkgs/tools/misc/noti/default.nix b/pkgs/tools/misc/noti/default.nix new file mode 100644 index 000000000000..23646abe7875 --- /dev/null +++ b/pkgs/tools/misc/noti/default.nix @@ -0,0 +1,42 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, Cocoa }: + +buildGoPackage rec { + name = "noti-${version}"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "variadico"; + repo = "noti"; + rev = "${version}"; + sha256 = "1chsqfqk0pnhx5k2nr4c16cpb8m6zv69l1jvv4v4903zgfzcm823"; + }; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; + # TODO: Remove this when we update apple_sdk + NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [ "-fno-objc-arc" ]; + + goPackagePath = "github.com/variadico/noti"; + + preBuild = '' + buildFlagsArray+=("-ldflags" "-X ${goPackagePath}/internal/command.Version=${version}") + ''; + + postInstall = '' + mkdir -p $out/share/man/man{1,5}/ + cp $src/docs/man/noti.1 $out/share/man/man1/ + cp $src/docs/man/noti.yaml.5 $out/share/man/man5/ + ''; + + meta = with stdenv.lib; { + description = "Monitor a process and trigger a notification."; + longDescription = '' + Monitor a process and trigger a notification. + + Never sit and wait for some long-running process to finish. Noti can alert you when it's done. You can receive messages on your computer or phone. + ''; + homepage = https://github.com/variadico/noti; + license = licenses.mit; + maintainers = [ maintainers.stites ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ec67128b9f50..c0a2299deb4f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1462,6 +1462,10 @@ with pkgs; noteshrink = callPackage ../tools/misc/noteshrink { }; + noti = callPackage ../tools/misc/noti { + inherit (darwin.apple_sdk.frameworks) Cocoa; + }; + nrsc5 = callPackage ../applications/misc/nrsc5 { }; nwipe = callPackage ../tools/security/nwipe { };