Merge pull request #71780 from NixOS/staging-next

Staging next
This commit is contained in:
Frederik Rietdijk 2019-10-24 08:33:16 +02:00 committed by GitHub
commit fa21e8c1bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
348 changed files with 2548 additions and 1886 deletions

View File

@ -51,9 +51,7 @@ system, [Hydra](https://hydra.nixos.org/).
Artifacts successfully built with Hydra are published to cache at Artifacts successfully built with Hydra are published to cache at
https://cache.nixos.org/. When successful build and test criteria are https://cache.nixos.org/. When successful build and test criteria are
met, the Nixpkgs expressions are distributed via [Nix met, the Nixpkgs expressions are distributed via [Nix
channels](https://nixos.org/nix/manual/#sec-channels). The channels channels](https://nixos.org/nix/manual/#sec-channels).
are provided via a read-only mirror of the Nixpkgs repository called
[nixpkgs-channels](https://github.com/NixOS/nixpkgs-channels).
# Contributing # Contributing

View File

@ -47,5 +47,5 @@ which also builds binary packages from the Nix expressions in Nixpkgs for
The binaries are made available via a [binary cache](https://cache.nixos.org). The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the The current Nix expressions of the channels are available in the
[`nixpkgs-channels`](https://github.com/NixOS/nixpkgs-channels) repository, [`nixpkgs`](https://github.com/NixOS/nixpkgs) repository in branches
which has branches corresponding to the available channels. that correspond to the channel names (e.g. `nixos-19.09-small`).

View File

@ -115,19 +115,12 @@
<para> <para>
It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone. It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone.
<screen> <screen>
<prompt>$ </prompt>git remote add channels https://github.com/NixOS/nixpkgs-channels.git <co <prompt>$ </prompt>git fetch origin nixos-unstable <co xml:id='reviewing-rebase-2' />
xml:id='reviewing-rebase-1' />
<prompt>$ </prompt>git fetch channels nixos-unstable <co xml:id='reviewing-rebase-2' />
<prompt>$ </prompt>git fetch origin pull/PRNUMBER/head <co xml:id='reviewing-rebase-3' /> <prompt>$ </prompt>git fetch origin pull/PRNUMBER/head <co xml:id='reviewing-rebase-3' />
<prompt>$ </prompt>git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD <co <prompt>$ </prompt>git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD <co
xml:id='reviewing-rebase-4' /> xml:id='reviewing-rebase-4' />
</screen> </screen>
<calloutlist> <calloutlist>
<callout arearefs='reviewing-rebase-1'>
<para>
This should be done only once to be able to fetch channel branches from the nixpkgs-channels repository.
</para>
</callout>
<callout arearefs='reviewing-rebase-2'> <callout arearefs='reviewing-rebase-2'>
<para> <para>
Fetching the nixos-unstable branch. Fetching the nixos-unstable branch.

View File

@ -13,17 +13,16 @@
<screen> <screen>
<prompt>$ </prompt>git clone https://github.com/NixOS/nixpkgs <prompt>$ </prompt>git clone https://github.com/NixOS/nixpkgs
<prompt>$ </prompt>cd nixpkgs <prompt>$ </prompt>cd nixpkgs
<prompt>$ </prompt>git remote add channels https://github.com/NixOS/nixpkgs-channels <prompt>$ </prompt>git remote update origin
<prompt>$ </prompt>git remote update channels
</screen> </screen>
This will check out the latest Nixpkgs sources to This will check out the latest Nixpkgs sources to
<filename>./nixpkgs</filename> the NixOS sources to <filename>./nixpkgs</filename> the NixOS sources to
<filename>./nixpkgs/nixos</filename>. (The NixOS source tree lives in a <filename>./nixpkgs/nixos</filename>. (The NixOS source tree lives in a
subdirectory of the Nixpkgs repository.) The remote subdirectory of the Nixpkgs repository.) The
<literal>channels</literal> refers to a read-only repository that tracks the <literal>nixpkgs</literal> repository has branches that correspond
Nixpkgs/NixOS channels (see <xref linkend="sec-upgrading"/> for more to each Nixpkgs/NixOS channel (see <xref linkend="sec-upgrading"/> for more
information about channels). Thus, the Git branch information about channels). Thus, the Git branch
<literal>channels/nixos-17.03</literal> will contain the latest built and <literal>origin/nixos-17.03</literal> will contain the latest built and
tested version available in the <literal>nixos-17.03</literal> channel. tested version available in the <literal>nixos-17.03</literal> channel.
</para> </para>
<para> <para>
@ -40,15 +39,15 @@
Or, to base your local branch on the latest version available in a NixOS Or, to base your local branch on the latest version available in a NixOS
channel: channel:
<screen> <screen>
<prompt>$ </prompt>git remote update channels <prompt>$ </prompt>git remote update origin
<prompt>$ </prompt>git checkout -b local channels/nixos-17.03 <prompt>$ </prompt>git checkout -b local origin/nixos-17.03
</screen> </screen>
(Replace <literal>nixos-17.03</literal> with the name of the channel you want (Replace <literal>nixos-17.03</literal> with the name of the channel you want
to use.) You can use <command>git merge</command> or <command>git to use.) You can use <command>git merge</command> or <command>git
rebase</command> to keep your local branch in sync with the channel, e.g. rebase</command> to keep your local branch in sync with the channel, e.g.
<screen> <screen>
<prompt>$ </prompt>git remote update channels <prompt>$ </prompt>git remote update origin
<prompt>$ </prompt>git merge channels/nixos-17.03 <prompt>$ </prompt>git merge origin/nixos-17.03
</screen> </screen>
You can use <command>git cherry-pick</command> to copy commits from your You can use <command>git cherry-pick</command> to copy commits from your
local branch to the upstream branch. local branch to the upstream branch.

View File

@ -84,6 +84,16 @@
</para> </para>
<itemizedlist> <itemizedlist>
<listitem>
<para>
GnuPG is now built without support for a graphical passphrase entry
by default. Please enable the <literal>gpg-agent</literal> user service
via the NixOS option <literal>programs.gnupg.agent.enable</literal>.
Note that upstream recommends using <literal>gpg-agent</literal> and
will spawn a <literal>gpg-agent</literal> on the first invocation of
GnuPG anyway.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The <literal>dynamicHosts</literal> option has been removed from the The <literal>dynamicHosts</literal> option has been removed from the
@ -129,6 +139,14 @@
<listitem> <listitem>
<para>SD images are now compressed by default using <literal>bzip2</literal>.</para> <para>SD images are now compressed by default using <literal>bzip2</literal>.</para>
</listitem> </listitem>
<listitem>
<para>
OpenSSH has been upgraded from 7.9 to 8.1, improving security and adding features
but with potential incompatibilities. Consult the
<link xlink:href="https://www.openssh.com/txt/release-8.1">
release announcement</link> for more information.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View File

@ -34,7 +34,6 @@ with lib;
networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; }; networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; }; networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
pinentry = super.pinentry.override { gtk2 = null; gcr = null; qt4 = null; qt5 = null; };
gobject-introspection = super.gobject-introspection.override { x11Support = false; }; gobject-introspection = super.gobject-introspection.override { x11Support = false; };
})); }));
}; };

View File

@ -120,7 +120,11 @@ in
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.
# programs.mtr.enable = true; # programs.mtr.enable = true;
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; # programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# flavour = "gnome3";
# };
# List services that you want to enable: # List services that you want to enable:

View File

@ -31,9 +31,6 @@ with lib;
# Let the user play Rogue on TTY 8 during the installation. # Let the user play Rogue on TTY 8 during the installation.
#services.rogue.enable = true; #services.rogue.enable = true;
# Disable some other stuff we don't need.
services.udisks2.enable = mkDefault false;
# Use less privileged nixos user # Use less privileged nixos user
users.users.nixos = { users.users.nixos = {
isNormalUser = true; isNormalUser = true;

View File

@ -6,6 +6,19 @@ let
cfg = config.programs.gnupg; cfg = config.programs.gnupg;
xserverCfg = config.services.xserver;
defaultPinentryFlavor =
if xserverCfg.desktopManager.lxqt.enable
|| xserverCfg.desktopManager.plasma5.enable then
"qt"
else if xserverCfg.desktopManager.xfce.enable then
"gtk2"
else if xserverCfg.enable then
"gnome3"
else
null;
in in
{ {
@ -54,6 +67,20 @@ in
''; '';
}; };
agent.pinentryFlavor = mkOption {
type = types.nullOr (types.enum pkgs.pinentry.flavors);
example = "gnome3";
description = ''
Which pinentry interface to use. If not null, the path to the
pinentry binary will be passed to gpg-agent via commandline and
thus overrides the pinentry option in gpg-agent.conf in the user's
home directory.
If not set at all, it'll pick an appropriate flavor depending on the
system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce
4.12, gnome3 on all other systems with X enabled, ncurses otherwise).
'';
};
dirmngr.enable = mkOption { dirmngr.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -64,6 +91,16 @@ in
}; };
config = mkIf cfg.agent.enable { config = mkIf cfg.agent.enable {
programs.gnupg.agent.pinentryFlavor = mkDefault defaultPinentryFlavor;
# This overrides the systemd user unit shipped with the gnupg package
systemd.user.services.gpg-agent = mkIf (cfg.agent.pinentryFlavor != null) {
serviceConfig.ExecStart = [ "" ''
${pkgs.gnupg}/bin/gpg-agent --supervised \
--pinentry-program ${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry
'' ];
};
systemd.user.sockets.gpg-agent = { systemd.user.sockets.gpg-agent = {
wantedBy = [ "sockets.target" ]; wantedBy = [ "sockets.target" ];
}; };

View File

@ -34,10 +34,7 @@ with lib;
services.dbus.packages = [ pkgs.udisks2 ]; services.dbus.packages = [ pkgs.udisks2 ];
system.activationScripts.udisks2 = systemd.tmpfiles.rules = [ "d /var/lib/udisks2 0755 root root -" ];
''
mkdir -m 0755 -p /var/lib/udisks2
'';
services.udev.packages = [ pkgs.udisks2 ]; services.udev.packages = [ pkgs.udisks2 ];

View File

@ -54,8 +54,6 @@ let
hardware.enableAllFirmware = lib.mkForce false; hardware.enableAllFirmware = lib.mkForce false;
services.udisks2.enable = lib.mkDefault false;
${replaceChars ["\n"] ["\n "] extraConfig} ${replaceChars ["\n"] ["\n "] extraConfig}
} }
''; '';
@ -295,8 +293,6 @@ let
++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub ++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ]; ++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ];
services.udisks2.enable = mkDefault false;
nix.binaryCaches = mkForce [ ]; nix.binaryCaches = mkForce [ ];
nix.extraOptions = nix.extraOptions =
'' ''

View File

@ -51,7 +51,6 @@ let
hashed-mirrors = hashed-mirrors =
connect-timeout = 1 connect-timeout = 1
''; '';
services.udisks2.enable = lib.mkForce false;
}; };
# /etc/nixos/configuration.nix for the vm # /etc/nixos/configuration.nix for the vm
configFile = pkgs.writeText "configuration.nix" '' configFile = pkgs.writeText "configuration.nix" ''

View File

@ -17,10 +17,10 @@ rec {
firefox = common rec { firefox = common rec {
pname = "firefox"; pname = "firefox";
ffversion = "69.0.2"; ffversion = "70.0";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "2ag1syrvlkch7vl151hkq8abf86p9v6b6gmgcbh26b8wfva1p1ss1x09h4w50zmcc6jq4q5mcxgf1sd9zna552jl90k1y4rqvrrzwl6"; sha512 = "1rjji7w0rf4b7h6hyllwav1xcbaiv37jmf5s0n0c3cwf9b76yhf8nhygm1a97m26f6rvbmhcv0dx4l8bh06cz9mcbbxy4lhsn43sr62";
}; };
patches = [ patches = [

View File

@ -30,11 +30,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.13.1"; version = "1.13.3";
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz"; url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "0n4k42bbrj5g9b1kczkfsih049v43vqzaps7n69gmfa4jpk59wc1"; sha256 = "1pz3423gw3z2zwcmk9l2c6v68w5is39gndq7502c9mbm8c226wag";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View File

@ -79,12 +79,6 @@ let
sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57"; sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57";
}) })
(fetchpatch {
url = "https://github.com/python/cpython/commit/979daae300916adb399ab5b51410b6ebd0888f13.patch";
name = "CVE-2018-20852.patch";
sha256 = "0p838ycssd6abxzby69rhngjqqm59cmlp07910mpjx7lmsz049pb";
})
# Fix race-condition during pyc creation. Has a slight backwards # Fix race-condition during pyc creation. Has a slight backwards
# incompatible effect: pyc symlinks will now be overridden # incompatible effect: pyc symlinks will now be overridden
# (https://bugs.python.org/issue17222). Included in python >= 3.4, # (https://bugs.python.org/issue17222). Included in python >= 3.4,

View File

@ -93,8 +93,8 @@
_osx_support.customize_compiler(_config_vars) _osx_support.customize_compiler(_config_vars)
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True' _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \ - (cc, cxx, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', - get_config_vars('CC', 'CXX', 'CFLAGS',
- 'CCSHARED', 'LDSHARED', 'SO', 'AR', - 'CCSHARED', 'LDSHARED', 'SO', 'AR',
- 'ARFLAGS') - 'ARFLAGS')
+ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \ + (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
@ -120,8 +120,7 @@
ldshared = ldshared + ' ' + os.environ['LDFLAGS'] ldshared = ldshared + ' ' + os.environ['LDFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS'] + ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
if 'CFLAGS' in os.environ: if 'CFLAGS' in os.environ:
- cflags = opt + ' ' + os.environ['CFLAGS'] cflags = cflags + ' ' + os.environ['CFLAGS']
+ cflags = os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS'] ldshared = ldshared + ' ' + os.environ['CFLAGS']
+ if 'CXXFLAGS' in os.environ: + if 'CXXFLAGS' in os.environ:
+ cxxflags = os.environ['CXXFLAGS'] + cxxflags = os.environ['CXXFLAGS']

View File

@ -52,10 +52,10 @@ in {
sourceVersion = { sourceVersion = {
major = "2"; major = "2";
minor = "7"; minor = "7";
patch = "16"; patch = "17";
suffix = ""; suffix = "";
}; };
sha256 = "1mqfcqp5y8r0bfyr7ppl74n0lig45p9mc4b8adlcpvj74rhfy8pj"; sha256 = "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd";
inherit (darwin) CF configd; inherit (darwin) CF configd;
inherit passthruFun; inherit passthruFun;
}; };
@ -200,4 +200,9 @@ in {
ncurses = ncurses5; ncurses = ncurses5;
}; };
graalpython37 = callPackage ./graalpython/default.nix {
self = pythonInterpreters.graalpython37;
inherit passthruFun;
};
}) })

View File

@ -0,0 +1,21 @@
{ pkgs
, lib
, graalvm8
, passthruFun
, packageOverrides ? (self: super: {})
, self
}:
let
passthru = passthruFun {
inherit self packageOverrides;
implementation = "graal";
sourceVersion = graalvm8.version;
pythonVersion = "3.7";
libPrefix = "graalvm";
sitePackages = "jre/languages/python/lib-python/3/site-packages";
executable = "graalpython";
hasDistutilsCxxPatch = false;
pythonForBuild = pkgs.buildPackages.pythonInterpreters.graalpython37;
};
in lib.extendDerivation true passthru graalvm8

View File

@ -116,11 +116,45 @@ SEMVER = {
} }
def _determine_latest_version(current_version, target, versions):
"""Determine latest version, given `target`.
"""
current_version = Version(current_version)
def _parse_versions(versions):
for v in versions:
try:
yield Version(v)
except InvalidVersion:
pass
versions = _parse_versions(versions)
index = SEMVER[target]
ceiling = list(current_version[0:index])
if len(ceiling) == 0:
ceiling = None
else:
ceiling[-1]+=1
ceiling = Version(".".join(map(str, ceiling)))
# We do not want prereleases
versions = SpecifierSet(prereleases=PRERELEASES).filter(versions)
if ceiling is not None:
versions = SpecifierSet(f"<{ceiling}").filter(versions)
return (max(sorted(versions))).raw_version
def _get_latest_version_pypi(package, extension, current_version, target): def _get_latest_version_pypi(package, extension, current_version, target):
"""Get latest version and hash from PyPI.""" """Get latest version and hash from PyPI."""
url = "{}/{}/json".format(INDEX, package) url = "{}/{}/json".format(INDEX, package)
json = _fetch_page(url) json = _fetch_page(url)
version = json['info']['version']
versions = json['releases'].keys()
version = _determine_latest_version(current_version, target, versions)
try: try:
releases = json['releases'][version] releases = json['releases'][version]
@ -132,7 +166,6 @@ def _get_latest_version_pypi(package, extension, current_version, target):
sha256 = release['digests']['sha256'] sha256 = release['digests']['sha256']
break break
else: else:
logging.error("Release not found for extension: {}".format(extension))
sha256 = None sha256 = None
return version, sha256 return version, sha256
@ -194,6 +227,8 @@ def _determine_extension(text, fetcher):
src_format = 'setuptools' src_format = 'setuptools'
elif src_format == 'flit': elif src_format == 'flit':
raise ValueError("Don't know how to update a Flit package.") raise ValueError("Don't know how to update a Flit package.")
elif src_format == 'other':
raise ValueError("Don't know how to update a format='other' package.")
extension = FORMATS[src_format] extension = FORMATS[src_format]
elif fetcher == 'fetchurl': elif fetcher == 'fetchurl':

View File

@ -1,82 +0,0 @@
{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, zip, which, readline, icu, zlib, nspr, buildPackages }:
let
version = "52.9.0";
in stdenv.mkDerivation {
pname = "spidermonkey";
inherit version;
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
sha256 = "1mlx34fgh1kaqamrkl5isf0npch3mm6s4lz3jsjb7hakiijhj7f0";
};
outputs = [ "out" "dev" ];
setOutputFlags = false; # Configure script only understands --includedir
buildInputs = [ readline icu zlib nspr ];
nativeBuildInputs = [ autoconf213 pkgconfig perl which buildPackages.python2 zip ];
# Apparently this package fails to build correctly with modern compilers, which at least
# on ARMv6 causes polkit testsuite to break with an assertion failure in spidermonkey.
# These flags were stolen from:
# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/js52
NIX_CFLAGS_COMPILE = "-fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp";
patches = [
# needed to build gnome3.gjs
(fetchpatch {
name = "mozjs52-disable-mozglue.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/mozjs52-disable-mozglue.patch?h=packages/js52&id=4279d2e18d9a44f6375f584911f63d13de7704be;
sha256 = "18wkss0agdyff107p5lfflk72qiz350xqw2yqc353alkx4fsfpz0";
})
];
configurePlatforms = [ ];
preConfigure = ''
export CXXFLAGS="-fpermissive"
export LIBXUL_DIST=$out
export PYTHON="${buildPackages.python2.interpreter}"
configureFlagsArray+=("--includedir=$dev/include")
cd js/src
autoconf
'';
configureFlags = [
"--with-nspr-prefix=${nspr}"
"--with-system-zlib"
"--with-system-icu"
"--with-intl-api"
"--enable-readline"
"--enable-shared-js"
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--host=${stdenv.buildPlatform.config}"
"--target=${stdenv.hostPlatform.config}"
];
makeFlags = [
"HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
enableParallelBuilding = true;
postInstall = ''
moveToOutput bin/js52-config "$dev"
# Nuke a static lib.
rm $out/lib/libjs_static.ajs
'';
meta = with stdenv.lib; {
description = "Mozilla's JavaScript engine written in C/C++";
homepage = https://developer.mozilla.org/en/SpiderMonkey;
license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
maintainers = [ maintainers.abbradar ];
platforms = platforms.linux;
};
}

View File

@ -4,23 +4,28 @@
with stdenv.lib; with stdenv.lib;
let let
version = "60.4.0"; version = "60.9.0";
in stdenv.mkDerivation { in stdenv.mkDerivation {
pname = "spidermonkey"; pname = "spidermonkey";
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
sha256 = "11gzxd82grc3kg1ha4yni6ag6b97n46qycvv6x15s91ziia5hli0"; sha256 = "0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz";
}; };
outputs = [ "out" "dev" ];
setOutputFlags = false; # Configure script only understands --includedir
buildInputs = [ readline zlib icu ]; buildInputs = [ readline zlib icu ];
nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ]; nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
patches = [ patches = [
# Fixed in 62.0
# https://bugzilla.mozilla.org/show_bug.cgi?id=1415202
(fetchpatch { (fetchpatch {
url = https://bug1415202.bmoattachments.org/attachment.cgi?id=8926363; url = "https://src.fedoraproject.org/rpms/mozjs60/raw/a1b605c73f382db25977cb2d4d70a3ba2ff85b92/f/Always-use-the-equivalent-year-to-determine-the-time-zone.patch";
sha256 = "082ryrvqa3lvs67v3sq9kf2jshf4qp1fpi195wffc40jdrl8fnin"; sha256 = "12i225qbzlyfj2disms50zrr5jy8zgn2cc4rgsg58sfgf1bn7150";
}) })
]; ];
@ -61,7 +66,9 @@ in stdenv.mkDerivation {
# Remove unnecessary static lib # Remove unnecessary static lib
preFixup = '' preFixup = ''
moveToOutput bin/js60-config "$dev"
rm $out/lib/libjs_static.ajs rm $out/lib/libjs_static.ajs
ln -s $out/bin/js60 $out/bin/js
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -10,23 +10,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fribidi"; pname = "fribidi";
version = "1.0.5"; version = "1.0.7";
outputs = [ "out" "devdoc" ]; outputs = [ "out" "devdoc" ];
# NOTE: 2018-06-06 v1.0.5: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application. # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
src = fetchurl { src = fetchurl {
url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.bz2"; url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.bz2";
sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a"; sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
}; };
patches = [
(fetchpatch {
url = "https://github.com/fribidi/fribidi/pull/88.patch";
sha256 = "1n4l6333vhbxfckwg101flmvq6bbygg66fjp69ddcjqaqb6gh9k9";
})
];
postPatch = '' postPatch = ''
patchShebangs test patchShebangs test
''; '';

View File

@ -24,11 +24,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig gettext gobject-introspection libxslt makeWrapper vala ]; nativeBuildInputs = [ pkgconfig gettext gobject-introspection libxslt makeWrapper vala ];
buildInputs = let buildInputs = [ gnupg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk ];
gpg = gnupg.override { guiSupport = false; }; # prevent build cycle with pinentry_gnome
in [
gpg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk
];
propagatedBuildInputs = [ glib gtk3 p11-kit ]; propagatedBuildInputs = [ glib gtk3 p11-kit ];

View File

@ -75,6 +75,8 @@ stdenv.mkDerivation rec {
./patches/3.0-darwin-x11.patch ./patches/3.0-darwin-x11.patch
]; ];
separateDebugInfo = stdenv.isLinux;
mesonFlags = [ mesonFlags = [
"-Dtests=false" "-Dtests=false"
]; ];

View File

@ -8,7 +8,7 @@
}: }:
let let
version = "2.6.1"; version = "2.6.2";
inherit (stdenv.lib) optional optionals optionalString; inherit (stdenv.lib) optional optionals optionalString;
in in
@ -17,7 +17,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz"; url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz";
sha256 = "0kw4c04jd8c8ili3j1glgv0wsr207313fs3jh2rawf53m8zznlf6"; sha256 = "097ncrkaawdzpgwlrpp4kwciq4z5pqz2n4f3yra5vc7jyxr6lk1v";
}; };
postPatch = '' postPatch = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "iso-codes"; pname = "iso-codes";
version = "4.3"; version = "4.4";
src = fetchurl { src = fetchurl {
url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.bz2"; url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.bz2";
sha256 = "11n3sccwapfr7npxad8m3xmc7w8i11kk70ffbz25gj82bn8rylvb"; sha256 = "02x0wcz783ammkdrmrh31wsmww481xbkbz70vf766ivbnn5sfxn6";
}; };
patchPhase = '' patchPhase = ''

View File

@ -1,19 +1,21 @@
{ stdenv, fetchurl, python }: { stdenv, fetchurl, python, autoconf }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jbig2dec-0.14"; name = "jbig2dec-0.16";
src = fetchurl { src = fetchurl {
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/${name}.tar.gz"; url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/${name}.tar.gz";
sha256 = "0k01hp0q4275fj4rbr1gy64svfraw5w7wvwl08yjhvsnpb1rid11"; sha256 = "00h61y7bh3z6mqfzxyb318gyh0f8jwarg4hvlrm83rqps8avzxm4";
}; };
postPatch = '' postPatch = ''
patchShebangs test_jbig2dec.py patchShebangs test_jbig2dec.py
''; '';
buildInputs = [ autoconf ];
checkInputs = [ python ]; checkInputs = [ python ];
doCheck = false; # fails 1 of 4 tests doCheck = true;
meta = { meta = {
homepage = https://www.jbig2dec.com/; homepage = https://www.jbig2dec.com/;

View File

@ -1,11 +1,12 @@
{ stdenv, fetchurl, python }: { stdenv, fetchurl, python }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libevdev-1.7.0"; pname = "libevdev";
version = "1.8.0";
src = fetchurl { src = fetchurl {
url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz"; url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
sha256 = "0sg3lbjn68qaq3yz2k735h29kaf3fmx7b5m1x7rm2fnhn7rf3nqi"; sha256 = "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0";
}; };
buildInputs = [ python ]; buildInputs = [ python ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libglvnd"; pname = "libglvnd";
version = "1.0.0"; version = "1.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NVIDIA"; owner = "NVIDIA";
repo = "libglvnd"; repo = "libglvnd";
rev = "v${version}"; rev = "v${version}";
sha256 = "1a126lzhd2f04zr3rvdl6814lfl0j077spi5dsf2alghgykn5iif"; sha256 = "1hyywwjsmvsd7di603f7iznjlccqlc7yvz0j59gax7bljm9wb6ni";
}; };
nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ]; nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
@ -32,17 +32,6 @@ stdenv.mkDerivation rec {
# Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268 # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268
configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-tls"; configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-tls";
# Upstream patch fixing use of libdl, should be in next release.
patches = [
(fetchpatch {
url = "https://github.com/NVIDIA/libglvnd/commit/0177ade40262e31a80608a8e8e52d3da7163dccf.patch";
sha256 = "1rnz5jw2gvx4i1lcp0k85jz9xgr3dgzsd583m2dlxkaf2a09j89d";
})
] ++ stdenv.lib.optional stdenv.isDarwin
(fetchpatch {
url = "https://github.com/NVIDIA/libglvnd/commit/294ccb2f49107432567e116e13efac586580a4cc.patch";
sha256 = "01339wg27cypv93221rhk3885vxbsg8kvbfyia77jmjdcnwrdwm2";
});
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
# Set RUNPATH so that libGLX can find driver libraries in /run/opengl-driver(-32)/lib. # Set RUNPATH so that libGLX can find driver libraries in /run/opengl-driver(-32)/lib.

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libogg-1.3.3"; name = "libogg-1.3.4";
src = fetchurl { src = fetchurl {
url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz"; url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
sha256 = "022wjlzn8fx7mfby4pcgyjwx8zir7jr7cizichh3jgaki8bwcgsg"; sha256 = "1zlk33vxvxr0l9lhkbhkdwvylw96d2n0fnd3d8dl031hph9bqqy1";
}; };
outputs = [ "out" "dev" "doc" ]; outputs = [ "out" "dev" "doc" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libqmi"; pname = "libqmi";
version = "1.22.6"; version = "1.24.0";
src = fetchurl { src = fetchurl {
url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz"; url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
sha256 = "1pnma62kib6zbs4wr7h5g53v3p81jb8cvyvqcvaidb1hlfibwnvm"; sha256 = "0yccw97pqn8afy96k5ssk7qi6r3wjshcnxk14k77qikkqa89zdmf";
}; };
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];

View File

@ -0,0 +1,384 @@
diff -ru tiff-4.0.10-orig/libtiff/tif_aux.c tiff-4.0.10/libtiff/tif_aux.c
--- tiff-4.0.10-orig/libtiff/tif_aux.c 2017-12-02 16:21:47.305709555 +0100
+++ tiff-4.0.10/libtiff/tif_aux.c 2019-10-02 22:35:17.392184463 +0200
@@ -57,18 +57,57 @@
return bytes;
}
+tmsize_t
+_TIFFMultiplySSize(TIFF* tif, tmsize_t first, tmsize_t second, const char* where)
+{
+ if( first <= 0 || second <= 0 )
+ {
+ if( tif != NULL && where != NULL )
+ {
+ TIFFErrorExt(tif->tif_clientdata, where,
+ "Invalid argument to _TIFFMultiplySSize() in %s", where);
+ }
+ return 0;
+ }
+
+ if( first > TIFF_TMSIZE_T_MAX / second )
+ {
+ if( tif != NULL && where != NULL )
+ {
+ TIFFErrorExt(tif->tif_clientdata, where,
+ "Integer overflow in %s", where);
+ }
+ return 0;
+ }
+ return first * second;
+}
+
+tmsize_t _TIFFCastUInt64ToSSize(TIFF* tif, uint64 val, const char* module)
+{
+ if( val > (uint64)TIFF_TMSIZE_T_MAX )
+ {
+ if( tif != NULL && module != NULL )
+ {
+ TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+ }
+ return 0;
+ }
+ return (tmsize_t)val;
+}
+
void*
_TIFFCheckRealloc(TIFF* tif, void* buffer,
tmsize_t nmemb, tmsize_t elem_size, const char* what)
{
void* cp = NULL;
- tmsize_t bytes = nmemb * elem_size;
-
+ tmsize_t count = _TIFFMultiplySSize(tif, nmemb, elem_size, NULL);
/*
- * XXX: Check for integer overflow.
+ * Check for integer overflow.
*/
- if (nmemb && elem_size && bytes / elem_size == nmemb)
- cp = _TIFFrealloc(buffer, bytes);
+ if (count != 0)
+ {
+ cp = _TIFFrealloc(buffer, count);
+ }
if (cp == NULL) {
TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
diff -ru tiff-4.0.10-orig/libtiff/tiffiop.h tiff-4.0.10/libtiff/tiffiop.h
--- tiff-4.0.10-orig/libtiff/tiffiop.h 2018-11-03 15:28:37.748910968 +0100
+++ tiff-4.0.10/libtiff/tiffiop.h 2019-10-02 22:35:17.396184535 +0200
@@ -77,6 +77,9 @@
#define FALSE 0
#endif
+#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
+#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
+
typedef struct client_info {
struct client_info *next;
void *data;
@@ -258,7 +261,7 @@
#define TIFFhowmany8_64(x) (((x)&0x07)?((uint64)(x)>>3)+1:(uint64)(x)>>3)
#define TIFFroundup_64(x, y) (TIFFhowmany_64(x,y)*(y))
-/* Safe multiply which returns zero if there is an integer overflow */
+/* Safe multiply which returns zero if there is an *unsigned* integer overflow. This macro is not safe for *signed* integer types */
#define TIFFSafeMultiply(t,v,m) ((((t)(m) != (t)0) && (((t)(((v)*(m))/(m))) == (t)(v))) ? (t)((v)*(m)) : (t)0)
#define TIFFmax(A,B) ((A)>(B)?(A):(B))
@@ -368,6 +371,8 @@
extern uint32 _TIFFMultiply32(TIFF*, uint32, uint32, const char*);
extern uint64 _TIFFMultiply64(TIFF*, uint64, uint64, const char*);
+extern tmsize_t _TIFFMultiplySSize(TIFF*, tmsize_t, tmsize_t, const char*);
+extern tmsize_t _TIFFCastUInt64ToSSize(TIFF*, uint64, const char*);
extern void* _TIFFCheckMalloc(TIFF*, tmsize_t, tmsize_t, const char*);
extern void* _TIFFCheckRealloc(TIFF*, void*, tmsize_t, tmsize_t, const char*);
diff -ru tiff-4.0.10-orig/libtiff/tif_getimage.c tiff-4.0.10/libtiff/tif_getimage.c
--- tiff-4.0.10-orig/libtiff/tif_getimage.c 2017-12-02 16:21:47.654716127 +0100
+++ tiff-4.0.10/libtiff/tif_getimage.c 2019-10-02 22:35:17.393184481 +0200
@@ -755,9 +755,8 @@
uint32 leftmost_tw;
tilesize = TIFFTileSize(tif);
- bufsize = TIFFSafeMultiply(tmsize_t,alpha?4:3,tilesize);
+ bufsize = _TIFFMultiplySSize(tif, alpha?4:3,tilesize, "gtTileSeparate");
if (bufsize == 0) {
- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtTileSeparate");
return (0);
}
@@ -1019,9 +1018,8 @@
uint16 colorchannels;
stripsize = TIFFStripSize(tif);
- bufsize = TIFFSafeMultiply(tmsize_t,alpha?4:3,stripsize);
+ bufsize = _TIFFMultiplySSize(tif,alpha?4:3,stripsize, "gtStripSeparate");
if (bufsize == 0) {
- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtStripSeparate");
return (0);
}
diff -ru tiff-4.0.10-orig/libtiff/tif_luv.c tiff-4.0.10/libtiff/tif_luv.c
--- tiff-4.0.10-orig/libtiff/tif_luv.c 2018-05-05 15:50:35.884596907 +0200
+++ tiff-4.0.10/libtiff/tif_luv.c 2019-10-02 22:35:17.393184481 +0200
@@ -1264,16 +1264,10 @@
return (SGILOGDATAFMT_UNKNOWN);
}
-
-#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
-#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
-
static tmsize_t
multiply_ms(tmsize_t m1, tmsize_t m2)
{
- if( m1 == 0 || m2 > TIFF_TMSIZE_T_MAX / m1 )
- return 0;
- return m1 * m2;
+ return _TIFFMultiplySSize(NULL, m1, m2, NULL);
}
static int
diff -ru tiff-4.0.10-orig/libtiff/tif_pixarlog.c tiff-4.0.10/libtiff/tif_pixarlog.c
--- tiff-4.0.10-orig/libtiff/tif_pixarlog.c 2017-12-02 16:21:47.841162432 +0100
+++ tiff-4.0.10/libtiff/tif_pixarlog.c 2019-10-02 22:36:01.223970118 +0200
@@ -634,15 +634,10 @@
return guess;
}
-#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
-#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
-
static tmsize_t
multiply_ms(tmsize_t m1, tmsize_t m2)
{
- if( m1 == 0 || m2 > TIFF_TMSIZE_T_MAX / m1 )
- return 0;
- return m1 * m2;
+ return _TIFFMultiplySSize(NULL, m1, m2, NULL);
}
static tmsize_t
diff -ru tiff-4.0.10-orig/libtiff/tif_read.c tiff-4.0.10/libtiff/tif_read.c
--- tiff-4.0.10-orig/libtiff/tif_read.c 2018-10-14 21:15:27.551093695 +0200
+++ tiff-4.0.10/libtiff/tif_read.c 2019-10-02 22:41:09.387290927 +0200
@@ -29,9 +29,6 @@
#include "tiffiop.h"
#include <stdio.h>
-#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
-#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
-
int TIFFFillStrip(TIFF* tif, uint32 strip);
int TIFFFillTile(TIFF* tif, uint32 tile);
static int TIFFStartStrip(TIFF* tif, uint32 strip);
@@ -49,6 +46,8 @@
#define THRESHOLD_MULTIPLIER 10
#define MAX_THRESHOLD (THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * INITIAL_THRESHOLD)
+#define TIFF_INT64_MAX ((((int64)0x7FFFFFFF) << 32) | 0xFFFFFFFF)
+
/* Read 'size' bytes in tif_rawdata buffer starting at offset 'rawdata_offset'
* Returns 1 in case of success, 0 otherwise. */
static int TIFFReadAndRealloc( TIFF* tif, tmsize_t size,
@@ -734,23 +733,8 @@
return ((tmsize_t)(-1));
}
bytecount = td->td_stripbytecount[strip];
- if ((int64)bytecount <= 0) {
-#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
- TIFFErrorExt(tif->tif_clientdata, module,
- "%I64u: Invalid strip byte count, strip %lu",
- (unsigned __int64) bytecount,
- (unsigned long) strip);
-#else
- TIFFErrorExt(tif->tif_clientdata, module,
- "%llu: Invalid strip byte count, strip %lu",
- (unsigned long long) bytecount,
- (unsigned long) strip);
-#endif
- return ((tmsize_t)(-1));
- }
- bytecountm = (tmsize_t)bytecount;
- if ((uint64)bytecountm!=bytecount) {
- TIFFErrorExt(tif->tif_clientdata, module, "Integer overflow");
+ bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount, module);
+ if (bytecountm == 0) {
return ((tmsize_t)(-1));
}
if (size != (tmsize_t)(-1) && size < bytecountm)
@@ -774,7 +758,7 @@
if ((tif->tif_flags&TIFF_NOREADRAW)==0)
{
uint64 bytecount = td->td_stripbytecount[strip];
- if ((int64)bytecount <= 0) {
+ if( bytecount == 0 || bytecount > (uint64)TIFF_INT64_MAX ) {
#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
TIFFErrorExt(tif->tif_clientdata, module,
"Invalid strip byte count %I64u, strip %lu",
@@ -801,7 +785,7 @@
(bytecount - 4096) / 10 > (uint64)stripsize )
{
uint64 newbytecount = (uint64)stripsize * 10 + 4096;
- if( (int64)newbytecount >= 0 )
+ if( newbytecount == 0 || newbytecount > (uint64)TIFF_INT64_MAX )
{
#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
TIFFWarningExt(tif->tif_clientdata, module,
@@ -1196,10 +1180,8 @@
bytecount64 = td->td_stripbytecount[tile];
if (size != (tmsize_t)(-1) && (uint64)size < bytecount64)
bytecount64 = (uint64)size;
- bytecountm = (tmsize_t)bytecount64;
- if ((uint64)bytecountm!=bytecount64)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+ bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount64, module);
+ if( bytecountm == 0 ) {
return ((tmsize_t)(-1));
}
return (TIFFReadRawTile1(tif, tile, buf, bytecountm, module));
@@ -1221,7 +1203,7 @@
if ((tif->tif_flags&TIFF_NOREADRAW)==0)
{
uint64 bytecount = td->td_stripbytecount[tile];
- if ((int64)bytecount <= 0) {
+ if( bytecount == 0 || bytecount > (uint64)TIFF_INT64_MAX ) {
#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
TIFFErrorExt(tif->tif_clientdata, module,
"%I64u: Invalid tile byte count, tile %lu",
@@ -1248,7 +1230,7 @@
(bytecount - 4096) / 10 > (uint64)stripsize )
{
uint64 newbytecount = (uint64)stripsize * 10 + 4096;
- if( (int64)newbytecount >= 0 )
+ if( newbytecount == 0 || newbytecount > (uint64)TIFF_INT64_MAX )
{
#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
TIFFWarningExt(tif->tif_clientdata, module,
diff -ru tiff-4.0.10-orig/libtiff/tif_strip.c tiff-4.0.10/libtiff/tif_strip.c
--- tiff-4.0.10-orig/libtiff/tif_strip.c 2017-12-02 16:21:47.947867167 +0100
+++ tiff-4.0.10/libtiff/tif_strip.c 2019-10-02 22:35:17.395184517 +0200
@@ -129,15 +129,8 @@
{
static const char module[] = "TIFFVStripSize";
uint64 m;
- tmsize_t n;
m=TIFFVStripSize64(tif,nrows);
- n=(tmsize_t)m;
- if ((uint64)n!=m)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/*
@@ -211,15 +204,8 @@
{
static const char module[] = "TIFFStripSize";
uint64 m;
- tmsize_t n;
m=TIFFStripSize64(tif);
- n=(tmsize_t)m;
- if ((uint64)n!=m)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/*
@@ -330,14 +316,8 @@
{
static const char module[] = "TIFFScanlineSize";
uint64 m;
- tmsize_t n;
m=TIFFScanlineSize64(tif);
- n=(tmsize_t)m;
- if ((uint64)n!=m) {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/*
@@ -366,15 +346,8 @@
{
static const char module[] = "TIFFRasterScanlineSize";
uint64 m;
- tmsize_t n;
m=TIFFRasterScanlineSize64(tif);
- n=(tmsize_t)m;
- if ((uint64)n!=m)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/* vim: set ts=8 sts=8 sw=8 noet: */
diff -ru tiff-4.0.10-orig/libtiff/tif_tile.c tiff-4.0.10/libtiff/tif_tile.c
--- tiff-4.0.10-orig/libtiff/tif_tile.c 2017-12-02 16:21:47.993972977 +0100
+++ tiff-4.0.10/libtiff/tif_tile.c 2019-10-02 22:35:17.395184517 +0200
@@ -181,15 +181,8 @@
{
static const char module[] = "TIFFTileRowSize";
uint64 m;
- tmsize_t n;
m=TIFFTileRowSize64(tif);
- n=(tmsize_t)m;
- if ((uint64)n!=m)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/*
@@ -248,15 +241,8 @@
{
static const char module[] = "TIFFVTileSize";
uint64 m;
- tmsize_t n;
m=TIFFVTileSize64(tif,nrows);
- n=(tmsize_t)m;
- if ((uint64)n!=m)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/*
@@ -272,15 +258,8 @@
{
static const char module[] = "TIFFTileSize";
uint64 m;
- tmsize_t n;
m=TIFFTileSize64(tif);
- n=(tmsize_t)m;
- if ((uint64)n!=m)
- {
- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
- n=0;
- }
- return(n);
+ return _TIFFCastUInt64ToSSize(tif, m, module);
}
/*

View File

@ -17,6 +17,16 @@ stdenv.mkDerivation rec {
sha256 = "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic"; sha256 = "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic";
}; };
patches = [
(fetchurl {
url = "https://gitlab.com/libtiff/libtiff/commit/0c74a9f49b8d7a36b17b54a7428b3526d20f88a8.patch";
name = "CVE-2019-6128.patch";
sha256 = "03yvsfq6dxjd3v8ypfwz6cpz2iymqwcbawqqlmkh40dayi7fgizr";
})
# Manual backport of https://gitlab.com/libtiff/libtiff/commit/1b5e3b6a23827c33acf19ad50ce5ce78f12b3773.patch
./CVE-2019-14973.patch
];
outputs = [ "bin" "dev" "out" "man" "doc" ]; outputs = [ "bin" "dev" "out" "man" "doc" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -167,7 +167,7 @@ stdenv.mkDerivation {
substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}" substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}"
# remove pkgconfig files for GL/EGL; they are provided by libGL. # remove pkgconfig files for GL/EGL; they are provided by libGL.
rm $dev/lib/pkgconfig/{gl,egl}.pc rm -f $dev/lib/pkgconfig/{gl,egl}.pc
# Update search path used by pkg-config # Update search path used by pkg-config
for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do

View File

@ -2,7 +2,7 @@
, CoreServices ? null , CoreServices ? null
, buildPackages }: , buildPackages }:
let version = "4.21"; in let version = "4.22"; in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "nspr"; pname = "nspr";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
sha256 = "0nkbgk0x31nfm4xl8la0a3vrnpa8gzkh7g4k65p7n880n73k5shm"; sha256 = "0c6ljv3bdqhc169srbpjy0cs52xk715p04zy08rcjvl54k6bdr69";
}; };
patches = [ patches = [

View File

@ -5,7 +5,7 @@ let
url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz; url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw"; sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
}; };
version = "3.46"; version = "3.46.1";
underscoreVersion = builtins.replaceStrings ["."] ["_"] version; underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz"; url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
sha256 = "1vqcl6wxn2nsm2fmlwzmxyagrsj1p1y9bc54b2i2nq45s94rcsbb"; sha256 = "0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv";
}; };
depsBuildBuild = [ buildPackages.stdenv.cc ]; depsBuildBuild = [ buildPackages.stdenv.cc ];

View File

@ -44,10 +44,11 @@ let
# TODO(@Ericson2314): Improve with mass rebuild # TODO(@Ericson2314): Improve with mass rebuild
configurePlatforms = []; configurePlatforms = [];
configureScript = { configureScript = {
x86_64-darwin = "./Configure darwin64-x86_64-cc";
x86_64-solaris = "./Configure solaris64-x86_64-gcc";
armv6l-linux = "./Configure linux-armv4 -march=armv6"; armv6l-linux = "./Configure linux-armv4 -march=armv6";
armv7l-linux = "./Configure linux-armv4 -march=armv7-a"; armv7l-linux = "./Configure linux-armv4 -march=armv7-a";
x86_64-darwin = "./Configure darwin64-x86_64-cc";
x86_64-linux = "./Configure linux-x86_64";
x86_64-solaris = "./Configure solaris64-x86_64-gcc";
}.${stdenv.hostPlatform.system} or ( }.${stdenv.hostPlatform.system} or (
if stdenv.hostPlatform == stdenv.buildPlatform if stdenv.hostPlatform == stdenv.buildPlatform
then "./config" then "./config"

View File

@ -6,11 +6,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sqlite-analyzer"; pname = "sqlite-analyzer";
version = "3.28.0"; version = "3.30.0";
src = assert version == sqlite.version; fetchurl { src = assert version == sqlite.version; fetchurl {
url = "https://sqlite.org/2019/sqlite-src-${archiveVersion version}.zip"; url = "https://sqlite.org/2019/sqlite-src-${archiveVersion version}.zip";
sha256 = "15v57b113bpgcshfsx5jw93szar3da94rr03i053xhl15la7jllh"; sha256 = "0d4i87q0f618pmrgax0mr5x7m8bywikrwjvixag3biyhgl5rx7fd";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -10,12 +10,12 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sqlite"; pname = "sqlite";
version = "3.28.0"; version = "3.30.0";
# NB! Make sure to update analyzer.nix src (in the same directory). # NB! Make sure to update analyzer.nix src (in the same directory).
src = fetchurl { src = fetchurl {
url = "https://sqlite.org/2019/sqlite-autoconf-${archiveVersion version}.tar.gz"; url = "https://sqlite.org/2019/sqlite-autoconf-${archiveVersion version}.tar.gz";
sha256 = "1hxpi45crbqp6lacl7z611lna02k956m9bsy2bjzrbb2y23546yn"; sha256 = "0n7w839y55dc3qqf2zv8xk6238cc6mpx24q4w5amwic7g96cza70";
}; };
outputs = [ "bin" "dev" "out" ]; outputs = [ "bin" "dev" "out" ];

View File

@ -1,16 +0,0 @@
{buildPerlPackage, fetchurl, db}:
buildPerlPackage {
pname = "BerkeleyDB";
version = "0.61";
src = fetchurl {
url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.61.tar.gz";
sha256 = "0l65v301cz6a9dxcw6a4ps2mnr5zq358yn81favap6i092krggiz";
};
preConfigure = ''
echo "LIB = ${db.out}/lib" > config.in
echo "INCLUDE = ${db.dev}/include" >> config.in
'';
}

View File

@ -1,27 +0,0 @@
{ fetchurl, buildPerlPackage, zlib, stdenv }:
buildPerlPackage {
pname = "Compress-Raw-Zlib";
version = "2.086";
src = fetchurl {
url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.086.tar.gz;
sha256 = "0va93wc968p4l2ql0k349bz189l2vbs09bpn865cvc36amqxwv9z";
};
preConfigure = ''
cat > config.in <<EOF
BUILD_ZLIB = False
INCLUDE = ${zlib.dev}/include
LIB = ${zlib.out}/lib
OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT
EOF
'';
doCheck = !stdenv.isDarwin;
meta = {
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
}

View File

@ -1,20 +0,0 @@
{ stdenv, fetchurl, buildPerlPackage, DBI, TestNoWarnings, oracle-instantclient }:
buildPerlPackage {
pname = "DBD-Oracle";
version = "1.80";
src = fetchurl {
url = mirror://cpan/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.76.tar.gz;
sha256 = "1wym2kc8b31qa1zb0dgyy3w4iqlk1faw36gy9hkpj895qr1pznxn";
};
ORACLE_HOME = "${oracle-instantclient.lib}/lib";
buildInputs = [ TestNoWarnings oracle-instantclient ] ;
propagatedBuildInputs = [ DBI ];
postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
install_name_tool -add_rpath "${oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
'';
}

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
buildPerlPackage {
pname = "DBD-Pg";
version = "3.7.4";
src = fetchurl {
url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.7.4.tar.gz";
sha256 = "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz";
};
buildInputs = [ postgresql ];
propagatedBuildInputs = [ DBI ];
makeMakerFlags = "POSTGRES_HOME=${postgresql}";
# tests freeze in a sandbox
doCheck = false;
meta = {
description = "DBI PostgreSQL interface";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,32 +0,0 @@
{ stdenv, fetchurl, buildPerlPackage, perl, DBI, sqlite }:
buildPerlPackage {
pname = "DBD-SQLite";
version = "1.62";
src = fetchurl {
url = mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.62.tar.gz;
sha256 = "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx";
};
propagatedBuildInputs = [ DBI ];
buildInputs = [ sqlite ];
patches = [
# Support building against our own sqlite.
./external-sqlite.patch
];
makeMakerFlags = "SQLITE_INC=${sqlite.dev}/include SQLITE_LIB=${sqlite.out}/lib";
postInstall = ''
# Get rid of a pointless copy of the SQLite sources.
rm -rf $out/${perl.libPrefix}/*/*/auto/share
'';
meta = with stdenv.lib; {
description = "Self Contained SQLite RDBMS in a DBI Driver";
license = with licenses; [ artistic1 gpl1Plus ];
platforms = platforms.unix;
};
}

View File

@ -1,18 +0,0 @@
{ fetchurl, buildPerlPackage, DBI, DevelChecklib, libmysqlclient }:
buildPerlPackage {
pname = "DBD-mysql";
version = "4.050";
src = fetchurl {
url = mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz;
sha256 = "0y4djb048i09dk19av7mzfb3khr72vw11p3ayw2p82jsy4gm8j2g";
};
buildInputs = [ libmysqlclient DevelChecklib ] ;
propagatedBuildInputs = [ DBI ];
doCheck = false;
# makeMakerFlags = "MYSQL_HOME=${mysql}";
}

View File

@ -1,18 +0,0 @@
{ fetchurl, buildPerlPackage, DBI, freetds }:
buildPerlPackage {
pname = "DBD-Sybase";
version = "1.16";
src = fetchurl {
url = mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.16.tar.gz;
sha256 = "1k6n261nrrcll9wxn5xwi4ibpavqv1il96687k62mbpznzl2gx37";
};
SYBASE = freetds;
buildInputs = [ freetds ] ;
propagatedBuildInputs = [ DBI ];
doCheck = false;
}

View File

@ -1,20 +0,0 @@
{fetchurl, buildPerlPackage, db}:
buildPerlPackage {
pname = "DB_File";
version = "1.851";
src = fetchurl {
url = "mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.851.tar.gz";
sha256 = "1j276mng1nwxxdxnb3my427s5lb6zlnssizcnxricnvaa170kdv8";
};
preConfigure = ''
cat > config.in <<EOF
PREFIX = size_t
HASH = u_int32_t
LIB = ${db.out}/lib
INCLUDE = ${db.dev}/include
EOF
'';
}

View File

@ -0,0 +1,17 @@
{ lib, fetchurl, openldap, buildPerlPackage }:
buildPerlPackage rec {
pname = "Mozilla-Ldap";
version = "1.5.3";
USE_OPENLDAP = 1;
LDAPSDKDIR = openldap.dev;
LDAPSDKLIBDIR = "${openldap.out}/lib";
src = fetchurl {
url = "https://ftp.mozilla.org/pub/directory/perldap/releases/${version}/src/perl-mozldap-${version}.tar.gz";
sha256 = "0s0albdw0zvg3w37s7is7gddr4mqwicjxxsy400n1p96l7ipnw4x";
};
meta = {
description = "Mozilla's ldap client library";
license = with lib.licenses; [ mpl20 lgpl21Plus gpl2Plus ];
};
}

View File

@ -0,0 +1,20 @@
{ lib, fetchFromGitHub, buildPerlPackage, DBDmysql, DBI, IOSocketSSL, TermReadKey }:
buildPerlPackage {
pname = "Percona-Toolkit";
version = "3.0.12";
src = fetchFromGitHub {
owner = "percona";
repo = "percona-toolkit";
rev = "3.0.12";
sha256 = "0xk4h4dzl80kf97lbx0nznx9ajrb6kkg7k3iwca3rj6f3rqggv9y";
};
outputs = [ "out" ];
buildInputs = [ DBDmysql DBI IOSocketSSL TermReadKey ];
meta = {
description = ''Collection of advanced command-line tools to perform a variety of MySQL and system tasks.'';
homepage = http://www.percona.com/software/percona-toolkit;
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ izorkin ];
};
}

View File

@ -0,0 +1,36 @@
{ lib, fetchurl, docbook_xsl, docbook_xsl_ns, gettext, libxslt, glibcLocales, docbook_xml_dtd_412, docbook_sgml_dtd_41, texlive, opensp
, perl, buildPerlPackage, ModuleBuild, TextWrapI18N, LocaleGettext, TermReadKey, SGMLSpm, UnicodeLineBreak, PodParser, YAMLTiny }:
buildPerlPackage rec {
pname = "po4a";
version = "0.55";
src = fetchurl {
url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
sha256 = "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg";
};
nativeBuildInputs = [ docbook_xsl docbook_xsl_ns ModuleBuild ];
propagatedBuildInputs = [ TextWrapI18N LocaleGettext TermReadKey SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
buildInputs = [ gettext libxslt glibcLocales docbook_xml_dtd_412 docbook_sgml_dtd_41 texlive.combined.scheme-basic opensp ];
LC_ALL = "en_US.UTF-8";
SGML_CATALOG_FILES = "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
preConfigure = ''
touch Makefile.PL
export PERL_MB_OPT="--install_base=$out --prefix=$out"
'';
buildPhase = "perl Build.PL --install_base=$out --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build";
checkPhase = ''
export SGML_CATALOG_FILES=${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
./Build test
'';
installPhase = ''
./Build install
for f in $out/bin/*; do
substituteInPlace $f --replace "#! /usr/bin/env perl" "#!${perl}/bin/perl"
done
'';
meta = {
homepage = "https://po4a.org/";
description = "Tools for helping translation of documentation";
license = lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, buildPerlPackage, shortenPerlShebang, LWP, LWPProtocolHttps, DataDump, JSON }:
buildPerlPackage rec {
pname = "WWW-YoutubeViewer";
version = "3.3.0";
src = fetchFromGitHub {
owner = "trizen";
repo = "youtube-viewer";
rev = version;
sha256 = "15xyrwv08fw8jmpydwzks26ipxnzliwddgyjcfqiaj0p7lwlhmx1";
};
nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
propagatedBuildInputs = [
LWP
LWPProtocolHttps
DataDump
JSON
];
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
shortenPerlShebang $out/bin/youtube-viewer
'';
meta = {
description = "A lightweight application for searching and streaming videos from YouTube";
homepage = https://github.com/trizen/youtube-viewer;
maintainers = with stdenv.lib.maintainers; [ woffs ];
license = with stdenv.lib.licenses; [ artistic2 ];
};
}

View File

@ -25,17 +25,6 @@ preConfigure() {
perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=\"$fullperl/bin/perl\" perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=\"$fullperl/bin/perl\"
} }
postFixup() {
# If a user installs a Perl package, she probably also wants its
# dependencies in the user environment (since Perl modules don't
# have something like an RPATH, so the only way to find the
# dependencies is to have them in the PERL5LIB variable).
if test -e $out/nix-support/propagated-build-inputs; then
ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
fi
}
if test -n "$perlPreHook"; then if test -n "$perlPreHook"; then
eval "$perlPreHook" eval "$perlPreHook"
fi fi

View File

@ -0,0 +1,42 @@
{ lib, buildPerlPackage, fetchFromGitHub, makeWrapper, openssh, GitRepository, URI, XMLMini }:
buildPerlPackage {
pname = "ham-unstable";
version = "2019-01-22";
src = fetchFromGitHub {
owner = "kernkonzept";
repo = "ham";
rev = "37c2e4e8b8bd779ba0f8c48a3c6ba34bad860b92";
sha256 = "0h5r5256niskypl4g1j2573wqi0nn0mai5p04zsa06xrgyjqcy2j";
};
outputs = [ "out" ];
buildInputs = [ makeWrapper ];
propagatedBuildInputs = [ openssh GitRepository URI XMLMini ];
preConfigure = ''
patchShebangs .
touch Makefile.PL
rm -f Makefile
'';
installPhase = ''
mkdir -p $out/lib $out/bin
cp -r . $out/lib/ham
makeWrapper $out/lib/ham/ham $out/bin/ham --argv0 ham \
--prefix PATH : ${openssh}/bin
'';
doCheck = false;
meta = {
description = "A tool to manage big projects consisting of multiple loosely-coupled git repositories";
homepage = https://github.com/kernkonzept/ham;
license = "unknown"; # should be gpl2, but not quite sure
maintainers = with lib.maintainers; [ aw ];
platforms = lib.platforms.unix;
};
}

View File

@ -1,51 +0,0 @@
diff -ru stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2/RunningInstances.pm stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2/RunningInstances.pm
--- stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2/RunningInstances.pm 2011-06-13 19:45:30.000000000 -0400
+++ stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2/RunningInstances.pm 2011-10-27 17:25:29.000000000 -0400
@@ -25,6 +25,10 @@
This element remains empty until the instance enters a
running state.
+=item dns_name_v6 (optional)
+
+The public IPv6 address of the instance.
+
=item image_id (required)
The image id of the AMI currently running in this instance.
@@ -134,6 +138,7 @@
has 'ami_launch_index' => ( is => 'ro', isa => 'Str', required => 0 );
has 'dns_name' => ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
+has 'dns_name_v6' => ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
has 'image_id' => ( is => 'ro', isa => 'Str', required => 1 );
has 'kernel_id' => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
has 'ramdisk_id' => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
diff -ru stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2.pm stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2.pm
--- stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2.pm 2011-06-13 19:45:30.000000000 -0400
+++ stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2.pm 2011-10-27 17:25:29.000000000 -0400
@@ -1691,6 +1691,7 @@
my $self = shift;
my %args = validate( @_, {
InstanceId => { type => SCALAR | ARRAYREF, optional => 1 },
+ Action => { default => "DescribeInstances" },
});
# If we have a array ref of instances lets split them out into their InstanceId.n format
@@ -1703,7 +1704,8 @@
}
}
- my $xml = $self->_sign(Action => 'DescribeInstances', %args);
+ my $xml = $self->_sign(Action => $args{Action}, %args);
+ delete $args{Action};
my $reservations;
if ( grep { defined && length } $xml->{Errors} ) {
@@ -1791,6 +1793,7 @@
my $running_instance = Net::Amazon::EC2::RunningInstances->new(
ami_launch_index => $instance_elem->{amiLaunchIndex},
dns_name => $instance_elem->{dnsName},
+ dns_name_v6 => $instance_elem->{dnsNameV6},
image_id => $instance_elem->{imageId},
kernel_id => $instance_elem->{kernelId},
ramdisk_id => $instance_elem->{ramdiskId},

View File

@ -1,21 +0,0 @@
diff -ru -x '*~' Net-Amazon-EC2-0.14-orig/lib/Net/Amazon/EC2.pm Net-Amazon-EC2-0.14/lib/Net/Amazon/EC2.pm
--- Net-Amazon-EC2-0.14-orig/lib/Net/Amazon/EC2.pm 2010-02-02 02:26:58.000000000 +0100
+++ Net-Amazon-EC2-0.14/lib/Net/Amazon/EC2.pm 2011-06-16 16:11:53.861341300 +0200
@@ -1552,6 +1552,8 @@
$args{"InstanceId." . $count} = $instance_id;
$count++;
}
+ } else {
+ $args{"InstanceId.1"} = delete $args{InstanceId};
}
my $xml = $self->_sign(Action => 'DescribeInstances', %args);
@@ -3739,6 +3741,8 @@
$args{"InstanceId." . $count} = $instance_id;
$count++;
}
+ } else {
+ $args{"InstanceId.1"} = delete $args{InstanceId};
}
my $xml = $self->_sign(Action => 'TerminateInstances', %args);

View File

@ -0,0 +1,33 @@
{ lib, file, fetchFromGitLab, buildPerlPackage, ArchiveZip, ArchiveCpio }:
buildPerlPackage rec {
pname = "strip-nondeterminism";
version = "1.0.0";
outputs = [ "out" "dev" ]; # no "devdoc"
src = fetchFromGitLab {
owner = "reproducible-builds";
repo = "strip-nondeterminism";
domain = "salsa.debian.org";
rev = version;
sha256 = "1pwar1fyadqxmvb7x4zyw2iawbi5lsfjcg0ps9n9rdjb6an7vv64";
};
# stray test failure
doCheck = false;
buildInputs = [ ArchiveZip ArchiveCpio file ];
perlPostHook = ''
# we dont need the debhelper script
rm $out/bin/dh_strip_nondeterminism
rm $out/share/man/man1/dh_strip_nondeterminism.1.gz
'';
meta = with lib; {
description = "A Perl module for stripping bits of non-deterministic information";
license = licenses.gpl3;
maintainers = with maintainers; [ pSub ];
};
}

View File

@ -1,12 +1,12 @@
{ lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb2, mock, nose, ddt }: { lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb2, mock, nose, ddt }:
buildPythonPackage rec { buildPythonPackage rec {
version = "2.1.11"; version = "2.1.14";
pname = "GitPython"; pname = "GitPython";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "8237dc5bfd6f1366abeee5624111b9d6879393d84745a507de0fda86043b65a8"; sha256 = "392f31eaadc19db35a54e3ab7285577fb4a86d96ecee08cf22a573f06633baab";
}; };
patches = [ patches = [

View File

@ -10,11 +10,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "Mako"; pname = "Mako";
version = "1.0.12"; version = "1.0.14";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0cfa65de3a835e87eeca6ac856b3013aade55f49e32515f65d999f91a2324162"; sha256 = "f5a642d8c5699269ab62a68b296ff990767eb120f51e2e8f3d6afb16bdb57f4b";
}; };
checkInputs = [ markupsafe nose mock pytest ]; checkInputs = [ markupsafe nose mock pytest ];

View File

@ -3,11 +3,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "adal"; pname = "adal";
version = "1.2.1"; version = "1.2.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "b6edd095be66561382bdaa59d40b04490e93149fb3b7fa44c1fa5504eed5b8b9"; sha256 = "5a7f1e037c6290c6d7609cab33a9e5e988c2fbec5c51d1c4c649ee3faff37eaf";
}; };
propagatedBuildInputs = [ requests pyjwt dateutil ]; propagatedBuildInputs = [ requests pyjwt dateutil ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aenum"; pname = "aenum";
version = "2.1.2"; version = "2.2.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687"; sha256 = "b12a7be3d89b270f266f8643aaa126404e5cdc0929bd6f09548b8eaed85e2aa1";
}; };
# For Python 3, locale has to be set to en_US.UTF-8 for # For Python 3, locale has to be set to en_US.UTF-8 for

View File

@ -19,29 +19,41 @@
, pytest-mock , pytest-mock
, trustme , trustme
, brotlipy , brotlipy
, freezegun
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiohttp"; pname = "aiohttp";
version = "3.5.4"; version = "3.6.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf"; sha256 = "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5";
}; };
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.5";
checkInputs = [ checkInputs = [
pytestrunner pytest gunicorn pytest-timeout async_generator pytest_xdist pytestrunner pytest gunicorn pytest-timeout async_generator pytest_xdist
pytest-mock pytestcov trustme brotlipy pytest-mock pytestcov trustme brotlipy freezegun
]; ];
propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ] propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ]
++ lib.optionals (pythonOlder "3.7") [ idna-ssl typing-extensions ]; ++ lib.optionals (pythonOlder "3.7") [ idna-ssl typing-extensions ];
# disable tests which attempt to do loopback connections
checkPhase = '' checkPhase = ''
pytest -k "not test__get_valid_log_format_exc and not test_access_logger_atoms" cd tests
pytest -k "not get_valid_log_format_exc \
and not test_access_logger_atoms \
and not aiohttp_request_coroutine \
and not server_close_keepalive_connection \
and not connector \
and not client_disconnect \
and not handle_keepalive_on_closed_connection \
and not partially_applied_handler \
and not middleware" \
--ignore=test_connector.py
''; '';
meta = with lib; { meta = with lib; {

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiohue"; pname = "aiohue";
version = "1.9.1"; version = "1.9.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3c23aed8e82f398b732279f5f7ee7ed00949ff2db7009f7a2dc705f7c2d16783"; sha256 = "a7e545ae17658c10f2c5321e40b85426a8c284e5b33b5dfbe9171f9bdf37aa3e";
}; };
propagatedBuildInputs = [ aiohttp ]; propagatedBuildInputs = [ aiohttp ];

View File

@ -11,12 +11,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioresponses"; pname = "aioresponses";
version = "0.6.0"; version = "0.6.1";
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.5";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0ii1jiwb8qa2y8cqa1zqn7mjax9l8bpf16k4clv616mxw1l0bvs6"; sha256 = "fab9607d11a2e05050ef766006b8fdd9424e7122c2bd6f34a5376be4c728e242";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,11 +5,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "alembic"; pname = "alembic";
version = "1.0.10"; version = "1.0.11";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "828dcaa922155a2b7166c4f36ec45268944e4055c86499bd14319b4c8c0094b7"; sha256 = "cdb7d98bd5cbf65acd38d70b1c05573c432e6473a82f955cdea541b5c153b0cc";
}; };
buildInputs = [ pytest pytestcov mock coverage ]; buildInputs = [ pytest pytestcov mock coverage ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "amqp"; pname = "amqp";
version = "2.5.1"; version = "2.5.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0s2yxnnhhx9hww0n33yn22q6sgnbd6n2nw92050qv2qpc3i1ga8r"; sha256 = "77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d";
}; };
checkInputs = [ pytest case pytest-sugar ]; checkInputs = [ pytest case pytest-sugar ];

View File

@ -5,12 +5,12 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "1.16.0"; version = "1.16.2";
pname = "annoy"; pname = "annoy";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0jnm38kg7aw63mkd5113i3pb2p9fp5cia91jwhyg9sazb45bzpv9"; sha256 = "41348e813fe7125eda3e2229a075eba3d065173ba6c5f20c545bb9c2932633fa";
}; };
checkInputs = [ checkInputs = [

View File

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ansible-runner"; pname = "ansible-runner";
version = "1.4.1"; version = "1.4.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1j3jisiy93026ivd28j0c3p2j7ij6zm2k765yjknfx2gg3m5pk14"; sha256 = "9db56a69ad5d43fe7656ad8efb4083cb1800ea400f7828af6b20f44c0882404f";
}; };
checkInputs = [ pytest mock ]; checkInputs = [ pytest mock ];

View File

@ -38,7 +38,7 @@ buildPythonPackage rec {
''; '';
propagatedBuildInputs = [ propagatedBuildInputs = [
pycrypto paramiko jinja2 pyyaml httplib2 boto pycrypto paramiko jinja2 pyyaml httplib2
six netaddr dnspython jmespath dopy six netaddr dnspython jmespath dopy
] ++ lib.optional windowsSupport pywinrm; ] ++ lib.optional windowsSupport pywinrm;

View File

@ -5,11 +5,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "apprise"; pname = "apprise";
version = "0.8.0"; version = "0.8.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "02apbzckj158995k9ls0gr1m9hfk7nw3ck0bp7k41srl5wdys72i"; sha256 = "7a26fa03c4b83f03f17e8f8fc0b94d5502a12dc2e39b48e93a0ab0fd93151a95";
}; };
nativeBuildInputs = [ Babel ]; nativeBuildInputs = [ Babel ];

View File

@ -1,7 +1,7 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, isPy37, pyperclip }: { stdenv, buildPythonPackage, fetchFromGitHub, isPy37, pyperclip }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.2.4"; version = "0.2.6";
pname = "approvaltests"; pname = "approvaltests";
# no tests included in PyPI tarball # no tests included in PyPI tarball
@ -9,7 +9,7 @@ buildPythonPackage rec {
owner = "approvals"; owner = "approvals";
repo = "ApprovalTests.Python"; repo = "ApprovalTests.Python";
rev = version; rev = version;
sha256 = "05lj5i13zpkgw1wdc1v81wj4zqj8bpzqiwycdnwlg08azcy7k7j1"; sha256 = "1k1bj8q1qm89a8xm4az6qk4qswwmgxw5jpdjcxmf93zh5hrcy9h9";
}; };
propagatedBuildInputs = [ pyperclip ]; propagatedBuildInputs = [ pyperclip ];
@ -19,16 +19,6 @@ buildPythonPackage rec {
--replace "pyperclip==1.5.27" "pyperclip>=1.5.27" --replace "pyperclip==1.5.27" "pyperclip>=1.5.27"
''; '';
# Tests fail on Python 3.7
# https://github.com/approvals/ApprovalTests.Python/issues/36
doCheck = !isPy37;
# Disable Linux failing test, because tries to use darwin/windows specific reporters
preCheck = stdenv.lib.optionalString stdenv.isLinux ''
substituteInPlace tests/test_genericdiffreporter.py \
--replace "test_find_working_reporter" "_find_working_reporter"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Assertion/verification library to aid testing"; description = "Assertion/verification library to aid testing";
homepage = https://github.com/approvals/ApprovalTests.Python; homepage = https://github.com/approvals/ApprovalTests.Python;

View File

@ -1,9 +1,9 @@
{ stdenv, buildPythonPackage, fetchFromGitHub { stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch
, sqlite, isPyPy }: , sqlite, isPyPy }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "apsw"; pname = "apsw";
version = "3.22.0-r1"; version = "3.29.0-r1";
disabled = isPyPy; disabled = isPyPy;
@ -11,11 +11,19 @@ buildPythonPackage rec {
owner = "rogerbinns"; owner = "rogerbinns";
repo = "apsw"; repo = "apsw";
rev = version; rev = version;
sha256 = "02ldvshcgr4c7c8anp4flfnw8g8ys5bflkb8b51rb618qxhhwyak"; sha256 = "1p3sgmk9qwd0a634lirva44qgpyq0a74r9d70wxb6hsa52yjj9xb";
}; };
buildInputs = [ sqlite ]; buildInputs = [ sqlite ];
patches = [
# Fixes a test failure with sqlite 3.30, see https://github.com/rogerbinns/apsw/issues/275
(fetchpatch {
url = "https://github.com/rogerbinns/apsw/commit/13df0b57bff59542978abf7c0a440c9274e3aac3.diff";
sha256 = "1wi1mfis2mr21389wdnvq44phg0bpm5vpwmxhvrj211vwfm0q7dv";
})
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A Python wrapper for the SQLite embedded relational database engine"; description = "A Python wrapper for the SQLite embedded relational database engine";
homepage = https://github.com/rogerbinns/apsw; homepage = https://github.com/rogerbinns/apsw;

View File

@ -2,21 +2,31 @@
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, glibcLocales , glibcLocales
, pytestrunner
, pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "Arpeggio"; pname = "Arpeggio";
version = "1.9.0"; version = "1.9.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "a5258b84f76661d558492fa87e42db634df143685a0e51802d59cae7daad8732"; sha256 = "948ce06163a48a72c97f4fe79ad3d1c1330b6fec4f22ece182fb60ef60bd022b";
}; };
# Shall not be needed for next release # Shall not be needed for next release
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";
buildInputs = [ glibcLocales ]; buildInputs = [ glibcLocales ];
nativeBuildInputs = [ pytestrunner ];
checkInputs = [ pytestCheckHook ];
disabledTests = [ "test_examples" "test_issue_22" ];
dontUseSetuptoolsCheck = true;
meta = { meta = {
description = "Packrat parser interpreter"; description = "Packrat parser interpreter";
license = lib.licenses.mit; license = lib.licenses.mit;

View File

@ -1,4 +1,4 @@
{ stdenv, buildPythonPackage, fetchPypi, pytest }: { stdenv, buildPythonPackage, fetchPypi, isPy27, pytest, fetchpatch }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "astor"; pname = "astor";
@ -9,6 +9,14 @@ buildPythonPackage rec {
sha256 = "0qkq5bf13fqcwablg0nk7rx83izxdizysd42n26j5wbingcfx9ip"; sha256 = "0qkq5bf13fqcwablg0nk7rx83izxdizysd42n26j5wbingcfx9ip";
}; };
# fix packaging for setuptools>=41.4
patches = [
( fetchpatch {
url = "https://github.com/berkerpeksag/astor/pull/163/commits/c908d1136cdfb058f5e9d81b4d3687931aa1ebfb.patch";
sha256 = "06mrx3qxfjyx9v76kxsj2b7zyqwrwlyd5z1fh77jbb8yl6m0nacd";
})
];
# disable tests broken with python3.6: https://github.com/berkerpeksag/astor/issues/89 # disable tests broken with python3.6: https://github.com/berkerpeksag/astor/issues/89
checkInputs = [ pytest ]; checkInputs = [ pytest ];
checkPhase = '' checkPhase = ''

View File

@ -5,13 +5,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "astroid"; pname = "astroid";
version = "2.2.5"; version = "2.3.1";
disabled = pythonOlder "3.4"; disabled = pythonOlder "3.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1x5c8fiqa18frwwfdsw41lpqsyff3w4lxvjx9d5ccs4zfkhy2q35"; sha256 = "b7546ffdedbf7abcfbff93cd1de9e9980b1ef744852689decc5aeada324238c6";
}; };
# From astroid/__pkginfo__.py # From astroid/__pkginfo__.py

View File

@ -10,13 +10,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "astropy"; pname = "astropy";
version = "3.2.1"; version = "3.2.2";
disabled = !isPy3k; # according to setup.py disabled = !isPy3k; # according to setup.py
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28"; sha256 = "8553f4a95e9938a0c7ae520633f7172356824b8eb324dd967fca6baf00ac19bf";
}; };
nativeBuildInputs = [ astropy-helpers ]; nativeBuildInputs = [ astropy-helpers ];

View File

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "astroquery"; pname = "astroquery";
version = "0.3.9"; version = "0.3.10";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0zw3xp2rfc6h2v569iqsyvzhfnzp7bfjb7jrj61is1hrqw1cqjrb"; sha256 = "1ce57a8792c7d5d74206d797d379de6da35d56be433ea5840c41a49f202e2fab";
}; };
# Fix tests using conftest.py from HEAD in the upstream GitHub # Fix tests using conftest.py from HEAD in the upstream GitHub

View File

@ -13,12 +13,12 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "1.2.6"; version = "1.2.8";
pname = "atomman"; pname = "atomman";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "19501bfdf7e66090764a0ccbecf85a128b46333ea232c2137fa4345512b8b502"; sha256 = "0ed099fdceca2d733e81afb08d777e8e852a6e53660d6d268f3739b8d323ced9";
}; };
checkInputs = [ pytest ]; checkInputs = [ pytest ];

View File

@ -3,11 +3,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "attrs"; pname = "attrs";
version = "18.2.0"; version = "19.3.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69"; sha256 = "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72";
}; };
# macOS needs clang for testing # macOS needs clang for testing

View File

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aws-lambda-builders"; pname = "aws-lambda-builders";
version = "0.3.0"; version = "0.4.0";
# No tests available in PyPI tarball # No tests available in PyPI tarball
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = "aws-lambda-builders"; repo = "aws-lambda-builders";
rev = "v${version}"; rev = "v${version}";
sha256 = "1c3r3iz29s68mlmdsxbl65x5zqx25b89d40rir6729ck4gll4dyd"; sha256 = "1z2l9qm6mxp90zl64i9j2cmlzn8n7sc8yfpqh14fi9ay887ayjs1";
}; };
# Package is not compatible with Python 3.5 # Package is not compatible with Python 3.5
@ -35,7 +35,7 @@ buildPythonPackage rec {
checkPhase = '' checkPhase = ''
export PATH=$out/bin:$PATH export PATH=$out/bin:$PATH
pytest tests/functional pytest tests/functional -k 'not can_invoke_pip'
''; '';
meta = with lib; { meta = with lib; {

View File

@ -33,11 +33,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "azure-cli-core"; pname = "azure-cli-core";
version = "2.0.71"; version = "2.0.75";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "01pqdh16l2c9a6b1az9galmm1szvhg7fyf9shq872wanw1xx88dj"; sha256 = "6fde38f4448542c0cf7b13201b702c6927180e7294221b8f67e2c834f22ae1bc";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -10,11 +10,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "azure-cli-telemetry"; pname = "azure-cli-telemetry";
version = "1.0.3"; version = "1.0.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0sf27pcz653h0cnxsg47nndilhqlw9fl019aqbnji2vn967r9rnl"; sha256 = "1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -28,10 +28,10 @@ buildPythonPackage rec {
# Remove overly restrictive version contraints and obsolete namespace setup # Remove overly restrictive version contraints and obsolete namespace setup
prePatch = '' prePatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "applicationinsights>=0.11.1,<0.11.8" "applicationinsights" \ --replace "applicationinsights>=0.11.1,<0.12" "applicationinsights"
--replace "portalocker==1.2.1" "portalocker"
substituteInPlace setup.cfg \ substituteInPlace setup.cfg \
--replace "azure-namespace-package = azure-cli-nspkg" "" --replace "azure-namespace-package = azure-cli-nspkg" ""
rm azure_bdist_wheel.py # we'll fix PEP420 namespacing
''; '';
# Prevent these __init__'s from violating PEP420, only needed for python2 # Prevent these __init__'s from violating PEP420, only needed for python2

View File

@ -9,14 +9,14 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "1.1.21"; version = "1.1.23";
pname = "azure-common"; pname = "azure-common";
disabled = isPyPy; disabled = isPyPy;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "zip"; extension = "zip";
sha256 = "25d696d2affbf5fe9b13aebe66271fce545e673e7e1eeaaec2d73599ba639d63"; sha256 = "53b1195b8f20943ccc0e71a17849258f7781bc6db1c72edc7d6c055f79bd54e3";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -9,13 +9,13 @@
if !(pythonOlder "3.3") then null else buildPythonPackage rec { if !(pythonOlder "3.3") then null else buildPythonPackage rec {
pname = "backports.lzma"; pname = "backports.lzma";
version = "0.0.13"; version = "0.0.14";
disabled = isPy3k; disabled = isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "50829db66f0445442f6c796bba0ca62d1f87f54760c4682b6d1489e729a43744"; sha256 = "16d8b68e4d3cd4e6c9ddb059850452946da3914c8a8e197a7f2b0954559f2df4";
}; };
buildInputs = [ lzma ]; buildInputs = [ lzma ];

View File

@ -12,12 +12,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bidict"; pname = "bidict";
version = "0.18.2"; version = "0.18.3";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0br3ljvd56nqifr1mbwksvl5jjk40pihrrjlyn7hmc40yq6m5bvh"; sha256 = "1742a25a9ef1b1ac4000683406879a3e1a6577faa02f31e482e6c84e2e3bf628";
}; };
nativeBuildInputs = [ setuptools_scm ]; nativeBuildInputs = [ setuptools_scm ];

View File

@ -2,12 +2,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "billiard"; pname = "billiard";
version = "3.6.0.0"; version = "3.6.1.0";
disabled = isPyPy; disabled = isPyPy;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "756bf323f250db8bf88462cd042c992ba60d8f5e07fc5636c24ba7d6f4261d84"; sha256 = "b8809c74f648dfe69b973c8e660bcec00603758c9db8ba89d7719f88d5f01f26";
}; };
checkInputs = [ pytest case psutil ]; checkInputs = [ pytest case psutil ];

View File

@ -9,11 +9,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "blis"; pname = "blis";
version = "0.4.0"; version = "0.4.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1khh02z6wryrnrxlx2wrxzhaqsg5hlgypy0643rvi4zcqanvdpym"; sha256 = "d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,35 +1,19 @@
{ stdenv, python, fetchPypi, makeWrapper, unzip, makeSetupHook { stdenv, python, fetchPypi, makeWrapper, unzip, makeSetupHook
, pipInstallHook , pipInstallHook
, setuptoolsBuildHook , setuptoolsBuildHook
, wheel, pip, setuptools
}: }:
let stdenv.mkDerivation rec {
wheel_source = fetchPypi {
pname = "wheel";
version = "0.33.6";
format = "wheel";
sha256 = "f4da1763d3becf2e2cd92a14a7c920f0f00eca30fdde9ea992c836685b9faf28";
};
setuptools_source = fetchPypi {
pname = "setuptools";
version = "41.2.0";
format = "wheel";
sha256 = "4380abcf2a4ffd1a5ba22d687c6d690dce83b2b51c70e9c6d09f7e8c7e8040dc";
};
in stdenv.mkDerivation rec {
pname = "pip"; pname = "pip";
version = "19.2.3"; inherit (pip) version;
name = "${python.libPrefix}-bootstrapped-${pname}-${version}"; name = "${python.libPrefix}-bootstrapped-${pname}-${version}";
src = fetchPypi { srcs = [ wheel.src pip.src setuptools.src ];
inherit pname version; sourceRoot = ".";
format = "wheel";
sha256 = "340a0ba40fdeb16413914c0fcd8e0b4ebb0bf39a900ec80e11c05d836c05103f";
};
dontUseSetuptoolsBuild = true; dontUseSetuptoolsBuild = true;
dontUsePipInstall = true;
# Should be propagatedNativeBuildInputs # Should be propagatedNativeBuildInputs
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -38,13 +22,6 @@ in stdenv.mkDerivation rec {
(setuptoolsBuildHook.override{setuptools=null; wheel=null;}) (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
]; ];
unpackPhase = ''
mkdir -p $out/${python.sitePackages}
unzip -d $out/${python.sitePackages} $src
unzip -d $out/${python.sitePackages} ${setuptools_source}
unzip -d $out/${python.sitePackages} ${wheel_source}
'';
postPatch = '' postPatch = ''
mkdir -p $out/bin mkdir -p $out/bin
''; '';
@ -52,18 +29,38 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper unzip ]; nativeBuildInputs = [ makeWrapper unzip ];
buildInputs = [ python ]; buildInputs = [ python ];
installPhase = '' buildPhase = ":";
# install pip binary installPhase = stdenv.lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
echo '#!${python.interpreter}' > $out/bin/pip export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
echo 'import sys;from pip._internal import main' >> $out/bin/pip '' + ''
echo 'sys.exit(main())' >> $out/bin/pip # Give folders a known name
chmod +x $out/bin/pip mv pip* pip
mv setuptools* setuptools
mv wheel* wheel
# Set up PYTHONPATH. The above folders need to be on PYTHONPATH
# $out is where we are installing to and takes precedence
export PYTHONPATH="$out/${python.sitePackages}:$(pwd)/pip/src:$(pwd)/setuptools:$(pwd)/setuptools/pkg_resources:$(pwd)/wheel"
# wrap binaries with PYTHONPATH echo "Building setuptools wheel..."
for f in $out/bin/*; do pushd setuptools
wrapProgram $f --prefix PYTHONPATH ":" $out/${python.sitePackages}/ ${python.pythonForBuild.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache --build tmpbuild .
done popd
echo "Building wheel wheel..."
pushd wheel
${python.pythonForBuild.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache --build tmpbuild .
popd
echo "Building pip wheel..."
pushd pip
${python.pythonForBuild.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache --build tmpbuild .
popd
''; '';
meta = {
description = "Version of pip used for bootstrapping";
license = stdenv.lib.unique (pip.meta.license ++ setuptools.meta.license ++ wheel.meta.license);
homepage = pip.meta.homepage;
};
} }

View File

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "boto3"; pname = "boto3";
version = "1.9.205"; # N.B: if you change this, change botocore too version = "1.9.250"; # N.B: if you change this, change botocore too
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1zxz1d6w3f4ip04bm26xplpxjhblc2vfmqcs5n63a9y1h43mk171"; sha256 = "95f70eda4bd6756e297a7c89739571cbc5cd474620142e5cbe19810529d6ec1f";
}; };
propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "botocore"; pname = "botocore";
version = "1.12.205"; # N.B: if you change this, change boto3 and awscli to a matching version version = "1.12.251"; # N.B: if you change this, change boto3 and awscli to a matching version
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "19ls7hdmcaqrrq8przqy05s8chsy8315ic2zg185k6m64pvr0qhd"; sha256 = "887a57b3dcfb1d29ae11e504a486cd8dbe1af4f5678980a804dbf02b36d1c4f8";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bottle"; pname = "bottle";
version = "0.12.16"; version = "0.12.17";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "9c310da61e7df2b6ac257d8a90811899ccb3a9743e77e947101072a2e3186726"; sha256 = "e9eaa412a60cc3d42ceb42f58d15864d9ed1b92e9d630b8130c871c5bb16107c";
}; };
propagatedBuildInputs = [ setuptools ]; propagatedBuildInputs = [ setuptools ];

View File

@ -1,12 +1,12 @@
{ lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k }: { lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k }:
buildPythonPackage rec { buildPythonPackage rec {
version = "4.13.0"; version = "4.13.1";
pname = "breathe"; pname = "breathe";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "08xs1cqpvcv7735j19c35br34gbwzfn89rkg12n2yfz4af0x3xfp"; sha256 = "c6752345252f48092bf72a450fd9e84367bd5b4af99d86c92047f82c6c2287ab";
}; };
propagatedBuildInputs = [ docutils six sphinx ]; propagatedBuildInputs = [ docutils six sphinx ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "zc.buildout"; pname = "zc.buildout";
version = "2.13.1"; version = "2.13.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3d14d07226963a517295dfad5879d2799e2e3b65b2c61c71b53cb80f5ab11484"; sha256 = "5dd4de86dda684c46ef8ee9cc84e335ca7f6275d4363a684de82225270d1e328";
}; };
patches = [ ./nix.patch ]; patches = [ ./nix.patch ];

View File

@ -2,7 +2,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bumps"; pname = "bumps";
version = "0.7.12"; version = "0.7.13";
propagatedBuildInputs = [six]; propagatedBuildInputs = [six];
@ -12,7 +12,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0a8m56bwyi0gdrf3kgkdw3cajyxlr40qrj1xlh5yn4qqjbz7ym02"; sha256 = "fdcf335b800d892edfdbc87fdd539cb45166d8667edbec3dfbb1a3b5c3a35547";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -16,11 +16,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-can"; pname = "python-can";
version = "3.3.1"; version = "3.3.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1giv9s6w90lalxsijgnxzynygkckcfyaxnxsldbwv0784vwy1jcd"; sha256 = "5fefb5c1e7e7f07faefc02c6eac79f9b58376f007048a04d8e7f325d48ec6b2e";
}; };
propagatedBuildInputs = [ wrapt pyserial aenum ] ++ lib.optional (pythonOlder "3.5") typing; propagatedBuildInputs = [ wrapt pyserial aenum ] ++ lib.optional (pythonOlder "3.5") typing;

View File

@ -11,6 +11,10 @@ buildPythonPackage rec {
checkInputs = [ pytestrunner pytest ]; checkInputs = [ pytestrunner pytest ];
checkPhase = ''
pytest -k 'not nested_oneofs'
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://python-cerberus.org/; homepage = http://python-cerberus.org/;
description = "Lightweight, extensible schema and data validation tool for Python dictionaries"; description = "Lightweight, extensible schema and data validation tool for Python dictionaries";

View File

@ -5,11 +5,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "certifi"; pname = "certifi";
version = "2019.6.16"; version = "2019.9.11";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695"; sha256 = "0l0yw94ypd117bl7f0fx8sqw9wsnrpcsn92vr7nkxy54zq665wz4";
}; };
meta = { meta = {

View File

@ -8,11 +8,11 @@ let inherit (stdenv) lib; in
buildPythonPackage rec { buildPythonPackage rec {
pname = "cheroot"; pname = "cheroot";
version = "6.5.6"; version = "6.5.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "b824f9961eb447809badeb051820a05770354e2f9ae5c355eecc21f22633c217"; sha256 = "427e7e3ce51ad5a6e5cf953252b5782d5dfbeb544c09910634971bc06df6621b";
}; };
patches = [ ./tests.patch ]; patches = [ ./tests.patch ];

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "click-completion"; pname = "click-completion";
version = "0.5.1"; version = "0.5.2";
disabled = (!isPy3k); disabled = (!isPy3k);
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1ysn6kzv3fgakn0y06i3cxynd8iaybarrygabk9a0pp2spn2w1vq"; sha256 = "5bf816b81367e638a190b6e91b50779007d14301b3f9f3145d68e3cade7bce86";
}; };
propagatedBuildInputs = [ click jinja2 shellingham six ]; propagatedBuildInputs = [ click jinja2 shellingham six ];

View File

@ -6,11 +6,11 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "cmd2"; pname = "cmd2";
version = "0.9.17"; version = "0.9.19";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0sp4m5xg8ms3ikps0c6qd51f9cab4ca9byl865bklm9vxc1adgkp"; sha256 = "c81284083d993af18b8fef57d89d854d49d051d4c2c8a8e12d0281e369ac3682";
}; };
LC_ALL="en_US.UTF-8"; LC_ALL="en_US.UTF-8";

View File

@ -19,7 +19,8 @@ buildPythonPackage rec {
}); });
checkPhase = '' checkPhase = ''
PATH=$PATH:$out/bin pytest . -k "not test_plain_text_output_format" PATH=$PATH:$out/bin pytest . -k "not test_plain_text_output_format \
and not test_auto_install"
''; '';
checkInputs = [ pytest mock utillinux ]; checkInputs = [ pytest mock utillinux ];

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