Merge branch 'master' into add-granatier

This commit is contained in:
Thomas Tuegel 2020-07-13 09:50:36 -05:00 committed by GitHub
commit cb52023529
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
274 changed files with 3278 additions and 2161 deletions

View File

@ -2018,6 +2018,9 @@ addEnvHooks "$hostOffset" myBashFunction
<para> <para>
In certain situations you may want to run the main command (<command>autoPatchelf</command>) of the setup hook on a file or a set of directories instead of unconditionally patching all outputs. This can be done by setting the <varname>dontAutoPatchelf</varname> environment variable to a non-empty value. In certain situations you may want to run the main command (<command>autoPatchelf</command>) of the setup hook on a file or a set of directories instead of unconditionally patching all outputs. This can be done by setting the <varname>dontAutoPatchelf</varname> environment variable to a non-empty value.
</para> </para>
<para>
By default <command>autoPatchelf</command> will fail as soon as any ELF file requires a dependency which cannot be resolved via the given build inputs. In some situations you might prefer to just leave missing dependencies unpatched and continue to patch the rest. This can be achieved by setting the <envar>autoPatchelfIgnoreMissingDeps</envar> environment variable to a non-empty value.
</para>
<para> <para>
The <command>autoPatchelf</command> command also recognizes a <parameter class="command">--no-recurse</parameter> command line flag, which prevents it from recursing into subdirectories. The <command>autoPatchelf</command> command also recognizes a <parameter class="command">--no-recurse</parameter> command line flag, which prevents it from recursing into subdirectories.
</para> </para>

View File

@ -430,9 +430,9 @@ in {
(mkChangedOptionModule (mkChangedOptionModule
[ "security" "initialRootPassword" ] [ "security" "initialRootPassword" ]
[ "users" "users" "root" "initialHashedPassword" ] [ "users" "users" "root" "initialHashedPassword" ]
(cfg: if cfg.security.initialHashedPassword == "!" (cfg: if cfg.security.initialRootPassword == "!"
then null then null
else cfg.security.initialHashedPassword)) else cfg.security.initialRootPassword))
]; ];
###### interface ###### interface

View File

@ -31,6 +31,59 @@ in
''; '';
}; };
rcloneOptions = mkOption {
type = with types; nullOr (attrsOf (oneOf [ str bool ]));
default = null;
description = ''
Options to pass to rclone to control its behavior.
See <link xlink:href="https://rclone.org/docs/#options"/> for
available options. When specifying option names, strip the
leading <literal>--</literal>. To set a flag such as
<literal>--drive-use-trash</literal>, which does not take a value,
set the value to the Boolean <literal>true</literal>.
'';
example = {
bwlimit = "10M";
drive-use-trash = "true";
};
};
rcloneConfig = mkOption {
type = with types; nullOr (attrsOf (oneOf [ str bool ]));
default = null;
description = ''
Configuration for the rclone remote being used for backup.
See the remote's specific options under rclone's docs at
<link xlink:href="https://rclone.org/docs/"/>. When specifying
option names, use the "config" name specified in the docs.
For example, to set <literal>--b2-hard-delete</literal> for a B2
remote, use <literal>hard_delete = true</literal> in the
attribute set.
Warning: Secrets set in here will be world-readable in the Nix
store! Consider using the <literal>rcloneConfigFile</literal>
option instead to specify secret values separately. Note that
options set here will override those set in the config file.
'';
example = {
type = "b2";
account = "xxx";
key = "xxx";
hard_delete = true;
};
};
rcloneConfigFile = mkOption {
type = with types; nullOr path;
default = null;
description = ''
Path to the file containing rclone configuration. This file
must contain configuration for the remote specified in this backup
set and also must be readable by root. Options set in
<literal>rcloneConfig</literal> will override those set in this
file.
'';
};
repository = mkOption { repository = mkOption {
type = types.str; type = types.str;
description = '' description = ''
@ -170,11 +223,22 @@ in
( resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts) ) ( resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts) )
( resticCmd + " check" ) ( resticCmd + " check" )
]; ];
# Helper functions for rclone remotes
rcloneRemoteName = builtins.elemAt (splitString ":" backup.repository) 1;
rcloneAttrToOpt = v: "RCLONE_" + toUpper (builtins.replaceStrings [ "-" ] [ "_" ] v);
rcloneAttrToConf = v: "RCLONE_CONFIG_" + toUpper (rcloneRemoteName + "_" + v);
toRcloneVal = v: if lib.isBool v then lib.boolToString v else v;
in nameValuePair "restic-backups-${name}" ({ in nameValuePair "restic-backups-${name}" ({
environment = { environment = {
RESTIC_PASSWORD_FILE = backup.passwordFile; RESTIC_PASSWORD_FILE = backup.passwordFile;
RESTIC_REPOSITORY = backup.repository; RESTIC_REPOSITORY = backup.repository;
}; } // optionalAttrs (backup.rcloneOptions != null) (mapAttrs' (name: value:
nameValuePair (rcloneAttrToOpt name) (toRcloneVal value)
) backup.rcloneOptions) // optionalAttrs (backup.rcloneConfigFile != null) {
RCLONE_CONFIG = backup.rcloneConfigFile;
} // optionalAttrs (backup.rcloneConfig != null) (mapAttrs' (name: value:
nameValuePair (rcloneAttrToConf name) (toRcloneVal value)
) backup.rcloneConfig);
path = [ pkgs.openssh ]; path = [ pkgs.openssh ];
restartIfChanged = false; restartIfChanged = false;
serviceConfig = { serviceConfig = {

View File

@ -6,10 +6,7 @@ let
cfg = config.services.jupyter; cfg = config.services.jupyter;
# NOTE: We don't use top-level jupyter because we don't package = cfg.package;
# want to pass in JUPYTER_PATH but use .environment instead,
# saving a rebuild.
package = pkgs.python3.pkgs.notebook;
kernels = (pkgs.jupyter-kernel.create { kernels = (pkgs.jupyter-kernel.create {
definitions = if cfg.kernels != null definitions = if cfg.kernels != null
@ -37,6 +34,27 @@ in {
''; '';
}; };
package = mkOption {
type = types.package;
# NOTE: We don't use top-level jupyter because we don't
# want to pass in JUPYTER_PATH but use .environment instead,
# saving a rebuild.
default = pkgs.python3.pkgs.notebook;
description = ''
Jupyter package to use.
'';
};
command = mkOption {
type = types.str;
default = "jupyter-notebook";
example = "jupyter-lab";
description = ''
Which command the service runs. Note that not all jupyter packages
have all commands, e.g. jupyter-lab isn't present in the default package.
'';
};
port = mkOption { port = mkOption {
type = types.int; type = types.int;
default = 8888; default = 8888;
@ -157,7 +175,7 @@ in {
serviceConfig = { serviceConfig = {
Restart = "always"; Restart = "always";
ExecStart = ''${package}/bin/jupyter-notebook \ ExecStart = ''${package}/bin/${cfg.command} \
--no-browser \ --no-browser \
--ip=${cfg.ip} \ --ip=${cfg.ip} \
--port=${toString cfg.port} --port-retries 0 \ --port=${toString cfg.port} --port-retries 0 \

View File

@ -162,6 +162,8 @@ in
unitConfig.RequiresMountsFor = stateDir; unitConfig.RequiresMountsFor = stateDir;
# This a HACK to fix missing dependencies of dynamic libs extracted from jars # This a HACK to fix missing dependencies of dynamic libs extracted from jars
environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib"; environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib";
# Make sure package upgrades trigger a service restart
restartTriggers = [ cfg.unifiPackage cfg.mongodbPackage ];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";

View File

@ -652,7 +652,7 @@ my @deviceTargets = getList('devices');
my $prevGrubState = readGrubState(); my $prevGrubState = readGrubState();
my @prevDeviceTargets = split/,/, $prevGrubState->devices; my @prevDeviceTargets = split/,/, $prevGrubState->devices;
my @extraGrubInstallArgs = getList('extraGrubInstallArgs'); my @extraGrubInstallArgs = getList('extraGrubInstallArgs');
my @prevExtraGrubInstallArgs = $prevGrubState->extraGrubInstallArgs; my @prevExtraGrubInstallArgs = @{$prevGrubState->extraGrubInstallArgs};
my $devicesDiffer = scalar (List::Compare->new( '-u', '-a', \@deviceTargets, \@prevDeviceTargets)->get_symmetric_difference()); my $devicesDiffer = scalar (List::Compare->new( '-u', '-a', \@deviceTargets, \@prevDeviceTargets)->get_symmetric_difference());
my $extraGrubInstallArgsDiffer = scalar (List::Compare->new( '-u', '-a', \@extraGrubInstallArgs, \@prevExtraGrubInstallArgs)->get_symmetric_difference()); my $extraGrubInstallArgsDiffer = scalar (List::Compare->new( '-u', '-a', \@extraGrubInstallArgs, \@prevExtraGrubInstallArgs)->get_symmetric_difference());

View File

@ -473,8 +473,6 @@ in
[ "aes" "aes_generic" "blowfish" "twofish" [ "aes" "aes_generic" "blowfish" "twofish"
"serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512"
"af_alg" "algif_skcipher" "af_alg" "algif_skcipher"
(if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then "aes_x86_64" else "aes_i586")
]; ];
description = '' description = ''
A list of cryptographic kernel modules needed to decrypt the root device(s). A list of cryptographic kernel modules needed to decrypt the root device(s).

View File

@ -302,7 +302,7 @@ let
checkDhcpV6 = checkUnitConfig "DHCPv6" [ checkDhcpV6 = checkUnitConfig "DHCPv6" [
(assertOnlyFields [ (assertOnlyFields [
"UseDns" "UseNTP" "RapidCommit" "ForceDHCPv6PDOtherInformation" "UseDNS" "UseNTP" "RapidCommit" "ForceDHCPv6PDOtherInformation"
"PrefixDelegationHint" "PrefixDelegationHint"
]) ])
(assertValueOneOf "UseDNS" boolValues) (assertValueOneOf "UseDNS" boolValues)

View File

@ -818,6 +818,49 @@ in
''; '';
}; };
systemd.watchdog.device = mkOption {
type = types.nullOr types.path;
default = null;
example = "/dev/watchdog";
description = ''
The path to a hardware watchdog device which will be managed by systemd.
If not specified, systemd will default to /dev/watchdog.
'';
};
systemd.watchdog.runtimeTime = mkOption {
type = types.nullOr types.str;
default = null;
example = "30s";
description = ''
The amount of time which can elapse before a watchdog hardware device
will automatically reboot the system. Valid time units include "ms",
"s", "min", "h", "d", and "w".
'';
};
systemd.watchdog.rebootTime = mkOption {
type = types.nullOr types.str;
default = null;
example = "10m";
description = ''
The amount of time which can elapse after a reboot has been triggered
before a watchdog hardware device will automatically reboot the system.
Valid time units include "ms", "s", "min", "h", "d", and "w".
'';
};
systemd.watchdog.kexecTime = mkOption {
type = types.nullOr types.str;
default = null;
example = "10m";
description = ''
The amount of time which can elapse when kexec is being executed before
a watchdog hardware device will automatically reboot the system. This
option should only be enabled if reloadTime is also enabled. Valid
time units include "ms", "s", "min", "h", "d", and "w".
'';
};
}; };
@ -889,6 +932,19 @@ in
DefaultIPAccounting=yes DefaultIPAccounting=yes
''} ''}
DefaultLimitCORE=infinity DefaultLimitCORE=infinity
${optionalString (config.systemd.watchdog.device != null) ''
WatchdogDevice=${config.systemd.watchdog.device}
''}
${optionalString (config.systemd.watchdog.runtimeTime != null) ''
RuntimeWatchdogSec=${config.systemd.watchdog.runtimeTime}
''}
${optionalString (config.systemd.watchdog.rebootTime != null) ''
RebootWatchdogSec=${config.systemd.watchdog.rebootTime}
''}
${optionalString (config.systemd.watchdog.kexecTime != null) ''
KExecWatchdogSec=${config.systemd.watchdog.kexecTime}
''}
${config.systemd.extraConfig} ${config.systemd.extraConfig}
''; '';

View File

@ -4,23 +4,9 @@ import ./make-test-python.nix (
let let
password = "some_password"; password = "some_password";
repository = "/tmp/restic-backup"; repository = "/tmp/restic-backup";
passwordFile = pkgs.writeText "password" "correcthorsebatterystaple"; rcloneRepository = "rclone:local:/tmp/restic-rclone-backup";
in
{
name = "restic";
meta = with pkgs.stdenv.lib.maintainers; { passwordFile = "${pkgs.writeText "password" "correcthorsebatterystaple"}";
maintainers = [ bbigras ];
};
nodes = {
server =
{ ... }:
{
services.restic.backups = {
remotebackup = {
inherit repository;
passwordFile = "${passwordFile}";
initialize = true; initialize = true;
paths = [ "/opt" ]; paths = [ "/opt" ];
pruneOpts = [ pruneOpts = [
@ -29,8 +15,39 @@ import ./make-test-python.nix (
"--keep-monthly 1" "--keep-monthly 1"
"--keep-yearly 99" "--keep-yearly 99"
]; ];
in
{
name = "restic";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ bbigras i077 ];
};
nodes = {
server =
{ pkgs, ... }:
{
services.restic.backups = {
remotebackup = {
inherit repository passwordFile initialize paths pruneOpts;
};
rclonebackup = {
repository = rcloneRepository;
rcloneConfig = {
type = "local";
one_file_system = true;
};
# This gets overridden by rcloneConfig.type
rcloneConfigFile = pkgs.writeText "rclone.conf" ''
[local]
type=ftp
'';
inherit passwordFile initialize paths pruneOpts;
}; };
}; };
environment.sessionVariables.RCLONE_CONFIG_LOCAL_TYPE = "local";
}; };
}; };
@ -38,25 +55,35 @@ import ./make-test-python.nix (
server.start() server.start()
server.wait_for_unit("dbus.socket") server.wait_for_unit("dbus.socket")
server.fail( server.fail(
"${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots" "${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots",
"${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots",
) )
server.succeed( server.succeed(
"mkdir -p /opt", "mkdir -p /opt",
"touch /opt/some_file", "touch /opt/some_file",
"mkdir -p /tmp/restic-rclone-backup",
"timedatectl set-time '2016-12-13 13:45'", "timedatectl set-time '2016-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service", "systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"', '${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
"timedatectl set-time '2017-12-13 13:45'", "timedatectl set-time '2017-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service", "systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-13 13:45'", "timedatectl set-time '2018-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service", "systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-14 13:45'", "timedatectl set-time '2018-12-14 13:45'",
"systemctl start restic-backups-remotebackup.service", "systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-15 13:45'", "timedatectl set-time '2018-12-15 13:45'",
"systemctl start restic-backups-remotebackup.service", "systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-16 13:45'", "timedatectl set-time '2018-12-16 13:45'",
"systemctl start restic-backups-remotebackup.service", "systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"', '${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
) )
''; '';
} }

View File

@ -50,6 +50,13 @@ import ./make-test-python.nix ({ pkgs, ... }: {
fi fi
''; '';
}; };
systemd.watchdog = {
device = "/dev/watchdog";
runtimeTime = "30s";
rebootTime = "10min";
kexecTime = "5min";
};
}; };
testScript = '' testScript = ''
@ -117,5 +124,20 @@ import ./make-test-python.nix ({ pkgs, ... }: {
retcode, output = machine.execute("systemctl status testservice1.service") retcode, output = machine.execute("systemctl status testservice1.service")
assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507 assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507
assert "CPU:" in output assert "CPU:" in output
# Test systemd is configured to manage a watchdog
with subtest("systemd manages hardware watchdog"):
machine.wait_for_unit("multi-user.target")
# It seems that the device's path doesn't appear in 'systemctl show' so
# check it separately.
assert "WatchdogDevice=/dev/watchdog" in machine.succeed(
"cat /etc/systemd/system.conf"
)
output = machine.succeed("systemctl show | grep Watchdog")
assert "RuntimeWatchdogUSec=30s" in output
assert "RebootWatchdogUSec=10m" in output
assert "KExecWatchdogUSec=5m" in output
''; '';
}) })

View File

@ -20,7 +20,7 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
version = "0.4.7"; version = "0.4.8";
pname = "gnome-podcasts"; pname = "gnome-podcasts";
src = fetchFromGitLab { src = fetchFromGitLab {
@ -28,10 +28,10 @@ rustPlatform.buildRustPackage rec {
owner = "World"; owner = "World";
repo = "podcasts"; repo = "podcasts";
rev = version; rev = version;
sha256 = "0vy5i77bv8c22ldhrnr4z6kx22zqnb1lg3s7y8673bqjgd7dppi0"; sha256 = "0y2332zjq7vf1v38wzwz98fs19vpzy9kl7y0xbdzqr303l59hjb1";
}; };
cargoSha256 = "1dlbdxsf9p2jzrsclm43k95y8m3zcd41qd9ajg1ii3fpnahi58kd"; cargoSha256 = "1jbii9k4bkrivdk1ffr6556q1sgk9j4jbzwnn8vbxmksyl1x328q";
nativeBuildInputs = [ nativeBuildInputs = [
meson meson

View File

@ -19,13 +19,13 @@ let
in in
mkDerivation rec { mkDerivation rec {
pname = "mixxx"; pname = "mixxx";
version = "2.2.3"; version = "2.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mixxxdj"; owner = "mixxxdj";
repo = "mixxx"; repo = "mixxx";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "1h7q25fv62c5m74d4cn1m6mpanmqpbl2wqbch4qvn488jb2jw1dv"; sha256 = "1dj9li8av9b2kbm76jvvbdmihy1pyrw0s4xd7dd524wfhwr1llxr";
}; };
nativeBuildInputs = [ scons.py2 ]; nativeBuildInputs = [ scons.py2 ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "go-ethereum"; pname = "go-ethereum";
version = "1.9.15"; version = "1.9.16";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1c69rfnx9130b87pw9lnaxyrbzwfhqb2dxyl7qyiscq85hqs16f9"; sha256 = "0vycnyz6v39cfrck70h3dbn7jkkh67q0fli240ksw2cp4pqwpwcn";
}; };
usb = fetchFromGitHub { usb = fetchFromGitHub {
@ -18,7 +18,7 @@ buildGoModule rec {
sha256 = "0asd5fz2rhzkjmd8wjgmla5qmqyz4jaa6qf0n2ycia16jsck6wc2"; sha256 = "0asd5fz2rhzkjmd8wjgmla5qmqyz4jaa6qf0n2ycia16jsck6wc2";
}; };
vendorSha256 = "1pjgcx6sydfipsx8s0kl7n6r3lk61klsfrkd7cg4l934k590q2n7"; vendorSha256 = "0w2214fllw93xbrlxayhl014aqbjsc8zz7mpik7w5b26m60hn5kr";
overrideModAttrs = (_: { overrideModAttrs = (_: {
postBuild = '' postBuild = ''

View File

@ -294,12 +294,12 @@ in
goland = buildGoland rec { goland = buildGoland rec {
name = "goland-${version}"; name = "goland-${version}";
version = "2020.1.3"; /* updated by script */ version = "2020.1.4"; /* updated by script */
description = "Up and Coming Go IDE"; description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz"; url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "0pqwj4gc23gf10xqciwndimb4ml7djmx8m5rh52c07m77y4aniyn"; /* updated by script */ sha256 = "1wgcc1faqn0y9brxikh53s6ly7zvpdmpg7m5gvp5437isbllisbl"; /* updated by script */
}; };
wmClass = "jetbrains-goland"; wmClass = "jetbrains-goland";
update-channel = "GoLand RELEASE"; update-channel = "GoLand RELEASE";
@ -307,12 +307,12 @@ in
idea-community = buildIdea rec { idea-community = buildIdea rec {
name = "idea-community-${version}"; name = "idea-community-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "07gfqyp6blbf7v8p106ngpq7c5p0llcjahi205yg2jgzkhshn7ld"; /* updated by script */ sha256 = "1aycsy2pg8nw5il8p2r6bhim9y47g5rfga63f0p435mpjmzpll0s"; /* updated by script */
}; };
wmClass = "jetbrains-idea-ce"; wmClass = "jetbrains-idea-ce";
update-channel = "IntelliJ IDEA RELEASE"; update-channel = "IntelliJ IDEA RELEASE";
@ -320,12 +320,12 @@ in
idea-ultimate = buildIdea rec { idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}"; name = "idea-ultimate-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz"; url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
sha256 = "13qj8n5daz0z0pjizyfsvbbr1gxp5479ar3a68ygi0vrpmbdbssd"; /* updated by script */ sha256 = "188wkqcv67kizq4w6v4vg9jpr3qfgbg9x5jc77s4ki4nafkbfxas"; /* updated by script */
}; };
wmClass = "jetbrains-idea"; wmClass = "jetbrains-idea";
update-channel = "IntelliJ IDEA RELEASE"; update-channel = "IntelliJ IDEA RELEASE";
@ -333,12 +333,12 @@ in
mps = buildMps rec { mps = buildMps rec {
name = "mps-${version}"; name = "mps-${version}";
version = "2019.2"; version = "2020.1.2"; /* updated by script */
description = "Create your own domain-specific language"; description = "Create your own domain-specific language";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/mps/2019.2/MPS-${version}.tar.gz"; url = "https://download.jetbrains.com/mps/2020.1/MPS-${version}.tar.gz";
sha256 = "0rph3bibj74ddbyrn0az1npn4san4g1alci8nlq4gaqdlcz6zx22"; sha256 = "0ygk31l44bxcv64h6lnqxssmx5prcb5b5xdm3qxmrv7xz1qv59c1"; /* updated by script */
}; };
wmClass = "jetbrains-mps"; wmClass = "jetbrains-mps";
update-channel = "MPS RELEASE"; update-channel = "MPS RELEASE";
@ -346,12 +346,12 @@ in
phpstorm = buildPhpStorm rec { phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}"; name = "phpstorm-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "Professional IDE for Web and PHP developers"; description = "Professional IDE for Web and PHP developers";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
sha256 = "00c8vlp125j56v9g9d4rc5g4dhgvl1bhi6qrzvpaf6x77jbq4fv4"; /* updated by script */ sha256 = "0cw2rx68rl6mrnizpb69ahz4hrh8blry70cv4rjnkw19d4x877m8"; /* updated by script */
}; };
wmClass = "jetbrains-phpstorm"; wmClass = "jetbrains-phpstorm";
update-channel = "PhpStorm RELEASE"; update-channel = "PhpStorm RELEASE";
@ -359,12 +359,12 @@ in
pycharm-community = buildPycharm rec { pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}"; name = "pycharm-community-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "PyCharm Community Edition"; description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz"; url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1s04b9w7sydix1sjqzmby63nwcvzs6iw28wz7441kxgryl9qg0qw"; /* updated by script */ sha256 = "1290k17nihiih8ipxfqax1xlx320h1vkwbcc5hc50psvpsfgiall"; /* updated by script */
}; };
wmClass = "jetbrains-pycharm-ce"; wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm RELEASE"; update-channel = "PyCharm RELEASE";
@ -372,12 +372,12 @@ in
pycharm-professional = buildPycharm rec { pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}"; name = "pycharm-professional-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "PyCharm Professional Edition"; description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz"; url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1ysj00qbn5ik6i5953b9mln4g456fmn3phdln9m5jmcb0126y235"; /* updated by script */ sha256 = "1ag8jrfs38f0q11pyil4pvddi8lv46b0jxd3mcbmidn3p1z29f9x"; /* updated by script */
}; };
wmClass = "jetbrains-pycharm"; wmClass = "jetbrains-pycharm";
update-channel = "PyCharm RELEASE"; update-channel = "PyCharm RELEASE";
@ -385,12 +385,12 @@ in
rider = buildRider rec { rider = buildRider rec {
name = "rider-${version}"; name = "rider-${version}";
version = "2020.1.3"; /* updated by script */ version = "2020.1.4"; /* updated by script */
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz"; url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
sha256 = "1zzkd3b5j3q6jqrvibxz33a4fcm7pgqfx91bqjs615v3499ncng7"; /* updated by script */ sha256 = "0vicgwgsbllfw6fz4l82x4vbka3agf541576ix9akyvsskwbaxj9"; /* updated by script */
}; };
wmClass = "jetbrains-rider"; wmClass = "jetbrains-rider";
update-channel = "Rider RELEASE"; update-channel = "Rider RELEASE";
@ -398,12 +398,12 @@ in
ruby-mine = buildRubyMine rec { ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}"; name = "ruby-mine-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "The Most Intelligent Ruby and Rails IDE"; description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
sha256 = "1ycwml7fyhjajjfy1fhggmx0mcdcjidkxll7357rv2z51r0yhc9h"; /* updated by script */ sha256 = "1z6z2c31aq29hzi1cifc77zz9vnw48h2jvw4w61lvgskcnzrw9vn"; /* updated by script */
}; };
wmClass = "jetbrains-rubymine"; wmClass = "jetbrains-rubymine";
update-channel = "RubyMine RELEASE"; update-channel = "RubyMine RELEASE";
@ -411,12 +411,12 @@ in
webstorm = buildWebStorm rec { webstorm = buildWebStorm rec {
name = "webstorm-${version}"; name = "webstorm-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "Professional IDE for Web and JavaScript development"; description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
sha256 = "1szgiccimfk99z9x1k99lgic6ix81fdahf1k3a88rddl8hhncjwv"; /* updated by script */ sha256 = "19zqac77fkw1czf86s39ggnd24r9ljr80gj422ch4fdkz4qy832q"; /* updated by script */
}; };
wmClass = "jetbrains-webstorm"; wmClass = "jetbrains-webstorm";
update-channel = "WebStorm RELEASE"; update-channel = "WebStorm RELEASE";

View File

@ -13,8 +13,8 @@ let
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
cfg = { cfg = {
version = "7.0.10-17"; version = "7.0.10-19";
sha256 = "15cj9qkikx13j6gfqaawi4nh09lnzg3asf5mdcswx6z6yhbf90zx"; sha256 = "12ilfdbxllkaa3bs9z86d2nkklqz5c0l57kqj91l2ixjlvra64w0";
patches = []; patches = [];
}; };
in in

View File

@ -34,8 +34,6 @@ stdenv.mkDerivation rec {
"-DUSE_KWALLET=OFF" "-DUSE_KWALLET=OFF"
]; ];
# Reduce the risk of collisions
postInstall = "rm -r $out/share/doc";
# darktable changed its rpath handling in commit # darktable changed its rpath handling in commit
# 83c70b876af6484506901e6b381304ae0d073d3c and as a result the # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the

View File

@ -10,11 +10,11 @@ with stdenv.lib;
perlPackages.buildPerlPackage rec { perlPackages.buildPerlPackage rec {
pname = "gscan2pdf"; pname = "gscan2pdf";
version = "2.8.0"; version = "2.8.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz"; url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
sha256 = "0rqx41hkppil3lp1dhkxwlhv0kwp8w8fkgzlapryq1yd9pgkx6lw"; sha256 = "00g2vw7lz3yb4nq358x8d3r4mf3hkrq2vw1g9lli27zdp5p6jja1";
}; };
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook ];

View File

@ -0,0 +1,28 @@
{ mkDerivation, lib
, libkdegames, extra-cmake-modules
, kdeclarative, knewstuff
}:
mkDerivation {
name = "bovo";
meta = with lib; {
homepage = "https://kde.org/applications/en/games/org.kde.bovo";
description = "Five in a row application";
longDescription = ''
Bovo is a Gomoku (from Japanese - lit. "five points") like game for two players,
where the opponents alternate in placing their respective pictogram on the game board.
(Also known as: Connect Five, Five in a row, X and O, Naughts and Crosses)
'';
maintainers = with maintainers; [ freezeboy ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
kdeclarative
knewstuff
libkdegames
];
}

View File

@ -74,6 +74,7 @@ let
akregator = callPackage ./akregator.nix {}; akregator = callPackage ./akregator.nix {};
ark = callPackage ./ark {}; ark = callPackage ./ark {};
baloo-widgets = callPackage ./baloo-widgets.nix {}; baloo-widgets = callPackage ./baloo-widgets.nix {};
bovo = callPackage ./bovo.nix {};
calendarsupport = callPackage ./calendarsupport.nix {}; calendarsupport = callPackage ./calendarsupport.nix {};
dolphin = callPackage ./dolphin.nix {}; dolphin = callPackage ./dolphin.nix {};
dolphin-plugins = callPackage ./dolphin-plugins.nix {}; dolphin-plugins = callPackage ./dolphin-plugins.nix {};
@ -175,6 +176,7 @@ let
messagelib = callPackage ./messagelib.nix {}; messagelib = callPackage ./messagelib.nix {};
minuet = callPackage ./minuet.nix {}; minuet = callPackage ./minuet.nix {};
okular = callPackage ./okular.nix {}; okular = callPackage ./okular.nix {};
picmi = callPackage ./picmi.nix {};
pimcommon = callPackage ./pimcommon.nix {}; pimcommon = callPackage ./pimcommon.nix {};
pim-data-exporter = callPackage ./pim-data-exporter.nix {}; pim-data-exporter = callPackage ./pim-data-exporter.nix {};
pim-sieve-editor = callPackage ./pim-sieve-editor.nix {}; pim-sieve-editor = callPackage ./pim-sieve-editor.nix {};

View File

@ -0,0 +1,25 @@
{ mkDerivation, lib
, libkdegames, extra-cmake-modules
, kdeclarative, knewstuff
}:
mkDerivation {
name = "picmi";
meta = with lib; {
description = "Nonogram game";
longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or
leaving blank the cells in a grid according to numbers given at the side of the grid.
'';
maintainers = with maintainers; [ freezeboy ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
kdeclarative
knewstuff
libkdegames
];
}

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "font-manager"; pname = "font-manager";
version = "0.7.7"; version = "0.7.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FontManager"; owner = "FontManager";
repo = "master"; repo = "master";
rev = version; rev = version;
sha256 = "1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f"; sha256 = "0s1l30y55l45rrqd9lygvp2gzrqw25rmjgnnja6s5rzs79gc668c";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,12 +3,12 @@
}: }:
mkDerivation rec { mkDerivation rec {
version = "2.3.5.1"; version = "2.3.5.2";
pname = "lyx"; pname = "lyx";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz"; url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz";
sha256 = "0mv32s26igm0pd8vs7d2mk1240dpr83y0a2wyh3xz6b67ph0w157"; sha256 = "1pwdh0ljd7lm5a83vsqmp4695irhig07wxa90jc23ng5gap589na";
}; };
# LaTeX is used from $PATH, as people often want to have it with extra pkgs # LaTeX is used from $PATH, as people often want to have it with extra pkgs

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "masterpdfeditor"; pname = "masterpdfeditor";
version = "5.4.38"; version = "5.6.09";
src = fetchurl { src = fetchurl {
url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz"; url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz";
sha256 = "0fidy8gd4mqvyfgmrwdiz8z53dyzihqqhgfrffj0z0idm2zi4mcq"; sha256 = "0v9j6fwr0xl03kr77vf4wdb06zlplmn4mr3jyzxhvs8a77scmfzb";
}; };
nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ]; nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];

View File

@ -3,13 +3,13 @@
mkDerivation rec { mkDerivation rec {
pname = "tipp10"; pname = "tipp10";
version = "3.1.0"; version = "3.2.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "a_a"; owner = "tipp10";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1mksga1zyqz1y2s524nkw86irg36zpjwz7ff87n2ygrlysczvnx1"; sha256 = "0fav5jlw6lw78iqrj7a65b8vd50hhyyaqyzmfrvyxirpsqhjk1v7";
}; };
nativeBuildInputs = [ cmake qttools ]; nativeBuildInputs = [ cmake qttools ];

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchhg, fetchpatch, pkg-config, meson, ninja, wayland, gtk3, wrapGAppsHook }: { stdenv, lib, fetchhg, fetchpatch, pkg-config, meson, ninja, wayland, gtk3, wrapGAppsHook, installShellFiles }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wofi"; pname = "wofi";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "086j5wshawjbwdmmmldivfagc2rr7g5a2gk11l0snqqslm294xsn"; sha256 = "086j5wshawjbwdmmmldivfagc2rr7g5a2gk11l0snqqslm294xsn";
}; };
nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook ]; nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook installShellFiles ];
buildInputs = [ wayland gtk3 ]; buildInputs = [ wayland gtk3 ];
# Fixes icon bug on NixOS. # Fixes icon bug on NixOS.
@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
}) })
]; ];
postInstall = ''
installManPage man/wofi*
'';
meta = with lib; { meta = with lib; {
description = "A launcher/menu program for wlroots based wayland compositors such as sway"; description = "A launcher/menu program for wlroots based wayland compositors such as sway";
homepage = "https://hg.sr.ht/~scoopta/wofi"; homepage = "https://hg.sr.ht/~scoopta/wofi";

View File

@ -7,16 +7,16 @@
buildGoModule rec { buildGoModule rec {
pname = "wtf"; pname = "wtf";
version = "0.30.0"; version = "0.31.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wtfutil"; owner = "wtfutil";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "11vy39zygk1gxb1nc1zmxlgs6fn7yq68090fwm2jar0lsxx8a83i"; sha256 = "07ngk83p753w9qxm8bvw6n5vk0zldn14yv08d900sxny8cg2h0rb";
}; };
vendorSha256 = "0qfb352gmsmy5glrsjwc3w57di5k2kjdsyfqn4xf7p4v12yg88va"; vendorSha256 = "09iy148pnbdrzjj2j50lbd8s9mkv7vggrx77mj88p1gnqclz3lip";
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ]; buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];

View File

@ -47,6 +47,7 @@
, gnupg , gnupg
, ffmpeg_3 , ffmpeg_3
, runtimeShell , runtimeShell
, mesa # firefox wants gbm for drm+dmabuf
, systemLocale ? config.i18n.defaultLocale or "en-US" , systemLocale ? config.i18n.defaultLocale or "en-US"
}: }:
@ -106,6 +107,7 @@ stdenv.mkDerivation {
gtk2 gtk2
gtk3 gtk3
kerberos kerberos
mesa
libX11 libX11
libXScrnSaver libXScrnSaver
libXcomposite libXcomposite

View File

@ -177,7 +177,7 @@ stdenv.mkDerivation ({
BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \ BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
$(< ${stdenv.cc}/nix-support/cc-cflags) \ $(< ${stdenv.cc}/nix-support/cc-cflags) \
${stdenv.cc.default_cxx_stdlib_compile} \ $(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \
${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \ ${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \
${lib.optionalString stdenv.cc.isGNU "-isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/${stdenv.hostPlatform.config}"} \ ${lib.optionalString stdenv.cc.isGNU "-isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/${stdenv.hostPlatform.config}"} \
$NIX_CFLAGS_COMPILE" $NIX_CFLAGS_COMPILE"

View File

@ -10,6 +10,7 @@
, udev , udev
, kerberos , kerberos
, libva , libva
, mesa # firefox wants gbm for drm+dmabuf
}: }:
## configurability of the wrapper itself ## configurability of the wrapper itself
@ -26,11 +27,12 @@ let
, nameSuffix ? "" , nameSuffix ? ""
, icon ? browserName , icon ? browserName
, extraNativeMessagingHosts ? [] , extraNativeMessagingHosts ? []
, gdkWayland ? false , forceWayland ? false
, useGlvnd ? true
, cfg ? config.${browserName} or {} , cfg ? config.${browserName} or {}
}: }:
assert gdkWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used assert forceWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used
let let
enableAdobeFlash = cfg.enableAdobeFlash or false; enableAdobeFlash = cfg.enableAdobeFlash or false;
@ -65,10 +67,10 @@ let
++ lib.optional (cfg.enableFXCastBridge or false) fx_cast_bridge ++ lib.optional (cfg.enableFXCastBridge or false) fx_cast_bridge
++ extraNativeMessagingHosts ++ extraNativeMessagingHosts
); );
libs = lib.optionals stdenv.isLinux [ udev libva ] libs = lib.optionals stdenv.isLinux [ udev libva mesa ]
++ lib.optional ffmpegSupport ffmpeg ++ lib.optional ffmpegSupport ffmpeg
++ lib.optional gssSupport kerberos ++ lib.optional gssSupport kerberos
++ lib.optional gdkWayland libglvnd ++ lib.optional useGlvnd libglvnd
++ lib.optionals (cfg.enableQuakeLive or false) ++ lib.optionals (cfg.enableQuakeLive or false)
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
@ -83,7 +85,7 @@ let
exec = "${browserName}${nameSuffix} %U"; exec = "${browserName}${nameSuffix} %U";
inherit icon; inherit icon;
comment = ""; comment = "";
desktopName = "${desktopName}${nameSuffix}${lib.optionalString gdkWayland " (Wayland)"}"; desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
genericName = "Web Browser"; genericName = "Web Browser";
categories = "Network;WebBrowser;"; categories = "Network;WebBrowser;";
mimeType = stdenv.lib.concatStringsSep ";" [ mimeType = stdenv.lib.concatStringsSep ";" [
@ -124,8 +126,8 @@ let
--set SNAP_NAME "firefox" \ --set SNAP_NAME "firefox" \
--set MOZ_LEGACY_PROFILES 1 \ --set MOZ_LEGACY_PROFILES 1 \
--set MOZ_ALLOW_DOWNGRADE 1 \ --set MOZ_ALLOW_DOWNGRADE 1 \
${lib.optionalString gdkWayland '' ${lib.optionalString forceWayland ''
--set GDK_BACKEND "wayland" \ --set MOZ_ENABLE_WAYLAND "1" \
''}${lib.optionalString (browser ? gtk3) ''}${lib.optionalString (browser ? gtk3)
''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share'

View File

@ -1,12 +1,12 @@
{ lib, buildGoModule, minikube }: { lib, buildGoModule, minikube }:
buildGoModule rec { buildGoModule rec {
inherit (minikube) version src nativeBuildInputs buildInputs vendorSha256 commit; inherit (minikube) version src nativeBuildInputs buildInputs vendorSha256;
pname = "docker-machine-hyperkit"; pname = "docker-machine-hyperkit";
buildPhase = '' buildPhase = ''
make docker-machine-driver-hyperkit COMMIT=${commit} make docker-machine-driver-hyperkit COMMIT=${src.rev}
''; '';
installPhase = '' installPhase = ''

View File

@ -1,7 +1,7 @@
{ lib, buildGoModule, minikube }: { lib, buildGoModule, minikube }:
buildGoModule rec { buildGoModule rec {
inherit (minikube) version src nativeBuildInputs buildInputs vendorSha256 commit; inherit (minikube) version src nativeBuildInputs buildInputs vendorSha256;
pname = "docker-machine-kvm2"; pname = "docker-machine-kvm2";
@ -10,7 +10,7 @@ buildGoModule rec {
''; '';
buildPhase = '' buildPhase = ''
make docker-machine-driver-kvm2 COMMIT=${commit} make docker-machine-driver-kvm2 COMMIT=${src.rev}
''; '';
installPhase = '' installPhase = ''

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "fluxctl"; pname = "fluxctl";
version = "1.19.0"; version = "1.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "weaveworks"; owner = "weaveworks";
repo = "flux"; repo = "flux";
rev = version; rev = version;
sha256 = "1w6ndp0nrpps6pkxnq38hikbnzwahi6j9gn8l0bxd0qkf7cjc5w0"; sha256 = "0bfib5pg2cbip6fw45slb0h3a7qpikxsfpclzr86bcnjq60pshl1";
}; };
vendorSha256 = "0w5l1lkzx4frllflkbilj8qqwf54wkz7hin7q8xn1vflkv3lxcnp"; vendorSha256 = "0a5sv11pb2i6r0ffwaiqdhc0m7gz679yfmqw6ix9imk4ybhf4jp9";
subPackages = [ "cmd/fluxctl" ]; subPackages = [ "cmd/fluxctl" ];

View File

@ -11,18 +11,15 @@
buildGoModule rec { buildGoModule rec {
pname = "minikube"; pname = "minikube";
version = "1.11.0"; version = "1.12.0";
# for -ldflags vendorSha256 = "0wcm7kw5z7d0ch59nyx5xlv5ci7jrwnzspmsh1yb76318cx2aghi";
commit = "57e2f55f47effe9ce396cea42a1e0eb4f611ebbd";
vendorSha256 = "1l9dxn7yy21x4b3cg6l5a08wx2ng8qf531ilg8yf1rznwfwjajrv";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes"; owner = "kubernetes";
repo = "minikube"; repo = "minikube";
rev = "v${version}"; rev = "v${version}";
sha256 = "0y761svwyrpc4ywdd4vr9hxkg6593wg4wwqzn8n86g0zcz6qg11d"; sha256 = "0bvdyfx5vjcgnkqd23rpbbhxf1zigpzxlqpay2sb6dpldsj0nhdk";
}; };
nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ]; nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];
@ -30,7 +27,7 @@ buildGoModule rec {
buildInputs = if stdenv.isDarwin then [ vmnet ] else if stdenv.isLinux then [ libvirt ] else null; buildInputs = if stdenv.isDarwin then [ vmnet ] else if stdenv.isLinux then [ libvirt ] else null;
buildPhase = '' buildPhase = ''
make COMMIT=${commit} make COMMIT=${src.rev}
''; '';
installPhase = '' installPhase = ''
@ -40,7 +37,7 @@ buildGoModule rec {
export MINIKUBE_WANTUPDATENOTIFICATION=false export MINIKUBE_WANTUPDATENOTIFICATION=false
export MINIKUBE_WANTKUBECTLDOWNLOADMSG=false export MINIKUBE_WANTKUBECTLDOWNLOADMSG=false
for shell in bash zsh; do for shell in bash zsh fish; do
$out/bin/minikube completion $shell > minikube.$shell $out/bin/minikube completion $shell > minikube.$shell
installShellCompletion minikube.$shell installShellCompletion minikube.$shell
done done

View File

@ -1,7 +1,7 @@
{ callPackage }: { callPackage }:
let let
stableVersion = "2.2.8"; stableVersion = "2.2.11";
previewVersion = stableVersion; previewVersion = stableVersion;
addVersion = args: addVersion = args:
let version = if args.stable then stableVersion else previewVersion; let version = if args.stable then stableVersion else previewVersion;
@ -15,18 +15,19 @@ let
src = oldAttrs.src.override { src = oldAttrs.src.override {
inherit version sha256; inherit version sha256;
}; };
doCheck = oldAttrs.doCheck && (attrname != "psutil");
}); });
}; };
commonOverrides = [ commonOverrides = [
(mkOverride "psutil" "5.6.6" (mkOverride "psutil" "5.7.0"
"1rs6z8bfy6bqzw88s4i5zllrx3i18hnkv4akvmw7bifngcgjh8dd") "03jykdi3dgf1cdal9bv4fq9zjvzj9l9bs99gi5ar81sdl5nc2pk8")
(mkOverride "jsonschema" "3.2.0"
"0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68")
]; ];
}; };
mkGui = args: callPackage (import ./gui.nix (addVersion args // extraArgs)) { }; mkGui = args: callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
guiSrcHash = "1qgzad9hdbvkdalzdnlg5gnlzn2f9qlpd1aj8djmi6w1mmdkf9q7"; guiSrcHash = "1carwhp49l9zx2p6i3in03x6rjzn0x6ls2svwazd643rmrl4y7gn";
serverSrcHash = "1kg38dh0xk4yvi7hz0d5dq9k0wany0sfd185l0zxs3nz78zd23an"; serverSrcHash = "0acbxay1pwq62yq9q67hid44byyi6rb6smz5wa8br3vka7z31iqf";
in { in {
guiStable = mkGui { guiStable = mkGui {
stable = true; stable = true;

View File

@ -4,8 +4,6 @@
let let
defaultOverrides = commonOverrides ++ [ defaultOverrides = commonOverrides ++ [
(mkOverride "jsonschema" "3.2.0"
"0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68")
]; ];
python = python3.override { python = python3.override {
@ -23,7 +21,7 @@ in python.pkgs.buildPythonPackage rec {
}; };
propagatedBuildInputs = with python.pkgs; [ propagatedBuildInputs = with python.pkgs; [
raven psutil jsonschema # tox for check sentry-sdk psutil jsonschema # tox for check
# Runtime dependencies # Runtime dependencies
sip (pyqt5.override { withWebSockets = true; }) distro setuptools sip (pyqt5.override { withWebSockets = true; }) distro setuptools
pkgs.qt5Full pkgs.qt5Full

View File

@ -4,10 +4,19 @@
let let
defaultOverrides = commonOverrides ++ [ defaultOverrides = commonOverrides ++ [
(mkOverride "jsonschema" "3.2.0" (mkOverride "aiofiles" "0.5.0"
"0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68") "98e6bcfd1b50f97db4980e182ddd509b7cc35909e903a8fe50d8849e02d815af")
(mkOverride "aiofiles" "0.4.0" (self: super: {
"1vmvq9qja3wahv8m1adkyk00zm7j0x64pk3f2ry051ja66xa07h2") py-cpuinfo = super.py-cpuinfo.overridePythonAttrs (oldAttrs: rec {
version = "6.0.0";
src = fetchFromGitHub {
owner = "workhorsy";
repo = "py-cpuinfo";
rev = "v${version}";
sha256 = "0595gjkd7gzmn9cfpgjw3ia2sl1y8mmw7ajyscibjx59m5mqcki5";
};
});
})
]; ];
python = python3.override { python = python3.override {
@ -31,7 +40,7 @@ in python.pkgs.buildPythonPackage {
propagatedBuildInputs = with python.pkgs; [ propagatedBuildInputs = with python.pkgs; [
aiohttp-cors yarl aiohttp multidict setuptools aiohttp-cors yarl aiohttp multidict setuptools
jinja2 psutil zipstream raven jsonschema distro async_generator aiofiles jinja2 psutil zipstream sentry-sdk jsonschema distro async_generator aiofiles
prompt_toolkit py-cpuinfo prompt_toolkit py-cpuinfo
]; ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "ipfs-migrator"; pname = "ipfs-migrator";
version = "1.5.1"; version = "1.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ipfs"; owner = "ipfs";
repo = "fs-repo-migrations"; repo = "fs-repo-migrations";
rev = "v${version}"; rev = "v${version}";
sha256 = "18pjxkxfbsbbj4hs4xyzfmmz991h31785ldx41dll6wa9zx4lsnm"; sha256 = "13ah5jk8n3wznvag6dda1ssgpqsdr9pdgvqm9gcsb7zzls89j9x5";
}; };
vendorSha256 = null; vendorSha256 = null;

View File

@ -27,11 +27,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mutt"; pname = "mutt";
version = "1.14.5"; version = "1.14.6";
src = fetchurl { src = fetchurl {
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz"; url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
sha256 = "0p1xiqzmkqlzy5yi4l0dh0lacdq300zdj48zk0fir8j1pp512sri"; sha256 = "0i0q6vwhnb1grimsrpmz8maw255rh9k0laijzxkry6xqa80jm5s7";
}; };
patches = optional smimeSupport (fetchpatch { patches = optional smimeSupport (fetchpatch {

View File

@ -177,7 +177,7 @@ stdenv.mkDerivation rec {
BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \ BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
$(< ${stdenv.cc}/nix-support/cc-cflags) \ $(< ${stdenv.cc}/nix-support/cc-cflags) \
${stdenv.cc.default_cxx_stdlib_compile} \ $(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \
${ ${
lib.optionalString stdenv.cc.isClang lib.optionalString stdenv.cc.isClang
"-idirafter ${stdenv.cc.cc}/lib/clang/${ "-idirafter ${stdenv.cc.cc}/lib/clang/${

View File

@ -19,12 +19,12 @@
mkDerivation rec { mkDerivation rec {
pname = "trojita"; pname = "trojita";
version = "0.7.20190618"; version = "0.7.20200706";
src = fetchgit { src = fetchgit {
url = "https://anongit.kde.org/trojita.git"; url = "https://anongit.kde.org/trojita.git";
rev = "90b417b131853553c94ff93aef62abaf301aa8f1"; rev = "e973a5169f18ca862ceb8ad749c93cd621d86e14";
sha256 = "0xpxq5bzqaa68lkz90wima5q2m0mdcn0rvnigb66lylb4n20mnql"; sha256 = "0r8nmlqwgsqkk0k8xh32fkwvv6iylj35xq2h8b7l3g03yc342kbn";
}; };
buildInputs = [ buildInputs = [

View File

@ -128,14 +128,14 @@ let
} source; } source;
source = rec { source = rec {
version = "1.3.1"; version = "1.3.2";
# Needs submodules # Needs submodules
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mumble-voip"; owner = "mumble-voip";
repo = "mumble"; repo = "mumble";
rev = version; rev = version;
sha256 = "1xsla9g7xbq6xniwcsjik5hbjh0xahv44qh4z9hjn7p70b8vgnwc"; sha256 = "1ljn7h7dr9iyhvq7rdh0prl7hzn9d2hhnxv0ni6dha6f7d9qbfy6";
fetchSubmodules = true; fetchSubmodules = true;
}; };
}; };

View File

@ -7,13 +7,13 @@ python3Packages.buildPythonApplication rec {
pname = "stig"; pname = "stig";
# This project has a different concept for pre release / alpha, # This project has a different concept for pre release / alpha,
# Read the project's README for details: https://github.com/rndusr/stig#stig # Read the project's README for details: https://github.com/rndusr/stig#stig
version = "0.11.0a"; version = "0.11.2a0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rndusr"; owner = "rndusr";
repo = "stig"; repo = "stig";
rev = "v${version}"; rev = "v${version}";
sha256 = "192v8f80jfly12bqzsslpxlvm72kdqm3jl40x1az5czpg4ab3lb7"; sha256 = "05dn6mr86ly65gdqarl16a2jk1bwiw5xa6r4kyag3s6lqsv66iw8";
}; };
# urwidtrees 1.0.3 is requested by the developer because 1.0.2 (which is packaged # urwidtrees 1.0.3 is requested by the developer because 1.0.2 (which is packaged

View File

@ -72,9 +72,6 @@ in stdenv.mkDerivation {
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation"; NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
# Reduce the risk of collisions
postInstall = "rm -r $out/share/doc";
meta = { meta = {
description = "A fast, easy and free BitTorrent client"; description = "A fast, easy and free BitTorrent client";
longDescription = '' longDescription = ''

View File

@ -3,17 +3,17 @@
let let
common = { stname, target, postInstall ? "" }: common = { stname, target, postInstall ? "" }:
buildGoModule rec { buildGoModule rec {
version = "1.6.1"; version = "1.7.0";
name = "${stname}-${version}"; name = "${stname}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "1lhbx1mh2hdjjwks3s17i8y9vbl3fnapc1czaf42pp7nf8245q3j"; sha256 = "0jz1xfbs5ql9z7zdldyxc6wr0y5b0pf3vg8vzva5ml9aiqjcs9fg";
}; };
vendorSha256 = "12g63a6jsshzqjgww792xmvybhfbkjx5aza4xnyljjsp453iky7k"; vendorSha256 = "1gmdv0g0gymq6khrwvplw6yfp146kg5ar8vqdp5dlp0myxfzi22b";
patches = [ patches = [
./add-stcli-target.patch ./add-stcli-target.patch

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gtkwave"; pname = "gtkwave";
version = "3.3.104"; version = "3.3.105";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
sha256 = "1qvldbnlp3wkqr5ff93f6pdvv9yzij7lxfhpqlizakz08l1xb391"; sha256 = "1vifgyhwqhpipnzmsivncawqjqihcm5kyg3yyygmd0lmgljy9rs4";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig wrapGAppsHook ];

View File

@ -9,11 +9,11 @@
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "gromacs-2020.2"; name = "gromacs-2020.3";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.2.tar.gz"; url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.3.tar.gz";
sha256 = "1wyjgcdl30wy4hy6jvi9lkq53bqs9fgfq6fri52dhnb3c76y8rbl"; sha256 = "1acjrhcfzpqy2dncblhj97602jbg9gdha4q1bgji9nrj25lq6cch";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -1,4 +1,4 @@
{ lib, mkDerivation, fetchgit, SDL2 { lib, mkDerivation, fetchFromGitHub, SDL2
, qtbase, qtcharts, qtlocation, qtserialport, qtsvg, qtquickcontrols2 , qtbase, qtcharts, qtlocation, qtserialport, qtsvg, qtquickcontrols2
, qtgraphicaleffects, qtspeech, qtx11extras, qmake, qttools , qtgraphicaleffects, qtspeech, qtx11extras, qmake, qttools
, gst_all_1, wayland, pkgconfig , gst_all_1, wayland, pkgconfig
@ -6,7 +6,7 @@
mkDerivation rec { mkDerivation rec {
pname = "qgroundcontrol"; pname = "qgroundcontrol";
version = "4.0.8"; version = "4.0.9";
qtInputs = [ qtInputs = [
qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2 qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
@ -58,10 +58,11 @@ mkDerivation rec {
''; '';
# TODO: package mavlink so we can build from a normal source tarball # TODO: package mavlink so we can build from a normal source tarball
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/mavlink/qgroundcontrol.git"; owner = "mavlink";
repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0jr9jpjqdwizsvh9zm0fdp8k2r4536m40dxrn30fbr3ba8vnzkgq"; sha256 = "0fwibgb9wmxk2zili5vsibi2q6pk1gna21870y5abx4scbvhgq68";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "delta"; pname = "delta";
version = "0.2.0"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dandavison"; owner = "dandavison";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "15c7rsmiinnpxh12520jz3wr0j86vgzjq1ss5pf30fa7lcgicb32"; sha256 = "0y3gkan5v0d6637yf5p5a9dklyv5zngw7a8pyqzj4ixys72ixg20";
}; };
cargoSha256 = "0lzz32qh80s4dxr0d4pg0qagkn549lr4vbqknl2l0cmlq1bvvq6g"; cargoSha256 = "15sh2lsc16nf9w7sp3avy77f4vyj0rdsm6m1bn60y8gmv2r16v6i";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -8,11 +8,11 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gitea"; pname = "gitea";
version = "1.12.1"; version = "1.12.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "0n92msf5pbgb5q6pa2p0nj9lnzs4y0qis62c5mp4hp8rc1j22wlb"; sha256 = "12zzb1c4cl07ccxaravkmia8vdyw5ffxrlx9v95ampvv6a0swpb9";
}; };
unpackPhase = '' unpackPhase = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig { stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig
, gettext, systemd, perl, lib , gettext, systemd, perl, lib, fetchpatch
, enableSystemd ? true , enableSystemd ? true
, enableBidi ? true , enableBidi ? true
}: stdenv.mkDerivation rec { }: stdenv.mkDerivation rec {
@ -12,6 +12,11 @@
sha256 = "1p51b14aqzncx3xpfg0rjplc48pg7520035i5p6r5zzkqhszihr5"; sha256 = "1p51b14aqzncx3xpfg0rjplc48pg7520035i5p6r5zzkqhszihr5";
}; };
patches = [
# Derived from http://git.tvdr.de/?p=vdr.git;a=commit;h=930c2cd2eb8947413e88404fa94c66e4e1db5ad6
./glibc2.31-compat.patch
];
enableParallelBuilding = true; enableParallelBuilding = true;
postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd";

View File

@ -0,0 +1,15 @@
diff --git a/eit.c b/eit.c
index 50d8229..373dbca 100644
--- a/eit.c
+++ b/eit.c
@@ -391,7 +391,9 @@ cTDT::cTDT(const u_char *Data)
if (abs(diff) > MAX_TIME_DIFF) {
mutex.Lock();
if (abs(diff) > MAX_ADJ_DIFF) {
- if (stime(&dvbtim) == 0)
+ timespec ts = { 0 };
+ ts.tv_sec = dvbtim;
+ if (clock_settime(CLOCK_REALTIME, &ts) == 0)
isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim);
else
esyslog("ERROR while setting system time: %m");

View File

@ -1,14 +1,16 @@
{ {
alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fontconfig, freetype, alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fetchzip, fontconfig, freetype,
gdk-pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor, gdk-pixbuf, glib, gnome3, libX11, libXScrnSaver, libXcomposite, libXcursor,
libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst,
libxcb, nspr, nss, stdenv, udev libxcb, nspr, nss, stdenv, udev, libuuid, pango, at-spi2-atk, at-spi2-core
}: }:
let let
rpath = stdenv.lib.makeLibraryPath ([ rpath = stdenv.lib.makeLibraryPath ([
alsaLib alsaLib
atk atk
at-spi2-core
at-spi2-atk
cairo cairo
cups cups
dbus dbus
@ -17,9 +19,9 @@
freetype freetype
gdk-pixbuf gdk-pixbuf
glib glib
gnome2.GConf gnome3.gtk
gnome2.gtk pango
gnome2.pango libuuid
libX11 libX11
libXScrnSaver libXScrnSaver
libXcomposite libXcomposite
@ -39,29 +41,33 @@
]); ]);
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "webtorrent-desktop"; pname = "webtorrent-desktop";
version = "0.20.0"; version = "0.21.0";
src = src =
if stdenv.hostPlatform.system == "x86_64-linux" then if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl { fetchzip {
url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v0.20.0/webtorrent-desktop_${version}-1_amd64.deb"; url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v${version}/WebTorrent-v${version}-linux.zip";
sha256 = "1kkrnbimiip5pn2nwpln35bbdda9gc3cgrjwphq4fqasbjf2781k"; sha256 = "13gd8isq2l10kibsc1bsc15dbgpnwa7nw4cwcamycgx6pfz9a852";
} }
else else
throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}"; throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}";
desktopFile = fetchurl {
url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/applications/webtorrent-desktop.desktop";
sha256 = "1v16dqbxqds3cqg3xkzxsa5fyd8ssddvjhy9g3i3lz90n47916ca";
};
icon256File = fetchurl {
url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/256x256/apps/webtorrent-desktop.png";
sha256 = "1dapxvvp7cx52zhyaby4bxm4rll9xc7x3wk8k0il4g3mc7zzn3yk";
};
icon48File = fetchurl {
url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/48x48/apps/webtorrent-desktop.png";
sha256 = "00y96w9shbbrdbf6xcjlahqd08154kkrxmqraik7qshiwcqpw7p4";
};
phases = [ "unpackPhase" "installPhase" ]; phases = [ "unpackPhase" "installPhase" ];
nativeBuildInputs = [ dpkg ]; nativeBuildInputs = [ dpkg ];
unpackPhase = "dpkg-deb -x $src .";
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out/share/{applications,icons/hicolor/{48x48,256x256}/apps}
cp -R opt $out cp -R . $out/libexec
mv ./usr/share $out/share
mv $out/opt/webtorrent-desktop $out/libexec
chmod +x $out/libexec/WebTorrent
rmdir $out/opt
chmod -R g-w $out
# Patch WebTorrent # Patch WebTorrent
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@ -71,9 +77,11 @@
mkdir -p $out/bin mkdir -p $out/bin
ln -s $out/libexec/WebTorrent $out/bin/WebTorrent ln -s $out/libexec/WebTorrent $out/bin/WebTorrent
# Fix the desktop link cp $icon48File $out/share/icons/hicolor/48x48/apps/webtorrent-desktop.png
substituteInPlace $out/share/applications/webtorrent-desktop.desktop \ cp $icon256File $out/share/icons/hicolor/256x256/apps/webtorrent-desktop.png
--replace /opt/webtorrent-desktop $out/bin ## Fix the desktop link
substitute $desktopFile $out/share/applications/webtorrent-desktop.desktop \
--replace /opt/webtorrent-desktop $out/libexec
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -132,15 +132,15 @@ stdenv.mkDerivation {
ldPath="${bintools_bin}/bin" ldPath="${bintools_bin}/bin"
'' ''
+ optionalString (targetPlatform.isSunOS && nativePrefix != "") ''
# Solaris needs an additional ld wrapper. # Solaris needs an additional ld wrapper.
+ optionalString (targetPlatform.isSunOS && nativePrefix != "") ''
ldPath="${nativePrefix}/bin" ldPath="${nativePrefix}/bin"
exec="$ldPath/${targetPrefix}ld" exec="$ldPath/${targetPrefix}ld"
wrap ld-solaris ${./ld-solaris-wrapper.sh} wrap ld-solaris ${./ld-solaris-wrapper.sh}
'') '')
+ ''
# Create a symlink to as (the assembler). # Create a symlink to as (the assembler).
+ ''
if [ -e $ldPath/${targetPrefix}as ]; then if [ -e $ldPath/${targetPrefix}as ]; then
ln -s $ldPath/${targetPrefix}as $out/bin/${targetPrefix}as ln -s $ldPath/${targetPrefix}as $out/bin/${targetPrefix}as
fi fi
@ -200,26 +200,29 @@ stdenv.mkDerivation {
]; ];
postFixup = postFixup =
optionalString (libc != null) (''
## ##
## General libc support ## General libc support
## ##
optionalString (libc != null) (''
echo "-L${libc_lib}${libc.libdir or "/lib"}" > $out/nix-support/libc-ldflags touch "$out/nix-support/libc-ldflags"
echo "-L${libc_lib}${libc.libdir or "/lib"}" >> $out/nix-support/libc-ldflags
echo "${libc_lib}" > $out/nix-support/orig-libc echo "${libc_lib}" > $out/nix-support/orig-libc
echo "${libc_dev}" > $out/nix-support/orig-libc-dev echo "${libc_dev}" > $out/nix-support/orig-libc-dev
''
## ##
## Dynamic linker support ## Dynamic linker support
## ##
+ ''
if [[ -z ''${dynamicLinker+x} ]]; then if [[ -z ''${dynamicLinker+x} ]]; then
echo "Don't know the name of the dynamic linker for platform '${targetPlatform.config}', so guessing instead." >&2 echo "Don't know the name of the dynamic linker for platform '${targetPlatform.config}', so guessing instead." >&2
local dynamicLinker="${libc_lib}/lib/ld*.so.?" local dynamicLinker="${libc_lib}/lib/ld*.so.?"
fi fi
''
# Expand globs to fill array of options # Expand globs to fill array of options
+ ''
dynamicLinker=($dynamicLinker) dynamicLinker=($dynamicLinker)
case ''${#dynamicLinker[@]} in case ''${#dynamicLinker[@]} in
@ -228,7 +231,7 @@ stdenv.mkDerivation {
*) echo "Multiple dynamic linkers found for platform '${targetPlatform.config}'." >&2;; *) echo "Multiple dynamic linkers found for platform '${targetPlatform.config}'." >&2;;
esac esac
if [ -n "''${dynamicLinker:-}" ]; then if [ -n "''${dynamicLinker-}" ]; then
echo $dynamicLinker > $out/nix-support/dynamic-linker echo $dynamicLinker > $out/nix-support/dynamic-linker
'' + (if targetPlatform.isDarwin then '' '' + (if targetPlatform.isDarwin then ''
@ -237,23 +240,21 @@ stdenv.mkDerivation {
if [ -e ${libc_lib}/lib/32/ld-linux.so.2 ]; then if [ -e ${libc_lib}/lib/32/ld-linux.so.2 ]; then
echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
fi fi
''
local ldflagsBefore=(-dynamic-linker "$dynamicLinker")
'') + ''
fi
# The dynamic linker is passed in `ldflagsBefore' to allow # The dynamic linker is passed in `ldflagsBefore' to allow
# explicit overrides of the dynamic linker by callers to ld # explicit overrides of the dynamic linker by callers to ld
# (the *last* value counts, so ours should come first). # (the *last* value counts, so ours should come first).
printWords "''${ldflagsBefore[@]}" > $out/nix-support/libc-ldflags-before + ''
echo -dynamic-linker "$dynamicLinker" >> $out/nix-support/libc-ldflags-before
'') + ''
fi
'') '')
+ optionalString stdenv.targetPlatform.isMacOS ''
# Ensure consistent LC_VERSION_MIN_MACOSX and remove LC_UUID. # Ensure consistent LC_VERSION_MIN_MACOSX and remove LC_UUID.
+ optionalString stdenv.targetPlatform.isMacOS ''
echo "-macosx_version_min 10.12 -sdk_version 10.12 -no_uuid" >> $out/nix-support/libc-ldflags-before echo "-macosx_version_min 10.12 -sdk_version 10.12 -no_uuid" >> $out/nix-support/libc-ldflags-before
'' ''
+ optionalString (!nativeTools) ''
## ##
## User env support ## User env support
## ##
@ -261,25 +262,25 @@ stdenv.mkDerivation {
# Propagate the underling unwrapped bintools so that if you # Propagate the underling unwrapped bintools so that if you
# install the wrapper, you get tools like objdump (same for any # install the wrapper, you get tools like objdump (same for any
# binaries of libc). # binaries of libc).
+ optionalString (!nativeTools) ''
printWords ${bintools_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages printWords ${bintools_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages
'' ''
+ optionalString propagateDoc (''
## ##
## Man page and info support ## Man page and info support
## ##
+ optionalString propagateDoc (''
ln -s ${bintools.man} $man ln -s ${bintools.man} $man
'' + optionalString (bintools ? info) '' '' + optionalString (bintools ? info) ''
ln -s ${bintools.info} $info ln -s ${bintools.info} $info
'') '')
+ ''
## ##
## Hardening support ## Hardening support
## ##
# some linkers on some platforms don't support specific -z flags # some linkers on some platforms don't support specific -z flags
+ ''
export hardening_unsupported_flags="" export hardening_unsupported_flags=""
if [[ "$($ldPath/${targetPrefix}ld -z now 2>&1 || true)" =~ un(recognized|known)\ option ]]; then if [[ "$($ldPath/${targetPrefix}ld -z now 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
hardening_unsupported_flags+=" bindnow" hardening_unsupported_flags+=" bindnow"
@ -304,15 +305,18 @@ stdenv.mkDerivation {
'' ''
+ '' + ''
for flags in "$out/nix-support"/*flags*; do
substituteInPlace "$flags" --replace $'\n' ' '
done
substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
''
## ##
## Extra custom steps ## Extra custom steps
## ##
''
+ extraBuildCommands; + extraBuildCommands;
inherit dynamicLinker expand-response-params; inherit dynamicLinker expand-response-params;

View File

@ -37,6 +37,14 @@ if [ -e @out@/nix-support/libc-cflags ]; then
NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@"
fi fi
if [ -e @out@/nix-support/libcxx-cxxflags ]; then
NIX_CXXSTDLIB_COMPILE_@suffixSalt@+=" $(< @out@/nix-support/libcxx-cxxflags)"
fi
if [ -e @out@/nix-support/libcxx-ldflags ]; then
NIX_CXXSTDLIB_LINK_@suffixSalt@+=" $(< @out@/nix-support/libcxx-ldflags)"
fi
if [ -e @out@/nix-support/cc-cflags ]; then if [ -e @out@/nix-support/cc-cflags ]; then
NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@"
fi fi

View File

@ -129,7 +129,7 @@ fi
if [[ "$isCpp" = 1 ]]; then if [[ "$isCpp" = 1 ]]; then
if [[ "$cppInclude" = 1 ]]; then if [[ "$cppInclude" = 1 ]]; then
NIX_CFLAGS_COMPILE_@suffixSalt@+=" ${NIX_CXXSTDLIB_COMPILE_@suffixSalt@:-@default_cxx_stdlib_compile@}" NIX_CFLAGS_COMPILE_@suffixSalt@+=" $NIX_CXXSTDLIB_COMPILE_@suffixSalt@"
fi fi
NIX_CFLAGS_LINK_@suffixSalt@+=" $NIX_CXXSTDLIB_LINK_@suffixSalt@" NIX_CFLAGS_LINK_@suffixSalt@+=" $NIX_CXXSTDLIB_LINK_@suffixSalt@"
fi fi

View File

@ -48,12 +48,6 @@ let
# The wrapper scripts use 'cat' and 'grep', so we may need coreutils. # The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
coreutils_bin = if nativeTools then "" else getBin coreutils; coreutils_bin = if nativeTools then "" else getBin coreutils;
default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) && !(targetPlatform.useLLVM or false) then
"-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/${targetPlatform.config}"
else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) && !(targetPlatform.useLLVM or false) then
"-isystem ${libcxx}/include/c++/v1"
else "";
# The "suffix salt" is a arbitrary string added in the end of env vars # The "suffix salt" is a arbitrary string added in the end of env vars
# defined by cc-wrapper's hooks so that multiple cc-wrappers can be used # defined by cc-wrapper's hooks so that multiple cc-wrappers can be used
# without interfering. For the moment, it is defined as the target triple, # without interfering. For the moment, it is defined as the target triple,
@ -68,7 +62,7 @@ let
# older compilers (for example bootstrap's GCC 5) fail with -march=too-modern-cpu # older compilers (for example bootstrap's GCC 5) fail with -march=too-modern-cpu
isGccArchSupported = arch: isGccArchSupported = arch:
if cc.isGNU or false then if isGNU then
{ skylake = versionAtLeast ccVersion "6.0"; { skylake = versionAtLeast ccVersion "6.0";
skylake-avx512 = versionAtLeast ccVersion "6.0"; skylake-avx512 = versionAtLeast ccVersion "6.0";
cannonlake = versionAtLeast ccVersion "8.0"; cannonlake = versionAtLeast ccVersion "8.0";
@ -76,7 +70,7 @@ let
icelake-server = versionAtLeast ccVersion "8.0"; icelake-server = versionAtLeast ccVersion "8.0";
knm = versionAtLeast ccVersion "8.0"; knm = versionAtLeast ccVersion "8.0";
}.${arch} or true }.${arch} or true
else if cc.isClang or false then else if isClang then
{ cannonlake = versionAtLeast ccVersion "5.0"; { cannonlake = versionAtLeast ccVersion "5.0";
icelake-client = versionAtLeast ccVersion "7.0"; icelake-client = versionAtLeast ccVersion "7.0";
icelake-server = versionAtLeast ccVersion "7.0"; icelake-server = versionAtLeast ccVersion "7.0";
@ -116,7 +110,7 @@ stdenv.mkDerivation {
# Binutils, and Apple's "cctools"; "bintools" as an attempt to find an # Binutils, and Apple's "cctools"; "bintools" as an attempt to find an
# unused middle-ground name that evokes both. # unused middle-ground name that evokes both.
inherit bintools; inherit bintools;
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile; inherit libc nativeTools nativeLibc nativePrefix isGNU isClang;
emacsBufferSetup = pkgs: '' emacsBufferSetup = pkgs: ''
; We should handle propagation here too ; We should handle propagation here too
@ -160,21 +154,21 @@ stdenv.mkDerivation {
ccPath="${cc}/bin" ccPath="${cc}/bin"
'') '')
+ ''
# Create symlinks to everything in the bintools wrapper. # Create symlinks to everything in the bintools wrapper.
+ ''
for bbin in $bintools/bin/*; do for bbin in $bintools/bin/*; do
mkdir -p "$out/bin" mkdir -p "$out/bin"
ln -s "$bbin" "$out/bin/$(basename $bbin)" ln -s "$bbin" "$out/bin/$(basename $bbin)"
done done
''
# We export environment variables pointing to the wrapped nonstandard # We export environment variables pointing to the wrapped nonstandard
# cmds, lest some lousy configure script use those to guess compiler # cmds, lest some lousy configure script use those to guess compiler
# version. # version.
+ ''
export named_cc=${targetPrefix}cc export named_cc=${targetPrefix}cc
export named_cxx=${targetPrefix}c++ export named_cxx=${targetPrefix}c++
export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
if [ -e $ccPath/${targetPrefix}gcc ]; then if [ -e $ccPath/${targetPrefix}gcc ]; then
wrap ${targetPrefix}gcc $wrapper $ccPath/${targetPrefix}gcc wrap ${targetPrefix}gcc $wrapper $ccPath/${targetPrefix}gcc
ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
@ -226,7 +220,7 @@ stdenv.mkDerivation {
strictDeps = true; strictDeps = true;
propagatedBuildInputs = [ bintools ] ++ extraTools ++ optionals cc.langD or false [ zlib ]; propagatedBuildInputs = [ bintools ] ++ extraTools ++ optionals cc.langD or false [ zlib ];
depsTargetTargetPropagated = extraPackages; depsTargetTargetPropagated = optional (libcxx != null) libcxx ++ extraPackages;
wrapperName = "CC_WRAPPER"; wrapperName = "CC_WRAPPER";
@ -236,12 +230,19 @@ stdenv.mkDerivation {
]; ];
postFixup = postFixup =
# Ensure flags files exists, as some other programs cat them. (That these
# are considered an exposed interface is a bit dubious, but fine for now.)
'' ''
touch "$out/nix-support/cc-cflags"
touch "$out/nix-support/cc-ldflags"
''
# Backwards compatability for packages expecting this file, e.g. with # Backwards compatability for packages expecting this file, e.g. with
# `$NIX_CC/nix-support/dynamic-linker`. # `$NIX_CC/nix-support/dynamic-linker`.
# #
# TODO(@Ericson2314): Remove this after stable release and force # TODO(@Ericson2314): Remove this after stable release and force
# everyone to refer to bintools-wrapper directly. # everyone to refer to bintools-wrapper directly.
+ ''
if [[ -f "$bintools/nix-support/dynamic-linker" ]]; then if [[ -f "$bintools/nix-support/dynamic-linker" ]]; then
ln -s "$bintools/nix-support/dynamic-linker" "$out/nix-support" ln -s "$bintools/nix-support/dynamic-linker" "$out/nix-support"
fi fi
@ -250,7 +251,24 @@ stdenv.mkDerivation {
fi fi
'' ''
+ optionalString (libc != null) ('' ##
## General Clang support
##
+ optionalString isClang ''
echo "-target ${targetPlatform.config}" >> $out/nix-support/cc-cflags
''
##
## GCC libs for non-GCC support
##
+ optionalString (isClang && libcxx == null && cc ? gcc) ''
echo "-B${cc.gcc}/lib/gcc/${targetPlatform.config}/${cc.gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${cc.gcc}/lib/gcc/${targetPlatform.config}/${cc.gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${cc.gcc.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags
''
## ##
## General libc support ## General libc support
## ##
@ -266,6 +284,9 @@ stdenv.mkDerivation {
# compile, because it uses "#include_next <limits.h>" to find the # compile, because it uses "#include_next <limits.h>" to find the
# limits.h file in ../includes-fixed. To remedy the problem, # limits.h file in ../includes-fixed. To remedy the problem,
# another -idirafter is necessary to add that directory again. # another -idirafter is necessary to add that directory again.
+ optionalString (libc != null) (''
touch "$out/nix-support/libc-cflags"
touch "$out/nix-support/libc-ldflags"
echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-cflags echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-cflags
'' + optionalString (!(cc.langD or false)) '' '' + optionalString (!(cc.langD or false)) ''
echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags
@ -279,7 +300,30 @@ stdenv.mkDerivation {
echo "${libc_dev}" > $out/nix-support/orig-libc-dev echo "${libc_dev}" > $out/nix-support/orig-libc-dev
'') '')
+ optionalString (!nativeTools) '' ##
## General libc++ support
##
# We have a libc++ directly, we have one via "smuggled" GCC, or we have one
# bundled with the C compiler because it is GCC
+ optionalString (libcxx != null || cc.gcc.langCC or false || (isGNU && cc.langCC or false)) ''
touch "$out/nix-support/libcxx-cxxflags"
touch "$out/nix-support/libcxx-ldflags"
'' + optionalString (libcxx == null && cc ? gcc) ''
for dir in ${cc.gcc}/include/c++/*; do
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done
for dir in ${cc.gcc}/include/c++/*/${targetPlatform.config}; do
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done
''
+ optionalString (libcxx.isLLVM or false) (''
echo "-isystem ${libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
'' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux ''
echo "-lc++abi" >> $out/nix-support/libcxx-ldflags
'')
## ##
## Initial CFLAGS ## Initial CFLAGS
## ##
@ -288,6 +332,7 @@ stdenv.mkDerivation {
# ${cc_solib}/lib64 (even though it does actually search there...).. # ${cc_solib}/lib64 (even though it does actually search there...)..
# This confuses libtool. So add it to the compiler tool search # This confuses libtool. So add it to the compiler tool search
# path explicitly. # path explicitly.
+ optionalString (!nativeTools) ''
if [ -e "${cc_solib}/lib64" -a ! -L "${cc_solib}/lib64" ]; then if [ -e "${cc_solib}/lib64" -a ! -L "${cc_solib}/lib64" ]; then
ccLDFlags+=" -L${cc_solib}/lib64" ccLDFlags+=" -L${cc_solib}/lib64"
ccCFlags+=" -B${cc_solib}/lib64" ccCFlags+=" -B${cc_solib}/lib64"
@ -296,32 +341,34 @@ stdenv.mkDerivation {
ccCFlags+=" -B${cc_solib}/lib" ccCFlags+=" -B${cc_solib}/lib"
'' + optionalString cc.langAda or false '' '' + optionalString cc.langAda or false ''
touch "$out/nix-support/gnat-cflags"
touch "$out/nix-support/gnat-ldflags"
basePath=$(echo $cc/lib/*/*/*) basePath=$(echo $cc/lib/*/*/*)
ccCFlags+=" -B$basePath -I$basePath/adainclude" ccCFlags+=" -B$basePath -I$basePath/adainclude"
gnatCFlags="-I$basePath/adainclude -I$basePath/adalib" gnatCFlags="-I$basePath/adainclude -I$basePath/adalib"
echo "$gnatCFlags" > $out/nix-support/gnat-cflags echo "$gnatCFlags" >> $out/nix-support/gnat-cflags
'' + '' '' + ''
echo "$ccLDFlags" > $out/nix-support/cc-ldflags echo "$ccLDFlags" >> $out/nix-support/cc-ldflags
echo "$ccCFlags" > $out/nix-support/cc-cflags echo "$ccCFlags" >> $out/nix-support/cc-cflags
'' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) '' '' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) ''
echo " -L${libcxx}/lib" >> $out/nix-support/cc-ldflags echo " -L${libcxx}/lib" >> $out/nix-support/cc-ldflags
'' + optionalString propagateDoc '' ''
## ##
## Man page and info support ## Man page and info support
## ##
+ optionalString propagateDoc ''
ln -s ${cc.man} $man ln -s ${cc.man} $man
ln -s ${cc.info} $info ln -s ${cc.info} $info
'' + optionalString (cc.langD or false) '' '' + optionalString (cc.langD or false) ''
echo "-B${zlib}${zlib.libdir or "/lib/"}" >> $out/nix-support/libc-cflags echo "-B${zlib}${zlib.libdir or "/lib/"}" >> $out/nix-support/libc-cflags
'' ''
+ ''
## ##
## Hardening support ## Hardening support
## ##
+ ''
export hardening_unsupported_flags="${builtins.concatStringsSep " " (cc.hardeningUnsupportedFlags or [])}" export hardening_unsupported_flags="${builtins.concatStringsSep " " (cc.hardeningUnsupportedFlags or [])}"
'' ''
@ -389,19 +436,18 @@ stdenv.mkDerivation {
# There are a few tools (to name one libstdcxx5) which do not work # There are a few tools (to name one libstdcxx5) which do not work
# well with multi line flags, so make the flags single line again # well with multi line flags, so make the flags single line again
+ '' + ''
if [ -e "$out/nix-support/libc-cflags" ]; then for flags in "$out/nix-support"/*flags*; do
substituteInPlace "$out/nix-support/libc-cflags" --replace $'\n' ' ' substituteInPlace "$flags" --replace $'\n' ' '
fi done
substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
''
## ##
## Extra custom steps ## Extra custom steps
## ##
''
+ extraBuildCommands; + extraBuildCommands;
inherit expand-response-params; inherit expand-response-params;

View File

@ -199,7 +199,7 @@ stdenv.mkDerivation (args // {
-executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \)) -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \))
''; '';
checkPhase = args.checkPhase or (let installCheckPhase = args.checkPhase or (let
argstr = "${stdenv.lib.optionalString (checkType == "release") "--release"} --target ${rustTarget} --frozen"; argstr = "${stdenv.lib.optionalString (checkType == "release") "--release"} --target ${rustTarget} --frozen";
in '' in ''
${stdenv.lib.optionalString (buildAndTestSubdir != null) "pushd ${buildAndTestSubdir}"} ${stdenv.lib.optionalString (buildAndTestSubdir != null) "pushd ${buildAndTestSubdir}"}

View File

@ -141,7 +141,7 @@ autoPatchelfFile() {
# This makes sure the builder fails if we didn't find a dependency, because # This makes sure the builder fails if we didn't find a dependency, because
# the stdenv setup script is run with set -e. The actual error is emitted # the stdenv setup script is run with set -e. The actual error is emitted
# earlier in the previous loop. # earlier in the previous loop.
[ $depNotFound -eq 0 ] [ $depNotFound -eq 0 -o -n "$autoPatchelfIgnoreMissingDeps" ]
if [ -n "$rpath" ]; then if [ -n "$rpath" ]; then
echo "setting RPATH to: $rpath" >&2 echo "setting RPATH to: $rpath" >&2

View File

@ -61,7 +61,7 @@ _multioutConfig() {
local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")" local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")"
fi fi
# PACKAGE_TARNAME sometimes contains garbage. # PACKAGE_TARNAME sometimes contains garbage.
if [ -n "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then
shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')" shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"
fi fi
fi fi

View File

@ -1,14 +1,14 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "1.0.6"; version = "2.000";
in in
fetchzip rec { fetchzip {
name = "JetBrainsMono-${version}"; name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip"; url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrains.Mono.${version}.zip";
sha256 = "1198k5zw91g85h6n7rg3y7wcj1nrbby9zlr6zwlmiq0nb37n0d3g"; sha256 = "1kmb0fckiwaphqxw08xd5fbfjrwnwxz48bidj16ixw8lgcr29b8g";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts mkdir -p $out/share/fonts

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "iconpack-jade"; pname = "iconpack-jade";
version = "1.22"; version = "1.23";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "madmaxms"; owner = "madmaxms";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1piypv8wdxnfiy6kgh7i3wi52m4fh4x874kh01qjmymssyirn17x"; sha256 = "1q29ikfssn1vmwws3dry4ssq6b44afd9sb7dwv3rdqg0frabpj1m";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, python2Packages }: { stdenv, fetchFromGitHub, python2Packages }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cde-motif-theme"; pname = "cdetheme";
version = "1.3"; version = "1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ gnidorah ]; maintainers = with maintainers; [ gnidorah ];
hydraPlatforms = [];
}; };
} }

View File

@ -36,11 +36,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-initial-setup"; pname = "gnome-initial-setup";
version = "3.36.3"; version = "3.36.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "11f2yj8q844gks3jkfbi4ap448snz1wjflqbq4y2kk12r3w37afq"; sha256 = "17szzz2a5wpi7kwjnhimiwf8vg0bfliyk3k0adgv1pw2mcfpxp5s";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,6 +1,7 @@
{ fetchurl { fetchurl
, fetchpatch , fetchpatch
, substituteAll , substituteAll
, runCommand
, stdenv , stdenv
, pkgconfig , pkgconfig
, gnome3 , gnome3
@ -42,7 +43,7 @@
, wayland-protocols , wayland-protocols
}: }:
stdenv.mkDerivation rec { let self = stdenv.mkDerivation rec {
pname = "mutter"; pname = "mutter";
version = "3.36.4"; version = "3.36.4";
@ -132,6 +133,18 @@ stdenv.mkDerivation rec {
''; '';
passthru = { passthru = {
libdir = "${self}/lib/mutter-6";
tests = {
libdirExists = runCommand "mutter-libdir-exists" {} ''
if [[ ! -d ${self.libdir} ]]; then
echo "passthru.libdir should contain a directory, ${self.libdir} is not one."
exit 1
fi
touch $out
'';
};
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;
attrPath = "gnome3.${pname}"; attrPath = "gnome3.${pname}";
@ -145,4 +158,5 @@ stdenv.mkDerivation rec {
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} };
in self

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-dash-to-panel"; pname = "gnome-shell-dash-to-panel";
version = "31"; version = "38";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "home-sweet-gnome"; owner = "home-sweet-gnome";
repo = "dash-to-panel"; repo = "dash-to-panel";
rev = "v${version}"; rev = "v${version}";
sha256 = "0vh36mdncjvfp1jbinifznj5dw3ahsswwm3m9sjw5gydsbx6vh83"; sha256 = "1kvybb49l1vf0fvh8d0c6xkwnry8m330scamf5x40y63d4i213j1";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,14 +1,14 @@
{ stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }: { stdenv, substituteAll, fetchpatch, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-system-monitor"; pname = "gnome-shell-system-monitor";
version = "38"; version = "2020-04-27-unstable";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "paradoxxxzero"; owner = "paradoxxxzero";
repo = "gnome-shell-system-monitor-applet"; repo = "gnome-shell-system-monitor-applet";
rev = "v${version}"; rev = "7f8f0a7b255473941f14d1dcaa35ebf39d3bccd0";
sha256 = "1sdj2kxb418mgq44a6lf6jic33wlfbnn3ja61igmx0jj1530iknv"; sha256 = "tUUvBY0UEUE+T79zVZEAICpKoriFZuuZzi9ArdHdXks=";
}; };
buildInputs = [ buildInputs = [
@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
patches = [ patches = [
(substituteAll { (substituteAll {
src = ./paths_and_nonexisting_dirs.patch; src = ./paths_and_nonexisting_dirs.patch;
clutter_path = gnome3.mutter.libdir; # this should not be used in settings but 🤷‍♀️
gtop_path = "${libgtop}/lib/girepository-1.0"; gtop_path = "${libgtop}/lib/girepository-1.0";
glib_net_path = "${glib-networking}/lib/girepository-1.0"; glib_net_path = "${glib-networking}/lib/girepository-1.0";
}) })
@ -41,8 +42,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ tiramiseb ]; maintainers = with maintainers; [ tiramiseb ];
homepage = "https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet"; homepage = "https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet";
# 3.36 support not yet ready
# https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/pull/564
broken = stdenv.lib.versionAtLeast gnome3.gnome-shell.version "3.34";
}; };
} }

View File

@ -1,5 +1,5 @@
diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js
index b4b7f15..d139135 100644 index de5e3d7..2d7824d 100644
--- a/system-monitor@paradoxxx.zero.gmail.com/extension.js --- a/system-monitor@paradoxxx.zero.gmail.com/extension.js
+++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js +++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js
@@ -18,6 +18,9 @@ @@ -18,6 +18,9 @@
@ -11,13 +11,23 @@ index b4b7f15..d139135 100644
+ +
/* Ugly. This is here so that we don't crash old libnm-glib based shells unnecessarily /* Ugly. This is here so that we don't crash old libnm-glib based shells unnecessarily
* by loading the new libnm.so. Should go away eventually */ * by loading the new libnm.so. Should go away eventually */
const libnm_glib = imports.gi.GIRepository.Repository.get_default().is_registered("NMClient", "1.0");
@@ -386,7 +389,7 @@ const smMountsMonitor = new Lang.Class({ @@ -407,7 +410,7 @@ const smMountsMonitor = class SystemMonitor_smMountsMonitor {
connected: false, this.connected = false;
_init: function () {
this._volumeMonitor = Gio.VolumeMonitor.get(); this._volumeMonitor = Gio.VolumeMonitor.get();
- let sys_mounts = ['/home', '/tmp', '/boot', '/usr', '/usr/local']; - let sys_mounts = ['/home', '/tmp', '/boot', '/usr', '/usr/local'];
+ let sys_mounts = ['/home', '/tmp', '/boot']; + let sys_mounts = ['/home', '/tmp', '/boot'];
this.base_mounts = ['/']; this.base_mounts = ['/'];
sys_mounts.forEach(Lang.bind(this, function (sMount) { sys_mounts.forEach((sMount) => {
if (this.is_sys_mount(sMount + '/')) { if (this.is_sys_mount(sMount + '/')) {
diff --git a/system-monitor@paradoxxx.zero.gmail.com/prefs.js b/system-monitor@paradoxxx.zero.gmail.com/prefs.js
index 81d667c..0da4809 100644
--- a/system-monitor@paradoxxx.zero.gmail.com/prefs.js
+++ b/system-monitor@paradoxxx.zero.gmail.com/prefs.js
@@ -1,3 +1,5 @@
+imports.gi.GIRepository.Repository.prepend_search_path('@clutter_path@');
+
const Gtk = imports.gi.Gtk;
const Gio = imports.gi.Gio;
const Gdk = imports.gi.Gdk;

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-taquin"; pname = "gnome-taquin";
version = "3.36.3"; version = "3.36.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "149bv8q2a44i9msyshhh57nxwf5a43hankbndbvjqvq95yqlnhv4"; sha256 = "0awfssqpswsyla4gn80ifj53biwq34hcadxlknnlm7jpz0z38cp0";
}; };
passthru = { passthru = {

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tali"; pname = "tali";
version = "3.36.1"; version = "3.36.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/tali/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/tali/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1klnxk49rr1m2lr4zj1wvfl0iaxzdh2k8ngrcmfmcq39vlxnn94y"; sha256 = "12h6783m4634zzprlk31j0dmvgzrfjklhl0z49fdwcziw5bszr3c";
}; };
passthru = { passthru = {

View File

@ -1,4 +1,4 @@
{ lib, buildFHSUserEnv }: { lib, buildFHSUserEnv, fetchFromGitHub }:
let let
pio-pkgs = pkgs: pio-pkgs = pkgs:
@ -19,6 +19,14 @@ let
platformio platformio
]); ]);
src = fetchFromGitHub {
owner = "platformio";
repo = "platformio-core";
rev = "v4.3.4";
sha256 = "0vf2j79319ypr4yrdmx84853igkb188sjfvlxgw06rlsvsm3kacq";
};
in buildFHSUserEnv { in buildFHSUserEnv {
name = "platformio"; name = "platformio";
@ -34,7 +42,10 @@ in buildFHSUserEnv {
}; };
extraInstallCommands = '' extraInstallCommands = ''
mkdir -p $out/lib/udev/rules.d
ln -s $out/bin/platformio $out/bin/pio ln -s $out/bin/platformio $out/bin/pio
ln -s ${src}/scripts/99-platformio-udev.rules $out/lib/udev/rules.d/99-platformio-udev.rules
''; '';
runScript = "platformio"; runScript = "platformio";

View File

@ -82,6 +82,7 @@ in buildPythonApplication rec {
patches = [ patches = [
./fix-searchpath.patch ./fix-searchpath.patch
./use-local-spdx-license-list.patch ./use-local-spdx-license-list.patch
./missing-udev-rules-nixos.patch
]; ];
postPatch = '' postPatch = ''

View File

@ -0,0 +1,14 @@
diff --git a/platformio/exception.py b/platformio/exception.py
index d291ad7f..4761a35b 100644
--- a/platformio/exception.py
+++ b/platformio/exception.py
@@ -195,7 +195,8 @@ class MissedUdevRules(InvalidUdevRules):
MESSAGE = (
"Warning! Please install `99-platformio-udev.rules`. \nMode details: "
- "https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules"
+ "https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules\n"
+ "On NixOS add the platformio package to services.udev.packages"
)

View File

@ -5,39 +5,45 @@
"hotspot": { "hotspot": {
"aarch64": { "aarch64": {
"build": "10", "build": "10",
"sha256": "04b77f6754aed68528f39750c5cfd6a439190206aff216aa081d62a0e1a794fa", "sha256": "3b8b8bba6a0472ec7de5271cbf67f11e6ab525de6dd5d4729300375f1d56b7a1",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
}, },
"armv6l": { "armv6l": {
"build": "10", "build": "10",
"sha256": "ab5b76203e54fe7a5221535f6f407efa43153de029a746f60af3cffb7cb5080b", "sha256": "45c235af67498f87e3dc99642771e57547cf226335eaee8a55d195173e66a2e9",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
}, },
"armv7l": { "armv7l": {
"build": "10", "build": "10",
"sha256": "ab5b76203e54fe7a5221535f6f407efa43153de029a746f60af3cffb7cb5080b", "sha256": "45c235af67498f87e3dc99642771e57547cf226335eaee8a55d195173e66a2e9",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
}, },
"packageType": "jdk", "packageType": "jdk",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "330d19a2eaa07ed02757d7a785a77bab49f5ee710ea03b4ee2fa220ddd0feffc", "sha256": "ee60304d782c9d5654bf1a6b3f38c683921c1711045e1db94525a51b7024a2ca",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
}, },
"openj9": { "openj9": {
"aarch64": {
"build": "10",
"sha256": "0be01fdcae330e26c489d8d0d0c98c535a2af8cbd0cdcda211776ab9fcd05086",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jdk_aarch64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
"version": "11.0.7"
},
"packageType": "jdk", "packageType": "jdk",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "1530172ee98edd129954fcdca1bf725f7b30c8bfc3cdc381c88de96b7d19e690", "sha256": "526e89f3014fec473b24c10c2464c1343e23703114983fd171b68b1599bba561",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jdk_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
} }
}, },
@ -45,27 +51,45 @@
"hotspot": { "hotspot": {
"aarch64": { "aarch64": {
"build": "10", "build": "10",
"sha256": "7ed04ed9ed7271528e7f03490f1fd7dfbbc2d391414bd6fe4dd80ec3bad76d30", "sha256": "cfe504e9e9621b831a5cfd800a2005dafe90a1d11aa14ee35d7b674d68685698",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
},
"armv6l": {
"build": "10",
"sha256": "581bae8efcaa40e209a780baa6f96b7c8c9397965bc6d54533f4fd8599d5c742",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_arm_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.7"
},
"armv7l": {
"build": "10",
"sha256": "581bae8efcaa40e209a780baa6f96b7c8c9397965bc6d54533f4fd8599d5c742",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_arm_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.7"
}, },
"packageType": "jre", "packageType": "jre",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "c5a4e69e2be0e3e5f5bb7c759960b20650967d0f571baad4a7f15b2c03bda352", "sha256": "74b493dd8a884dcbee29682ead51b182d9d3e52b40c3d4cbb3167c2fd0063503",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jre_x64_linux_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_x64_linux_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
}, },
"openj9": { "openj9": {
"aarch64": {
"build": "10",
"sha256": "37ae26443abb02d2ab041eced9be948f0d20db03183aaf3c159ef682eeeabf9b",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jre_aarch64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
"version": "11.0.7"
},
"packageType": "jre", "packageType": "jre",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "056e4b5f7166f5daa44f36b06c735913bda52831d2e77fa2ac371505c66d10c1", "sha256": "08258a767a6953bde21d15ef3c08e776d83257afa4acc52b55c70e1ac02f0489",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jre_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jre_x64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
} }
} }
@ -77,9 +101,9 @@
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "b87102274d983bf6bb0aa6c2c623301d0ff5eb7f61043ffd04abb00f962c2dcd", "sha256": "0ab1e15e8bd1916423960e91b932d2b17f4c15b02dbdf9fa30e9423280d9e5cc",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
}, },
"openj9": { "openj9": {
@ -87,9 +111,9 @@
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "9a5c5b3bb51a82e666c46b2d1bbafa8c2bbc3aae50194858c8f96c5d43a96f64", "sha256": "a0de749c37802cc233ac58ffde68191a4dc985c71b626e7c0ff53944f743427f",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jdk_x64_mac_openj9_11.0.6_10_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10.2_openj9-0.20.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
} }
}, },
@ -99,9 +123,9 @@
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "ab3c2038a32c62843500109d2efb8f5dacdfa1de3cbb713c8226f26dc603cc33", "sha256": "931a81f4bed38c48b364db57d4ebdd6e4b4ea1466e9bd0eaf8e0f1e47c4569e9",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jre_x64_mac_hotspot_11.0.6_10.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_x64_mac_hotspot_11.0.7_10.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
}, },
"openj9": { "openj9": {
@ -109,9 +133,9 @@
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "10", "build": "10",
"sha256": "130850133d9701393352c2ce13ab541b4f900ff1f5ddf8257cda624968aada9f", "sha256": "0941d739e3230d1d83dc1ee54cff6d17d90331e4f275d00739cb78fba41c5b96",
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jre_x64_mac_openj9_11.0.6_10_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10.2_openj9-0.20.0/OpenJDK11U-jre_x64_mac_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
"version": "11.0.6" "version": "11.0.7"
} }
} }
} }
@ -122,68 +146,68 @@
"jdk": { "jdk": {
"hotspot": { "hotspot": {
"aarch64": { "aarch64": {
"build": "33", "build": "8",
"sha256": "74f4110333ac4239564ed864b1d7d69b7af32af39efcfbde9816e1486cb5ae07", "sha256": "0e6081cb51f8a6f3062bef4f4c45dbe1fccfd3f3b4b5d52522a3edb76581e3af",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_aarch64_linux_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_aarch64_linux_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
}, },
"armv6l": { "armv6l": {
"build": "33", "build": "8",
"sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb", "sha256": "9beec080f2b2a7f6883b024272f4e8d5a0b027325e83647be318215781af1d1a",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_arm_linux_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
}, },
"armv7l": { "armv7l": {
"build": "33", "build": "8",
"sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb", "sha256": "9beec080f2b2a7f6883b024272f4e8d5a0b027325e83647be318215781af1d1a",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_arm_linux_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
}, },
"packageType": "jdk", "packageType": "jdk",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "e562caeffa89c834a69a44242d802eae3523875e427f07c05b1902c152638368", "sha256": "9ccc063569f19899fd08e41466f8c4cd4e05058abdb5178fa374cb365dcf5998",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_linux_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_x64_linux_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
}, },
"openj9": { "openj9": {
"packageType": "jdk", "packageType": "jdk",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "68ebab0021c719694be8fc868478725a69c5c515cdb62e2933eefe87ba6437df", "sha256": "aeecf6d30d0c847db81d07793cf97e5dc44890c29366d7d9f8f9f397f6c52590",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jdk_x64_linux_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
} }
}, },
"jre": { "jre": {
"hotspot": { "hotspot": {
"aarch64": { "aarch64": {
"build": "33", "build": "8",
"sha256": "2365b7fbba8d9125fb091933aad9f38f8cc1fbb0217cdec9ec75d2000f6d451a", "sha256": "6c4b69d1609f4c65c576c80d6aa101de80048f8ce5566f890e8fff5349228bae",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_aarch64_linux_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jre_aarch64_linux_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
}, },
"packageType": "jre", "packageType": "jre",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "73800a0d7c4e81df408a8518d282aa2c001ce4ee15541574c639dfc3564f708f", "sha256": "897f16fe8e056395209e35d2384013bd1ff250e717465769079e3f4793628c34",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_linux_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jre_x64_linux_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
}, },
"openj9": { "openj9": {
"packageType": "jre", "packageType": "jre",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "2ee59be5062a81daa7be85be161cab6b245f9a2e2cbd4769ae9edefaac41e31d", "sha256": "a0ab38607811e282f64082edc68a2dea3fa6a5113391efb124a6d7d02883110a",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jre_x64_linux_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
} }
} }
@ -194,20 +218,20 @@
"packageType": "jdk", "packageType": "jdk",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "f948be96daba250b6695e22cb51372d2ba3060e4d778dd09c89548889783099f", "sha256": "0ddb24efdf5aab541898d19b7667b149a1a64a8bd039b708fc58ee0284fa7e07",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_mac_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_x64_mac_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
}, },
"openj9": { "openj9": {
"packageType": "jdk", "packageType": "jdk",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "583e0defd5c062550896ead7cac383be16f1a81d9b6492dfec26da9af5dcc1c0", "sha256": "dd8d92eec98a3455ec5cd065a0a6672cc1aef280c6a68c507c372ccc1d98fbaa",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jdk_x64_mac_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
} }
}, },
@ -216,20 +240,20 @@
"packageType": "jre", "packageType": "jre",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "1c23efba7908de9a611a98e755602f45381a8f7c957adb3fc4012ab1369a352c", "sha256": "3149b9ebf0db1eaf2dc152df9efae82003e7971efb1cf550060e6a4798fe8c5c",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_mac_hotspot_13_33.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jre_x64_mac_hotspot_13.0.2_8.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
}, },
"openj9": { "openj9": {
"packageType": "jre", "packageType": "jre",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "33", "build": "8",
"sha256": "33a60b78138d50cb02325156c7d1fcf588697749a4401f6c11a3cbefa3033127", "sha256": "6a8a636fca4c7e368241e232a37cd73c9867cdec8f0869fd158b1f58c6128cc2",
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jre_x64_mac_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
"version": "13.0.0" "version": "13.0.2"
} }
} }
} }
@ -241,51 +265,39 @@
"hotspot": { "hotspot": {
"aarch64": { "aarch64": {
"build": "9", "build": "9",
"sha256": "35799a2fd4b467115aff1bc3a54853b5131ba9068e53e1ab0fbe5521a3f2ba83", "sha256": "536bf397d98174b376da9ed49d2f659d65c7310318d8211444f4b7ba7c15e453",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u232b09.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.232" "version": "8.0.252"
}, },
"armv6l": { "armv6l": {
"build": "9", "build": "9",
"sha256": "fdd9f61f1b2df74242da54ee3b3231b0123782a917e9673351276da439c7cab1", "sha256": "5b401ad3c9b246281bd6df34b1abaf75e10e5cad9c6b26b55232b016e90e411a",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u232b09.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.232" "version": "8.0.252"
}, },
"armv7l": { "armv7l": {
"build": "9", "build": "9",
"sha256": "fdd9f61f1b2df74242da54ee3b3231b0123782a917e9673351276da439c7cab1", "sha256": "5b401ad3c9b246281bd6df34b1abaf75e10e5cad9c6b26b55232b016e90e411a",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u232b09.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.232" "version": "8.0.252"
},
"armv6l": {
"build": "10",
"sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz",
"version": "8.0.222"
},
"armv7l": {
"build": "10",
"sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz",
"version": "8.0.222"
}, },
"packageType": "jdk", "packageType": "jdk",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "f39b523c724d0e0047d238eb2bb17a9565a60574cf651206c867ee5fc000ab43", "sha256": "2b59b5282ff32bce7abba8ad6b9fde34c15a98f949ad8ae43e789bbd78fc8862",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
}, },
"openj9": { "openj9": {
"packageType": "jdk", "packageType": "jdk",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "ca785af638b24f9d4df896f5a9f557cc9f1e5fa5e2b1174d6b906e3fd5474c2e", "sha256": "910ae847109a6dd1b6cf69baa7615ea2cce8cff787e5a9349a5331ce7604f3a5",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jdk_x64_linux_openj9_8u242b08_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09_openj9-0.20.0/OpenJDK8U-jdk_x64_linux_openj9_8u252b09_openj9-0.20.0.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
} }
}, },
@ -293,51 +305,39 @@
"hotspot": { "hotspot": {
"aarch64": { "aarch64": {
"build": "9", "build": "9",
"sha256": "4540db665260fdc84ae2f191e21beec9168a70a4227718bee5edd317707e2fda", "sha256": "30bba4425497f5b4aabcba7b45db69d582d278fb17357d64c22c9dc6b2d29ca1",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_aarch64_linux_hotspot_8u232b09.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_aarch64_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.232" "version": "8.0.252"
}, },
"armv6l": { "armv6l": {
"build": "9", "build": "9",
"sha256": "8ab786fc2fa0a282f5cf57f6040f1976c32c3c5e480e900ce5925de6543f6688", "sha256": "107699a88f611e0c2d57816be25821ef9b17db860b14402c4e9e5bf0b9cf16fd",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_arm_linux_hotspot_8u232b09.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_arm_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.232" "version": "8.0.252"
}, },
"armv7l": { "armv7l": {
"build": "9", "build": "9",
"sha256": "8ab786fc2fa0a282f5cf57f6040f1976c32c3c5e480e900ce5925de6543f6688", "sha256": "107699a88f611e0c2d57816be25821ef9b17db860b14402c4e9e5bf0b9cf16fd",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_arm_linux_hotspot_8u232b09.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_arm_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.232" "version": "8.0.252"
},
"armv6l": {
"build": "10",
"sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz",
"version": "8.0.222"
},
"armv7l": {
"build": "10",
"sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz",
"version": "8.0.222"
}, },
"packageType": "jre", "packageType": "jre",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "5edfaefdbb0469d8b24d61c8aef80c076611053b1738029c0232b9a632fe2708", "sha256": "a93be303ed62398dba9acb0376fb3caf8f488fcde80dc62d0a8e46256b3adfb1",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_x64_linux_hotspot_8u242b08.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_x64_linux_hotspot_8u252b09.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
}, },
"openj9": { "openj9": {
"packageType": "jre", "packageType": "jre",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "985d3134b64c6196d4c9ddbc87af0c62b0e643cef71b29f3d25a8c7811811745", "sha256": "5c0ab4691ff5f8e69bb14462f2afb8d73d751b01048eacf4b426ed6d6646dc63",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jre_x64_linux_openj9_8u242b08_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09_openj9-0.20.0/OpenJDK8U-jre_x64_linux_openj9_8u252b09_openj9-0.20.0.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
} }
} }
@ -348,20 +348,20 @@
"packageType": "jdk", "packageType": "jdk",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "06675b7d65bce0313ee1f2e888dd44267e8afeced75e0b39b5ad1f5fdff54e0b", "sha256": "2caed3ec07d108bda613f9b4614b22a8bdd196ccf2a432a126161cd4077f07a5",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u242b08.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.1/OpenJDK8U-jdk_x64_mac_hotspot_8u252b09.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
}, },
"openj9": { "openj9": {
"packageType": "jdk", "packageType": "jdk",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "665dc9c8239b7270b007ab9dd7522570e2686e327d89caf57a6aa6e5c6450078", "sha256": "f522061a23290bce3423e49025a95b6e78d6f30e2741817e83c8fdba4c0c4ae7",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jdk_x64_mac_openj9_8u242b08_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.2_openj9-0.20.0/OpenJDK8U-jdk_x64_mac_openj9_8u252b09_openj9-0.20.0.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
} }
}, },
@ -370,20 +370,20 @@
"packageType": "jre", "packageType": "jre",
"vmType": "hotspot", "vmType": "hotspot",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "fae3777e3441dc7384c339a9054aa7efc40cd2c501625a535c2d4648367ccca3", "sha256": "f8206f0fef194c598de6b206a4773b2e517154913ea0e26c5726091562a034c8",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_x64_mac_hotspot_8u242b08.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.1/OpenJDK8U-jre_x64_mac_hotspot_8u252b09.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
}, },
"openj9": { "openj9": {
"packageType": "jre", "packageType": "jre",
"vmType": "openj9", "vmType": "openj9",
"x86_64": { "x86_64": {
"build": "8", "build": "9",
"sha256": "d4a924558ddda0aed671a67f71714b71c25871a7659fd4c505851cf5ee866de5", "sha256": "55cce54a39c5748360e2e3fe8edf04469b75a0783514853a5745463979b43c80",
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jre_x64_mac_openj9_8u242b08_openj9-0.18.1.tar.gz", "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.2_openj9-0.20.0/OpenJDK8U-jre_x64_mac_openj9_8u252b09_openj9-0.20.0.tar.gz",
"version": "8.0.242" "version": "8.0.252"
} }
} }
} }

View File

@ -2,6 +2,7 @@
let let
rev = emscriptenVersion; rev = emscriptenVersion;
haveGcc = stdenv.cc.isGNU || stdenv.cc.cc ? gcc;
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
#"-DLLVM_CONFIG=${llvm}/bin/llvm-config" #"-DLLVM_CONFIG=${llvm}/bin/llvm-config"
"-DLLVM_BUILD_TESTS=ON" "-DLLVM_BUILD_TESTS=ON"
"-DCLANG_INCLUDE_TESTS=ON" "-DCLANG_INCLUDE_TESTS=ON"
] ++ (stdenv.lib.optional stdenv.isLinux ] ++ (stdenv.lib.optional (stdenv.isLinux && haveGcc)
# necessary for clang to find crtend.o # necessary for clang to find crtend.o
"-DGCC_INSTALL_PREFIX=${gcc}" "-DGCC_INSTALL_PREFIX=${gcc}"
); );
@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
passthru = { passthru = {
isClang = true; isClang = true;
} // stdenv.lib.optionalAttrs haveGcc {
inherit gcc; inherit gcc;
}; };

View File

@ -63,6 +63,7 @@ let majorVersion = "4";
patches = patches =
[ ../use-source-date-epoch.patch ../parallel-bconfig.patch ./parallel-strsignal.patch [ ../use-source-date-epoch.patch ../parallel-bconfig.patch ./parallel-strsignal.patch
./libsanitizer.patch
(fetchpatch { (fetchpatch {
name = "avoid-ustat-glibc-2.28.patch"; name = "avoid-ustat-glibc-2.28.patch";
url = "https://gitweb.gentoo.org/proj/gcc-patches.git/plain/4.9.4/gentoo/100_all_avoid-ustat-glibc-2.28.patch?id=55fcb515620a8f7d3bb77eba938aa0fcf0d67c96"; url = "https://gitweb.gentoo.org/proj/gcc-patches.git/plain/4.9.4/gentoo/100_all_avoid-ustat-glibc-2.28.patch?id=55fcb515620a8f7d3bb77eba938aa0fcf0d67c96";

View File

@ -0,0 +1,24 @@
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index aec950454..5bda9b3a3 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -156,18 +156,13 @@ namespace __sanitizer {
#elif defined(__sparc__)
# if defined(__arch64__)
unsigned mode;
- unsigned short __pad1;
-# else
- unsigned short __pad1;
- unsigned short mode;
unsigned short __pad2;
# endif
unsigned short __seq;
unsigned long long __unused1;
unsigned long long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)

View File

@ -0,0 +1,62 @@
From 8b55f1047cf3491429c1af607e5dac08a81db6e1 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Thu, 20 Feb 2020 15:08:36 +0100
Subject: [PATCH] Fix build for glibc 2.31
---
.../sanitizer_platform_limits_posix.cc | 5 +++--
.../sanitizer_platform_limits_posix.h | 15 +--------------
2 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 069d8d557..c49c28c6e 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
#ifndef __GLIBC_PREREQ
#define __GLIBC_PREREQ(x, y) 0
#endif
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+ on many architectures. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index 304d04e39..568081a79 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -200,27 +200,14 @@ namespace __sanitizer {
unsigned __seq;
u64 __unused1;
u64 __unused2;
-#elif defined(__mips__) || defined(__aarch64__)
- unsigned int mode;
- unsigned short __seq;
- unsigned short __pad1;
- unsigned long __unused1;
- unsigned long __unused2;
#elif defined(__sparc__)
-# if defined(__arch64__)
unsigned mode;
- unsigned short __pad1;
-# else
- unsigned short __pad1;
- unsigned short mode;
unsigned short __pad2;
-# endif
unsigned short __seq;
unsigned long long __unused1;
unsigned long long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)
--
2.25.0

View File

@ -65,7 +65,7 @@ let majorVersion = "6";
inherit (stdenv) buildPlatform hostPlatform targetPlatform; inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches = patches =
[ ../use-source-date-epoch.patch ] [ ../use-source-date-epoch.patch ./0001-Fix-build-for-glibc-2.31.patch ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional noSysDirs ../no-sys-dirs.patch ++ optional noSysDirs ../no-sys-dirs.patch
++ optional langAda ../gnat-cflags.patch ++ optional langAda ../gnat-cflags.patch

View File

@ -0,0 +1,62 @@
From 2d03b6eaf823fc2db6a32b4a95e18f8a7474b47f Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Thu, 20 Feb 2020 01:56:42 +0100
Subject: [PATCH] Fix build for glibc 2.31
---
.../sanitizer_platform_limits_posix.cc | 5 +++--
.../sanitizer_platform_limits_posix.h | 15 +--------------
2 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 97eae3fc7..4089d4695 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1145,8 +1145,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+ on many architectures. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index c13932283..3456fb2db 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -204,27 +204,14 @@ namespace __sanitizer {
unsigned __seq;
u64 __unused1;
u64 __unused2;
-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
- unsigned int mode;
- unsigned short __seq;
- unsigned short __pad1;
- unsigned long __unused1;
- unsigned long __unused2;
#elif defined(__sparc__)
-# if defined(__arch64__)
unsigned mode;
- unsigned short __pad1;
-# else
- unsigned short __pad1;
- unsigned short mode;
unsigned short __pad2;
-# endif
unsigned short __seq;
unsigned long long __unused1;
unsigned long long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)
--
2.25.0

View File

@ -53,6 +53,8 @@ let majorVersion = "7";
./riscv-pthread-reentrant.patch ./riscv-pthread-reentrant.patch
# https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html # https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
./riscv-no-relax.patch ./riscv-no-relax.patch
./0001-Fix-build-for-glibc-2.31.patch
] ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optionals targetPlatform.isNetBSD [ ++ optionals targetPlatform.isNetBSD [

View File

@ -1,4 +0,0 @@
# See pkgs/build-support/setup-hooks/role.bash
getHostRole
export NIX_CXXSTDLIB_COMPILE${role_post}+=" -isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/@targetConfig@"

View File

@ -186,8 +186,11 @@ stdenv.mkDerivation rec {
export PATH=$(pwd)/bin:$PATH export PATH=$(pwd)/bin:$PATH
${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
# Independent from host/target, CC should produce code for the building system. # Independent from host/target, CC should produce code for the building system.
# We only set it when cross-compiling.
export CC=${buildPackages.stdenv.cc}/bin/cc export CC=${buildPackages.stdenv.cc}/bin/cc
''}
ulimit -a ulimit -a
''; '';

View File

@ -193,8 +193,11 @@ stdenv.mkDerivation rec {
export PATH=$(pwd)/bin:$PATH export PATH=$(pwd)/bin:$PATH
${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
# Independent from host/target, CC should produce code for the building system. # Independent from host/target, CC should produce code for the building system.
# We only set it when cross-compiling.
export CC=${buildPackages.stdenv.cc}/bin/cc export CC=${buildPackages.stdenv.cc}/bin/cc
''}
ulimit -a ulimit -a
''; '';

View File

@ -2,12 +2,12 @@
openjdk11.overrideAttrs (oldAttrs: rec { openjdk11.overrideAttrs (oldAttrs: rec {
pname = "jetbrains-jdk"; pname = "jetbrains-jdk";
version = "11.0.6-b774"; version = "11.0.7-b64";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "JetBrains"; owner = "JetBrains";
repo = "JetBrainsRuntime"; repo = "JetBrainsRuntime";
rev = "jb${stdenv.lib.replaceStrings ["."] ["_"] version}"; rev = "jb${stdenv.lib.replaceStrings ["."] ["_"] version}";
sha256 = "0lx3h74jwa14kr8ybwxbzc4jsjj6xnymvckdsrhqhvrciya7bxzw"; sha256 = "1gxqi6dkyriv9j29ppan638w1ns2g9m4q1sq7arf9kwqr05zim90";
}; };
patches = []; patches = [];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook { lowPrio, newScope, pkgs, stdenv, cmake
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross
@ -57,23 +57,17 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
extraPackages = [ extraPackages = [
libstdcxxHook
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = mkExtraBuildCommands cc;
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
'' + mkExtraBuildCommands cc;
}; };
libcxxClang = wrapCCWith rec { libcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx; libcxx = targetLlvmLibraries.libcxx;
extraPackages = [ extraPackages = [
targetLlvmLibraries.libcxx
targetLlvmLibraries.libcxxabi targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
@ -100,14 +94,12 @@ let
inherit (tools) bintools; inherit (tools) bintools;
}; };
extraPackages = [ extraPackages = [
targetLlvmLibraries.libcxx
targetLlvmLibraries.libcxxabi targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) ''
@ -127,7 +119,6 @@ let
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
echo "-nostdlib++" >> $out/nix-support/cc-cflags echo "-nostdlib++" >> $out/nix-support/cc-cflags
@ -145,7 +136,6 @@ let
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommands cc; '' + mkExtraBuildCommands cc;
@ -161,7 +151,6 @@ let
extraPackages = [ ]; extraPackages = [ ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-nostartfiles" >> $out/nix-support/cc-cflags echo "-nostartfiles" >> $out/nix-support/cc-cflags
echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
''; '';
}; };

View File

@ -39,12 +39,9 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux; passthru = {
isLLVM = true;
setupHooks = [ };
../../../../../build-support/setup-hooks/role.bash
./setup-hook.sh
];
meta = { meta = {
homepage = "https://libcxx.llvm.org/"; homepage = "https://libcxx.llvm.org/";

View File

@ -1,6 +0,0 @@
# See pkgs/build-support/setup-hooks/role.bash
getHostRole
linkCxxAbi="@linkCxxAbi@"
export NIX_CXXSTDLIB_COMPILE${role_post}+=" -isystem @out@/include/c++/v1"
export NIX_CXXSTDLIB_LINK${role_post}=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"

View File

@ -47,6 +47,7 @@ stdenv.mkDerivation {
patches = [ patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
../7/compiler-rt-glibc.patch
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch
++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch;

View File

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook { lowPrio, newScope, pkgs, stdenv, cmake
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross
@ -51,25 +51,17 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
extraTools = [ libcxx = null; # libstdcxx is smuggled in with clang.gcc
libstdcxxHook
];
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = mkExtraBuildCommands cc;
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
'' + mkExtraBuildCommands cc;
}; };
libcxxClang = wrapCCWith rec { libcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx; libcxx = targetLlvmLibraries.libcxx;
extraPackages = [ extraPackages = [
targetLlvmLibraries.libcxx
targetLlvmLibraries.libcxxabi targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];

View File

@ -37,12 +37,9 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux; passthru = {
isLLVM = true;
setupHooks = [ };
../../../../../build-support/setup-hooks/role.bash
./setup-hook.sh
];
meta = { meta = {
homepage = "https://libcxx.llvm.org/"; homepage = "https://libcxx.llvm.org/";

View File

@ -1,6 +0,0 @@
# See pkgs/build-support/setup-hooks/role.bash
getHostRole
linkCxxAbi="@linkCxxAbi@"
export NIX_CXXSTDLIB_COMPILE${role_post}+=" -isystem @out@/include/c++/v1"
export NIX_CXXSTDLIB_LINK${role_post}=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"

View File

@ -47,6 +47,7 @@ stdenv.mkDerivation {
patches = [ patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
../7/compiler-rt-glibc.patch
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch;

View File

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook { lowPrio, newScope, pkgs, stdenv, cmake
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross
@ -51,25 +51,17 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
extraTools = [ libcxx = null; # libstdcxx is smuggled in with clang.gcc
libstdcxxHook
];
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = mkExtraBuildCommands cc;
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
'' + mkExtraBuildCommands cc;
}; };
libcxxClang = wrapCCWith rec { libcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx; libcxx = targetLlvmLibraries.libcxx;
extraPackages = [ extraPackages = [
targetLlvmLibraries.libcxx
targetLlvmLibraries.libcxxabi targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];

View File

@ -37,12 +37,9 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux; passthru = {
isLLVM = true;
setupHooks = [ };
../../../../../build-support/setup-hooks/role.bash
./setup-hook.sh
];
meta = { meta = {
homepage = "https://libcxx.llvm.org/"; homepage = "https://libcxx.llvm.org/";

View File

@ -1,6 +0,0 @@
# See pkgs/build-support/setup-hooks/role.bash
getHostRole
linkCxxAbi="@linkCxxAbi@"
export NIX_CXXSTDLIB_COMPILE${role_post}+=" -isystem @out@/include/c++/v1"
export NIX_CXXSTDLIB_LINK${role_post}=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"

View File

@ -0,0 +1,48 @@
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
index 54da635..c5dc1cd 100644
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1158,8 +1158,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+ on many architectures. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
index f89a113..f6f986f 100644
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -213,26 +213,13 @@ namespace __sanitizer {
u64 __unused1;
u64 __unused2;
#elif defined(__sparc__)
-#if defined(__arch64__)
unsigned mode;
- unsigned short __pad1;
-#else
- unsigned short __pad1;
- unsigned short mode;
unsigned short __pad2;
-#endif
unsigned short __seq;
unsigned long long __unused1;
unsigned long long __unused2;
-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
- unsigned int mode;
- unsigned short __seq;
- unsigned short __pad1;
- unsigned long __unused1;
- unsigned long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)

View File

@ -46,6 +46,9 @@ stdenv.mkDerivation {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
patches = [ patches = [
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
./compiler-rt-glibc.patch
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
] ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch ] ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch
++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch

View File

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook { lowPrio, newScope, pkgs, stdenv, cmake
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross
@ -58,25 +58,17 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
extraTools = [ libcxx = null; # libstdcxx is smuggled in with clang.gcc
libstdcxxHook
];
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = mkExtraBuildCommands cc;
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
'' + mkExtraBuildCommands cc;
}; };
libcxxClang = wrapCCWith rec { libcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx; libcxx = targetLlvmLibraries.libcxx;
extraPackages = [ extraPackages = [
targetLlvmLibraries.libcxx
targetLlvmLibraries.libcxxabi targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
@ -87,48 +79,77 @@ let
lldb = callPackage ./lldb.nix {}; lldb = callPackage ./lldb.nix {};
# Below, is the LLVM bootstrapping logic. It handles building a
# fully LLVM toolchain from scratch. No GCC toolchain should be
# pulled in. As a consequence, it is very quick to build different
# targets provided by LLVM and we can also build for what GCC
# doesnt support like LLVM. Probably we should move to some other
# file.
bintools = callPackage ./bintools.nix {}; bintools = callPackage ./bintools.nix {};
lldClang = wrapCCWith rec { lldClang = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx;
bintools = wrapBintoolsWith { bintools = wrapBintoolsWith {
inherit (tools) bintools; inherit (tools) bintools;
}; };
extraPackages = [ extraPackages = [
# targetLlvmLibraries.libcxx targetLlvmLibraries.libcxxabi
# targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-target ${stdenv.targetPlatform.config} -rtlib=compiler-rt" >> $out/nix-support/cc-cflags echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommands cc;
};
lldClangNoLibcxx = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null;
bintools = wrapBintoolsWith {
inherit (tools) bintools;
};
extraPackages = [
targetLlvmLibraries.compiler-rt
];
extraBuildCommands = ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
echo "-nostdlib++" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommands cc; '' + mkExtraBuildCommands cc;
}; };
lldClangNoLibc = wrapCCWith rec { lldClangNoLibc = wrapCCWith rec {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = null;
bintools = wrapBintoolsWith { bintools = wrapBintoolsWith {
inherit (tools) bintools; inherit (tools) bintools;
libc = null; libc = null;
}; };
extraPackages = [ extraPackages = [
# targetLlvmLibraries.libcxx
# targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-target ${stdenv.targetPlatform.config} -rtlib=compiler-rt" >> $out/nix-support/cc-cflags echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommands cc; '' + mkExtraBuildCommands cc;
}; };
lldClangNoCompilerRt = wrapCCWith { lldClangNoCompilerRt = wrapCCWith {
cc = tools.clang-unwrapped; cc = tools.clang-unwrapped;
libcxx = null;
bintools = wrapBintoolsWith { bintools = wrapBintoolsWith {
inherit (tools) bintools; inherit (tools) bintools;
libc = null; libc = null;
}; };
extraPackages = [ ]; extraPackages = [ ];
extraBuildCommands = '' extraBuildCommands = ''
echo "-nostartfiles -target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags echo "-nostartfiles" >> $out/nix-support/cc-cflags
''; '';
}; };
@ -148,9 +169,16 @@ let
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
libcxx = callPackage ./libc++ {}; libcxx = callPackage ./libc++ ({} //
(stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
}));
libcxxabi = callPackage ./libc++abi.nix {}; libcxxabi = callPackage ./libc++abi.nix ({} //
(stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
libunwind = libraries.libunwind;
}));
openmp = callPackage ./openmp.nix {}; openmp = callPackage ./openmp.nix {};
}); });

View File

@ -37,12 +37,9 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux; passthru = {
isLLVM = true;
setupHooks = [ };
../../../../../build-support/setup-hooks/role.bash
./setup-hook.sh
];
meta = { meta = {
homepage = "https://libcxx.llvm.org/"; homepage = "https://libcxx.llvm.org/";

Some files were not shown because too many files have changed in this diff Show More