Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub a84ab672 13bd2afb

+619 -144
+28 -15
nixos/modules/config/update-users-groups.pl
··· 1 use strict; 2 use File::Path qw(make_path); 3 use File::Slurp; 4 use JSON; 5 - 6 - make_path("/var/lib/nixos", { mode => 0755 }); 7 - 8 9 # Keep track of deleted uids and gids. 10 my $uidMapFile = "/var/lib/nixos/uid-map"; ··· 13 my $gidMapFile = "/var/lib/nixos/gid-map"; 14 my $gidMap = -e $gidMapFile ? decode_json(read_file($gidMapFile)) : {}; 15 16 17 sub updateFile { 18 my ($path, $contents, $perms) = @_; 19 write_file($path, { atomic => 1, binmode => ':utf8', perms => $perms // 0644 }, $contents) or die; 20 } 21 22 23 sub hashPassword { 24 my ($password) = @_; ··· 26 my @chars = ('.', '/', 0..9, 'A'..'Z', 'a'..'z'); 27 $salt .= $chars[rand 64] for (1..8); 28 return crypt($password, '$6$' . $salt . '$'); 29 } 30 31 ··· 51 my ($name) = @_; 52 my $prevGid = $gidMap->{$name}; 53 if (defined $prevGid && !defined $gidsUsed{$prevGid}) { 54 - print STDERR "reviving group '$name' with GID $prevGid\n"; 55 $gidsUsed{$prevGid} = 1; 56 return $prevGid; 57 } ··· 63 my ($min, $max, $up) = $isSystemUser ? (400, 999, 0) : (1000, 29999, 1); 64 my $prevUid = $uidMap->{$name}; 65 if (defined $prevUid && $prevUid >= $min && $prevUid <= $max && !defined $uidsUsed{$prevUid}) { 66 - print STDERR "reviving user '$name' with UID $prevUid\n"; 67 $uidsUsed{$prevUid} = 1; 68 return $prevUid; 69 } 70 return allocId(\%uidsUsed, \%uidsPrevUsed, $min, $max, $up, sub { my ($uid) = @_; getpwuid($uid) }); 71 } 72 73 - 74 - # Read the declared users/groups. 75 my $spec = decode_json(read_file($ARGV[0])); 76 77 # Don't allocate UIDs/GIDs that are manually assigned. ··· 134 if (defined $existing) { 135 $g->{gid} = $existing->{gid} if !defined $g->{gid}; 136 if ($g->{gid} != $existing->{gid}) { 137 - warn "warning: not applying GID change of group ‘$name’ ($existing->{gid} -> $g->{gid})\n"; 138 $g->{gid} = $existing->{gid}; 139 } 140 $g->{password} = $existing->{password}; # do we want this? ··· 163 my $g = $groupsCur{$name}; 164 next if defined $groupsOut{$name}; 165 if (!$spec->{mutableUsers} || defined $declGroups{$name}) { 166 - print STDERR "removing group ‘$name’\n"; 167 } else { 168 $groupsOut{$name} = $g; 169 } ··· 175 (sort { $a->{gid} <=> $b->{gid} } values(%groupsOut)); 176 updateFile($gidMapFile, to_json($gidMap)); 177 updateFile("/etc/group", \@lines); 178 - system("nscd --invalidate group"); 179 180 # Generate a new /etc/passwd containing the declared users. 181 my %usersOut; ··· 196 if (defined $existing) { 197 $u->{uid} = $existing->{uid} if !defined $u->{uid}; 198 if ($u->{uid} != $existing->{uid}) { 199 - warn "warning: not applying UID change of user ‘$name’ ($existing->{uid} -> $u->{uid})\n"; 200 $u->{uid} = $existing->{uid}; 201 } 202 } else { ··· 211 212 # Ensure home directory incl. ownership and permissions. 213 if ($u->{createHome}) { 214 - make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home}; 215 chown $u->{uid}, $u->{gid}, $u->{home}; 216 chmod 0700, $u->{home}; 217 } ··· 250 my $u = $usersCur{$name}; 251 next if defined $usersOut{$name}; 252 if (!$spec->{mutableUsers} || defined $declUsers{$name}) { 253 - print STDERR "removing user ‘$name’\n"; 254 } else { 255 $usersOut{$name} = $u; 256 } ··· 261 (sort { $a->{uid} <=> $b->{uid} } (values %usersOut)); 262 updateFile($uidMapFile, to_json($uidMap)); 263 updateFile("/etc/passwd", \@lines); 264 - system("nscd --invalidate passwd"); 265 266 267 # Rewrite /etc/shadow to add new accounts or remove dead ones. ··· 293 my $uid = getpwnam "root"; 294 my $gid = getgrnam "shadow"; 295 my $path = "/etc/shadow"; 296 - chown($uid, $gid, $path) || die "Failed to change ownership of $path: $!"; 297 } 298 299 # Rewrite /etc/subuid & /etc/subgid to include default container mappings
··· 1 use strict; 2 + use warnings; 3 use File::Path qw(make_path); 4 use File::Slurp; 5 + use Getopt::Long; 6 use JSON; 7 8 # Keep track of deleted uids and gids. 9 my $uidMapFile = "/var/lib/nixos/uid-map"; ··· 12 my $gidMapFile = "/var/lib/nixos/gid-map"; 13 my $gidMap = -e $gidMapFile ? decode_json(read_file($gidMapFile)) : {}; 14 15 + my $is_dry = ($ENV{'NIXOS_ACTION'} // "") eq "dry-activate"; 16 + GetOptions("dry-activate" => \$is_dry); 17 + make_path("/var/lib/nixos", { mode => 0755 }) unless $is_dry; 18 19 sub updateFile { 20 my ($path, $contents, $perms) = @_; 21 + return if $is_dry; 22 write_file($path, { atomic => 1, binmode => ':utf8', perms => $perms // 0644 }, $contents) or die; 23 } 24 25 + sub nscdInvalidate { 26 + system("nscd", "--invalidate", $_[0]) unless $is_dry; 27 + } 28 29 sub hashPassword { 30 my ($password) = @_; ··· 32 my @chars = ('.', '/', 0..9, 'A'..'Z', 'a'..'z'); 33 $salt .= $chars[rand 64] for (1..8); 34 return crypt($password, '$6$' . $salt . '$'); 35 + } 36 + 37 + sub dry_print { 38 + if ($is_dry) { 39 + print STDERR ("$_[1] $_[2]\n") 40 + } else { 41 + print STDERR ("$_[0] $_[2]\n") 42 + } 43 } 44 45 ··· 65 my ($name) = @_; 66 my $prevGid = $gidMap->{$name}; 67 if (defined $prevGid && !defined $gidsUsed{$prevGid}) { 68 + dry_print("reviving", "would revive", "group '$name' with GID $prevGid"); 69 $gidsUsed{$prevGid} = 1; 70 return $prevGid; 71 } ··· 77 my ($min, $max, $up) = $isSystemUser ? (400, 999, 0) : (1000, 29999, 1); 78 my $prevUid = $uidMap->{$name}; 79 if (defined $prevUid && $prevUid >= $min && $prevUid <= $max && !defined $uidsUsed{$prevUid}) { 80 + dry_print("reviving", "would revive", "user '$name' with UID $prevUid"); 81 $uidsUsed{$prevUid} = 1; 82 return $prevUid; 83 } 84 return allocId(\%uidsUsed, \%uidsPrevUsed, $min, $max, $up, sub { my ($uid) = @_; getpwuid($uid) }); 85 } 86 87 + # Read the declared users/groups 88 my $spec = decode_json(read_file($ARGV[0])); 89 90 # Don't allocate UIDs/GIDs that are manually assigned. ··· 147 if (defined $existing) { 148 $g->{gid} = $existing->{gid} if !defined $g->{gid}; 149 if ($g->{gid} != $existing->{gid}) { 150 + dry_print("warning: not applying", "warning: would not apply", "GID change of group ‘$name’ ($existing->{gid} -> $g->{gid})"); 151 $g->{gid} = $existing->{gid}; 152 } 153 $g->{password} = $existing->{password}; # do we want this? ··· 176 my $g = $groupsCur{$name}; 177 next if defined $groupsOut{$name}; 178 if (!$spec->{mutableUsers} || defined $declGroups{$name}) { 179 + dry_print("removing group", "would remove group", "‘$name’"); 180 } else { 181 $groupsOut{$name} = $g; 182 } ··· 188 (sort { $a->{gid} <=> $b->{gid} } values(%groupsOut)); 189 updateFile($gidMapFile, to_json($gidMap)); 190 updateFile("/etc/group", \@lines); 191 + nscdInvalidate("group"); 192 193 # Generate a new /etc/passwd containing the declared users. 194 my %usersOut; ··· 209 if (defined $existing) { 210 $u->{uid} = $existing->{uid} if !defined $u->{uid}; 211 if ($u->{uid} != $existing->{uid}) { 212 + dry_print("warning: not applying", "warning: would not apply", "UID change of user ‘$name’ ($existing->{uid} -> $u->{uid})"); 213 $u->{uid} = $existing->{uid}; 214 } 215 } else { ··· 224 225 # Ensure home directory incl. ownership and permissions. 226 if ($u->{createHome}) { 227 + make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home} and ! $is_dry; 228 chown $u->{uid}, $u->{gid}, $u->{home}; 229 chmod 0700, $u->{home}; 230 } ··· 263 my $u = $usersCur{$name}; 264 next if defined $usersOut{$name}; 265 if (!$spec->{mutableUsers} || defined $declUsers{$name}) { 266 + dry_print("removing user", "would remove user", "‘$name’"); 267 } else { 268 $usersOut{$name} = $u; 269 } ··· 274 (sort { $a->{uid} <=> $b->{uid} } (values %usersOut)); 275 updateFile($uidMapFile, to_json($uidMap)); 276 updateFile("/etc/passwd", \@lines); 277 + nscdInvalidate("passwd"); 278 279 280 # Rewrite /etc/shadow to add new accounts or remove dead ones. ··· 306 my $uid = getpwnam "root"; 307 my $gid = getgrnam "shadow"; 308 my $path = "/etc/shadow"; 309 + (chown($uid, $gid, $path) || die "Failed to change ownership of $path: $!") unless $is_dry; 310 } 311 312 # Rewrite /etc/subuid & /etc/subgid to include default container mappings
+4 -2
nixos/modules/config/users-groups.nix
··· 561 shadow.gid = ids.gids.shadow; 562 }; 563 564 - system.activationScripts.users = stringAfter [ "stdio" ] 565 - '' 566 install -m 0700 -d /root 567 install -m 0755 -d /home 568 569 ${pkgs.perl.withPackages (p: [ p.FileSlurp p.JSON ])}/bin/perl \ 570 -w ${./update-users-groups.pl} ${spec} 571 ''; 572 573 # for backwards compatibility 574 system.activationScripts.groups = stringAfter [ "users" ] "";
··· 561 shadow.gid = ids.gids.shadow; 562 }; 563 564 + system.activationScripts.users = { 565 + supportsDryActivation = true; 566 + text = '' 567 install -m 0700 -d /root 568 install -m 0755 -d /home 569 570 ${pkgs.perl.withPackages (p: [ p.FileSlurp p.JSON ])}/bin/perl \ 571 -w ${./update-users-groups.pl} ${spec} 572 ''; 573 + }; 574 575 # for backwards compatibility 576 system.activationScripts.groups = stringAfter [ "users" ] "";
+60 -40
nixos/modules/system/activation/activation-script.nix
··· 17 ''; 18 }); 19 20 path = with pkgs; map getBin 21 [ coreutils 22 gnugrep ··· 28 util-linux # needed for mount and mountpoint 29 ]; 30 31 - scriptType = with types; 32 let scriptOptions = 33 { deps = mkOption 34 { type = types.listOf types.str; ··· 38 text = mkOption 39 { type = types.lines; 40 description = "The content of the script."; 41 }; 42 }; 43 in either str (submodule { options = scriptOptions; }); ··· 74 idempotent and fast. 75 ''; 76 77 - type = types.attrsOf scriptType; 78 - 79 - apply = set: { 80 - script = 81 - '' 82 - #! ${pkgs.runtimeShell} 83 - 84 - systemConfig=@out@ 85 - 86 - export PATH=/empty 87 - for i in ${toString path}; do 88 - PATH=$PATH:$i/bin:$i/sbin 89 - done 90 - 91 - _status=0 92 - trap "_status=1 _localstatus=\$?" ERR 93 - 94 - # Ensure a consistent umask. 95 - umask 0022 96 - 97 - ${ 98 - let 99 - set' = mapAttrs (n: v: if isString v then noDepEntry v else v) set; 100 - withHeadlines = addAttributeName set'; 101 - in textClosureMap id (withHeadlines) (attrNames withHeadlines) 102 - } 103 104 - # Make this configuration the current configuration. 105 - # The readlink is there to ensure that when $systemConfig = /system 106 - # (which is a symlink to the store), /run/current-system is still 107 - # used as a garbage collection root. 108 - ln -sfn "$(readlink -f "$systemConfig")" /run/current-system 109 - 110 - # Prevent the current configuration from being garbage-collected. 111 - ln -sfn /run/current-system /nix/var/nix/gcroots/current-system 112 - 113 - exit $_status 114 - ''; 115 - }; 116 }; 117 118 system.userActivationScripts = mkOption { ··· 137 idempotent and fast. 138 ''; 139 140 - type = with types; attrsOf scriptType; 141 142 apply = set: { 143 script = ''
··· 17 ''; 18 }); 19 20 + systemActivationScript = set: onlyDry: let 21 + set' = filterAttrs (_: v: onlyDry -> v.supportsDryActivation) (mapAttrs (_: v: if isString v then (noDepEntry v) // { supportsDryActivation = false; } else v) set); 22 + withHeadlines = addAttributeName set'; 23 + in 24 + '' 25 + #!${pkgs.runtimeShell} 26 + 27 + systemConfig='@out@' 28 + 29 + export PATH=/empty 30 + for i in ${toString path}; do 31 + PATH=$PATH:$i/bin:$i/sbin 32 + done 33 + 34 + _status=0 35 + trap "_status=1 _localstatus=\$?" ERR 36 + 37 + # Ensure a consistent umask. 38 + umask 0022 39 + 40 + ${textClosureMap id (withHeadlines) (attrNames withHeadlines)} 41 + 42 + '' + optionalString (!onlyDry) '' 43 + # Make this configuration the current configuration. 44 + # The readlink is there to ensure that when $systemConfig = /system 45 + # (which is a symlink to the store), /run/current-system is still 46 + # used as a garbage collection root. 47 + ln -sfn "$(readlink -f "$systemConfig")" /run/current-system 48 + 49 + # Prevent the current configuration from being garbage-collected. 50 + ln -sfn /run/current-system /nix/var/nix/gcroots/current-system 51 + 52 + exit $_status 53 + ''; 54 + 55 path = with pkgs; map getBin 56 [ coreutils 57 gnugrep ··· 63 util-linux # needed for mount and mountpoint 64 ]; 65 66 + scriptType = withDry: with types; 67 let scriptOptions = 68 { deps = mkOption 69 { type = types.listOf types.str; ··· 73 text = mkOption 74 { type = types.lines; 75 description = "The content of the script."; 76 + }; 77 + } // optionalAttrs withDry { 78 + supportsDryActivation = mkOption 79 + { type = types.bool; 80 + default = false; 81 + description = '' 82 + Whether this activation script supports being dry-activated. 83 + These activation scripts will also be executed on dry-activate 84 + activations with the environment variable 85 + <literal>NIXOS_ACTION</literal> being set to <literal>dry-activate 86 + </literal>. it's important that these activation scripts don't 87 + modify anything about the system when the variable is set. 88 + ''; 89 }; 90 }; 91 in either str (submodule { options = scriptOptions; }); ··· 122 idempotent and fast. 123 ''; 124 125 + type = types.attrsOf (scriptType true); 126 + apply = set: set // { 127 + script = systemActivationScript set false; 128 + }; 129 + }; 130 131 + system.dryActivationScript = mkOption { 132 + description = "The shell script that is to be run when dry-activating a system."; 133 + readOnly = true; 134 + internal = true; 135 + default = systemActivationScript (removeAttrs config.system.activationScripts [ "script" ]) true; 136 }; 137 138 system.userActivationScripts = mkOption { ··· 157 idempotent and fast. 158 ''; 159 160 + type = with types; attrsOf (scriptType false); 161 162 apply = set: { 163 script = ''
+6
nixos/modules/system/activation/switch-to-configuration.pl
··· 36 exit 1; 37 } 38 39 # This is a NixOS installation if it has /etc/NIXOS or a proper 40 # /etc/os-release. 41 die "This is not a NixOS installation!\n" unless ··· 360 if scalar @unitsToStopFiltered > 0; 361 print STDERR "would NOT stop the following changed units: ", join(", ", sort(keys %unitsToSkip)), "\n" 362 if scalar(keys %unitsToSkip) > 0; 363 print STDERR "would restart systemd\n" if $restartSystemd; 364 print STDERR "would restart the following units: ", join(", ", sort(keys %unitsToRestart)), "\n" 365 if scalar(keys %unitsToRestart) > 0;
··· 36 exit 1; 37 } 38 39 + $ENV{NIXOS_ACTION} = $action; 40 + 41 # This is a NixOS installation if it has /etc/NIXOS or a proper 42 # /etc/os-release. 43 die "This is not a NixOS installation!\n" unless ··· 362 if scalar @unitsToStopFiltered > 0; 363 print STDERR "would NOT stop the following changed units: ", join(", ", sort(keys %unitsToSkip)), "\n" 364 if scalar(keys %unitsToSkip) > 0; 365 + 366 + print STDERR "would activate the configuration...\n"; 367 + system("$out/dry-activate", "$out"); 368 + 369 print STDERR "would restart systemd\n" if $restartSystemd; 370 print STDERR "would restart the following units: ", join(", ", sort(keys %unitsToRestart)), "\n" 371 if scalar(keys %unitsToRestart) > 0;
+5 -2
nixos/modules/system/activation/top-level.nix
··· 56 ''} 57 58 echo "$activationScript" > $out/activate 59 substituteInPlace $out/activate --subst-var out 60 - chmod u+x $out/activate 61 - unset activationScript 62 63 cp ${config.system.build.bootStage2} $out/init 64 substituteInPlace $out/init --subst-var-by systemConfig $out ··· 108 config.system.build.installBootLoader 109 or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true"; 110 activationScript = config.system.activationScripts.script; 111 nixosLabel = config.system.nixos.label; 112 113 configurationName = config.boot.loader.grub.configurationName;
··· 56 ''} 57 58 echo "$activationScript" > $out/activate 59 + echo "$dryActivationScript" > $out/dry-activate 60 substituteInPlace $out/activate --subst-var out 61 + substituteInPlace $out/dry-activate --subst-var out 62 + chmod u+x $out/activate $out/dry-activate 63 + unset activationScript dryActivationScript 64 65 cp ${config.system.build.bootStage2} $out/init 66 substituteInPlace $out/init --subst-var-by systemConfig $out ··· 110 config.system.build.installBootLoader 111 or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true"; 112 activationScript = config.system.activationScripts.script; 113 + dryActivationScript = config.system.dryActivationScript; 114 nixosLabel = config.system.nixos.label; 115 116 configurationName = config.boot.loader.grub.configurationName;
+18 -8
nixos/modules/tasks/lvm.nix
··· 46 kernelModules = [ "dm-snapshot" "dm-thin-pool" ]; 47 48 extraUtilsCommands = '' 49 - copy_bin_and_libs ${pkgs.thin-provisioning-tools}/bin/pdata_tools 50 - copy_bin_and_libs ${pkgs.thin-provisioning-tools}/bin/thin_check 51 ''; 52 }; 53 54 - environment.etc."lvm/lvm.conf".text = '' 55 - global/thin_check_executable = "${pkgs.thin-provisioning-tools}/bin/thin_check" 56 - ''; 57 }) 58 (mkIf (cfg.dmeventd.enable || cfg.boot.thin.enable) { 59 boot.initrd.preLVMCommands = '' 60 mkdir -p /etc/lvm 61 cat << EOF >> /etc/lvm/lvm.conf 62 - ${optionalString cfg.boot.thin.enable '' 63 - global/thin_check_executable = "$(command -v thin_check)" 64 - ''} 65 ${optionalString cfg.dmeventd.enable '' 66 dmeventd/executable = "$(command -v false)" 67 activation/monitoring = 0
··· 46 kernelModules = [ "dm-snapshot" "dm-thin-pool" ]; 47 48 extraUtilsCommands = '' 49 + for BIN in ${pkgs.thin-provisioning-tools}/bin/*; do 50 + copy_bin_and_libs $BIN 51 + done 52 + ''; 53 + 54 + extraUtilsCommandsTest = '' 55 + ls ${pkgs.thin-provisioning-tools}/bin/ | grep -v pdata_tools | while read BIN; do 56 + $out/bin/$(basename $BIN) --help > /dev/null 57 + done 58 ''; 59 }; 60 61 + environment.etc."lvm/lvm.conf".text = concatMapStringsSep "\n" 62 + (bin: "global/${bin}_executable = ${pkgs.thin-provisioning-tools}/bin/${bin}") 63 + [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ]; 64 }) 65 (mkIf (cfg.dmeventd.enable || cfg.boot.thin.enable) { 66 boot.initrd.preLVMCommands = '' 67 mkdir -p /etc/lvm 68 cat << EOF >> /etc/lvm/lvm.conf 69 + ${optionalString cfg.boot.thin.enable ( 70 + concatMapStringsSep "\n" 71 + (bin: "global/${bin}_executable = $(command -v ${bin})") 72 + [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ] 73 + ) 74 + } 75 ${optionalString cfg.dmeventd.enable '' 76 dmeventd/executable = "$(command -v false)" 77 activation/monitoring = 0
+28
nixos/tests/mutable-users.nix
··· 12 }; 13 mutable = { ... }: { 14 users.mutableUsers = true; 15 }; 16 }; 17 ··· 41 "${mutableSystem}/bin/switch-to-configuration test" 42 ) 43 assert "/run/wrappers/" in machine.succeed("which passwd") 44 ''; 45 })
··· 12 }; 13 mutable = { ... }: { 14 users.mutableUsers = true; 15 + users.users.dry-test.isNormalUser = true; 16 }; 17 }; 18 ··· 42 "${mutableSystem}/bin/switch-to-configuration test" 43 ) 44 assert "/run/wrappers/" in machine.succeed("which passwd") 45 + 46 + with subtest("dry-activation does not change files"): 47 + machine.succeed('test -e /home/dry-test') # home was created 48 + machine.succeed('rm -rf /home/dry-test') 49 + 50 + files_to_check = ['/etc/group', 51 + '/etc/passwd', 52 + '/etc/shadow', 53 + '/etc/subuid', 54 + '/etc/subgid', 55 + '/var/lib/nixos/uid-map', 56 + '/var/lib/nixos/gid-map', 57 + '/var/lib/nixos/declarative-groups', 58 + '/var/lib/nixos/declarative-users' 59 + ] 60 + expected_hashes = {} 61 + expected_stats = {} 62 + for file in files_to_check: 63 + expected_hashes[file] = machine.succeed(f"sha256sum {file}") 64 + expected_stats[file] = machine.succeed(f"stat {file}") 65 + 66 + machine.succeed("/run/current-system/bin/switch-to-configuration dry-activate") 67 + 68 + machine.fail('test -e /home/dry-test') # home was not recreated 69 + for file in files_to_check: 70 + assert machine.succeed(f"sha256sum {file}") == expected_hashes[file] 71 + assert machine.succeed(f"stat {file}") == expected_stats[file] 72 ''; 73 })
+2 -2
pkgs/applications/audio/lollypop/default.nix
··· 25 26 python3.pkgs.buildPythonApplication rec { 27 pname = "lollypop"; 28 - version = "1.4.17"; 29 30 format = "other"; 31 doCheck = false; ··· 34 url = "https://gitlab.gnome.org/World/lollypop"; 35 rev = "refs/tags/${version}"; 36 fetchSubmodules = true; 37 - sha256 = "sha256-GrznUXIYUTYOKQ1znsCqmBdm5YImCABMK2NGRtx5fSk="; 38 }; 39 40 nativeBuildInputs = [
··· 25 26 python3.pkgs.buildPythonApplication rec { 27 pname = "lollypop"; 28 + version = "1.4.23"; 29 30 format = "other"; 31 doCheck = false; ··· 34 url = "https://gitlab.gnome.org/World/lollypop"; 35 rev = "refs/tags/${version}"; 36 fetchSubmodules = true; 37 + sha256 = "sha256-wwdH3gMpYt40VGqrL1XfB1dOfg45zLKtTEI23AwjCis="; 38 }; 39 40 nativeBuildInputs = [
+5
pkgs/applications/virtualization/virtualbox/default.nix
··· 200 done 201 ''} 202 203 cp -rv out/linux.*/${buildType}/bin/src "$modsrc" 204 ''; 205
··· 200 done 201 ''} 202 203 + # https://github.com/NixOS/nixpkgs/issues/137104 204 + ${optionalString (enableHardening || headless) '' 205 + rm $libexec/components/VBoxREM.so 206 + ''} 207 + 208 cp -rv out/linux.*/${buildType}/bin/src "$modsrc" 209 ''; 210
+2 -1
pkgs/build-support/coq/default.nix
··· 57 ] "") + optionalString (v == null) "-broken"; 58 append-version = p: n: p + display-pkg n "" coqPackages.${n}.version + "-"; 59 prefix-name = foldl append-version "" namePrefix; 60 - var-coqlib-install = (optionalString (versions.isGe "8.7" coq.coq-version) "COQMF_") + "COQLIB"; 61 useDune2 = args.useDune2 or (useDune2ifVersion fetched.version); 62 in 63
··· 57 ] "") + optionalString (v == null) "-broken"; 58 append-version = p: n: p + display-pkg n "" coqPackages.${n}.version + "-"; 59 prefix-name = foldl append-version "" namePrefix; 60 + var-coqlib-install = 61 + (optionalString (versions.isGe "8.7" coq.coq-version || coq.coq-version == "dev") "COQMF_") + "COQLIB"; 62 useDune2 = args.useDune2 or (useDune2ifVersion fetched.version); 63 in 64
+1 -1
pkgs/build-support/mkshell/default.nix
··· 16 let 17 mergeInputs = name: 18 (attrs.${name} or []) ++ 19 - (lib.subtractLists inputsFrom (lib.catAttrs name inputsFrom)); 20 21 rest = builtins.removeAttrs attrs [ 22 "packages"
··· 16 let 17 mergeInputs = name: 18 (attrs.${name} or []) ++ 19 + (lib.subtractLists inputsFrom (lib.flatten (lib.catAttrs name inputsFrom))); 20 21 rest = builtins.removeAttrs attrs [ 22 "packages"
+166
pkgs/development/compilers/hip/default.nix
···
··· 1 + { stdenv 2 + , binutils-unwrapped 3 + , clang 4 + , clang-unwrapped 5 + , cmake 6 + , compiler-rt 7 + , fetchFromGitHub 8 + , fetchpatch 9 + , file 10 + , lib 11 + , lld 12 + , llvm 13 + , makeWrapper 14 + , perl 15 + , python 16 + , rocclr 17 + , rocm-comgr 18 + , rocm-device-libs 19 + , rocm-opencl-runtime 20 + , rocm-runtime 21 + , rocm-thunk 22 + , rocminfo 23 + , writeText 24 + }: 25 + 26 + stdenv.mkDerivation rec { 27 + name = "hip"; 28 + version = "4.3.1"; 29 + src = fetchFromGitHub { 30 + owner = "ROCm-Developer-Tools"; 31 + repo = "HIP"; 32 + rev = "rocm-${version}"; 33 + sha256 = "sha256-dUdP32H0u6kVItS+VUE549vvxkV1mSN84HvyfeK2hEE="; 34 + }; 35 + 36 + # FIXME: https://github.com/ROCm-Developer-Tools/HIP/issues/2317 37 + postPatch = '' 38 + cp ${rocm-opencl-runtime.src}/amdocl/cl_vk_amd.hpp amdocl/ 39 + ''; 40 + 41 + nativeBuildInputs = [ cmake python makeWrapper ]; 42 + propagatedBuildInputs = [ 43 + clang 44 + compiler-rt 45 + lld 46 + llvm 47 + rocclr 48 + rocm-comgr 49 + rocm-device-libs 50 + rocm-runtime 51 + rocm-thunk 52 + rocminfo 53 + ]; 54 + 55 + preConfigure = '' 56 + export HIP_CLANG_PATH=${clang}/bin 57 + export DEVICE_LIB_PATH=${rocm-device-libs}/lib 58 + ''; 59 + 60 + # The patch version is the last two digits of year + week number + 61 + # day in the week: date -d "2021-07-25" +%y%U%w 62 + workweek = "21300"; 63 + 64 + cmakeFlags = [ 65 + "-DHSA_PATH=${rocm-runtime}" 66 + "-DHIP_COMPILER=clang" 67 + "-DHIP_PLATFORM=amd" 68 + "-DHIP_VERSION_GITDATE=${workweek}" 69 + "-DCMAKE_C_COMPILER=${clang}/bin/clang" 70 + "-DCMAKE_CXX_COMPILER=${clang}/bin/clang++" 71 + "-DLLVM_ENABLE_RTTI=ON" 72 + "-DLIBROCclr_STATIC_DIR=${rocclr}/lib/cmake" 73 + "-DROCclr_DIR=${rocclr}" 74 + "-DHIP_CLANG_ROOT=${clang-unwrapped}" 75 + ]; 76 + 77 + patches = [ 78 + (fetchpatch { 79 + name = "no-git-during-build"; 80 + url = "https://github.com/acowley/HIP/commit/310b7e972cfb23216250c0240ba6134741679aee.patch"; 81 + sha256 = "08ky7v1yvajabn9m5x3afzrnz38gnrgc7vgqlbyr7s801c383ha1"; 82 + }) 83 + (fetchpatch { 84 + name = "use-PATH-when-compiling-pch"; 85 + url = "https://github.com/acowley/HIP/commit/bfb4dd1eafa9714a2c05a98229cc35ffa3429b37.patch"; 86 + sha256 = "1wp0m32df7pf4rhx3k5n750fd7kz10zr60z0wllb0mw6h00w6xpz"; 87 + }) 88 + ]; 89 + 90 + # - fix bash paths 91 + # - fix path to rocm_agent_enumerator 92 + # - fix hcc path 93 + # - fix hcc version parsing 94 + # - add linker flags for libhsa-runtime64 and hc_am since libhip_hcc 95 + # refers to them. 96 + prePatch = '' 97 + for f in $(find bin -type f); do 98 + sed -e 's,#!/usr/bin/perl,#!${perl}/bin/perl,' \ 99 + -e 's,#!/bin/bash,#!${stdenv.shell},' \ 100 + -i "$f" 101 + done 102 + 103 + for f in $(find . -regex '.*\.cpp\|.*\.h\(pp\)?'); do 104 + if grep -q __hcc_workweek__ "$f" ; then 105 + substituteInPlace "$f" --replace '__hcc_workweek__' '${workweek}' 106 + fi 107 + done 108 + 109 + sed 's,#!/usr/bin/python,#!${python}/bin/python,' -i hip_prof_gen.py 110 + 111 + sed -e 's,$ROCM_AGENT_ENUM = "''${ROCM_PATH}/bin/rocm_agent_enumerator";,$ROCM_AGENT_ENUM = "${rocminfo}/bin/rocm_agent_enumerator";,' \ 112 + -e "s,^\($HIP_LIB_PATH=\).*$,\1\"$out/lib\";," \ 113 + -e 's,^\($HIP_CLANG_PATH=\).*$,\1"${clang}/bin";,' \ 114 + -e 's,^\($DEVICE_LIB_PATH=\).*$,\1"${rocm-device-libs}/amdgcn/bitcode";,' \ 115 + -e 's,^\($HIP_COMPILER=\).*$,\1"clang";,' \ 116 + -e 's,^\($HIP_RUNTIME=\).*$,\1"ROCclr";,' \ 117 + -e 's,^\([[:space:]]*$HSA_PATH=\).*$,\1"${rocm-runtime}";,'g \ 118 + -e 's,\([[:space:]]*$HOST_OSNAME=\).*,\1"nixos";,' \ 119 + -e 's,\([[:space:]]*$HOST_OSVER=\).*,\1"${lib.versions.majorMinor lib.version}";,' \ 120 + -e 's,^\([[:space:]]*\)$HIP_CLANG_INCLUDE_PATH = abs_path("$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/include");,\1$HIP_CLANG_INCLUDE_PATH = "${clang-unwrapped}/lib/clang/$HIP_CLANG_VERSION/include";,' \ 121 + -e 's,^\([[:space:]]*$HIPCXXFLAGS .= " -isystem $HIP_CLANG_INCLUDE_PATH\)";,\1 -isystem ${rocm-runtime}/include";,' \ 122 + -e 's,\($HIPCXXFLAGS .= " -isystem \\"$HIP_INCLUDE_PATH\\"\)" ;,\1 --rocm-path=${rocclr}";,' \ 123 + -e "s,\$HIP_PATH/\(bin\|lib\),$out/\1,g" \ 124 + -e "s,^\$HIP_LIB_PATH=\$ENV{'HIP_LIB_PATH'};,\$HIP_LIB_PATH=\"$out/lib\";," \ 125 + -e 's,`file,`${file}/bin/file,g' \ 126 + -e 's,`readelf,`${binutils-unwrapped}/bin/readelf,' \ 127 + -e 's, ar , ${binutils-unwrapped}/bin/ar ,g' \ 128 + -i bin/hipcc 129 + 130 + sed -e 's,^\($HSA_PATH=\).*$,\1"${rocm-runtime}";,' \ 131 + -e 's,^\($HIP_CLANG_PATH=\).*$,\1"${clang}/bin";,' \ 132 + -e 's,^\($HIP_PLATFORM=\).*$,\1"amd";,' \ 133 + -e 's,$HIP_CLANG_PATH/llc,${llvm}/bin/llc,' \ 134 + -e 's, abs_path, Cwd::abs_path,' \ 135 + -i bin/hipconfig 136 + 137 + sed -e 's, abs_path, Cwd::abs_path,' -i bin/hipvars.pm 138 + 139 + sed -e 's|_IMPORT_PREFIX}/../include|_IMPORT_PREFIX}/include|g' \ 140 + -e 's|''${HIP_CLANG_ROOT}/lib/clang/\*/include|${clang-unwrapped}/lib/clang/*/include|' \ 141 + -i hip-config.cmake.in 142 + ''; 143 + 144 + preInstall = '' 145 + mkdir -p $out/lib/cmake 146 + ''; 147 + 148 + # The upstream ROCclr setup wants everything built into the same 149 + # ROCclr output directory. We copy things into the HIP output 150 + # directory, since it is downstream of ROCclr in terms of dependency 151 + # direction. Thus we have device-libs and rocclr pieces in the HIP 152 + # output directory. 153 + postInstall = '' 154 + mkdir -p $out/share 155 + mv $out/lib/cmake $out/share/ 156 + mv $out/cmake/* $out/share/cmake/hip 157 + mkdir -p $out/lib 158 + ln -s ${rocm-device-libs}/lib $out/lib/bitcode 159 + mkdir -p $out/include 160 + ln -s ${clang-unwrapped}/lib/clang/11.0.0/include $out/include/clang 161 + ln -s ${rocclr}/lib/*.* $out/lib 162 + ln -s ${rocclr}/include/* $out/include 163 + wrapProgram $out/bin/hipcc --set HIP_PATH $out --set HSA_PATH ${rocm-runtime} --set HIP_CLANG_PATH ${clang}/bin --prefix PATH : ${lld}/bin --set NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt} 1 --prefix NIX_LDFLAGS ' ' -L${compiler-rt}/lib --prefix NIX_LDFLAGS_FOR_TARGET ' ' -L${compiler-rt}/lib 164 + wrapProgram $out/bin/hipconfig --set HIP_PATH $out --set HSA_PATH ${rocm-runtime} --set HIP_CLANG_PATH ${clang}/bin 165 + ''; 166 + }
+3 -2
pkgs/development/compilers/llvm/rocm/clang.nix
··· 1 - { lib, stdenv 2 , fetchFromGitHub 3 , cmake 4 , python3 ··· 65 description = "ROCm fork of the clang C/C++/Objective-C/Objective-C++ LLVM compiler frontend"; 66 homepage = "https://llvm.org/"; 67 license = with licenses; [ ncsa ]; 68 - maintainers = with maintainers; [ ]; 69 platforms = platforms.linux; 70 }; 71 }
··· 1 + { stdenv 2 + , lib 3 , fetchFromGitHub 4 , cmake 5 , python3 ··· 66 description = "ROCm fork of the clang C/C++/Objective-C/Objective-C++ LLVM compiler frontend"; 67 homepage = "https://llvm.org/"; 68 license = with licenses; [ ncsa ]; 69 + maintainers = with maintainers; [ acowley danieldk lovesegfault ]; 70 platforms = platforms.linux; 71 }; 72 }
+33
pkgs/development/compilers/llvm/rocm/compiler-rt/compiler-rt-codesign.patch
···
··· 1 + From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 2 + From: Will Dietz <w@wdtz.org> 3 + Date: Tue, 19 Sep 2017 13:13:06 -0500 4 + Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that 5 + needs it 6 + 7 + --- 8 + cmake/Modules/AddCompilerRT.cmake | 8 ------ 9 + test/asan/CMakeLists.txt | 52 --------------------------------------- 10 + test/tsan/CMakeLists.txt | 47 ----------------------------------- 11 + 3 files changed, 107 deletions(-) 12 + 13 + diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake 14 + index bc5fb9ff7..b64eb4246 100644 15 + --- a/cmake/Modules/AddCompilerRT.cmake 16 + +++ b/cmake/Modules/AddCompilerRT.cmake 17 + @@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) 18 + set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") 19 + set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") 20 + endif() 21 + - if(APPLE) 22 + - # Ad-hoc sign the dylibs 23 + - add_custom_command(TARGET ${libname} 24 + - POST_BUILD 25 + - COMMAND codesign --sign - $<TARGET_FILE:${libname}> 26 + - WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} 27 + - ) 28 + - endif() 29 + endif() 30 + install(TARGETS ${libname} 31 + ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} 32 + 2.14.1 33 +
+65
pkgs/development/compilers/llvm/rocm/compiler-rt/default.nix
···
··· 1 + { stdenv, lib, version, src, cmake, python3, llvm, libcxxabi }: 2 + stdenv.mkDerivation rec { 3 + pname = "compiler-rt"; 4 + inherit version src; 5 + 6 + nativeBuildInputs = [ cmake python3 llvm ]; 7 + 8 + NIX_CFLAGS_COMPILE = [ 9 + "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" 10 + ]; 11 + 12 + cmakeFlags = [ 13 + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" 14 + "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" 15 + "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" 16 + "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 17 + "-DCOMPILER_RT_BUILD_XRAY=OFF" 18 + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 19 + "-DCOMPILER_RT_BUILD_PROFILE=OFF" 20 + "-DCMAKE_C_COMPILER_WORKS=ON" 21 + "-DCMAKE_CXX_COMPILER_WORKS=ON" 22 + "-DCOMPILER_RT_BAREMETAL_BUILD=ON" 23 + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" 24 + "-DCOMPILER_RT_BUILD_BUILTINS=ON" 25 + "-DCMAKE_C_FLAGS=-nodefaultlibs" 26 + #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program 27 + "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" 28 + ]; 29 + 30 + outputs = [ "out" "dev" ]; 31 + 32 + patches = [ 33 + ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory 34 + ]; 35 + 36 + 37 + # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks 38 + # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra 39 + # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd 40 + # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by 41 + # a flag and turn the flag off during the stdenv build. 42 + postPatch = lib.optionalString (!stdenv.isDarwin) '' 43 + substituteInPlace cmake/builtin-config-ix.cmake \ 44 + --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' 45 + ''; 46 + 47 + # Hack around weird upsream RPATH bug 48 + postInstall = '' 49 + ln -s "$out/lib"/*/* "$out/lib" 50 + ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o 51 + ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o 52 + ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o 53 + ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o 54 + ''; 55 + 56 + enableParallelBuilding = true; 57 + 58 + meta = with lib; { 59 + description = "ROCm fork of the LLVM Compiler runtime libraries"; 60 + homepage = "https://github.com/RadeonOpenCompute/llvm-project"; 61 + license = licenses.ncsa; 62 + maintainers = with maintainers; [ acowley danieldk lovesegfault ]; 63 + platforms = platforms.linux; 64 + }; 65 + }
+28 -6
pkgs/development/compilers/llvm/rocm/default.nix
··· 1 - { lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith }: 2 3 let 4 - version = "4.1.0"; 5 src = fetchFromGitHub { 6 owner = "RadeonOpenCompute"; 7 repo = "llvm-project"; 8 rev = "rocm-${version}"; 9 - hash = "sha256-DlId/dF5r0ULl2omYPCyu1Ic3XKlLL7ndiCA0RaF264="; 10 }; 11 in rec { 12 clang = wrapCCWith rec { ··· 15 clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 16 rsrc="$out/resource-root" 17 mkdir "$rsrc" 18 - ln -s "${lib.getLib cc}/lib/clang/$clang_version/include" "$rsrc" 19 echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags 20 echo "-Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags 21 rm $out/nix-support/add-hardening.sh 22 touch $out/nix-support/add-hardening.sh ··· 28 src = "${src}/clang"; 29 }; 30 31 - lld = callPackage ./lld { 32 inherit llvm version; 33 src = "${src}/lld"; 34 - buildLlvmTools = buildPackages.llvmPackages_rocm; 35 }; 36 37 llvm = callPackage ./llvm {
··· 1 + { stdenv, lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith, overrideCC }: 2 3 let 4 + version = "4.3.1"; 5 src = fetchFromGitHub { 6 owner = "RadeonOpenCompute"; 7 repo = "llvm-project"; 8 rev = "rocm-${version}"; 9 + hash = "sha256-7XVtHcrTpw+NYUvuKQFWWFE0FlOTt8EnfZpvepQqE1c="; 10 }; 11 in rec { 12 clang = wrapCCWith rec { ··· 15 clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 16 rsrc="$out/resource-root" 17 mkdir "$rsrc" 18 + ln -s "${cc}/lib/clang/$clang_version/include" "$rsrc" 19 + ln -s "${compiler-rt}/lib" "$rsrc/lib" 20 echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags 21 + echo "--gcc-toolchain=${stdenv.cc.cc}" >> $out/nix-support/cc-cflags 22 + echo "-Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags 23 + rm $out/nix-support/add-hardening.sh 24 + touch $out/nix-support/add-hardening.sh 25 + ''; 26 + }; 27 + 28 + clangNoCompilerRt = wrapCCWith rec { 29 + cc = clang-unwrapped; 30 + extraBuildCommands = '' 31 + clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 32 + rsrc="$out/resource-root" 33 + mkdir "$rsrc" 34 + ln -s "${cc}/lib/clang/$clang_version/include" "$rsrc" 35 + echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags 36 + echo "--gcc-toolchain=${stdenv.cc.cc}" >> $out/nix-support/cc-cflags 37 echo "-Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags 38 rm $out/nix-support/add-hardening.sh 39 touch $out/nix-support/add-hardening.sh ··· 45 src = "${src}/clang"; 46 }; 47 48 + compiler-rt = callPackage ./compiler-rt { 49 + inherit version llvm; 50 + src = "${src}/compiler-rt"; 51 + stdenv = overrideCC stdenv clangNoCompilerRt; 52 + }; 53 + 54 + lld = callPackage ./lld.nix { 55 inherit llvm version; 56 src = "${src}/lld"; 57 }; 58 59 llvm = callPackage ./llvm {
+6 -11
pkgs/development/compilers/llvm/rocm/lld/default.nix pkgs/development/compilers/llvm/rocm/lld.nix
··· 1 - { lib, stdenv 2 - , buildLlvmTools 3 , cmake 4 , libxml2 5 , llvm ··· 14 pname = "lld"; 15 16 nativeBuildInputs = [ cmake ]; 17 buildInputs = [ libxml2 llvm ]; 18 19 20 - cmakeFlags = [ 21 - "-DLLVM_MAIN_SRC_DIR=${llvm.src}" 22 - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 23 - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" 24 - "-DLLVM_CONFIG_PATH=${llvm.dev}/bin/llvm-config-native" 25 - ]; 26 - 27 - outputs = [ "out" "dev" ]; 28 29 postInstall = '' 30 moveToOutput include "$dev" ··· 39 description = "ROCm fork of the LLVM Linker"; 40 homepage = "https://github.com/RadeonOpenCompute/llvm-project"; 41 license = licenses.ncsa; 42 - maintainers = with maintainers; [ ]; 43 platforms = platforms.linux; 44 }; 45 }
··· 1 + { stdenv 2 + , lib 3 , cmake 4 , libxml2 5 , llvm ··· 14 pname = "lld"; 15 16 nativeBuildInputs = [ cmake ]; 17 + 18 buildInputs = [ libxml2 llvm ]; 19 20 + outputs = [ "out" "dev" ]; 21 22 + cmakeFlags = [ "-DLLVM_MAIN_SRC_DIR=${llvm.src}" ]; 23 24 postInstall = '' 25 moveToOutput include "$dev" ··· 34 description = "ROCm fork of the LLVM Linker"; 35 homepage = "https://github.com/RadeonOpenCompute/llvm-project"; 36 license = licenses.ncsa; 37 + maintainers = with maintainers; [ acowley danieldk lovesegfault ]; 38 platforms = platforms.linux; 39 }; 40 }
+3 -2
pkgs/development/compilers/llvm/rocm/llvm/default.nix
··· 1 - { lib, stdenv 2 , fetchFromGitHub 3 , cmake 4 , python3 ··· 91 description = "ROCm fork of the LLVM compiler infrastructure"; 92 homepage = "https://github.com/RadeonOpenCompute/llvm-project"; 93 license = with licenses; [ ncsa ]; 94 - maintainers = with maintainers; [ ]; 95 platforms = platforms.linux; 96 }; 97 }
··· 1 + { stdenv 2 + , lib 3 , fetchFromGitHub 4 , cmake 5 , python3 ··· 92 description = "ROCm fork of the LLVM compiler infrastructure"; 93 homepage = "https://github.com/RadeonOpenCompute/llvm-project"; 94 license = with licenses; [ ncsa ]; 95 + maintainers = with maintainers; [ acowley danieldk lovesegfault ]; 96 platforms = platforms.linux; 97 }; 98 }
+2 -2
pkgs/development/libraries/libxc/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libxc"; 5 - version = "5.1.5"; 6 7 src = fetchFromGitLab { 8 owner = "libxc"; 9 repo = "libxc"; 10 rev = version; 11 - sha256 = "0cy3x2zn1bldc5i0rzislfbc8h4nqgds445jkfqjv0d1shvdy0zn"; 12 }; 13 14 nativeBuildInputs = [ perl cmake gfortran ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libxc"; 5 + version = "5.1.6"; 6 7 src = fetchFromGitLab { 8 owner = "libxc"; 9 repo = "libxc"; 10 rev = version; 11 + sha256 = "07iljmv737kx24kd33x9ndf5l854mwslg9x2psqm12k07jmq9wjw"; 12 }; 13 14 nativeBuildInputs = [ perl cmake gfortran ];
+3 -3
pkgs/development/libraries/rocclr/default.nix
··· 15 16 stdenv.mkDerivation rec { 17 pname = "rocclr"; 18 - version = "4.1.0"; 19 20 src = fetchFromGitHub { 21 owner = "ROCm-Developer-Tools"; 22 repo = "ROCclr"; 23 rev = "rocm-${version}"; 24 - hash = "sha256-2DI/PL29aiZcxOrGZBzXwAnNgZQpSDjyyGKgl+vDErk="; 25 }; 26 27 nativeBuildInputs = [ cmake rocm-cmake ]; ··· 55 description = "Radeon Open Compute common language runtime"; 56 homepage = "https://github.com/ROCm-Developer-Tools/ROCclr"; 57 license = licenses.mit; 58 - maintainers = with maintainers; [ ]; 59 # rocclr seems to have some AArch64 ifdefs, but does not seem 60 # to be supported yet by the build infrastructure. Recheck in 61 # the future.
··· 15 16 stdenv.mkDerivation rec { 17 pname = "rocclr"; 18 + version = "4.3.1"; 19 20 src = fetchFromGitHub { 21 owner = "ROCm-Developer-Tools"; 22 repo = "ROCclr"; 23 rev = "rocm-${version}"; 24 + hash = "sha256-3lk7Zucoam+11gFBzg/TWQI1L8uAlxTrPz/mDwTwod4="; 25 }; 26 27 nativeBuildInputs = [ cmake rocm-cmake ]; ··· 55 description = "Radeon Open Compute common language runtime"; 56 homepage = "https://github.com/ROCm-Developer-Tools/ROCclr"; 57 license = licenses.mit; 58 + maintainers = with maintainers; [ lovesegfault ]; 59 # rocclr seems to have some AArch64 ifdefs, but does not seem 60 # to be supported yet by the build infrastructure. Recheck in 61 # the future.
+5 -5
pkgs/development/libraries/rocm-comgr/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, clang, device-libs, lld, llvm }: 2 3 stdenv.mkDerivation rec { 4 pname = "rocm-comgr"; 5 - version = "4.1.0"; 6 7 src = fetchFromGitHub { 8 owner = "RadeonOpenCompute"; 9 repo = "ROCm-CompilerSupport"; 10 rev = "rocm-${version}"; 11 - hash = "sha256-LbQqyJxRqb6vpXiYSkRlF1FeqXJJXktPafGmYDDK02U="; 12 }; 13 14 sourceRoot = "source/lib/comgr"; 15 16 nativeBuildInputs = [ cmake ]; 17 18 - buildInputs = [ clang device-libs lld llvm ]; 19 20 cmakeFlags = [ 21 "-DCLANG=${clang}/bin/clang" ··· 40 description = "APIs for compiling and inspecting AMDGPU code objects"; 41 homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/amd-stg-open/lib/comgr"; 42 license = licenses.ncsa; 43 - maintainers = with maintainers; [ ]; 44 platforms = platforms.linux; 45 }; 46 }
··· 1 + { lib, stdenv, fetchFromGitHub, cmake, clang, rocm-device-libs, lld, llvm }: 2 3 stdenv.mkDerivation rec { 4 pname = "rocm-comgr"; 5 + version = "4.3.1"; 6 7 src = fetchFromGitHub { 8 owner = "RadeonOpenCompute"; 9 repo = "ROCm-CompilerSupport"; 10 rev = "rocm-${version}"; 11 + hash = "sha256-wHSAhp1cqR9xOreGt2M2Td/ELCuLEHjpMRRkqE9dUy0="; 12 }; 13 14 sourceRoot = "source/lib/comgr"; 15 16 nativeBuildInputs = [ cmake ]; 17 18 + buildInputs = [ clang rocm-device-libs lld llvm ]; 19 20 cmakeFlags = [ 21 "-DCLANG=${clang}/bin/clang" ··· 40 description = "APIs for compiling and inspecting AMDGPU code objects"; 41 homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/amd-stg-open/lib/comgr"; 42 license = licenses.ncsa; 43 + maintainers = with maintainers; [ lovesegfault ]; 44 platforms = platforms.linux; 45 }; 46 }
+3 -3
pkgs/development/libraries/rocm-device-libs/default.nix
··· 9 10 stdenv.mkDerivation rec { 11 pname = "rocm-device-libs"; 12 - version = "4.1.0"; 13 14 src = fetchFromGitHub { 15 owner = "RadeonOpenCompute"; 16 repo = "ROCm-Device-Libs"; 17 rev = "rocm-${version}"; 18 - hash = "sha256-9p6PIXdHFIgHgNWZzqVz5O9i2Np0z/iyxodG2cLrpGs="; 19 }; 20 21 nativeBuildInputs = [ cmake ]; ··· 34 description = "Set of AMD-specific device-side language runtime libraries"; 35 homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"; 36 license = licenses.ncsa; 37 - maintainers = with maintainers; [ ]; 38 platforms = platforms.linux; 39 }; 40 }
··· 9 10 stdenv.mkDerivation rec { 11 pname = "rocm-device-libs"; 12 + version = "4.3.1"; 13 14 src = fetchFromGitHub { 15 owner = "RadeonOpenCompute"; 16 repo = "ROCm-Device-Libs"; 17 rev = "rocm-${version}"; 18 + hash = "sha256-fPD9vevO2UDaFaclSI0CC/lRfM5WemWmxP1K5ajXHbk="; 19 }; 20 21 nativeBuildInputs = [ cmake ]; ··· 34 description = "Set of AMD-specific device-side language runtime libraries"; 35 homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"; 36 license = licenses.ncsa; 37 + maintainers = with maintainers; [ lovesegfault ]; 38 platforms = platforms.linux; 39 }; 40 }
+1 -1
pkgs/development/libraries/rocm-opencl-icd/default.nix
··· 14 meta = with lib; { 15 description = "OpenCL ICD definition for AMD GPUs using the ROCm stack"; 16 license = licenses.mit; 17 - maintainers = with maintainers; [ ]; 18 platforms = platforms.linux; 19 }; 20 }
··· 14 meta = with lib; { 15 description = "OpenCL ICD definition for AMD GPUs using the ROCm stack"; 16 license = licenses.mit; 17 + maintainers = with maintainers; [ lovesegfault ]; 18 platforms = platforms.linux; 19 }; 20 }
+5 -4
pkgs/development/libraries/rocm-opencl-runtime/default.nix
··· 1 - { lib, stdenv 2 , fetchFromGitHub 3 , addOpenGLRunpath 4 , cmake ··· 21 22 stdenv.mkDerivation rec { 23 pname = "rocm-opencl-runtime"; 24 - version = "4.1.0"; 25 26 src = fetchFromGitHub { 27 owner = "RadeonOpenCompute"; 28 repo = "ROCm-OpenCL-Runtime"; 29 rev = "rocm-${version}"; 30 - hash = "sha256-+6h1E5uWNKjjaeO5ZIi854CWYi0QGQ5mVUHdi9+4vX4="; 31 }; 32 33 nativeBuildInputs = [ cmake rocm-cmake ]; ··· 77 description = "OpenCL runtime for AMD GPUs, part of the ROCm stack"; 78 homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"; 79 license = with licenses; [ asl20 mit ]; 80 - maintainers = with maintainers; [ ]; 81 platforms = platforms.linux; 82 }; 83 }
··· 1 + { stdenv 2 + , lib 3 , fetchFromGitHub 4 , addOpenGLRunpath 5 , cmake ··· 22 23 stdenv.mkDerivation rec { 24 pname = "rocm-opencl-runtime"; 25 + version = "4.3.1"; 26 27 src = fetchFromGitHub { 28 owner = "RadeonOpenCompute"; 29 repo = "ROCm-OpenCL-Runtime"; 30 rev = "rocm-${version}"; 31 + hash = "sha256-4+PNxRqvAvU0Nj2igYl3WiS5h5HGV63J+cHbIVW89LE="; 32 }; 33 34 nativeBuildInputs = [ cmake rocm-cmake ]; ··· 78 description = "OpenCL runtime for AMD GPUs, part of the ROCm stack"; 79 homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"; 80 license = with licenses; [ asl20 mit ]; 81 + maintainers = with maintainers; [ acowley danieldk lovesegfault ]; 82 platforms = platforms.linux; 83 }; 84 }
+7 -5
pkgs/development/libraries/rocm-runtime/default.nix
··· 1 - { lib, stdenv 2 , fetchFromGitHub 3 , addOpenGLRunpath 4 , clang-unwrapped ··· 6 , xxd 7 , elfutils 8 , llvm 9 , rocm-device-libs 10 , rocm-thunk }: 11 12 stdenv.mkDerivation rec { 13 pname = "rocm-runtime"; 14 - version = "4.1.0"; 15 16 src = fetchFromGitHub { 17 owner = "RadeonOpenCompute"; 18 repo = "ROCR-Runtime"; 19 rev = "rocm-${version}"; 20 - hash = "sha256-Jxg3n203tV0L+UrmeQEuzX0TKpFu5An2cnuEA/F/SNY="; 21 }; 22 23 sourceRoot = "source/src"; 24 25 nativeBuildInputs = [ cmake xxd ]; 26 27 - buildInputs = [ clang-unwrapped elfutils llvm ]; 28 29 cmakeFlags = [ 30 "-DBITCODE_DIR=${rocm-device-libs}/amdgcn/bitcode" ··· 43 description = "Platform runtime for ROCm"; 44 homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime"; 45 license = with licenses; [ ncsa ]; 46 - maintainers = with maintainers; [ ]; 47 }; 48 }
··· 1 + { stdenv 2 + , lib 3 , fetchFromGitHub 4 , addOpenGLRunpath 5 , clang-unwrapped ··· 7 , xxd 8 , elfutils 9 , llvm 10 + , numactl 11 , rocm-device-libs 12 , rocm-thunk }: 13 14 stdenv.mkDerivation rec { 15 pname = "rocm-runtime"; 16 + version = "4.3.1"; 17 18 src = fetchFromGitHub { 19 owner = "RadeonOpenCompute"; 20 repo = "ROCR-Runtime"; 21 rev = "rocm-${version}"; 22 + hash = "sha256-B67v9B8LXDbWNxYNRxM3dgFFLjFSyJmm0zd3G5Bgvek="; 23 }; 24 25 sourceRoot = "source/src"; 26 27 nativeBuildInputs = [ cmake xxd ]; 28 29 + buildInputs = [ clang-unwrapped elfutils llvm numactl ]; 30 31 cmakeFlags = [ 32 "-DBITCODE_DIR=${rocm-device-libs}/amdgcn/bitcode" ··· 45 description = "Platform runtime for ROCm"; 46 homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime"; 47 license = with licenses; [ ncsa ]; 48 + maintainers = with maintainers; [ danieldk lovesegfault ]; 49 }; 50 }
+3 -3
pkgs/development/libraries/rocm-thunk/default.nix
··· 7 8 stdenv.mkDerivation rec { 9 pname = "rocm-thunk"; 10 - version = "4.1.0"; 11 12 src = fetchFromGitHub { 13 owner = "RadeonOpenCompute"; 14 repo = "ROCT-Thunk-Interface"; 15 rev = "rocm-${version}"; 16 - hash = "sha256-gdto7BbrSRa3UiRNvTW1KLkHyjrcxdah4+L+1Gdm0wA="; 17 }; 18 19 preConfigure = '' ··· 32 description = "Radeon open compute thunk interface"; 33 homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"; 34 license = with licenses; [ bsd2 mit ]; 35 - maintainers = with maintainers; [ ]; 36 }; 37 }
··· 7 8 stdenv.mkDerivation rec { 9 pname = "rocm-thunk"; 10 + version = "4.3.1"; 11 12 src = fetchFromGitHub { 13 owner = "RadeonOpenCompute"; 14 repo = "ROCT-Thunk-Interface"; 15 rev = "rocm-${version}"; 16 + hash = "sha256-jpwFL4UbEnWkw1AiM4U1s1t7GiqzBeOwa55VpnOG2Dk="; 17 }; 18 19 preConfigure = '' ··· 32 description = "Radeon open compute thunk interface"; 33 homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"; 34 license = with licenses; [ bsd2 mit ]; 35 + maintainers = with maintainers; [ lovesegfault ]; 36 }; 37 }
+2 -2
pkgs/development/python-modules/google-cloud-asset/default.nix
··· 17 18 buildPythonPackage rec { 19 pname = "google-cloud-asset"; 20 - version = "3.4.0"; 21 22 src = fetchPypi { 23 inherit pname version; 24 - sha256 = "bd1fe84efd2e45042d95c7e5713e0a0365ec8138df062c07fab761233202ab6f"; 25 }; 26 27 postPatch = ''
··· 17 18 buildPythonPackage rec { 19 pname = "google-cloud-asset"; 20 + version = "3.5.0"; 21 22 src = fetchPypi { 23 inherit pname version; 24 + sha256 = "7d7218ffdd17d64184e1de69ef016f1f070bb0c888785510c4731948b078067d"; 25 }; 26 27 postPatch = ''
+2 -2
pkgs/development/python-modules/google-resumable-media/default.nix
··· 12 13 buildPythonPackage rec { 14 pname = "google-resumable-media"; 15 - version = "2.0.1"; 16 17 src = fetchPypi { 18 inherit pname version; 19 - sha256 = "cac55be7802e3424b8f022d8a572a8349327e7ce8494eee5e0f4df02458b1813"; 20 }; 21 22 propagatedBuildInputs = [ google-auth google-crc32c requests ];
··· 12 13 buildPythonPackage rec { 14 pname = "google-resumable-media"; 15 + version = "2.0.2"; 16 17 src = fetchPypi { 18 inherit pname version; 19 + sha256 = "36d682161fdcbfa29681212c210fabecbf6849a505a0cbc54b7f70a10a5278a2"; 20 }; 21 22 propagatedBuildInputs = [ google-auth google-crc32c requests ];
+5 -1
pkgs/development/python-modules/pomegranate/default.nix
··· 31 url = "https://github.com/jmschrei/pomegranate/commit/42d14bebc44ffd4a778b2a6430aa845591b7c3b7.patch"; 32 sha256 = "0f9cx0fj9xkr3hch7jyrn76zjypilh5bqw734caaw6g2m49lvbff"; 33 }) 34 - ]; 35 36 propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ]; 37
··· 31 url = "https://github.com/jmschrei/pomegranate/commit/42d14bebc44ffd4a778b2a6430aa845591b7c3b7.patch"; 32 sha256 = "0f9cx0fj9xkr3hch7jyrn76zjypilh5bqw734caaw6g2m49lvbff"; 33 }) 34 + ] ++ [ 35 + # Likely an upstream test bug and not a real problem: 36 + # https://github.com/jmschrei/pomegranate/issues/939 37 + ./disable-failed-on-nextworkx-2.6.patch 38 + ] ; 39 40 propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ]; 41
+26
pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch
···
··· 1 + Test started failing after upgrading networkx 2.5.1 -> 2.6.2: 2 + https://github.com/jmschrei/pomegranate/issues/939 3 + 4 + Failures look benigh. 5 + --- a/tests/test_bayesian_network.py 6 + +++ b/tests/test_bayesian_network.py 7 + @@ -1057,7 +1057,8 @@ def test_exact_structure_learning_exclude_edges(): 8 + assert_not_equal(model.structure[-2], (d-1,)) 9 + assert_equal(model.structure[-2], (1,)) 10 + 11 + -def test_exact_dp_structure_learning_exclude_edges(): 12 + +# disabled for https://github.com/jmschrei/pomegranate/issues/939 13 + +def disabled_exact_dp_structure_learning_exclude_edges(): 14 + for X in datasets: 15 + X = X.copy() 16 + X[:,1] = X[:,-1] 17 + @@ -1139,7 +1140,8 @@ def test_constrained_parents_structure_learning_exclude_edges(): 18 + assert_equal(model.structure[7], (2,)) 19 + assert_equal(model.structure[4], (0,)) 20 + 21 + -def test_constrained_slap_structure_learning_exclude_edges(): 22 + +# disabled for https://github.com/jmschrei/pomegranate/issues/939 23 + +def disabled_constrained_slap_structure_learning_exclude_edges(): 24 + for X in datasets: 25 + X = X.copy() 26 + X[:,1] = X[:,-1]
+2 -2
pkgs/development/python-modules/trezor/default.nix
··· 24 25 buildPythonPackage rec { 26 pname = "trezor"; 27 - version = "0.12.3"; 28 29 disabled = !isPy3k; 30 31 src = fetchPypi { 32 inherit pname version; 33 - sha256 = "02c39c333435b8f6dc62cc79bb5bf35fc7f0eb144a1a748be3b7c065ee3e85ae"; 34 }; 35 36 nativeBuildInputs = [ installShellFiles ];
··· 24 25 buildPythonPackage rec { 26 pname = "trezor"; 27 + version = "0.12.4"; 28 29 disabled = !isPy3k; 30 31 src = fetchPypi { 32 inherit pname version; 33 + sha256 = "3e180d9f9f8b69176b5ef36311b6161f5b793b538eb2dfd4babbb4d3fb1e374e"; 34 }; 35 36 nativeBuildInputs = [ installShellFiles ];
+2 -2
pkgs/development/tools/build-managers/rocm-cmake/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "rocm-cmake"; 5 - version = "4.1.0"; 6 7 src = fetchFromGitHub { 8 owner = "RadeonOpenCompute"; 9 repo = "rocm-cmake"; 10 rev = "rocm-${version}"; 11 - hash = "sha256-uK060F7d7/pTCNbGqdKCzxgPrPPbGjNwuUOt176z7EM="; 12 }; 13 14 nativeBuildInputs = [ cmake ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "rocm-cmake"; 5 + version = "4.3.1"; 6 7 src = fetchFromGitHub { 8 owner = "RadeonOpenCompute"; 9 repo = "rocm-cmake"; 10 rev = "rocm-${version}"; 11 + hash = "sha256-BhpYOL7+IlBpkzeFjfy6KLO7ail472KQWFfQX/sXLGo="; 12 }; 13 14 nativeBuildInputs = [ cmake ];
+38
pkgs/development/tools/rocminfo/default.nix
···
··· 1 + { stdenv, lib, fetchFromGitHub, fetchpatch, cmake, rocm-runtime, python3, rocm-cmake, busybox, gnugrep 2 + # rocminfo requires that the calling user have a password and be in 3 + # the video group. If we let rocm_agent_enumerator rely upon 4 + # rocminfo's output, then it, too, has those requirements. Instead, 5 + # we can specify the GPU targets for this system (e.g. "gfx803" for 6 + # Polaris) such that no system call is needed for downstream 7 + # compilers to determine the desired target. 8 + , defaultTargets ? []}: 9 + stdenv.mkDerivation rec { 10 + version = "4.3.1"; 11 + pname = "rocminfo"; 12 + src = fetchFromGitHub { 13 + owner = "RadeonOpenCompute"; 14 + repo = "rocminfo"; 15 + rev = "rocm-${version}"; 16 + sha256 = "sha256-n80tiSVaPTFl4imZvoFENM4KhPLxgDKz5VlOvhEYlV0="; 17 + }; 18 + 19 + enableParallelBuilding = true; 20 + buildInputs = [ cmake rocm-cmake rocm-runtime ]; 21 + cmakeFlags = [ 22 + "-DROCM_DIR=${rocm-runtime}" 23 + "-DROCRTST_BLD_TYPE=Release" 24 + ]; 25 + 26 + prePatch = '' 27 + sed 's,#!/usr/bin/env python3,#!${python3}/bin/python,' -i rocm_agent_enumerator 28 + sed 's,lsmod | grep ,${busybox}/bin/lsmod | ${gnugrep}/bin/grep ,' -i rocminfo.cc 29 + ''; 30 + 31 + installPhase = '' 32 + mkdir -p $out/bin 33 + cp rocminfo $out/bin 34 + cp rocm_agent_enumerator $out/bin 35 + '' + lib.optionalString (defaultTargets != []) '' 36 + echo '${lib.concatStringsSep "\n" defaultTargets}' > $out/bin/target.lst 37 + ''; 38 + }
+2 -2
pkgs/misc/vim-plugins/generated.nix
··· 3482 pname = "neorg"; 3483 version = "2021-09-05"; 3484 src = fetchFromGitHub { 3485 - owner = "vhyrro"; 3486 repo = "neorg"; 3487 rev = "47a0a3d91ddde94488ccd03d38b5beeb296d3148"; 3488 sha256 = "0n8scyjy3wx2l3anl3dyipx7rlayrjb5dlri2r81dr1s77vkch83"; 3489 }; 3490 - meta.homepage = "https://github.com/vhyrro/neorg/"; 3491 }; 3492 3493 neoscroll-nvim = buildVimPluginFrom2Nix {
··· 3482 pname = "neorg"; 3483 version = "2021-09-05"; 3484 src = fetchFromGitHub { 3485 + owner = "nvim-neorg"; 3486 repo = "neorg"; 3487 rev = "47a0a3d91ddde94488ccd03d38b5beeb296d3148"; 3488 sha256 = "0n8scyjy3wx2l3anl3dyipx7rlayrjb5dlri2r81dr1s77vkch83"; 3489 }; 3490 + meta.homepage = "https://github.com/nvim-neorg/neorg/"; 3491 }; 3492 3493 neoscroll-nvim = buildVimPluginFrom2Nix {
+1 -1
pkgs/misc/vim-plugins/vim-plugin-names
··· 511 nvim-lua/lsp_extensions.nvim 512 nvim-lua/plenary.nvim 513 nvim-lua/popup.nvim 514 nvim-telescope/telescope-dap.nvim 515 nvim-telescope/telescope-frecency.nvim 516 nvim-telescope/telescope-fzf-native.nvim@main ··· 789 Valloric/MatchTagAlways 790 Valodim/deoplete-notmuch 791 vhda/verilog_systemverilog.vim 792 - vhyrro/neorg@main 793 vigoux/LanguageTool.nvim 794 vim-airline/vim-airline 795 vim-airline/vim-airline-themes
··· 511 nvim-lua/lsp_extensions.nvim 512 nvim-lua/plenary.nvim 513 nvim-lua/popup.nvim 514 + nvim-neorg/neorg@main 515 nvim-telescope/telescope-dap.nvim 516 nvim-telescope/telescope-frecency.nvim 517 nvim-telescope/telescope-fzf-native.nvim@main ··· 790 Valloric/MatchTagAlways 791 Valodim/deoplete-notmuch 792 vhda/verilog_systemverilog.vim 793 vigoux/LanguageTool.nvim 794 vim-airline/vim-airline 795 vim-airline/vim-airline-themes
+1
pkgs/os-specific/linux/bbswitch/default.nix
··· 59 platforms = [ "x86_64-linux" "i686-linux" ]; 60 homepage = "https://github.com/Bumblebee-Project/bbswitch"; 61 maintainers = with maintainers; [ abbradar ]; 62 }; 63 }
··· 59 platforms = [ "x86_64-linux" "i686-linux" ]; 60 homepage = "https://github.com/Bumblebee-Project/bbswitch"; 61 maintainers = with maintainers; [ abbradar ]; 62 + license = licenses.gpl2Plus; 63 }; 64 }
+1 -1
pkgs/os-specific/linux/perf-tools/default.nix
··· 40 homepage = "https://github.com/brendangregg/perf-tools"; 41 description = "Performance analysis tools based on Linux perf_events (aka perf) and ftrace"; 42 maintainers = [ maintainers.eelco ]; 43 - license = licenses.gpl2; 44 }; 45 }
··· 40 homepage = "https://github.com/brendangregg/perf-tools"; 41 description = "Performance analysis tools based on Linux perf_events (aka perf) and ftrace"; 42 maintainers = [ maintainers.eelco ]; 43 + license = licenses.gpl2Plus; 44 }; 45 }
+1 -1
pkgs/tools/backup/mylvmbackup/default.nix
··· 10 version = "0.16"; 11 12 src = fetchurl { 13 - url = "${meta.homepage}/${pname}-${version}.tar.gz"; 14 sha256 = "sha256-vb7M3EPIrxIz6jUwm241fzaEz2czqdCObrFgSOSgJRU="; 15 }; 16
··· 10 version = "0.16"; 11 12 src = fetchurl { 13 + url = "https://www.lenzg.net/mylvmbackup/${pname}-${version}.tar.gz"; 14 sha256 = "sha256-vb7M3EPIrxIz6jUwm241fzaEz2czqdCObrFgSOSgJRU="; 15 }; 16
+26
pkgs/tools/networking/spoof-mac/default.nix
···
··· 1 + { lib, buildPythonPackage, fetchFromGitHub, docopt }: 2 + 3 + buildPythonPackage rec { 4 + pname = "spoof-mac"; 5 + version = "unstable-2018-01-27"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "feross"; 9 + repo = "SpoofMAC"; 10 + rev = "2cfc796150ef48009e9b765fe733e37d82c901e0"; 11 + sha256 = "sha256-Qiu0URjUyx8QDVQQUFGxPax0J80e2m4+bPJeqFoKxX8="; 12 + }; 13 + 14 + propagatedBuildInputs = [ docopt ]; 15 + 16 + # No tests 17 + doCheck = false; 18 + 19 + meta = with lib; { 20 + description = "Change your MAC address for debugging purposes"; 21 + homepage = "https://github.com/feross/SpoofMAC"; 22 + license = licenses.mit; 23 + maintainers = with maintainers; [ siraben ]; 24 + platforms = platforms.unix; 25 + }; 26 + }
+5 -5
pkgs/tools/system/rocm-smi/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, python3 }: 2 3 stdenv.mkDerivation rec { 4 pname = "rocm-smi"; 5 - version = "4.1.0"; 6 7 src = fetchFromGitHub { 8 owner = "RadeonOpenCompute"; 9 repo = "rocm_smi_lib"; 10 rev = "rocm-${version}"; 11 - hash = "sha256-LEaC1XhmyoVWrpL05MhgN02LVT2rLKdnw9g2QdfM/uE="; 12 }; 13 14 - nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; 15 16 postPatch = '' 17 # Upstream ROCm is installed in an /opt directory. For this reason, ··· 46 description = "System management interface for AMD GPUs supported by ROCm"; 47 homepage = "https://github.com/RadeonOpenCompute/ROC-smi"; 48 license = with licenses; [ mit ]; 49 - maintainers = with maintainers; [ ]; 50 platforms = [ "x86_64-linux" ]; 51 }; 52 }
··· 1 + { lib, stdenv, fetchFromGitHub, cmake, wrapPython }: 2 3 stdenv.mkDerivation rec { 4 pname = "rocm-smi"; 5 + version = "4.3.1"; 6 7 src = fetchFromGitHub { 8 owner = "RadeonOpenCompute"; 9 repo = "rocm_smi_lib"; 10 rev = "rocm-${version}"; 11 + hash = "sha256-Ckno73Otkc9rHEUkSgNoOui+6ZHGUF+B9iAoe0NQH0c="; 12 }; 13 14 + nativeBuildInputs = [ cmake wrapPython ]; 15 16 postPatch = '' 17 # Upstream ROCm is installed in an /opt directory. For this reason, ··· 46 description = "System management interface for AMD GPUs supported by ROCm"; 47 homepage = "https://github.com/RadeonOpenCompute/ROC-smi"; 48 license = with licenses; [ mit ]; 49 + maintainers = with maintainers; [ lovesegfault ]; 50 platforms = [ "x86_64-linux" ]; 51 }; 52 }
+4 -4
pkgs/tools/text/difftastic/default.nix
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "difftastic"; 5 - version = "0.6"; 6 7 src = fetchFromGitHub { 8 owner = "wilfred"; 9 repo = pname; 10 rev = version; 11 - sha256 = "WFvxdRCbTBW1RGn2SvAo2iXn82OO/Z06cZQkIu4eiew="; 12 }; 13 14 - cargoSha256 = "2hRUfIxNVs4uSrEESas3wvvVsZHVocP8aiO7K0NZ+mY="; 15 16 meta = with lib; { 17 description = "A syntax-aware diff"; 18 homepage = "https://github.com/Wilfred/difftastic"; 19 license = licenses.mit; 20 maintainers = with maintainers; [ ethancedwards8 ]; 21 - platforms = platforms.unix; 22 }; 23 }
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "difftastic"; 5 + version = "0.8"; 6 7 src = fetchFromGitHub { 8 owner = "wilfred"; 9 repo = pname; 10 rev = version; 11 + sha256 = "0103py4v4v7xqv85yiczhd9w9h1aa54svhhdibvbl6x4b35y2mk5"; 12 }; 13 14 + cargoSha256 = "1k0d7yadicfzfc2m1aqs4c4a2k3srb54fpwarc3kwn26v3vfjai1"; 15 16 meta = with lib; { 17 description = "A syntax-aware diff"; 18 homepage = "https://github.com/Wilfred/difftastic"; 19 + changelog = "https://github.com/Wilfred/difftastic/raw/${version}/CHANGELOG.md"; 20 license = licenses.mit; 21 maintainers = with maintainers; [ ethancedwards8 ]; 22 }; 23 }
+9 -3
pkgs/top-level/all-packages.nix
··· 9086 9087 spicy = callPackage ../development/tools/spicy { }; 9088 9089 ssh-askpass-fullscreen = callPackage ../tools/networking/ssh-askpass-fullscreen { }; 9090 9091 sshguard = callPackage ../tools/security/sshguard {}; ··· 12173 inherit (llvmPackages_rocm) clang; 12174 }; 12175 12176 rocm-cmake = callPackage ../development/tools/build-managers/rocm-cmake { }; 12177 12178 rocm-comgr = callPackage ../development/libraries/rocm-comgr { 12179 inherit (llvmPackages_rocm) clang lld llvm; 12180 - device-libs = rocm-device-libs; 12181 }; 12182 12183 rocm-device-libs = callPackage ../development/libraries/rocm-device-libs { ··· 12194 inherit (llvmPackages_rocm) clang-unwrapped llvm; 12195 }; 12196 12197 - # Python >= 3.8 still gives a bunch of warnings. 12198 - rocm-smi = python37.pkgs.callPackage ../tools/system/rocm-smi { }; 12199 12200 rocm-thunk = callPackage ../development/libraries/rocm-thunk { }; 12201 12202 rtags = callPackage ../development/tools/rtags { 12203 inherit (darwin) apple_sdk;
··· 9086 9087 spicy = callPackage ../development/tools/spicy { }; 9088 9089 + spoof-mac = python3Packages.callPackage ../tools/networking/spoof-mac { }; 9090 + 9091 ssh-askpass-fullscreen = callPackage ../tools/networking/ssh-askpass-fullscreen { }; 9092 9093 sshguard = callPackage ../tools/security/sshguard {}; ··· 12175 inherit (llvmPackages_rocm) clang; 12176 }; 12177 12178 + hip = callPackage ../development/compilers/hip { 12179 + inherit (llvmPackages_rocm) clang clang-unwrapped compiler-rt lld llvm; 12180 + }; 12181 + 12182 rocm-cmake = callPackage ../development/tools/build-managers/rocm-cmake { }; 12183 12184 rocm-comgr = callPackage ../development/libraries/rocm-comgr { 12185 inherit (llvmPackages_rocm) clang lld llvm; 12186 }; 12187 12188 rocm-device-libs = callPackage ../development/libraries/rocm-device-libs { ··· 12199 inherit (llvmPackages_rocm) clang-unwrapped llvm; 12200 }; 12201 12202 + rocm-smi = python3Packages.callPackage ../tools/system/rocm-smi { }; 12203 12204 rocm-thunk = callPackage ../development/libraries/rocm-thunk { }; 12205 + 12206 + rocminfo = callPackage ../development/tools/rocminfo { }; 12207 12208 rtags = callPackage ../development/tools/rtags { 12209 inherit (darwin) apple_sdk;