Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
3.0 kB · 116 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117{ callPackage, lib, fetchurl, fetchpatch, autoreconfHook,}:let common = opts: callPackage (import ./common.nix opts) { };
# Gets the correct OpenSSH URL for a given version. urlFor = version: let urlVersion = { # 10.0p1 was accidentally released as 10.0p2: # https://www.openwall.com/lists/oss-security/2025/04/09/6 "10.0p2" = "10.0p1"; } .${version} or version; in "mirror://openbsd/OpenSSH/portable/openssh-${urlVersion}.tar.gz";in{ openssh = common rec { pname = "openssh"; version = "10.0p2";
src = fetchurl { url = urlFor version; hash = "sha256-AhoucJoO30JQsSVr1anlAEEakN3avqgw7VnO+Q652Fw="; };
extraPatches = [ # Use ssh-keysign from PATH # ssh-keysign is used for host-based authentication, and is designed to be used # as SUID-root program. OpenSSH defaults to referencing it from libexec, which # cannot be made SUID in Nix. ./ssh-keysign-8.5.patch ]; extraMeta = { maintainers = with lib.maintainers; [ philiptaron numinit ]; teams = [ lib.teams.helsinki-systems ]; }; };
openssh_hpn = common rec { pname = "openssh-with-hpn"; version = "10.0p2"; extraDesc = " with high performance networking patches";
src = fetchurl { url = urlFor version; hash = "sha256-AhoucJoO30JQsSVr1anlAEEakN3avqgw7VnO+Q652Fw="; };
extraPatches = let url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/dde9561b3ff73639aeebe8ec33ad52ecca0bf58d/security/openssh-portable/files/extra-patch-hpn"; in [ ./ssh-keysign-8.5.patch
# HPN Patch from FreeBSD ports (fetchpatch { name = "ssh-hpn-wo-channels.patch"; inherit url; stripLen = 1; excludes = [ "channels.c" ]; hash = "sha256-0HQAacNdvqX+7CTDhkbgAyb0WbqnnH6iAYQBFh8XenA="; })
(fetchpatch { name = "ssh-hpn-channels.patch"; inherit url; extraPrefix = ""; includes = [ "channels.c" ]; hash = "sha256-pDLUbjv5XIyByEbiRAXC3WMUPKmn15af1stVmcvr7fE="; }) ];
extraNativeBuildInputs = [ autoreconfHook ];
extraConfigureFlags = [ "--with-hpn" ]; extraMeta = { maintainers = with lib.maintainers; [ abbe ]; }; };
openssh_gssapi = common rec { pname = "openssh-with-gssapi"; version = "10.0p2"; extraDesc = " with GSSAPI support";
src = fetchurl { url = urlFor version; hash = "sha256-AhoucJoO30JQsSVr1anlAEEakN3avqgw7VnO+Q652Fw="; };
extraPatches = [ ./ssh-keysign-8.5.patch
(fetchpatch { name = "openssh-gssapi.patch"; url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%2510.0p1-1/debian/patches/gssapi.patch"; hash = "sha256-7Q27tvtCY3b9evC3lbqEz4u7v5DcerjWZfhh8azIAQo="; }) ];
extraNativeBuildInputs = [ autoreconfHook ]; };}