Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2019-01-15 16:59:03 +01:00
commit 42d276c6b8
167 changed files with 6971 additions and 4962 deletions

View File

@ -109,7 +109,7 @@ let
mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions
mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule
mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
mkAliasOptionModule doRename filterModules; mkAliasOptionModule mkAliasOptionModuleWithPriority doRename filterModules;
inherit (options) isOption mkEnableOption mkSinkUndeclaredOptions inherit (options) isOption mkEnableOption mkSinkUndeclaredOptions
mergeDefaultOption mergeOneOption mergeEqualOption getValues mergeDefaultOption mergeOneOption mergeEqualOption getValues
getFiles optionAttrSetToDocList optionAttrSetToDocList' getFiles optionAttrSetToDocList optionAttrSetToDocList'

View File

@ -450,8 +450,7 @@ rec {
filterOverrides' = defs: filterOverrides' = defs:
let let
defaultPrio = 100; getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPriority;
getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs; highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs;
strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def; strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
in { in {
@ -534,6 +533,8 @@ rec {
mkBefore = mkOrder 500; mkBefore = mkOrder 500;
mkAfter = mkOrder 1500; mkAfter = mkOrder 1500;
# The default priority for things that don't have a priority specified.
defaultPriority = 100;
# Convenient property used to transfer all definitions and their # Convenient property used to transfer all definitions and their
# properties from one option to another. This property is useful for # properties from one option to another. This property is useful for
@ -556,8 +557,20 @@ rec {
# #
mkAliasDefinitions = mkAliasAndWrapDefinitions id; mkAliasDefinitions = mkAliasAndWrapDefinitions id;
mkAliasAndWrapDefinitions = wrap: option: mkAliasAndWrapDefinitions = wrap: option:
mkIf (isOption option && option.isDefined) (wrap (mkMerge option.definitions)); mkAliasIfDef option (wrap (mkMerge option.definitions));
# Similar to mkAliasAndWrapDefinitions but copies over the priority from the
# option as well.
#
# If a priority is not set, it assumes a priority of defaultPriority.
mkAliasAndWrapDefsWithPriority = wrap: option:
let
prio = option.highestPrio or defaultPriority;
defsWithPrio = map (mkOverride prio) option.definitions;
in mkAliasIfDef option (wrap (mkMerge defsWithPrio));
mkAliasIfDef = option:
mkIf (isOption option && option.isDefined);
/* Compatibility. */ /* Compatibility. */
fixMergeModules = modules: args: evalModules { inherit modules args; check = false; }; fixMergeModules = modules: args: evalModules { inherit modules args; check = false; };
@ -690,7 +703,16 @@ rec {
use = id; use = id;
}; };
doRename = { from, to, visible, warn, use }: /* Like mkAliasOptionModule, but copy over the priority of the option as well. */
mkAliasOptionModuleWithPriority = from: to: doRename {
inherit from to;
visible = true;
warn = false;
use = id;
withPriority = true;
};
doRename = { from, to, visible, warn, use, withPriority ? false }:
{ config, options, ... }: { config, options, ... }:
let let
fromOpt = getAttrFromPath from options; fromOpt = getAttrFromPath from options;
@ -708,7 +730,9 @@ rec {
warnings = optional (warn && fromOpt.isDefined) warnings = optional (warn && fromOpt.isDefined)
"The option `${showOption from}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption to}'."; "The option `${showOption from}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption to}'.";
} }
(mkAliasAndWrapDefinitions (setAttrByPath to) fromOpt) (if withPriority
then mkAliasAndWrapDefsWithPriority (setAttrByPath to) fromOpt
else mkAliasAndWrapDefinitions (setAttrByPath to) fromOpt)
]; ];
}; };

View File

@ -149,6 +149,12 @@ checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-long-list.ni
# Check loaOf with many merges of lists. # Check loaOf with many merges of lists.
checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix
# Check mkAliasOptionModuleWithPriority.
checkConfigOutput "true" config.enable ./alias-with-priority.nix
checkConfigOutput "true" config.enableAlias ./alias-with-priority.nix
checkConfigOutput "false" config.enable ./alias-with-priority-can-override.nix
checkConfigOutput "false" config.enableAlias ./alias-with-priority-can-override.nix
cat <<EOF cat <<EOF
====== module tests ====== ====== module tests ======
$pass Pass $pass Pass

View File

@ -0,0 +1,52 @@
# This is a test to show that mkAliasOptionModule sets the priority correctly
# for aliased options.
{ config, lib, ... }:
with lib;
{
options = {
# A simple boolean option that can be enabled or disabled.
enable = lib.mkOption {
type = types.nullOr types.bool;
default = null;
example = true;
description = ''
Some descriptive text
'';
};
# mkAliasOptionModule sets warnings, so this has to be defined.
warnings = mkOption {
internal = true;
default = [];
type = types.listOf types.str;
example = [ "The `foo' service is deprecated and will go away soon!" ];
description = ''
This option allows modules to show warnings to users during
the evaluation of the system configuration.
'';
};
};
imports = [
# Create an alias for the "enable" option.
(mkAliasOptionModuleWithPriority [ "enableAlias" ] [ "enable" ])
# Disable the aliased option, but with a default (low) priority so it
# should be able to be overridden by the next import.
( { config, lib, ... }:
{
enableAlias = lib.mkForce false;
}
)
# Enable the normal (non-aliased) option.
( { config, lib, ... }:
{
enable = true;
}
)
];
}

View File

@ -0,0 +1,52 @@
# This is a test to show that mkAliasOptionModule sets the priority correctly
# for aliased options.
{ config, lib, ... }:
with lib;
{
options = {
# A simple boolean option that can be enabled or disabled.
enable = lib.mkOption {
type = types.nullOr types.bool;
default = null;
example = true;
description = ''
Some descriptive text
'';
};
# mkAliasOptionModule sets warnings, so this has to be defined.
warnings = mkOption {
internal = true;
default = [];
type = types.listOf types.str;
example = [ "The `foo' service is deprecated and will go away soon!" ];
description = ''
This option allows modules to show warnings to users during
the evaluation of the system configuration.
'';
};
};
imports = [
# Create an alias for the "enable" option.
(mkAliasOptionModuleWithPriority [ "enableAlias" ] [ "enable" ])
# Disable the aliased option, but with a default (low) priority so it
# should be able to be overridden by the next import.
( { config, lib, ... }:
{
enableAlias = lib.mkDefault false;
}
)
# Enable the normal (non-aliased) option.
( { config, lib, ... }:
{
enable = true;
}
)
];
}

View File

@ -2185,6 +2185,11 @@
github = "joncojonathan"; github = "joncojonathan";
name = "Jonathan Haddock"; name = "Jonathan Haddock";
}; };
jorsn = {
name = "Johannes Rosenberger";
email = "johannes@jorsn.eu";
github = "jorsn";
};
jpdoyle = { jpdoyle = {
email = "joethedoyle@gmail.com"; email = "joethedoyle@gmail.com";
github = "jpdoyle"; github = "jpdoyle";
@ -3574,7 +3579,7 @@
}; };
psyanticy = { psyanticy = {
email = "iuns@outlook.fr"; email = "iuns@outlook.fr";
github = "Assassinkin"; github = "PsyanticY";
name = "Psyanticy"; name = "Psyanticy";
}; };
puffnfresh = { puffnfresh = {
@ -3925,6 +3930,11 @@
github = "sauyon"; github = "sauyon";
name = "Sauyon Lee"; name = "Sauyon Lee";
}; };
sb0 = {
email = "sb@m-labs.hk";
github = "sbourdeauducq";
name = "Sébastien Bourdeauducq";
};
sboosali = { sboosali = {
email = "SamBoosalis@gmail.com"; email = "SamBoosalis@gmail.com";
github = "sboosali"; github = "sboosali";

View File

@ -66,6 +66,10 @@
<arg> <arg>
<option>--rollback</option> <option>--rollback</option>
</arg> </arg>
<arg>
<option>--builders</option>
<replaceable>builder-spec</replaceable>
</arg>
<sbr /> <sbr />
<arg> <arg>
<group choice='req'> <group choice='req'>
@ -315,6 +319,27 @@ $ ./result/bin/run-*-vm
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<option>--builders</option>
<replaceable>builder-spec</replaceable>
</term>
<listitem>
<para>
Allow ad-hoc remote builders for building the new system.
This requires the user executing <command>nixos-rebuild</command> (usually
root) to be configured as a trusted user in the Nix daemon. This can be
achieved by using the <literal>nix.trustedUsers</literal> NixOS option.
Examples values for that option are described in the
<literal>Remote builds chapter</literal> in the Nix manual,
(i.e. <command>--builders "ssh://bigbrother x86_64-linux"</command>).
By specifying an empty string existing builders specified in
<filename>/etc/nix/machines</filename> can be ignored:
<command>--builders ""</command> for example when they are not
reachable due to network connectivity.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>--profile-name</option> <option>--profile-name</option>

View File

@ -83,6 +83,8 @@ rec {
(m': let config = (getAttr m' nodes).config; in (m': let config = (getAttr m' nodes).config; in
optionalString (config.networking.primaryIPAddress != "") optionalString (config.networking.primaryIPAddress != "")
("${config.networking.primaryIPAddress} " + ("${config.networking.primaryIPAddress} " +
optionalString (config.networking.domain != null)
"${config.networking.hostName}.${config.networking.domain} " +
"${config.networking.hostName}\n")); "${config.networking.hostName}\n"));
virtualisation.qemu.options = virtualisation.qemu.options =

View File

@ -4,6 +4,7 @@ use strict;
use Thread::Queue; use Thread::Queue;
use XML::Writer; use XML::Writer;
use Encode qw(decode encode); use Encode qw(decode encode);
use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
sub new { sub new {
my ($class) = @_; my ($class) = @_;
@ -46,10 +47,12 @@ sub nest {
print STDERR maybePrefix("$msg\n", $attrs); print STDERR maybePrefix("$msg\n", $attrs);
$self->{log}->startTag("nest"); $self->{log}->startTag("nest");
$self->{log}->dataElement("head", $msg, %{$attrs}); $self->{log}->dataElement("head", $msg, %{$attrs});
my $now = clock_gettime(CLOCK_MONOTONIC);
$self->drainLogQueue(); $self->drainLogQueue();
eval { &$coderef }; eval { &$coderef };
my $res = $@; my $res = $@;
$self->drainLogQueue(); $self->drainLogQueue();
$self->log(sprintf("(%.2f seconds)", clock_gettime(CLOCK_MONOTONIC) - $now));
$self->{log}->endTag("nest"); $self->{log}->endTag("nest");
die $@ if $@; die $@ if $@;
} }

View File

@ -10,6 +10,7 @@ use Cwd;
use File::Basename; use File::Basename;
use File::Path qw(make_path); use File::Path qw(make_path);
use File::Slurp; use File::Slurp;
use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
my $showGraphics = defined $ENV{'DISPLAY'}; my $showGraphics = defined $ENV{'DISPLAY'};
@ -249,12 +250,15 @@ sub connect {
$self->start; $self->start;
my $now = clock_gettime(CLOCK_MONOTONIC);
local $SIG{ALRM} = sub { die "timed out waiting for the VM to connect\n"; }; local $SIG{ALRM} = sub { die "timed out waiting for the VM to connect\n"; };
alarm 300; alarm 600;
readline $self->{socket} or die "the VM quit before connecting\n"; readline $self->{socket} or die "the VM quit before connecting\n";
alarm 0; alarm 0;
$self->log("connected to guest root shell"); $self->log("connected to guest root shell");
# We're interested in tracking how close we are to `alarm`.
$self->log(sprintf("(connecting took %.2f seconds)", clock_gettime(CLOCK_MONOTONIC) - $now));
$self->{connected} = 1; $self->{connected} = 1;
}); });

View File

@ -53,11 +53,11 @@ while [ "$#" -gt 0 ]; do
repair=1 repair=1
extraBuildFlags+=("$i") extraBuildFlags+=("$i")
;; ;;
--max-jobs|-j|--cores|-I) --max-jobs|-j|--cores|-I|--builders)
j="$1"; shift 1 j="$1"; shift 1
extraBuildFlags+=("$i" "$j") extraBuildFlags+=("$i" "$j")
;; ;;
--show-trace|--no-build-hook|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*) --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*)
extraBuildFlags+=("$i") extraBuildFlags+=("$i")
;; ;;
--option) --option)

View File

@ -55,7 +55,7 @@ let
check = builtins.isAttrs; check = builtins.isAttrs;
}; };
defaultPkgs = import ../../../pkgs/top-level/default.nix { defaultPkgs = import ../../.. {
inherit (cfg) config overlays localSystem crossSystem; inherit (cfg) config overlays localSystem crossSystem;
}; };
@ -68,7 +68,7 @@ in
pkgs = mkOption { pkgs = mkOption {
defaultText = literalExample defaultText = literalExample
''import "''${nixos}/../pkgs/top-level" { ''import "''${nixos}/.." {
inherit (cfg) config overlays localSystem crossSystem; inherit (cfg) config overlays localSystem crossSystem;
} }
''; '';

View File

@ -6,7 +6,6 @@
with lib; with lib;
{ {
sound.enable = false;
boot.vesa = false; boot.vesa = false;
# Don't start a tty on the serial consoles. # Don't start a tty on the serial consoles.

View File

@ -13,5 +13,5 @@ with lib;
documentation.enable = mkDefault false; documentation.enable = mkDefault false;
sound.enable = mkDefault false; services.nixosManual.enable = mkDefault false;
} }

View File

@ -2,6 +2,7 @@
let let
cfg = config.programs.nano; cfg = config.programs.nano;
LF = "\n";
in in
{ {
@ -33,9 +34,9 @@ in
###### implementation ###### implementation
config = lib.mkIf (cfg.nanorc != "") { config = lib.mkIf (cfg.nanorc != "" || cfg.syntaxHighlight) {
environment.etc."nanorc".text = lib.concatStrings [ cfg.nanorc environment.etc."nanorc".text = lib.concatStrings [ cfg.nanorc
(lib.optionalString cfg.syntaxHighlight ''include "${pkgs.nano}/share/nano/*.nanorc"'') ]; (lib.optionalString cfg.syntaxHighlight ''${LF}include "${pkgs.nano}/share/nano/*.nanorc"'') ];
}; };
} }

View File

@ -16,6 +16,20 @@ in {
description = "The NZBGet package to use"; description = "The NZBGet package to use";
}; };
dataDir = mkOption {
type = types.str;
default = "/var/lib/nzbget";
description = "The directory where NZBGet stores its configuration files.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open ports in the firewall for the NZBGet web interface
'';
};
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = "nzbget"; default = "nzbget";
@ -40,7 +54,8 @@ in {
p7zip p7zip
]; ];
preStart = '' preStart = ''
datadir=/var/lib/nzbget datadir=${cfg.dataDir}
configfile=${cfg.dataDir}/nzbget.conf
cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf
test -d $datadir || { test -d $datadir || {
echo "Creating nzbget data directory in $datadir" echo "Creating nzbget data directory in $datadir"
@ -60,7 +75,7 @@ in {
''; '';
script = '' script = ''
configfile=/var/lib/nzbget/nzbget.conf configfile=${cfg.dataDir}/nzbget.conf
args="--daemon --configfile $configfile" args="--daemon --configfile $configfile"
# The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time. # The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time.
# These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to # These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to
@ -86,6 +101,10 @@ in {
}; };
}; };
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 8989 ];
};
users.users = mkIf (cfg.user == "nzbget") { users.users = mkIf (cfg.user == "nzbget") {
nzbget = { nzbget = {
group = cfg.group; group = cfg.group;

View File

@ -9,6 +9,32 @@ in
options = { options = {
services.sonarr = { services.sonarr = {
enable = mkEnableOption "Sonarr"; enable = mkEnableOption "Sonarr";
dataDir = mkOption {
type = types.str;
default = "/var/lib/sonarr/.config/NzbDrone";
description = "The directory where Sonarr stores its data files.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open ports in the firewall for the Sonarr web interface
'';
};
user = mkOption {
type = types.str;
default = "sonarr";
description = "User account under which Sonaar runs.";
};
group = mkOption {
type = types.str;
default = "sonarr";
description = "Group under which Sonaar runs.";
};
}; };
}; };
@ -18,30 +44,38 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
preStart = '' preStart = ''
test -d /var/lib/sonarr/ || { test -d ${cfg.dataDir} || {
echo "Creating sonarr data directory in /var/lib/sonarr/" echo "Creating sonarr data directory in ${cfg.dataDir}"
mkdir -p /var/lib/sonarr/ mkdir -p ${cfg.dataDir}
} }
chown -R sonarr:sonarr /var/lib/sonarr/ chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
chmod 0700 /var/lib/sonarr/ chmod 0700 ${cfg.dataDir}
''; '';
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
User = "sonarr"; User = cfg.user;
Group = "sonarr"; Group = cfg.group;
PermissionsStartOnly = "true"; PermissionsStartOnly = "true";
ExecStart = "${pkgs.sonarr}/bin/NzbDrone --no-browser"; ExecStart = "${pkgs.sonarr}/bin/NzbDrone -nobrowser -data='${cfg.dataDir}'";
Restart = "on-failure"; Restart = "on-failure";
}; };
}; };
users.users.sonarr = { networking.firewall = mkIf cfg.openFirewall {
uid = config.ids.uids.sonarr; allowedTCPPorts = [ 8989 ];
home = "/var/lib/sonarr";
group = "sonarr";
}; };
users.groups.sonarr.gid = config.ids.gids.sonarr;
users.users = mkIf (cfg.user == "sonarr") {
sonarr = {
group = cfg.group;
home = cfg.dataDir;
uid = config.ids.uids.sonarr;
};
};
users.groups = mkIf (cfg.group == "sonarr") {
sonarr.gid = config.ids.gids.sonarr;
};
}; };
} }

View File

@ -179,7 +179,10 @@ in {
networkmanager-iodine networkmanager-l2tp; }; networkmanager-iodine networkmanager-l2tp; };
# Needed for themes and backgrounds # Needed for themes and backgrounds
environment.pathsToLink = [ "/share" ]; environment.pathsToLink = [
"/share"
"/share/nautilus-python/extensions"
];
}; };

View File

@ -7,7 +7,6 @@ with lib;
config = mkIf config.boot.isContainer { config = mkIf config.boot.isContainer {
# Disable some features that are not useful in a container. # Disable some features that are not useful in a container.
sound.enable = mkDefault false;
services.udisks2.enable = mkDefault false; services.udisks2.enable = mkDefault false;
powerManagement.enable = mkDefault false; powerManagement.enable = mkDefault false;

View File

@ -188,6 +188,8 @@ let
'' ''
else else
'' ''
echo "Bring ${name} up"
ip link set dev ${name} up
# Set IPs and routes for ${name} # Set IPs and routes for ${name}
${optionalString (cfg.hostAddress != null) '' ${optionalString (cfg.hostAddress != null) ''
ip addr add ${cfg.hostAddress} dev ${name} ip addr add ${cfg.hostAddress} dev ${name}

View File

@ -13,6 +13,7 @@ import ./make-test.nix ({ pkgs, ...} : {
virtualisation.memorySize = 768; virtualisation.memorySize = 768;
virtualisation.vlans = []; virtualisation.vlans = [];
networking.useDHCP = false;
networking.bridges = { networking.bridges = {
br0 = { br0 = {
interfaces = []; interfaces = [];

View File

@ -21,14 +21,14 @@ python3Packages.buildPythonApplication rec {
format = "other"; # no setup.py format = "other"; # no setup.py
name = "cozy-${version}"; pname = "cozy";
version = "0.6.3"; version = "0.6.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "geigi"; owner = "geigi";
repo = "cozy"; repo = pname;
rev = version; rev = version;
sha256 = "0xs6vzvmx0nvybpjqlrngggv2x8b2ky073slh760iirs1p0dclbc"; sha256 = "0f8dyqj6111czn8spgsnic1fqs3kimjwl1b19mw55fa924b9bhsa";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -71,9 +71,7 @@ python3Packages.buildPythonApplication rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = '' description = "A modern audio book player for Linux using GTK+ 3";
A modern audio book player for Linux using GTK+ 3
'';
homepage = https://cozy.geigi.de/; homepage = https://cozy.geigi.de/;
maintainers = [ maintainers.makefu ]; maintainers = [ maintainers.makefu ];
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -45,13 +45,13 @@ let
]; ];
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "pulseeffects"; pname = "pulseeffects";
version = "4.4.5"; version = "4.4.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wwmm"; owner = "wwmm";
repo = "pulseeffects"; repo = "pulseeffects";
rev = "v${version}"; rev = "v${version}";
sha256 = "1dcly8rzbfnfqrl7biicbixdqgqazrwa4x8l3m3r8f4bf3sqpmhd"; sha256 = "0zvcj2qliz2rlcz59ag4ljrs78qb7kpyaph16qvi07ij7c5bm333";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,68 +1,47 @@
{ stdenv, fetchurl, autoPatchelfHook, makeWrapper { stdenv, fetchurl, autoPatchelfHook, makeWrapper
, alsaLib, xorg , alsaLib, xorg
, fetchFromGitHub, pkgconfig, gnome3 , gnome3, pango, gdk_pixbuf, cairo, glib, freetype
, gnome2, gdk_pixbuf, cairo, glib, freetype , libpulseaudio, xdg_utils
, libpulseaudio
}: }:
let stdenv.mkDerivation rec {
libSwell = stdenv.mkDerivation {
name = "libSwell";
src = fetchFromGitHub {
owner = "justinfrankel";
repo = "WDL";
rev = "cb89dc81dc5cbc13a8f1b3cda38a204e356d4014";
sha256 = "0m19dy4r0i21ckypzfhpfjm6sh00v9i088pva7hhhr4mmrbqd0ms";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gnome3.gtk ];
buildPhase = ''
cd WDL/swell
make
'';
installPhase = ''
mv libSwell.so $out
'';
};
in stdenv.mkDerivation rec {
name = "reaper-${version}"; name = "reaper-${version}";
version = "5.961"; version = "5.965";
src = fetchurl { src = fetchurl {
url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz"; url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
sha256 = "0lnpdnxnwn7zfn8slivkp971ll9qshgq7y9gcfrk5829z94df06i"; sha256 = "05fn7r3v4qcb1b31g8layzvqilrwdr0s8yskr61yvbhx2dnjp9iw";
}; };
nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
buildInputs = [ buildInputs = [
alsaLib alsaLib
stdenv.cc.cc.lib
xorg.libX11 xorg.libX11
xorg.libXi xorg.libXi
gnome3.gtk
gdk_pixbuf gdk_pixbuf
gnome2.pango pango
cairo cairo
glib glib
freetype freetype
xdg_utils
];
runtimeDependencies = [
gnome3.gtk
]; ];
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
./install-reaper.sh --install $out/opt XDG_DATA_HOME="$out/share" ./install-reaper.sh \
--install $out/opt \
--integrate-user-desktop
rm $out/opt/REAPER/uninstall-reaper.sh rm $out/opt/REAPER/uninstall-reaper.sh
cp ${libSwell.out} $out/opt/REAPER/libSwell.so
wrapProgram $out/opt/REAPER/reaper \ wrapProgram $out/opt/REAPER/reaper \
--prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib

View File

@ -1,23 +1,26 @@
{ fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype { fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng , glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }: , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3
, at-spi2-atk
}:
let let
# TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update) # TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update)
# "rev" decides what is actually being downloaded # "rev" decides what is actually being downloaded
version = "1.0.94.262.g3d5c231c-9"; version = "1.0.96.181.gf6bc1b6b-12";
# To get the latest stable revision: # To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information: # To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage: # More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "28"; rev = "30";
deps = [ deps = [
alsaLib alsaLib
atk atk
at-spi2-atk
cairo cairo
cups cups
curl curl
@ -65,7 +68,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl { src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "ca8e2eb45ea7ef6396382298822969994aca86cca8ba122ec1521c593e621161267943fe5515bb8747037ecbbfbd05cffbbca017f8f4b1c9fbd216e1d6a9e8cb"; sha512 = "859730fbc80067f0828f7e13eee9a21b13b749f897a50e17c2da4ee672785cfd79e1af6336e609529d105e040dc40f61b6189524783ac93d49f991c4ea8b3c56";
}; };
buildInputs = [ squashfsTools makeWrapper ]; buildInputs = [ squashfsTools makeWrapper ];

View File

@ -6,11 +6,11 @@ assert stdenv ? glibc;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yoshimi-${version}"; name = "yoshimi-${version}";
version = "1.5.9"; version = "1.5.10";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
sha256 = "1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"; sha256 = "0mazzn5pc4xnjci3yy1yfsx9l05gkxqzkmscaq1h75jpa7qfsial";
}; };
buildInputs = [ buildInputs = [

View File

@ -8,15 +8,11 @@ let
inherit (gnome2) GConf gnome_vfs; inherit (gnome2) GConf gnome_vfs;
}; };
stableVersion = { stableVersion = {
version = "3.2.1.0"; # "Android Studio 3.2.1" version = "3.3.0.20"; # "Android Studio 3.3"
build = "181.5056338"; build = "182.5199772";
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r"; sha256Hash = "0dracganibnkyapn2pk2qqnxpwmii57371ycri4nccaci9v9pcjw";
};
betaVersion = {
version = "3.3.0.19"; # "Android Studio 3.3 RC 3"
build = "182.5183351";
sha256Hash = "1rql4kxjic4qjcd8zssw2mmi55cxpzd0wp5g0kzwk5wybsfdcqhy";
}; };
betaVersion = stableVersion;
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "3.4.0.9"; # "Android Studio 3.4 Canary 10" version = "3.4.0.9"; # "Android Studio 3.4 Canary 10"
build = "183.5202479"; build = "183.5202479";

View File

@ -3,16 +3,16 @@
, ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
, libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3 , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
, ocl-icd, pcre, gtk-mac-integration , ocl-icd, pcre, gtk-mac-integration, isocodes
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.4.4"; version = "2.6.0";
name = "darktable-${version}"; name = "darktable-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "0kdhmiw4wxk2w9v2hms9yk8nl4ymdshnqyj0l07nivzzr6w20hwn"; sha256 = "0y04cx0a0rwdclmn16f5y0z2vnm7yxly291gzjgdhcn59a77sga8";
}; };
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ]; nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif
libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
libsoup graphicsmagick json-glib openjpeg lua pugixml libsoup graphicsmagick json-glib openjpeg lua pugixml
libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre isocodes
] ++ stdenv.lib.optionals stdenv.isLinux [ ] ++ stdenv.lib.optionals stdenv.isLinux [
colord colord-gtk libX11 ocl-icd colord colord-gtk libX11 ocl-icd
] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration; ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;

View File

@ -1,14 +1,16 @@
{ fetchurl, stdenv, lzip, texinfo }: { fetchurl, stdenv, lzip, texinfo }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocrad-0.26"; pname = "ocrad";
version = "0.27";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/ocrad/${name}.tar.lz"; url = "mirror://gnu/ocrad/${pname}-${version}.tar.lz";
sha256 = "0g4fq7maybdnd1471kd05a3f5sb7spa3d26k706rk85sd5wd70y3"; sha256 = "0divffvcaim89g4pvqs8kslbcxi475bcl3b4ynphf284k9zfdgx9";
}; };
buildInputs = [ lzip texinfo ]; nativeBuildInputs = [ lzip /* unpack */ ];
buildInputs = [ texinfo ];
doCheck = true; doCheck = true;

View File

@ -12,7 +12,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "aminal-${version}"; name = "aminal-${version}";
version = "0.7.12"; version = "0.8.6";
goPackagePath = "github.com/liamg/aminal"; goPackagePath = "github.com/liamg/aminal";
@ -36,7 +36,7 @@ buildGoPackage rec {
owner = "liamg"; owner = "liamg";
repo = "aminal"; repo = "aminal";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ak5g2i4ggi00b4q7qigfwsrwb5rvswjjbr2hp9kyxd45nycb0g4"; sha256 = "0qhjdckj2kr0vza6qssd9z8dfrsif1qxb1mal1d4wgdsy12lrmwl";
}; };
preBuild = '' preBuild = ''

View File

@ -51,9 +51,9 @@ stdenv.mkDerivation rec {
"-DWITH_SYSTEM_OPENJPEG=ON" "-DWITH_SYSTEM_OPENJPEG=ON"
"-DWITH_PLAYER=ON" "-DWITH_PLAYER=ON"
"-DWITH_OPENSUBDIV=ON" "-DWITH_OPENSUBDIV=ON"
"-DPYTHON_LIBRARY=${python.libPrefix}" "-DPYTHON_LIBRARY=${python.libPrefix}m"
"-DPYTHON_LIBPATH=${python}/lib" "-DPYTHON_LIBPATH=${python}/lib"
"-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}" "-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}m"
"-DPYTHON_VERSION=${python.pythonVersion}" "-DPYTHON_VERSION=${python.pythonVersion}"
"-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_PYTHON_INSTALL_NUMPY=OFF" "-DWITH_PYTHON_INSTALL_NUMPY=OFF"

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
poppler_utils libpng imagemagick libjpeg poppler_utils libpng imagemagick libjpeg
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
] ++ (with python2Packages; [ ] ++ (with python2Packages; [
apsw cssselect cssutils dateutil dnspython html5-parser lxml mechanize netifaces pillow apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow
python pyqt5_with_qtwebkit sip python pyqt5_with_qtwebkit sip
regex msgpack regex msgpack
# the following are distributed with calibre, but we use upstream instead # the following are distributed with calibre, but we use upstream instead

View File

@ -10,12 +10,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "polar-bookshelf-${version}"; name = "polar-bookshelf-${version}";
version = "1.7.0"; version = "1.8.0";
# fetching a .deb because there's no easy way to package this Electron app # fetching a .deb because there's no easy way to package this Electron app
src = fetchurl { src = fetchurl {
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb"; url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb";
sha256 = "14xpjm5bw1jl74shnpn5pm3p1hdpf6c3wl9pkjvz90g7w8wjc942"; sha256 = "0zbk8msc5p6ivldkznab8klzsgd31hd4hs5kkjzw1iy082cmrjv5";
}; };
buildInputs = [ buildInputs = [

View File

@ -100,11 +100,11 @@ let
flash = stdenv.mkDerivation rec { flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}"; name = "flashplayer-ppapi-${version}";
version = "32.0.0.101"; version = "32.0.0.114";
src = fetchzip { src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "1bmmjraqzdz03jzbgs1l932gka1zhiyiis06r4yi4f93mdy31w72"; sha256 = "11b47w14hgvp7lpis39a9vkncla7lvqrgc717v4mwj6p741z7v78";
stripRoot = false; stripRoot = false;
}; };

View File

@ -74,7 +74,7 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "flashplayer-${version}"; name = "flashplayer-${version}";
version = "32.0.0.101"; version = "32.0.0.114";
src = fetchurl { src = fetchurl {
url = url =
@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
sha256 = sha256 =
if debug then if debug then
if arch == "x86_64" then if arch == "x86_64" then
"0383r5pl1jrspy06mpxq50kkip5q5v052kz9aymk4qylgy1dwpn2" "199dd2fkjfcavfzfd2d38y21155yxvj9yl838i8y63v9i5j5nhfj"
else else
"1vx2map0wlj6bj8dqyxxaymmz9awjjfhi6097knpmqp6j8dj7l5g" "1b7g92ywwxrzfdj8acqx2r8k19y84ci2nhwwghjc7276q95gpzj8"
else else
if arch == "x86_64" then if arch == "x86_64" then
"003mr9mqkg0agj3zlmci5a1m3lnhj27mnvqswjaffdg5rlihvxyi" "17nzchmacyqnb184d23caz52w7sy5sr7d081iwc46wic0px78m3m"
else else
"1smmdsnnlsssakzqas5268svyv3rk717zr7kwpkj4rd5d1pqwcps"; "16slvhyqq0i7rlh2s5kpy78whkh57r129kva14wradx9yv8bqr7h";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -50,7 +50,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}"; name = "flashplayer-standalone-${version}";
version = "32.0.0.101"; version = "32.0.0.114";
src = fetchurl { src = fetchurl {
url = url =
@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz"; "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
sha256 = sha256 =
if debug then if debug then
"1i59vfhxrlksxwmr3kj3dfbasfjgnx9aimmv400z07fw3zmdrbpw" "0wlzqdnl8lhbc428gcahld842bhia4aygy1k5vyyg27fwmskxhy7"
else else
"0fz9zhp0qn9xda5pg37dfnvx04n8d7156h1qayf2l3la94apsacq"; "01a1dwrgw7lc098vp4ifkf5bj2qvv0pmdyibjhzzrx3387d1pd2l";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];
@ -99,5 +99,7 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
maintainers = []; maintainers = [];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
# Application crashed with an unhandled SIGSEGV
broken = true;
}; };
} }

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
inherit src; inherit src;
nodejs = nodejs-8_x; nodejs = nodejs-8_x;
sha256 = "1m883gjxcihnik88fyj54f4z4m786pwl3a90k151v9bnbslf3k6i"; sha256 = "03h1kfiaflwbrvcd8v0bsymn7n2dxi3yj4pxkwcigqg4jgcf56k6";
}; };
patches = [ ./isDev.patch ]; patches = [ ./isDev.patch ];

View File

@ -14,5 +14,7 @@ in {
stable = mkTelegram stableVersion; stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // { preview = mkTelegram (stableVersion // {
stable = false; stable = false;
version = "1.5.7";
sha256Hash = "0mpnz287ahzrcr50ira6h6ry5jjhp5wqi660s3kncxpq1wllj0h6";
}); });
} }

View File

@ -13,11 +13,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let let
inherit (stdenv.lib) concatStringsSep makeBinPath optional; inherit (stdenv.lib) concatStringsSep makeBinPath optional;
version = "2.6.146750.1204"; version = "2.6.149990.1216";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "18cpl1ggyw6nf9r85jqn0cq9j7qrhxfy6nah2qqs5bqj84dqhsrg"; sha256 = "0bs5kx2601lwwr9lgdd3hlbrrwsf0dai766zrca907dl400pmzyd";
}; };
}; };

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl }: { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.1.1"; version = "1.1.2";
name = "irssi-${version}"; name = "irssi-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz"; url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
sha256 = "09a9p1yfg0m3w7n2a4axvn8874002ly8x0b543sxihzqk29radpa"; sha256 = "0jbhd4aad3bn61svnb2rwa4dwj8qyrb2dmzribi2hfn1f719wzfv";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -5,14 +5,14 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.2.9"; version = "6.2.10";
name = "seafile-client-${version}"; name = "seafile-client-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "haiwen"; owner = "haiwen";
repo = "seafile-client"; repo = "seafile-client";
rev = "v${version}"; rev = "v${version}";
sha256 = "0h235kdr86lfh1z10admgn2ghnn04w9rlrzf2yhqqilw1k1giavj"; sha256 = "15am8wwqgwqzhw1d2p190n9yljcnb0ck90j0grb5ksqj5n5hx5bi";
}; };
nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; nativeBuildInputs = [ pkgconfig cmake makeWrapper ];

View File

@ -5,18 +5,28 @@ let
in in
buildPythonApplication rec { buildPythonApplication rec {
pname = "fava"; pname = "fava";
version = "1.7"; version = "1.9";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "c4eba4203bddaa7bc9d54971d2afeeebab0bc80ce89be1375a41a07c4e82b62f"; sha256 = "115r99l6xfliafgkpcf0mndqrvijix5mflg2i56s7xwqr3ch8z9k";
}; };
doCheck = false; doCheck = false;
propagatedBuildInputs = with python3.pkgs; propagatedBuildInputs = with python3.pkgs;
[ flask dateutil pygments wheel markdown2 flaskbabel tornado [
click beancount ]; Babel
cheroot
flaskbabel
flask
jinja2
beancount
click
markdown2
ply
simplejson
];
meta = { meta = {
homepage = https://beancount.github.io/fava; homepage = https://beancount.github.io/fava;

View File

@ -1,8 +1,13 @@
{ stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2 { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2
, libart_lgpl, qt4, python2, cups, fontconfig, libjpeg , libart_lgpl, qt4, python2, cups, fontconfig, libjpeg
, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }: , zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake, imagemagick }:
let let
icon = fetchurl {
url = "https://gist.githubusercontent.com/ejpcmac/a74b762026c9bc4000be624c3d085517/raw/18edc497c5cb6fdeef1c8aede37a0ee68413f9d3/scribus-icon-centered.svg";
sha256 = "0hq3i7c2l50445an9glhhg47kj26y16svfajc6naqn307ph9vzc3";
};
pythonEnv = python2.withPackages(ps: [ps.tkinter]); pythonEnv = python2.withPackages(ps: [ps.tkinter]);
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "scribus-1.4.7"; name = "scribus-1.4.7";
@ -21,8 +26,16 @@ in stdenv.mkDerivation rec {
boost # for internal 2geom library boost # for internal 2geom library
libXaw libXext libX11 libXtst libXi libXinerama libXaw libXext libX11 libXtst libXi libXinerama
libpthreadstubs libXau libXdmcp libpthreadstubs libXau libXdmcp
imagemagick # To build the icon
]; ];
postInstall = ''
for i in 16 24 48 64 96 128 256 512; do
mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
convert -background none -resize ''${i}x''${i} ${icon} $out/share/icons/hicolor/''${i}x''${i}/apps/scribus.png
done
'';
meta = { meta = {
maintainers = [ stdenv.lib.maintainers.marcweber ]; maintainers = [ stdenv.lib.maintainers.marcweber ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View File

@ -13,11 +13,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "trilium-${version}"; name = "trilium-${version}";
version = "0.27.3"; version = "0.27.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.7z"; url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.7z";
sha256 = "07r4gwf4l76x1m6xlvrfad075kmmpdr4n6vd36vrxsf475rhlmsp"; sha256 = "1qb11axaifw5xjycrc6qsyd8h36rgjd7rjql8895v8agckf3g2c1";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "minimap2"; pname = "minimap2";
version = "2.10"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = pname; repo = pname;
owner = "lh3"; owner = "lh3";
rev = "v${version}"; rev = "v${version}";
sha256 = "0b35w14j9h2q9qbh3sxc518mcx0ifsvwqr1nv70rv6mgy1cqqkw0"; sha256 = "0743qby7ghyqbka5c1z3bi4kr5whm07jasw2pg8gikyibz6q4lih";
}; };
buildInputs = [ zlib ]; buildInputs = [ zlib ];

View File

@ -2,7 +2,7 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
name = "elan-${version}"; name = "elan-${version}";
version = "0.7.1"; version = "0.7.2";
cargoSha256 = "0vv7kr7rc3lvas7ngp5dp99ajjd5v8k5937ish7zqz1k4970q2f1"; cargoSha256 = "0vv7kr7rc3lvas7ngp5dp99ajjd5v8k5937ish7zqz1k4970q2f1";
@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
owner = "kha"; owner = "kha";
repo = "elan"; repo = "elan";
rev = "v${version}"; rev = "v${version}";
sha256 = "0x5s1wm78yx5ci63wrmlkzm6k3281p33gn4dzw25k5s4vx0p9n24"; sha256 = "0844fydfxvacyx02gwxbzpmiamsp22malyy5m4wpvrky4dkpn3qj";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gurobi-${version}"; name = "gurobi-${version}";
version = "8.0.1"; version = "8.1.0";
src = with stdenv.lib; fetchurl { src = with stdenv.lib; fetchurl {
url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz"; url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
sha256 = "0y3lb0mngnyn7ql4s2n8qxnr1d2xcjdpdhpdjdxc4sc8f2w2ih18"; sha256 = "1yjqbzqnq4jjkjm616d36bgd3rmqr0a1ii17n0prpdjzmdlq63dz";
}; };
sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64"; sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";

View File

@ -1,48 +1,53 @@
{ stdenv, fetchurl, itstool, python3Packages, intltool, wrapGAppsHook { stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook
, libxml2, gobject-introspection, gtk3, gnome3, cairo, file , libxml2, gobject-introspection, gtk3, gtksourceview, gnome3
, dbus, xvfb_run
}: }:
python3.pkgs.buildPythonApplication rec {
let
pname = "meld"; pname = "meld";
version = "3.18.3"; version = "3.20.0";
inherit (python3Packages) python buildPythonApplication pycairo pygobject3;
in buildPythonApplication rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0vn1qx60f8113x8wh7f4bflhzir1vx7p0wdfi7nbip6fh8gaf3ln"; sha256 = "11khi1sg02k3b9qdag3r939cwi27cql4kjim7jhxf9ckfhpzwh6b";
}; };
buildInputs = [ nativeBuildInputs = [
intltool wrapGAppsHook itstool libxml2 intltool itstool libxml2 gobject-introspection wrapGAppsHook
gnome3.gtksourceview gnome3.gsettings-desktop-schemas pycairo cairo
gnome3.defaultIconTheme gnome3.dconf file
]; ];
propagatedBuildInputs = [ gobject-introspection pygobject3 gtk3 ]; buildInputs = [
gtk3 gtksourceview gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
];
propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ];
checkInputs = [ xvfb_run python3.pkgs.pytest dbus ];
installPhase = '' installPhase = ''
mkdir -p "$out/lib/${python.libPrefix}/site-packages" runHook preInstall
${python3.interpreter} setup.py install --prefix=$out
export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" runHook postInstall
${python}/bin/${python.executable} setup.py install \
--install-lib=$out/lib/${python.libPrefix}/site-packages \
--prefix="$out"
mkdir -p $out/share/gsettings-schemas/$name
mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
''; '';
patchPhase = '' checkPhase = ''
patchShebangs bin/meld runHook preCheck
# Unable to create user data directory '/homeless-shelter/.local/share' for storing the recently used files list: Permission denied
mkdir test-home
export HOME=$(pwd)/test-home
# GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme Adwaita
export XDG_DATA_DIRS="$out/share:$XDG_DATA_DIRS"
# ModuleNotFoundError: No module named 'meld'
export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
# Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
py.test
runHook postCheck
''; '';
pythonPath = [ gtk3 ];
doCheck = false;
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;
@ -52,8 +57,8 @@ in buildPythonApplication rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Visual diff and merge tool"; description = "Visual diff and merge tool";
homepage = http://meldmerge.org/; homepage = http://meldmerge.org/;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux ++ stdenv.lib.platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.mimadrid ]; maintainers = with maintainers; [ jtojnar mimadrid ];
}; };
} }

View File

@ -8,13 +8,13 @@ assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "shotcut-${version}"; name = "shotcut-${version}";
version = "18.11.18"; version = "18.12.23";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mltframework"; owner = "mltframework";
repo = "shotcut"; repo = "shotcut";
rev = "v${version}"; rev = "v${version}";
sha256 = "0yhrjqc5cby9vc81z5zh5xg34mvh6q8dd896p2izfcqcdhdz7cs3"; sha256 = "1i6gkqvg31q7g5s3zgqzg4i5kyas7k4svclgbk459i5h1ar3v5vn";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv }: { fetchurl, stdenv }:
let let
version = "0.12.0"; version = "0.13.0";
baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
fetchbin = name: sha256: fetchurl { fetchbin = name: sha256: fetchurl {
@ -9,8 +9,8 @@ let
inherit sha256; inherit sha256;
}; };
firecracker-bin = fetchbin "firecracker" "0jk9w5kagqp3w668c1x0g4yyahmy7696pm0bkhv066rrdpcqpw66"; firecracker-bin = fetchbin "firecracker" "1wdcy4vmnx216jnza7bz6czlqpsjrnpqfsb5d322ld4gzbylm718";
jailer-bin = fetchbin "jailer" "1fcxzpnapnccklgbi4bis3f6c9fki2daxvzg9l7433vfqz2zbyjl"; jailer-bin = fetchbin "jailer" "0k0sc5138bh35ciim2l78ma9g5x18dw098f2ar5y31ybr8i4q60y";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "firecracker-${version}"; name = "firecracker-${version}";

View File

@ -11,7 +11,7 @@ let
# (not via videoDrivers = ["vboxvideo"]). # (not via videoDrivers = ["vboxvideo"]).
# It's likely to work again in some future update. # It's likely to work again in some future update.
xserverABI = let abi = xserverVListFunc 0 + xserverVListFunc 1; xserverABI = let abi = xserverVListFunc 0 + xserverVListFunc 1;
in if abi == "119" then "118" else abi; in if abi == "119" || abi == "120" then "118" else abi;
in in
stdenv.mkDerivation { stdenv.mkDerivation {

View File

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub
, meson, ninja, pkgconfig, scdoc
, wayland, wayland-protocols, systemd
}:
stdenv.mkDerivation rec {
name = "swayidle-${version}";
version = "1.1";
src = fetchFromGitHub {
owner = "swaywm";
repo = "swayidle";
rev = version;
sha256 = "1xmcd5wajyrxc8171pl7vhxqg4da482k5n1h0x1j9n07wz50wjqm";
};
nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
buildInputs = [ wayland wayland-protocols systemd ];
meta = with stdenv.lib; {
description = "Idle management daemon for Wayland";
longDescription = ''
Sway's idle management daemon. It is compatible with any Wayland
compositor which implements the KDE idle protocol.
'';
inherit (src.meta) homepage;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ];
};
}

View File

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub
, meson, ninja, pkgconfig, scdoc
, wayland, wayland-protocols, wlroots, libxkbcommon, cairo, pango, gdk_pixbuf, pam
}:
stdenv.mkDerivation rec {
name = "swaylock-${version}";
version = "1.2";
src = fetchFromGitHub {
owner = "swaywm";
repo = "swaylock";
rev = version;
sha256 = "1nqirrkkdhb6b2hc78ghi2yzblcx9jcgc9qwm1jvnk2iqwqbzclg";
};
nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
buildInputs = [ wayland wayland-protocols wlroots libxkbcommon cairo pango
gdk_pixbuf pam
];
mesonFlags = "-Dsway-version=${version}"; # TODO: Should probably be swaylock-version
meta = with stdenv.lib; {
description = "Screen locker for Wayland";
longDescription = ''
swaylock is a screen locking utility for Wayland compositors.
'';
inherit (src.meta) homepage;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ];
};
}

View File

@ -1,6 +1,6 @@
{ fetchurl }: { fetchurl }:
fetchurl { fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/62720a1288846aabc4e42d4404a85ea771d24a11.tar.gz"; url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/79e6c7e847ee9ff93fff64a4081251f3bbfb7ca7.tar.gz";
sha256 = "1qr07s0l7ip28639fbhwi8nhcyzs3mmhzqd0zny5an0dwxlx14qb"; sha256 = "19ypss73lb3zwhzpw9sxdmgy7dha798ism77vm3ccyxg66qav41n";
} }

View File

@ -338,6 +338,8 @@ lib.makeScope pkgs.newScope (self: with self; {
metacity = callPackage ./misc/metacity { }; metacity = callPackage ./misc/metacity { };
nautilus-python = callPackage ./misc/nautilus-python { };
pidgin-im-gnome-shell-extension = callPackage ./misc/pidgin { }; pidgin-im-gnome-shell-extension = callPackage ./misc/pidgin { };
gtkhtml = callPackage ./misc/gtkhtml { }; gtkhtml = callPackage ./misc/gtkhtml { };

View File

@ -0,0 +1,91 @@
{ stdenv, fetchFromGitHub, substituteAll, python3, openssl
, meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook
, glib, gtk3, at-spi2-core, upower, openssh, gnome3 }:
stdenv.mkDerivation rec {
name = "gnome-shell-gsconnect-${version}";
version = "20";
src = fetchFromGitHub {
owner = "andyholmes";
repo = "gnome-shell-extension-gsconnect";
rev = "v${version}";
sha256 = "1x5lrb4hdw482hr5dh4ki0p1651w1s0ijs96vs65vrh15cd60h02";
};
patches = [
# Make typelibs available in the extension
(substituteAll {
src = ./fix-paths.patch;
gapplication = "${glib.bin}/bin/gapplication";
mutter_gsettings_path = "${gnome3.mutter}/share/gsettings-schemas/${gnome3.mutter.name}/glib-2.0/schemas";
})
];
nativeBuildInputs = [
meson ninja pkgconfig
gobject-introspection # for locating typelibs
wrapGAppsHook # for wrapping daemons
libxml2 # xmllint
];
buildInputs = [
(python3.withPackages (pkgs: [ python3.pkgs.pygobject3 ])) # for folks.py
glib # libgobject
gtk3
at-spi2-core # atspi
gnome3.folks # libfolks
gnome3.nautilus # TODO: this contaminates the package with nautilus and gnome-autoar typelibs but it is only needed for the extension
gnome3.nautilus-python
gnome3.gsound
upower
gnome3.caribou
gnome3.gjs # for running daemon
gnome3.evolution-data-server # folks.py requires org.gnome.Evolution.DefaultSources gsettings; TODO: hardcode the schema path to the library (similarly to https://github.com/NixOS/nixpkgs/issues/47226)
];
mesonFlags = [
"-Dgnome_shell_libdir=${gnome3.gnome-shell}/lib"
"-Dgsettings_schemadir=${placeholder "out"}/share/gsettings-schemas/${name}/glib-2.0/schemas"
"-Dchrome_nmhdir=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts"
"-Dchromium_nmhdir=${placeholder "out"}/etc/chromium/native-messaging-hosts"
"-Dopenssl_path=${openssl}/bin/openssl"
"-Dsshadd_path=${openssh}/bin/ssh-add"
"-Dsshkeygen_path=${openssh}/bin/ssh-keygen"
"-Dpost_install=true"
];
postPatch = ''
patchShebangs meson/nmh.sh
patchShebangs meson/post-install.sh
# TODO: do not include every typelib everywhere
# for example, we definitely do not need nautilus
for file in src/extension.js src/prefs.js; do
substituteInPlace "$file" \
--subst-var-by typelibPath "$GI_TYPELIB_PATH"
done
'';
preFixup = ''
# TODO: figure out why folks GIR does not contain shared-library attribute
# https://github.com/NixOS/nixpkgs/issues/47226
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gnome3.folks ]}")
'';
postFixup = ''
# Lets wrap the daemons
for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{{daemon,nativeMessagingHost}.js,components/folks.py}; do
echo "Wrapping program ''${file}"
wrapProgram "''${file}" "''${gappsWrapperArgs[@]}"
done
'';
meta = with stdenv.lib; {
description = "KDE Connect implementation for Gnome Shell";
homepage = https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki;
license = licenses.gpl2;
maintainers = with maintainers; [ etu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,44 @@
--- a/data/org.gnome.Shell.Extensions.GSConnect.desktop
+++ b/data/org.gnome.Shell.Extensions.GSConnect.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Type=Application
Name=GSConnect
-Exec=gapplication launch org.gnome.Shell.Extensions.GSConnect %U
+Exec=@gapplication@ launch org.gnome.Shell.Extensions.GSConnect %U
Terminal=false
NoDisplay=true
Icon=org.gnome.Shell.Extensions.GSConnect
--- a/src/extension.js
+++ b/src/extension.js
@@ -1,5 +1,7 @@
'use strict';
+'@typelibPath@'.split(':').forEach(path => imports.gi.GIRepository.Repository.prepend_search_path(path));
+
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
--- a/src/prefs.js
+++ b/src/prefs.js
@@ -1,5 +1,7 @@
'use strict';
+'@typelibPath@'.split(':').forEach(path => imports.gi.GIRepository.Repository.prepend_search_path(path));
+
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
--- a/src/service/__init__.js
+++ b/src/service/__init__.js
@@ -600,7 +600,9 @@
/**
* Convenience functions for saving/restoring window geometry
*/
-const _mutter = new Gio.Settings({schema_id: 'org.gnome.mutter'});
+const _schema_source = Gio.SettingsSchemaSource.new_from_directory('@mutter_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
+const _schema = _schema_source.lookup('org.gnome.mutter', false);
+const _mutter = new Gio.Settings({settings_schema: _schema});
Gtk.Window.prototype.restore_geometry = function() {
let [width, height] = this.settings.get_value('window-size').deep_unpack();

View File

@ -30,6 +30,12 @@ stdenv.mkDerivation rec {
url = https://gitlab.gnome.org/GNOME/geary/commit/e091f24b00ec421e1aadd5e360d1550e658ad5ef.patch; url = https://gitlab.gnome.org/GNOME/geary/commit/e091f24b00ec421e1aadd5e360d1550e658ad5ef.patch;
sha256 = "0d5hc4h9c1hnn2sk18nkpmzdvwm3h746n2zj8n22ax9rj6lxl38l"; sha256 = "0d5hc4h9c1hnn2sk18nkpmzdvwm3h746n2zj8n22ax9rj6lxl38l";
}) })
# Fix build with vala 0.40.12
# See: https://gitlab.gnome.org/GNOME/vala/blob/0.40.12/NEWS#L22
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/geary/commit/088cb2c0aa35ad4b54ea5a0a2edaf0ff96c64b45.patch";
sha256 = "0cnjmbd3snm8ggmprqa32f7i3w86gs3ylab9p5ffj921dcpvvlb2";
})
]; ];
nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobject-introspection ]; nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobject-introspection ];

View File

@ -0,0 +1,62 @@
{ stdenv
, fetchurl
, pkgconfig
, which
, gtk-doc
, docbook_xsl
, docbook_xml_dtd_412
, python3
, ncurses
, nautilus
, gtk3
, gnome3
}:
stdenv.mkDerivation rec {
pname = "nautilus-python";
version = "1.2.2";
outputs = [ "out" "dev" "doc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "04pib6fan6cq8x0fhf5gll2f5d2dh5pxrhj79qhi5l1yc7ys7kch";
};
nativeBuildInputs = [
pkgconfig
which
gtk-doc
docbook_xsl
docbook_xml_dtd_412
];
buildInputs = [
python3
ncurses # required by python3
python3.pkgs.pygobject3
nautilus
gtk3 # required by libnautilus-extension
];
makeFlags = [
"PYTHON_LIB_LOC=${python3}/lib"
];
PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
attrPath = "gnome3.${pname}";
};
};
meta = with stdenv.lib; {
description = "Python bindings for the Nautilus Extension API";
homepage = https://wiki.gnome.org/Projects/NautilusPython;
license = licenses.gpl2Plus;
maintainers = gnome3.maintainers;
platforms = platforms.unix;
};
}

View File

@ -1,10 +1,15 @@
{ stdenv, lib, fetchurl, fetchpatch { stdenv, lib, fetchurl, fetchpatch, makeWrapper
, coq, ocamlPackages, coq2html , coq, ocamlPackages, coq2html
, tools ? stdenv.cc , tools ? stdenv.cc
}: }:
assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02"; assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02";
assert lib.versionAtLeast coq.coq-version "8.6.1";
let
ocaml-pkgs = with ocamlPackages; [ ocaml findlib menhir ];
ccomp-platform = if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "compcert-${version}"; name = "compcert-${version}";
version = "3.4"; version = "3.4";
@ -14,34 +19,53 @@ stdenv.mkDerivation rec {
sha256 = "12gchwvkzhd2bhrnwzfb4a06wc4hgv98z987k06vj7ga31ii763h"; sha256 = "12gchwvkzhd2bhrnwzfb4a06wc4hgv98z987k06vj7ga31ii763h";
}; };
buildInputs = [ coq coq2html ] nativeBuildInputs = [ makeWrapper ];
++ (with ocamlPackages; [ ocaml findlib menhir ]); buildInputs = ocaml-pkgs ++ [ coq coq2html ];
enableParallelBuilding = true; enableParallelBuilding = true;
patchPhase = ''
substituteInPlace ./configure \
--replace '{toolprefix}gcc' '{toolprefix}cc'
'';
configurePhase = '' configurePhase = ''
substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc' ./configure -clightgen \
./configure -clightgen -prefix $out -toolprefix ${tools}/bin/ '' + -prefix $out \
(if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux"); -toolprefix ${tools}/bin/ \
${ccomp-platform}
'';
installTargets = "documentation install"; installTargets = "documentation install";
postInstall = '' postInstall = ''
mkdir -p $lib/share/doc/compcert # move man into place
mv doc/html $lib/share/doc/compcert/ mkdir -p $man/share
mv $out/share/man/ $man/share/
# move docs into place
mkdir -p $doc/share/doc/compcert
mv doc/html $doc/share/doc/compcert/
# install compcert lib files; remove copy from $out, too
mkdir -p $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ mkdir -p $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/
mv backend cfrontend common cparser driver flocq x86 x86_64 lib \ mv backend cfrontend common cparser driver flocq x86 x86_64 lib \
$lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/
rm -rf $out/lib/compcert/coq
# wrap ccomp to undefine _FORTIFY_SOURCE; ccomp invokes cc1 which sets
# _FORTIFY_SOURCE=2 by default, but undefines __GNUC__ (as it should),
# which causes a warning in libc. this suppresses it.
for x in ccomp clightgen; do
wrapProgram $out/bin/$x --add-flags "-U_FORTIFY_SOURCE"
done
''; '';
outputs = [ "out" "lib" ]; outputs = [ "out" "lib" "doc" "man" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Formally verified C compiler"; description = "Formally verified C compiler";
homepage = "http://compcert.inria.fr"; homepage = "http://compcert.inria.fr";
license = licenses.inria-compcert; license = licenses.inria-compcert;
platforms = platforms.linux ++ platforms = [ "x86_64-linux" "x86_64-darwin" ];
platforms.darwin;
maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ]; maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
}; };
} }

View File

@ -3,11 +3,11 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
name = "fasm-bin-${version}"; name = "fasm-bin-${version}";
version = "1.73.04"; version = "1.73.05";
src = fetchurl { src = fetchurl {
url = "https://flatassembler.net/fasm-${version}.tgz"; url = "https://flatassembler.net/fasm-${version}.tgz";
sha256 = "0y0xkf9fzcm5gklhdi61wjpd1p8islpbcnkv5k16aqci3qsd0ia1"; sha256 = "0qpj6cs9rp1bg2rqxg1k8j71918rh86hplyw4n82n11ndwk23ni5";
}; };
installPhase = '' installPhase = ''

View File

@ -112,7 +112,7 @@ stdenv.mkDerivation (rec {
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch
++ stdenv.lib.optional (targetPlatform.isAarch32 || targetPlatform.isAarch64) (fetchpatch { ++ stdenv.lib.optional (targetPlatform.isAarch32 || targetPlatform.isAarch64) (fetchpatch {
url = "https://git.haskell.org/ghc.git/patch/d8495549ba9d194815c2d0eaee6797fc7c00756a"; url = "https://git.haskell.org/ghc.git/patch/d8495549ba9d194815c2d0eaee6797fc7c00756a";
sha256 = "1czx12qcl088vjn7mqxvyja4b2ia2n09c28br8c777fd0xk069pm"; sha256 = "1yjcma507c609bcim4rnxq0gaj2dg4d001jklmbpbqpzqzxkn5sz";
}); });
postPatch = "patchShebangs ."; postPatch = "patchShebangs .";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake { stdenv, fetchFromGitHub, cmake, makeWrapper
, boost, python3 , boost, python3
, icestorm, trellis , icestorm, trellis
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
sha256 = "082ac03s6164s7dwz1l9phshl8m1lizn45jykabrhks5jcccchbh"; sha256 = "082ac03s6164s7dwz1l9phshl8m1lizn45jykabrhks5jcccchbh";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake makeWrapper ];
buildInputs buildInputs
= [ boostPython python3 ] = [ boostPython python3 ]
++ (stdenv.lib.optional enableGui qtbase); ++ (stdenv.lib.optional enableGui qtbase);
@ -55,6 +55,13 @@ stdenv.mkDerivation rec {
--replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}' --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}'
''; '';
postInstall = stdenv.lib.optionalString enableGui ''
for x in generic ice40 ecp5; do
wrapProgram $out/bin/nextpnr-$x \
--prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtbase.qtCompatVersion}/plugins
done
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Place and route tool for FPGAs"; description = "Place and route tool for FPGAs";
homepage = https://github.com/yosyshq/nextpnr; homepage = https://github.com/yosyshq/nextpnr;

View File

@ -47,13 +47,16 @@ self: super: {
# Test suite does not compile. # Test suite does not compile.
cereal = dontCheck super.cereal; cereal = dontCheck super.cereal;
data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x
dates = doJailbreak super.dates; # base >=4.9 && <4.12
Diff = dontCheck super.Diff; Diff = dontCheck super.Diff;
HaTeX = doJailbreak super.HaTeX; # containers >=0.4 && <0.6 is too tight; https://github.com/Daniel-Diaz/HaTeX/issues/126
hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82 hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
http-api-data = doJailbreak super.http-api-data; http-api-data = doJailbreak super.http-api-data;
persistent-sqlite = dontCheck super.persistent-sqlite; persistent-sqlite = dontCheck super.persistent-sqlite;
psqueues = dontCheck super.psqueues; # won't cope with QuickCheck 2.12.x psqueues = dontCheck super.psqueues; # won't cope with QuickCheck 2.12.x
system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience" system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience"
unicode-transforms = dontCheck super.unicode-transforms; unicode-transforms = dontCheck super.unicode-transforms;
wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
RSA = dontCheck super.RSA; # https://github.com/GaloisInc/RSA/issues/14 RSA = dontCheck super.RSA; # https://github.com/GaloisInc/RSA/issues/14
monad-par = dontCheck super.monad-par; # https://github.com/simonmar/monad-par/issues/66 monad-par = dontCheck super.monad-par; # https://github.com/simonmar/monad-par/issues/66
github = dontCheck super.github; # hspec upper bound exceeded; https://github.com/phadej/github/pull/341 github = dontCheck super.github; # hspec upper bound exceeded; https://github.com/phadej/github/pull/341

View File

@ -46,7 +46,7 @@ default-package-overrides:
# Newer versions don't work in LTS-12.x # Newer versions don't work in LTS-12.x
- alsa-mixer < 0.3 - alsa-mixer < 0.3
- cassava-megaparsec < 2 - cassava-megaparsec < 2
# LTS Haskell 13.1 # LTS Haskell 13.2
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-deque-tests ==0.3 - abstract-deque-tests ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
@ -238,7 +238,7 @@ default-package-overrides:
- avers ==0.0.17.1 - avers ==0.0.17.1
- avers-api ==0.1.0 - avers-api ==0.1.0
- avers-server ==0.1.0.1 - avers-server ==0.1.0.1
- avro ==0.4.1.1 - avro ==0.4.1.2
- avwx ==0.3.0.2 - avwx ==0.3.0.2
- axel ==0.0.9 - axel ==0.0.9
- backprop ==0.2.6.1 - backprop ==0.2.6.1
@ -721,7 +721,7 @@ default-package-overrides:
- first-class-patterns ==0.3.2.4 - first-class-patterns ==0.3.2.4
- fitspec ==0.4.7 - fitspec ==0.4.7
- fixed ==0.2.1.1 - fixed ==0.2.1.1
- fixed-length ==0.2 - fixed-length ==0.2.1
- fixed-vector ==1.2.0.0 - fixed-vector ==1.2.0.0
- fixed-vector-hetero ==0.5.0.0 - fixed-vector-hetero ==0.5.0.0
- flac ==0.1.2 - flac ==0.1.2
@ -748,7 +748,7 @@ default-package-overrides:
- forkable-monad ==0.2.0.3 - forkable-monad ==0.2.0.3
- forma ==1.1.0 - forma ==1.1.0
- format-numbers ==0.1.0.0 - format-numbers ==0.1.0.0
- formatting ==6.3.6 - formatting ==6.3.7
- foundation ==0.0.21 - foundation ==0.0.21
- free ==5.1 - free ==5.1
- freenect ==1.2.1 - freenect ==1.2.1
@ -820,11 +820,11 @@ default-package-overrides:
- gi-atk ==2.0.15 - gi-atk ==2.0.15
- gi-cairo ==1.0.17 - gi-cairo ==1.0.17
- gi-gdk ==3.0.16 - gi-gdk ==3.0.16
- gi-gdkpixbuf ==2.0.16 - gi-gdkpixbuf ==2.0.18
- gi-gio ==2.0.18 - gi-gio ==2.0.18
- gi-glib ==2.0.17 - gi-glib ==2.0.17
- gi-gobject ==2.0.16 - gi-gobject ==2.0.16
- gi-gtk ==3.0.26 - gi-gtk ==3.0.27
- gi-gtk-hs ==0.3.6.3 - gi-gtk-hs ==0.3.6.3
- gi-gtksource ==3.0.16 - gi-gtksource ==3.0.16
- gi-javascriptcore ==4.0.16 - gi-javascriptcore ==4.0.16
@ -860,7 +860,7 @@ default-package-overrides:
- graph-wrapper ==0.2.5.2 - graph-wrapper ==0.2.5.2
- gravatar ==0.8.0 - gravatar ==0.8.0
- graylog ==0.1.0.1 - graylog ==0.1.0.1
- greskell ==0.2.2.0 - greskell ==0.2.3.0
- greskell-core ==0.1.2.4 - greskell-core ==0.1.2.4
- greskell-websocket ==0.1.1.2 - greskell-websocket ==0.1.1.2
- groom ==0.1.2.1 - groom ==0.1.2.1
@ -869,6 +869,7 @@ default-package-overrides:
- groundhog-postgresql ==0.10 - groundhog-postgresql ==0.10
- groundhog-sqlite ==0.10.0 - groundhog-sqlite ==0.10.0
- groups ==0.4.1.0 - groups ==0.4.1.0
- guarded-allocation ==0.0
- gym-http-api ==0.1.0.1 - gym-http-api ==0.1.0.1
- h2c ==1.0.0 - h2c ==1.0.0
- hackage-db ==2.0.1 - hackage-db ==2.0.1
@ -973,8 +974,8 @@ default-package-overrides:
- hsdns ==1.7.1 - hsdns ==1.7.1
- hsebaysdk ==0.4.0.0 - hsebaysdk ==0.4.0.0
- hsemail ==2 - hsemail ==2
- HSet ==0.0.1
- hset ==2.2.0 - hset ==2.2.0
- HSet ==0.0.1
- hsexif ==0.6.1.6 - hsexif ==0.6.1.6
- hs-functors ==0.1.3.0 - hs-functors ==0.1.3.0
- hs-GeoIP ==0.3 - hs-GeoIP ==0.3
@ -982,18 +983,18 @@ default-package-overrides:
- hsinstall ==2.2 - hsinstall ==2.2
- HSlippyMap ==3.0.1 - HSlippyMap ==3.0.1
- hslogger ==1.2.12 - hslogger ==1.2.12
- hslua ==1.0.1 - hslua ==1.0.2
- hslua-aeson ==1.0.0 - hslua-aeson ==1.0.0
- hslua-module-text ==0.2.0 - hslua-module-text ==0.2.0
- HsOpenSSL ==0.11.4.15 - HsOpenSSL ==0.11.4.15
- HsOpenSSL-x509-system ==0.1.0.3 - HsOpenSSL-x509-system ==0.1.0.3
- hsp ==0.10.0 - hsp ==0.10.0
- hspec ==2.6.0 - hspec ==2.6.1
- hspec-attoparsec ==0.1.0.2 - hspec-attoparsec ==0.1.0.2
- hspec-checkers ==0.1.0.2 - hspec-checkers ==0.1.0.2
- hspec-contrib ==0.5.1 - hspec-contrib ==0.5.1
- hspec-core ==2.6.0 - hspec-core ==2.6.1
- hspec-discover ==2.6.0 - hspec-discover ==2.6.1
- hspec-expectations ==0.8.2 - hspec-expectations ==0.8.2
- hspec-expectations-lifted ==0.10.0 - hspec-expectations-lifted ==0.10.0
- hspec-expectations-pretty-diff ==0.7.2.4 - hspec-expectations-pretty-diff ==0.7.2.4
@ -1010,7 +1011,7 @@ default-package-overrides:
- hstatsd ==0.1 - hstatsd ==0.1
- HStringTemplate ==0.8.7 - HStringTemplate ==0.8.7
- HSvm ==0.1.0.3.22 - HSvm ==0.1.0.3.22
- HsYAML ==0.1.1.2 - HsYAML ==0.1.1.3
- hsyslog ==5.0.1 - hsyslog ==5.0.1
- htaglib ==1.2.0 - htaglib ==1.2.0
- HTF ==0.13.2.5 - HTF ==0.13.2.5
@ -1051,7 +1052,7 @@ default-package-overrides:
- hw-fingertree-strict ==0.1.1.1 - hw-fingertree-strict ==0.1.1.1
- hw-hspec-hedgehog ==0.1.0.4 - hw-hspec-hedgehog ==0.1.0.4
- hw-int ==0.0.0.3 - hw-int ==0.0.0.3
- hw-ip ==2.0.0.0 - hw-ip ==2.0.1.0
- hw-json ==0.9.0.1 - hw-json ==0.9.0.1
- hw-mquery ==0.1.0.3 - hw-mquery ==0.1.0.3
- hw-packed-vector ==0.0.0.1 - hw-packed-vector ==0.0.0.1
@ -1059,7 +1060,7 @@ default-package-overrides:
- hw-prim ==0.6.2.22 - hw-prim ==0.6.2.22
- hw-rankselect ==0.12.0.4 - hw-rankselect ==0.12.0.4
- hw-rankselect-base ==0.3.2.1 - hw-rankselect-base ==0.3.2.1
- hw-streams ==0.0.0.9 - hw-streams ==0.0.0.10
- hw-string-parse ==0.0.0.4 - hw-string-parse ==0.0.0.4
- hw-succinct ==0.1.0.1 - hw-succinct ==0.1.0.1
- hxt ==9.3.1.16 - hxt ==9.3.1.16
@ -1263,7 +1264,7 @@ default-package-overrides:
- markdown-unlit ==0.5.0 - markdown-unlit ==0.5.0
- markov-chain ==0.0.3.4 - markov-chain ==0.0.3.4
- massiv ==0.2.6.0 - massiv ==0.2.6.0
- massiv-io ==0.1.4.0 - massiv-io ==0.1.5.0
- mathexpr ==0.3.0.0 - mathexpr ==0.3.0.0
- math-functions ==0.3.1.0 - math-functions ==0.3.1.0
- matrices ==0.4.5 - matrices ==0.4.5
@ -1289,7 +1290,7 @@ default-package-overrides:
- microbench ==0.1 - microbench ==0.1
- microformats2-parser ==1.0.1.9 - microformats2-parser ==1.0.1.9
- microlens ==0.4.10 - microlens ==0.4.10
- microlens-aeson ==2.3.0 - microlens-aeson ==2.3.0.1
- microlens-contra ==0.1.0.2 - microlens-contra ==0.1.0.2
- microlens-ghc ==0.4.10 - microlens-ghc ==0.4.10
- microlens-mtl ==0.1.11.1 - microlens-mtl ==0.1.11.1
@ -1386,7 +1387,7 @@ default-package-overrides:
- natural-transformation ==0.4 - natural-transformation ==0.4
- ndjson-conduit ==0.1.0.5 - ndjson-conduit ==0.1.0.5
- neat-interpolation ==0.3.2.4 - neat-interpolation ==0.3.2.4
- netlib-ffi ==0.1 - netlib-ffi ==0.1.1
- netpbm ==1.0.2 - netpbm ==1.0.2
- nettle ==0.3.0 - nettle ==0.3.0
- netwire ==5.0.3 - netwire ==5.0.3
@ -1482,7 +1483,7 @@ default-package-overrides:
- parsec-numbers ==0.1.0 - parsec-numbers ==0.1.0
- parsec-numeric ==0.1.0.0 - parsec-numeric ==0.1.0.0
- ParsecTools ==0.0.2.0 - ParsecTools ==0.0.2.0
- parser-combinators ==1.0.0 - parser-combinators ==1.0.1
- parsers ==0.12.9 - parsers ==0.12.9
- partial-handler ==1.0.3 - partial-handler ==1.0.3
- partial-isomorphisms ==0.2.2.1 - partial-isomorphisms ==0.2.2.1
@ -1507,7 +1508,7 @@ default-package-overrides:
- pem ==0.2.4 - pem ==0.2.4
- percent-format ==0.0.1 - percent-format ==0.0.1
- perfect-hash-generator ==0.2.0.6 - perfect-hash-generator ==0.2.0.6
- persist ==0.1.1.0 - persist ==0.1.1.1
- persistable-record ==0.6.0.4 - persistable-record ==0.6.0.4
- persistable-types-HDBC-pg ==0.0.3.5 - persistable-types-HDBC-pg ==0.0.3.5
- persistent ==2.9.0 - persistent ==2.9.0
@ -1718,7 +1719,7 @@ default-package-overrides:
- rot13 ==0.2.0.1 - rot13 ==0.2.0.1
- rounded ==0.1.0.1 - rounded ==0.1.0.1
- rpmbuild-order ==0.2.1 - rpmbuild-order ==0.2.1
- RSA ==2.3.0 - RSA ==2.3.1
- runmemo ==1.0.0.1 - runmemo ==1.0.0.1
- rvar ==0.2.0.3 - rvar ==0.2.0.3
- s3-signer ==0.5.0.0 - s3-signer ==0.5.0.0
@ -1737,7 +1738,7 @@ default-package-overrides:
- sampling ==0.3.3 - sampling ==0.3.3
- sandman ==0.2.0.1 - sandman ==0.2.0.1
- say ==0.1.0.1 - say ==0.1.0.1
- sbp ==2.4.0 - sbp ==2.4.6
- sbv ==7.13 - sbv ==7.13
- scalpel ==0.5.1 - scalpel ==0.5.1
- scalpel-core ==0.5.1 - scalpel-core ==0.5.1
@ -1757,7 +1758,7 @@ default-package-overrides:
- selda-postgresql ==0.1.7.3 - selda-postgresql ==0.1.7.3
- selda-sqlite ==0.1.6.1 - selda-sqlite ==0.1.6.1
- semigroupoid-extras ==5 - semigroupoid-extras ==5
- semigroupoids ==5.3.1 - semigroupoids ==5.3.2
- semigroups ==0.18.5 - semigroups ==0.18.5
- semirings ==0.2.1.1 - semirings ==0.2.1.1
- semiring-simple ==1.0.0.1 - semiring-simple ==1.0.0.1
@ -1924,7 +1925,7 @@ default-package-overrides:
- sundown ==0.6 - sundown ==0.6
- superbuffer ==0.3.1.1 - superbuffer ==0.3.1.1
- sv-cassava ==0.3 - sv-cassava ==0.3
- sv-core ==0.3 - sv-core ==0.3.1
- svg-builder ==0.1.1 - svg-builder ==0.1.1
- SVGFonts ==1.7 - SVGFonts ==1.7
- svg-tree ==0.6.2.3 - svg-tree ==0.6.2.3
@ -2006,7 +2007,7 @@ default-package-overrides:
- text-printer ==0.5 - text-printer ==0.5
- text-region ==0.3.1.0 - text-region ==0.3.1.0
- text-short ==0.1.2 - text-short ==0.1.2
- tfp ==1.0.0.2 - tfp ==1.0.1.1
- tf-random ==0.5 - tf-random ==0.5
- th-abstraction ==0.2.10.0 - th-abstraction ==0.2.10.0
- th-data-compat ==0.0.2.7 - th-data-compat ==0.0.2.7
@ -2210,7 +2211,7 @@ default-package-overrides:
- webrtc-vad ==0.1.0.3 - webrtc-vad ==0.1.0.3
- websockets ==0.12.5.2 - websockets ==0.12.5.2
- websockets-snap ==0.10.3.0 - websockets-snap ==0.10.3.0
- weigh ==0.0.12 - weigh ==0.0.13
- wide-word ==0.1.0.7 - wide-word ==0.1.0.7
- wikicfp-scraper ==0.1.0.9 - wikicfp-scraper ==0.1.0.9
- wild-bind ==0.1.2.3 - wild-bind ==0.1.2.3

File diff suppressed because it is too large Load Diff

View File

@ -245,21 +245,19 @@ let
in { in {
php71 = generic { php71 = generic {
version = "7.1.25"; version = "7.1.26";
sha256 = "1b5az5vhap593ggjxirs1zdlg20hcv9h94iq5kgaxky71a4dqb00"; sha256 = "1riaaizyl0jv9p6b8sm8xxj8iqz4p4dddwdag03n1r67dfl1qdav";
# https://bugs.php.net/bug.php?id=76826 # https://bugs.php.net/bug.php?id=76826
extraPatches = optional stdenv.isDarwin ./php71-darwin-isfinite.patch; extraPatches = optional stdenv.isDarwin ./php71-darwin-isfinite.patch;
}; };
php72 = generic { php72 = generic {
version = "7.2.13"; version = "7.2.14";
sha256 = "0bg9nfc250p24hxn4bdjz7ngcw75h8rpf4qjxqzcs6s9fvxlcjjv"; sha256 = "15v5gbdxi6jkgdflpj5rqqzzfvwdb55hls4azh71xgy793934qgm";
# https://bugs.php.net/bug.php?id=71041
# https://bugs.php.net/bug.php?id=76826 # https://bugs.php.net/bug.php?id=76826
extraPatches = [ ./fix-bug-71041.patch ] extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
++ optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
}; };
php73 = generic { php73 = generic {

View File

@ -1,25 +0,0 @@
diff --git a/Zend/zend_signal.c b/Zend/zend_signal.c
index 24d454d..6307620 100644
--- a/Zend/zend_signal.c
+++ b/Zend/zend_signal.c
@@ -399,7 +399,7 @@ void zend_signal_init(void) /* {{{ */
/* {{{ zend_signal_startup
* alloc zend signal globals */
-void zend_signal_startup(void)
+ZEND_API void zend_signal_startup(void)
{
#ifdef ZTS
diff --git a/Zend/zend_signal.h b/Zend/zend_signal.h
index e8ee7d6..462d06f 100644
--- a/Zend/zend_signal.h
+++ b/Zend/zend_signal.h
@@ -89,7 +89,7 @@ ZEND_API void zend_signal_handler_unblock(void);
void zend_signal_activate(void);
void zend_signal_deactivate(void);
BEGIN_EXTERN_C()
-void zend_signal_startup(void);
+ZEND_API void zend_signal_startup(void);
END_EXTERN_C()
void zend_signal_init(void);

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "catch2-${version}"; name = "catch2-${version}";
version = "2.4.2"; version = "2.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "catchorg"; owner = "catchorg";
repo = "Catch2"; repo = "Catch2";
rev = "v${version}"; rev = "v${version}";
sha256="1105bxbvh1xxl4yxjjp6l6w6hgsh8xbdiwlnga9di5y2x92b9bjd"; sha256="0pmkqx5b3vy2ppz0h3ijd8v1387yfgykpw2kz0zzwr9mdv9adw7a";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -1,23 +1,16 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, enableShared ? true }: { stdenv, fetchFromGitHub, fetchpatch, cmake, enableShared ? true }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "5.2.1"; version = "5.3.0";
name = "fmt-${version}"; name = "fmt-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fmtlib"; owner = "fmtlib";
repo = "fmt"; repo = "fmt";
rev = "${version}"; rev = "${version}";
sha256 = "1cd8yq8va457iir1hlf17ksx11fx2hlb8i4jml8gj1875pizm0pk"; sha256 = "1hl9s69a5ql5nckc0ifh2fzlgsgv1wsn6yhqkpnrhasqkhj0hgv4";
}; };
patches = [
(fetchpatch {
url = "https://github.com/fmtlib/fmt/commit/9d0c9c4bb145a286f725cd38c90331eee7addc7f.patch";
sha256 = "1gy93mb1s1mq746kxj4c564k2mppqp5khqdfa6im88rv29cvrl4y";
})
];
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "leatherman-${version}"; name = "leatherman-${version}";
version = "1.5.3"; version = "1.5.4";
src = fetchFromGitHub { src = fetchFromGitHub {
sha256 = "04b2wii5d0ypar8wrk0msybdq01z1r23xsvnn67bi2mffvczi5l2"; sha256 = "08hd6j8w4mgnxj84y26vip1vgrg668jnil5jzq2dk4pfapigfz8l";
rev = version; rev = version;
repo = "leatherman"; repo = "leatherman";
owner = "puppetlabs"; owner = "puppetlabs";

View File

@ -1,35 +1,29 @@
{ stdenv, fetchurl, pkgconfig, meson, ninja, gtk-doc, docbook_xsl, glib }: { stdenv, fetchurl, meson, ninja, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, glib }:
# TODO: Add installed tests once https://gitlab.gnome.org/Incubator/libcloudproviders/issues/4 is fixed # TODO: Add installed tests once https://gitlab.gnome.org/World/libcloudproviders/issues/4 is fixed
let stdenv.mkDerivation rec {
pname = "libcloudproviders"; pname = "libcloudproviders";
version = "0.2.5"; version = "0.3.0";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://gitlab.gnome.org/Incubator/${pname}/repository/archive.tar.gz?ref=${version}"; url = "https://gitlab.gnome.org/World/${pname}/repository/archive.tar.gz?ref=${version}";
sha256 = "1c3vfg8wlsv0fmi1lm9qhsqdvp4k33yvwn6j680rh49laayf7k3g"; sha256 = "1hby7vhxn6fw4ih3xbx6ab9vqp3a3dmlhr0z7mrwr73b7ankly0l";
}; };
patches = [
./fix-include.patch
];
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
mesonFlags = [ mesonFlags = [
"-Denable-gtk-doc=true" "-Denable-gtk-doc=true"
]; ];
nativeBuildInputs = [ meson ninja pkgconfig gtk-doc docbook_xsl ]; nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala gtk-doc docbook_xsl ];
buildInputs = [ glib ]; buildInputs = [ glib ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "DBus API that allows cloud storage sync clients to expose their services"; description = "DBus API that allows cloud storage sync clients to expose their services";
homepage = https://gitlab.gnome.org/Incubator/libcloudproviders; homepage = https://gitlab.gnome.org/World/libcloudproviders;
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;
maintainers = with maintainers; [ jtojnar ]; maintainers = with maintainers; [ jtojnar ];
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -1,11 +0,0 @@
--- a/meson.build
+++ b/meson.build
@@ -46,7 +46,7 @@
bindir = get_option ('bindir')
datadir = get_option ('datadir')
servicedir = join_paths (datadir, 'dbus-1', 'services')
-incdir = join_paths (prefix, 'include', 'cloudproviders')
+incdir = join_paths (prefix, get_option('includedir'), 'cloudproviders')
gnome = import('gnome')

View File

@ -2,17 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libunwind-${version}"; name = "libunwind-${version}";
version = "1.2.1"; version = "1.3.1";
src = fetchurl { src = fetchurl {
url = "mirror://savannah/libunwind/${name}.tar.gz"; url = "mirror://savannah/libunwind/${name}.tar.gz";
sha256 = "1jsslwkilwrsj959dc8b479qildawz67r8m4lzxm7glcwa8cngiz"; sha256 = "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3";
}; };
patches = [ patches = [ ./backtrace-only-with-glibc.patch ];
./version-1.2.1.patch
./backtrace-only-with-glibc.patch
];
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View File

@ -1,13 +0,0 @@
diff --git a/configure.ac b/configure.ac
index a254bbe..fe0247b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
define(pkg_major, 1)
-define(pkg_minor, 2.1)
-define(pkg_extra, )
+define(pkg_minor, 2)
+define(pkg_extra, 1)
define(pkg_maintainer, libunwind-devel@nongnu.org)
define(mkvers, $1.$2$3)
dnl Process this file with autoconf to produce a configure script.

View File

@ -8,7 +8,7 @@
}: }:
let # beware: updates often break cups-filters build let # beware: updates often break cups-filters build
version = "0.72.0"; version = "0.73.0";
mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/poppler-${version}.tar.xz"; url = "${meta.homepage}/poppler-${version}.tar.xz";
sha256 = "0lfs1b1jfamxl13zbl5n448dqvl9n8frbv8180y7b7kfyaw7wx61"; sha256 = "00yv7011y40jc5iw9b7zjyg8ij5wsfbjm32kli5qha1ij11majz4";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++14"; CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++14";
cmakeFlags = [ cmakeFlags = [
(mkFlag true "XPDF_HEADERS") (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS"
(mkFlag (!minimal) "GLIB") (mkFlag (!minimal) "GLIB")
(mkFlag (!minimal) "CPP") (mkFlag (!minimal) "CPP")
(mkFlag (!minimal) "LIBCURL") (mkFlag (!minimal) "LIBCURL")

View File

@ -4,8 +4,8 @@ with skawarePackages;
buildPackage { buildPackage {
pname = "utmps"; pname = "utmps";
version = "0.0.1.3"; version = "0.0.2.0";
sha256 = "0dwskdclac4afmh7f7zn6jdiydgaf59a65q43r6b813mghczjvvd"; sha256 = "0fzq3qm88sm5ibl9k9k6ns6jd7iw72vh9k10bsfl5dxd2yi6iqyr";
description = "A secure utmpx and wtmp implementation"; description = "A secure utmpx and wtmp implementation";

View File

@ -116,6 +116,7 @@
, "@webassemblyjs/wasm-text-gen" , "@webassemblyjs/wasm-text-gen"
, "@webassemblyjs/wast-refmt" , "@webassemblyjs/wast-refmt"
, "webpack" , "webpack"
, "webpack-cli"
, "webtorrent-cli" , "webtorrent-cli"
, "web-ext" , "web-ext"
, "wring" , "wring"

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, pkgconfig, ocaml, findlib, gtk3, gtkspell3, gtksourceview }: { stdenv, fetchurl, pkgconfig, ocaml, findlib, gtk3, gtkspell3, gtksourceview }:
if !stdenv.lib.versionAtLeast ocaml.version "4.03" if !stdenv.lib.versionAtLeast ocaml.version "4.05"
then throw "lablgtk3 is not available for OCaml ${ocaml.version}" then throw "lablgtk3 is not available for OCaml ${ocaml.version}"
else else
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.0.beta2"; version = "3.0.beta3";
name = "ocaml${ocaml.version}-lablgtk3-${version}"; name = "ocaml${ocaml.version}-lablgtk3-${version}";
src = fetchurl { src = fetchurl {
url = https://forge.ocamlcore.org/frs/download.php/1774/lablgtk-3.0.beta2.tar.gz; url = https://forge.ocamlcore.org/frs/download.php/1775/lablgtk-3.0.beta3.tar.gz;
sha256 = "1v4qj07l75hqis4j9bx8x1cfn7scqi6nmp4j5jx41x94ws7hp2ch"; sha256 = "174mwwdz1s91a6ycbas7nc0g87c2l6zqv68zi5ab33yb76l46a6w";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -3,9 +3,9 @@
let param = let param =
if stdenv.lib.versionAtLeast ocaml.version "4.03" if stdenv.lib.versionAtLeast ocaml.version "4.03"
then { then {
version = "0.6"; version = "0.6.1";
url = " https://github.com/Chris00/ocaml-rope/releases/download/0.6/rope-0.6.tbz"; url = " https://github.com/Chris00/ocaml-rope/releases/download/0.6.1/rope-0.6.1.tbz";
sha256 = "06pkbnkad2ck50jn59ggwv154yd9vb01abblihvam6p27m4za1pc"; sha256 = "1zqh28jz1zjb0l354wi1046qpkwmk582ssz0gsqh6d44wpspdxk2";
buildInputs = [ dune ]; buildInputs = [ dune ];
extra = { extra = {
buildPhase = "dune build -p rope"; buildPhase = "dune build -p rope";

View File

@ -1,8 +1,9 @@
{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gmp, perl }: { stdenv, buildOcaml, fetchurl
, ocaml, findlib, pkgconfig, perl
, gmp
}:
assert stdenv.lib.versionAtLeast ocaml.version "3.12.1"; let source =
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.02" if stdenv.lib.versionAtLeast ocaml.version "4.02"
then { then {
version = "1.7"; version = "1.7";
@ -15,18 +16,20 @@ let param =
}; };
in in
stdenv.mkDerivation rec { buildOcaml rec {
name = "zarith-${version}"; name = "zarith";
inherit (param) version; inherit (source) version;
src = fetchurl { inherit (source) url sha256; };
src = fetchurl { minimumSupportedOcamlVersion = "3.12.1";
inherit (param) url sha256;
};
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ocaml findlib perl ]; buildInputs = [ ocaml findlib perl ];
propagatedBuildInputs = [ gmp ]; propagatedBuildInputs = [ gmp ];
# needed so setup-hook.sh sets CAML_LD_LIBRARY_PATH for dllzarith.so
hasSharedObjects = true;
patchPhase = "patchShebangs ./z_pp.pl"; patchPhase = "patchShebangs ./z_pp.pl";
configurePhase = '' configurePhase = ''
./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib

View File

@ -23,11 +23,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiohttp"; pname = "aiohttp";
version = "3.5.3"; version = "3.5.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "7967b760d0e96eb7ac6b20a9143112ce5c03a00b4f74d8a5ee66c8e88e6b6800"; sha256 = "9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf";
}; };
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.5";

View File

@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder { stdenv, buildPythonPackage, fetchPypi, pythonOlder
, attrs, click, toml, appdirs , attrs, click, toml, appdirs, aiohttp
, glibcLocales, pytest }: , glibcLocales, pytest }:
buildPythonPackage rec { buildPythonPackage rec {
@ -15,14 +15,15 @@ buildPythonPackage rec {
checkInputs = [ pytest glibcLocales ]; checkInputs = [ pytest glibcLocales ];
# Don't know why these tests fails
checkPhase = '' checkPhase = ''
# no idea, why those fail. LC_ALL="en_US.UTF-8" pytest \
LC_ALL="en_US.UTF-8" HOME="$NIX_BUILD_TOP" \ --deselect tests/test_black.py::BlackTestCase::test_expression_diff \
pytest \ --deselect tests/test_black.py::BlackTestCase::test_cache_multiple_files \
-k "not test_cache_multiple_files and not test_failed_formatting_does_not_get_cached" --deselect tests/test_black.py::BlackTestCase::test_failed_formatting_does_not_get_cached
''; '';
propagatedBuildInputs = [ attrs appdirs click toml ]; propagatedBuildInputs = [ attrs appdirs click toml aiohttp ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The uncompromising Python code formatter"; description = "The uncompromising Python code formatter";

View File

@ -0,0 +1,22 @@
{ lib, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "css-parser";
version = "1.0.4";
src = fetchPypi {
inherit pname version;
sha256 = "c7ab355512ae51334ba6791a7e4d553f87bef17ba2026f1cc9bf3b17a7779d44";
};
# Test suite not included in tarball yet
# See https://github.com/ebook-utils/css-parser/pull/2
doCheck = false;
meta = with lib; {
description = "A CSS Cascading Style Sheets library for Python";
homepage = https://github.com/ebook-utils/css-parser;
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ jethro ];
};
}

View File

@ -23,8 +23,7 @@ buildPythonPackage rec {
# That is because while the default install phase succeeds to build the package, # That is because while the default install phase succeeds to build the package,
# it fails to generate the file "auto_paridecl.pxd". # it fails to generate the file "auto_paridecl.pxd".
installPhase = '' installPhase = ''
mkdir -p "$out/lib/${python.sitePackages}" export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
export PYTHONPATH="$out/lib/${python.sitePackages}:$PYTHONPATH"
# install "." instead of "*.whl" # install "." instead of "*.whl"
${python.pythonForBuild.pkgs.bootstrapped-pip}/bin/pip install --no-index --prefix=$out --no-cache --build=tmpdir . ${python.pythonForBuild.pkgs.bootstrapped-pip}/bin/pip install --no-index --prefix=$out --no-cache --build=tmpdir .

View File

@ -6,13 +6,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "Django"; pname = "Django";
version = "2.1.4"; version = "2.1.5";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1mxbrqdzim3xcy18dmd08xh2am0q7whbf0nf6bmnrl43802m3386"; sha256 = "1hwqqsfg8jgnn039yxrq6xrksk11y7vwpfvba6lk01c3v8c3jffn";
}; };
patches = stdenv.lib.optionals withGdal [ patches = stdenv.lib.optionals withGdal [

View File

@ -8,11 +8,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "fonttools"; pname = "fonttools";
version = "3.33.0"; version = "3.34.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "196yl6m3fycrbsclcmg550821j18ga6dpghmk5nb1xi4j4yb62gq"; sha256 = "1ahs82jnc8f7gksh51asg9dcifhslyfdz9dry9sxq424q1p5k9lz";
extension = "zip"; extension = "zip";
}; };

View File

@ -4,11 +4,11 @@
python.pkgs.buildPythonPackage rec { python.pkgs.buildPythonPackage rec {
pname = "memory_profiler"; pname = "memory_profiler";
version = "0.54.0"; version = "0.55.0";
src = python.pkgs.fetchPypi { src = python.pkgs.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "06ld8h8mhm8pk0sv7fxgx0y2q8nri65qlh4vjbs0bq9j7yi44hyn"; sha256 = "1hdgh5f59bya079w4ahx4l0hf4gc5yvaz44irp5x57cj9hkpp92z";
}; };
propagatedBuildInputs = with python.pkgs; [ propagatedBuildInputs = with python.pkgs; [

View File

@ -1,19 +1,24 @@
{ stdenv { stdenv
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchFromGitHub
, nose
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "munkres"; pname = "munkres";
version = "1.0.6"; version = "1.0.12";
src = fetchPypi { # No sdist for 1.0.12, see https://github.com/bmc/munkres/issues/25
inherit pname version; src = fetchFromGitHub {
sha256 = "c78f803b9b776bfb20a25c9c7bb44adbf0f9202c2024d51aa5969d21e560208d"; owner = "bmc";
repo = pname;
rev = "release-${version}";
sha256 = "0m3rkn0z3ialndxmyg26xn081znna34i5maa1i4nkhy6nf0ixdjm";
}; };
# error: invalid command 'test' checkInputs = [ nose ];
doCheck = false;
checkPhase = "nosetests";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://bmc.github.com/munkres/; homepage = http://bmc.github.com/munkres/;

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "numpy-stl"; pname = "numpy-stl";
version = "2.7.0"; version = "2.9.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "ede911118cfee5a8fd4c341b418fc55bfcd70a557686febc4efb6693297e3aa2"; sha256 = "0mh7p19rhx800dd54ij1pgln5ny03fdyvadyhrsb380fgjby2nh3";
}; };
checkInputs = [ pytest pytestrunner ]; checkInputs = [ pytest pytestrunner ];

View File

@ -16,7 +16,10 @@ buildPythonPackage rec {
sha256 = "18n14ha2d3j3ghg2f2aqnf2mks94nn7ma9ii7vkiwcay93zm82cf"; sha256 = "18n14ha2d3j3ghg2f2aqnf2mks94nn7ma9ii7vkiwcay93zm82cf";
}; };
buildInputs = [ pkgs.swig1 pkgs.coin3d pkgs.soqt pkgs.libGLU_combined pkgs.xorg.libXi ]; buildInputs = with pkgs; with xorg; [
swig1 coin3d soqt libGLU_combined
libXi libXext libSM libICE libX11
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://pivy.coin3d.org/; homepage = http://pivy.coin3d.org/;

View File

@ -6,11 +6,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pycares"; pname = "pycares";
version = "2.3.0"; version = "2.4.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0h4fxw5drrhfyslzmfpljk0qnnpbhhb20hnnndzahhbwylyw1x1n"; sha256 = "15pwsxsj1nr33n6x2918bfbzdnqv1qkwd2d5jgvxsm81zxnvgk0f";
}; };
propagatedBuildInputs = [ pkgs.c-ares ]; propagatedBuildInputs = [ pkgs.c-ares ];

View File

@ -1,16 +1,12 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, python, pytest, glibcLocales }: { stdenv, buildPythonPackage, fetchPypi, python, pytest, glibcLocales }:
buildPythonPackage rec { buildPythonPackage rec {
version = "3.5.5"; version = "3.5.6";
pname = "pyfakefs"; pname = "pyfakefs";
# no tests in PyPI tarball src = fetchPypi {
# https://github.com/jmcgeheeiv/pyfakefs/pull/361 inherit pname version;
src = fetchFromGitHub { sha256 = "efe9c318b2a37ae498a555889684c30ccb6a1b06bd391cb3baf0eb5ba68e9062";
owner = "jmcgeheeiv";
repo = pname;
rev = "v${version}";
sha256 = "1pww444ih4bf84a0jgl1r446mjywhlls890mnw76flx8maahlik1";
}; };
postPatch = '' postPatch = ''

View File

@ -5,6 +5,7 @@
, flask , flask
, pyquery , pyquery
, pytest , pytest
, pytestrunner
, cairosvg , cairosvg
, tinycss , tinycss
, cssselect , cssselect
@ -22,7 +23,24 @@ buildPythonPackage rec {
sha256 = "9204f05380b02a8a32f9bf99d310b51aa2a932cba5b369f7a4dc3705f0a4ce83"; sha256 = "9204f05380b02a8a32f9bf99d310b51aa2a932cba5b369f7a4dc3705f0a4ce83";
}; };
buildInputs = [ flask pyquery pytest ]; buildInputs = [
flask
pyquery
# Should be a check input, but upstream lists it under "setup_requires".
# https://github.com/Kozea/pygal/issues/430
pytestrunner
];
checkInputs = [
pytest
];
preCheck = ''
# necessary on darwin to pass the testsuite
export LANG=en_US.UTF-8
'';
propagatedBuildInputs = [ cairosvg tinycss cssselect ] propagatedBuildInputs = [ cairosvg tinycss cssselect ]
++ stdenv.lib.optionals (!isPyPy) [ lxml ]; ++ stdenv.lib.optionals (!isPyPy) [ lxml ];

View File

@ -0,0 +1,22 @@
{ lib, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "pyment";
version = "0.3.3";
src = fetchPypi {
pname = "Pyment";
inherit version;
sha256 = "951a4c52d6791ccec55bc739811169eed69917d3874f5fe722866623a697f39d";
};
# Tests are not included in PyPI tarball
doCheck = false;
meta = with lib; {
homepage = https://github.com/dadadel/pyment;
description = "Create, update or convert docstrings in existing Python files, managing several styles";
license = licenses.gpl3;
maintainers = with maintainers; [ jethro ];
};
}

View File

@ -1,62 +1,42 @@
{ stdenv { stdenv
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchFromGitHub
, fetchpatch , substituteAll
, repoze_who , xmlsec
, paste , cryptography, defusedxml, future, pyopenssl, dateutil, pytz, requests, six
, cryptography , mock, pyasn1, pymongo, pytest, responses
, pycrypto
, pyopenssl
, ipaddress
, six
, cffi
, idna
, enum34
, pytz
, setuptools
, zope_interface
, dateutil
, requests
, pyasn1
, webob
, decorator
, pycparser
, defusedxml
, Mako
, pytest
, memcached
, pymongo
, mongodict
, pkgs
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pysaml2"; pname = "pysaml2";
version = "3.0.2"; version = "4.6.5";
src = fetchPypi { # No tests in PyPI tarball
inherit pname version; src = fetchFromGitHub {
sha256 = "0y2iw1dddcvi13xjh3l52z1mvnrbc41ik9k4nn7lwj8x5kimnk9n"; owner = "IdentityPython";
repo = pname;
rev = "v${version}";
sha256 = "0xlbr52vzx1j9sg65jhqv01vp4a49afjy03lc2zb0ggx0xxzngvb";
}; };
patches = [ patches = [
(fetchpatch { (substituteAll {
name = "CVE-2016-10127.patch"; src = ./hardcode-xmlsec1-path.patch;
url = "https://sources.debian.net/data/main/p/python-pysaml2/3.0.0-5/debian/patches/fix-xxe-in-xml-parsing.patch"; inherit xmlsec;
sha256 = "184lkwdayjqiahzsn4yp15parqpmphjsb1z7zwd636jvarxqgs2q";
}) })
]; ];
propagatedBuildInputs = [ repoze_who paste cryptography pycrypto pyopenssl ipaddress six cffi idna enum34 pytz setuptools zope_interface dateutil requests pyasn1 webob decorator pycparser defusedxml ]; propagatedBuildInputs = [ cryptography defusedxml future pyopenssl dateutil pytz requests six ];
buildInputs = [ Mako pytest memcached pymongo mongodict pkgs.xmlsec ];
preConfigure = '' checkInputs = [ mock pyasn1 pymongo pytest responses ];
sed -i 's/pymongo==3.0.1/pymongo/' setup.py
# Disabled tests try to access the network
checkPhase = ''
py.test -k "not test_load_extern_incommon \
and not test_load_remote_encoding \
and not test_load_external"
''; '';
# 16 failed, 427 passed, 17 error in 88.85 seconds
doCheck = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://github.com/rohe/pysaml2"; homepage = "https://github.com/rohe/pysaml2";
description = "Python implementation of SAML Version 2 Standard"; description = "Python implementation of SAML Version 2 Standard";

View File

@ -0,0 +1,39 @@
diff --git a/src/saml2/sigver.py b/src/saml2/sigver.py
index 59fe2dee..0c24fbcc 100644
--- a/src/saml2/sigver.py
+++ b/src/saml2/sigver.py
@@ -165,33 +165,7 @@ def get_xmlsec_binary(paths=None):
:return: full name of the xmlsec1 binary found. If no binaries are
found then an exception is raised.
"""
- if os.name == 'posix':
- bin_name = ['xmlsec1']
- elif os.name == 'nt':
- bin_name = ['xmlsec.exe', 'xmlsec1.exe']
- else: # Default !?
- bin_name = ['xmlsec1']
-
- if paths:
- for bname in bin_name:
- for path in paths:
- fil = os.path.join(path, bname)
- try:
- if os.lstat(fil):
- return fil
- except OSError:
- pass
-
- for path in os.environ['PATH'].split(os.pathsep):
- for bname in bin_name:
- fil = os.path.join(path, bname)
- try:
- if os.lstat(fil):
- return fil
- except OSError:
- pass
-
- raise SigverError('Cannot find {binary}'.format(binary=bin_name))
+ return '@xmlsec@/bin/xmlsec1'
def _get_xmlsec_cryptobackend(path=None, search_paths=None):

View File

@ -5,12 +5,12 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.3.2"; version = "0.3.3";
pname = "pysmi"; pname = "pysmi";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "309039ab9bd458cc721692ffff10b4ad2c4a8e731e6507c34866ca2727323353"; sha256 = "0bzhmi4691rf306n4y82js52532h3fp1sy6phvh6hnms6nww4daf";
}; };
propagatedBuildInputs = [ ply ]; propagatedBuildInputs = [ ply ];

View File

@ -2,24 +2,23 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytest-rerunfailures"; pname = "pytest-rerunfailures";
version = "4.2"; version = "6.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "97216f8a549f74da3cc786236d9093fbd43150a6fbe533ba622cb311f7431774"; sha256 = "978349ae00687504fd0f9d0970c37199ccd89cbdb0cb8c4ed7ee417ede582b40";
}; };
checkInputs = [ mock ]; checkInputs = [ mock ];
propagatedBuildInputs = [ pytest ]; propagatedBuildInputs = [ pytest ];
# disable tests that fail with pytest 3.7.4
checkPhase = '' checkPhase = ''
py.test test_pytest_rerunfailures.py -k 'not test_reruns_with_delay' py.test test_pytest_rerunfailures.py
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "pytest plugin to re-run tests to eliminate flaky failures."; description = "pytest plugin to re-run tests to eliminate flaky failures";
homepage = https://github.com/pytest-dev/pytest-rerunfailures; homepage = https://github.com/pytest-dev/pytest-rerunfailures;
license = licenses.mpl20; license = licenses.mpl20;
maintainers = with maintainers; [ jgeerds ]; maintainers = with maintainers; [ jgeerds ];

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