Merge branch 'master' into staging

This commit is contained in:
Jan Tojnar 2019-04-26 16:35:54 +02:00
commit 89a150355b
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
111 changed files with 3119 additions and 1201 deletions

View File

@ -205,7 +205,7 @@ buildPythonPackage rec {
license = licenses.bsd3;
maintainers = with maintainers; [ fridh ];
};
};
}
```
What happens here? The function `buildPythonPackage` is called and as argument

View File

@ -145,6 +145,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
free = false;
};
cc-by-nc-30 = spdx {
spdxId = "CC-BY-NC-3.0";
fullName = "Creative Commons Attribution Non Commercial 3.0 Unported";
free = false;
};
cc-by-nc-40 = spdx {
spdxId = "CC-BY-NC-4.0";
fullName = "Creative Commons Attribution Non Commercial 4.0 International";

View File

@ -3218,6 +3218,11 @@
github = "mogria";
name = "Mogria";
};
monsieurp = {
email = "monsieurp@gentoo.org";
github = "monsieurp";
name = "Patrice Clement";
};
montag451 = {
email = "montag451@laposte.net";
github = "montag451";

View File

@ -686,6 +686,7 @@
./services/networking/vsftpd.nix
./services/networking/wakeonlan.nix
./services/networking/websockify.nix
./services/networking/wg-quick.nix
./services/networking/wicd.nix
./services/networking/wireguard.nix
./services/networking/wpa_supplicant.nix

View File

@ -8,6 +8,7 @@ let
packagekitConf = ''
[Daemon]
DefaultBackend=${cfg.backend}
KeepCache=false
'';
@ -33,26 +34,32 @@ in
installing software. Software utilizing PackageKit can install
software regardless of the package manager.
'';
};
# TODO: integrate with PolicyKit if the nix backend matures to the point
# where it will require elevated permissions
backend = mkOption {
type = types.enum [ "test_nop" ];
default = "test_nop";
description = ''
PackageKit supports multiple different backends and <literal>auto</literal> which
should do the right thing.
</para>
<para>
On NixOS however, we do not have a backend compatible with nix 2.0
(refer to <link xlink:href="https://github.com/NixOS/nix/issues/233">this issue</link> so we have to force
it to <literal>test_nop</literal> for now.
'';
};
};
};
config = mkIf cfg.enable {
services.dbus.packages = [ pkgs.packagekit ];
services.dbus.packages = with pkgs; [ packagekit ];
systemd.services.packagekit = {
description = "PackageKit Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.packagekit}/libexec/packagekitd";
serviceConfig.User = "root";
serviceConfig.BusName = "org.freedesktop.PackageKit";
serviceConfig.Type = "dbus";
};
systemd.packages = with pkgs; [ packagekit ];
environment.etc."PackageKit/PackageKit.conf".text = packagekitConf;
environment.etc."PackageKit/Vendor.conf".text = vendorConf;
};
}

View File

@ -10,35 +10,38 @@ in
services.plex = {
enable = mkEnableOption "Plex Media Server";
# FIXME: In order for this config option to work, symlinks in the Plex
# package in the Nix store have to be changed to point to this directory.
dataDir = mkOption {
type = types.str;
default = "/var/lib/plex";
description = "The directory where Plex stores its data files.";
description = ''
The directory where Plex stores its data files.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open ports in the firewall for the media server
Open ports in the firewall for the media server.
'';
};
user = mkOption {
type = types.str;
default = "plex";
description = "User account under which Plex runs.";
description = ''
User account under which Plex runs.
'';
};
group = mkOption {
type = types.str;
default = "plex";
description = "Group under which Plex runs.";
description = ''
Group under which Plex runs.
'';
};
managePlugins = mkOption {
type = types.bool;
default = true;
@ -80,73 +83,48 @@ in
description = "Plex Media Server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
test -d "${cfg.dataDir}/Plex Media Server" || {
echo "Creating initial Plex data directory in \"${cfg.dataDir}\"."
mkdir -p "${cfg.dataDir}/Plex Media Server"
chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}"
}
# Copy the database skeleton files to /var/lib/plex/.skeleton
# See the the Nix expression for Plex's package for more information on
# why this is done.
install --owner ${cfg.user} --group ${cfg.group} -d "${cfg.dataDir}/.skeleton"
for db in "com.plexapp.plugins.library.db"; do
if [ ! -e "${cfg.dataDir}/.skeleton/$db" ]; then
cp "${cfg.package}/usr/lib/plexmediaserver/Resources/base_$db" "${cfg.dataDir}/.skeleton/$db"
fi
chmod u+w "${cfg.dataDir}/.skeleton/$db"
chown ${cfg.user}:${cfg.group} "${cfg.dataDir}/.skeleton/$db"
done
# If managePlugins is enabled, setup symlinks for plugins.
${optionalString cfg.managePlugins ''
echo "Preparing plugin directory."
PLUGINDIR="${cfg.dataDir}/Plex Media Server/Plug-ins"
test -d "$PLUGINDIR" || {
mkdir -p "$PLUGINDIR";
chown ${cfg.user}:${cfg.group} "$PLUGINDIR";
}
echo "Removing old symlinks."
# First, remove all of the symlinks in the directory.
for f in `ls "$PLUGINDIR/"`; do
if [[ -L "$PLUGINDIR/$f" ]]; then
echo "Removing plugin symlink $PLUGINDIR/$f."
rm "$PLUGINDIR/$f"
fi
done
echo "Symlinking plugins."
for path in ${toString cfg.extraPlugins}; do
dest="$PLUGINDIR/$(basename $path)"
if [[ ! -d "$path" ]]; then
echo "Error symlinking plugin from $path: no such directory."
elif [[ -d "$dest" || -L "$dest" ]]; then
echo "Error symlinking plugin from $path to $dest: file or directory already exists."
else
echo "Symlinking plugin at $path..."
ln -s "$path" "$dest"
fi
done
''}
'';
serviceConfig = {
Type = "simple";
User = cfg.user;
Group = cfg.group;
PermissionsStartOnly = "true";
ExecStart = "\"${cfg.package}/usr/lib/plexmediaserver/Plex Media Server\"";
# Run the pre-start script with full permissions (the "!" prefix) so it
# can create the data directory if necessary.
ExecStartPre = let
preStartScript = pkgs.writeScript "plex-run-prestart" ''
#!${pkgs.bash}/bin/bash
# Create data directory if it doesn't exist
if ! test -d "$PLEX_DATADIR"; then
echo "Creating initial Plex data directory in: $PLEX_DATADIR"
install -d -m 0755 -o "${cfg.user}" -g "${cfg.group}" "$PLEX_DATADIR"
fi
'';
in
"!${preStartScript}";
ExecStart = "${cfg.package}/bin/plexmediaserver";
KillSignal = "SIGQUIT";
Restart = "on-failure";
};
environment = {
PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=cfg.dataDir;
PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver";
# Configuration for our FHS userenv script
PLEX_DATADIR=cfg.dataDir;
PLEX_PLUGINS=concatMapStringsSep ":" builtins.toString cfg.extraPlugins;
# The following variables should be set by the FHS userenv script:
# PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR
# PLEX_MEDIA_SERVER_HOME
# Allow access to GPU acceleration; the Plex LD_LIBRARY_PATH is added
# by the FHS userenv script.
LD_LIBRARY_PATH="/run/opengl-driver/lib";
PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6";
PLEX_MEDIA_SERVER_TMPDIR="/tmp";
PLEX_MEDIA_SERVER_USE_SYSLOG="true";
LD_LIBRARY_PATH="/run/opengl-driver/lib:${cfg.package}/usr/lib/plexmediaserver/lib";
LC_ALL="en_US.UTF-8";
LANG="en_US.UTF-8";
};

View File

@ -0,0 +1,312 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.networking.wg-quick;
kernel = config.boot.kernelPackages;
# interface options
interfaceOpts = { ... }: {
options = {
address = mkOption {
example = [ "192.168.2.1/24" ];
default = [];
type = with types; listOf str;
description = "The IP addresses of the interface.";
};
dns = mkOption {
example = [ "192.168.2.2" ];
default = [];
type = with types; listOf str;
description = "The IP addresses of DNS servers to configure.";
};
privateKey = mkOption {
example = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=";
type = with types; nullOr str;
default = null;
description = ''
Base64 private key generated by wg genkey.
Warning: Consider using privateKeyFile instead if you do not
want to store the key in the world-readable Nix store.
'';
};
privateKeyFile = mkOption {
example = "/private/wireguard_key";
type = with types; nullOr str;
default = null;
description = ''
Private key file as generated by wg genkey.
'';
};
listenPort = mkOption {
default = null;
type = with types; nullOr int;
example = 51820;
description = ''
16-bit port for listening. Optional; if not specified,
automatically generated based on interface name.
'';
};
preUp = mkOption {
example = literalExample ''
${pkgs.iproute}/bin/ip netns add foo
'';
default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
description = ''
Commands called at the start of the interface setup.
'';
};
preDown = mkOption {
example = literalExample ''
${pkgs.iproute}/bin/ip netns del foo
'';
default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
description = ''
Command called before the interface is taken down.
'';
};
postUp = mkOption {
example = literalExample ''
${pkgs.iproute}/bin/ip netns add foo
'';
default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
description = ''
Commands called after the interface setup.
'';
};
postDown = mkOption {
example = literalExample ''
${pkgs.iproute}/bin/ip netns del foo
'';
default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
description = ''
Command called after the interface is taken down.
'';
};
table = mkOption {
example = "main";
default = null;
type = with types; nullOr str;
description = ''
The kernel routing table to add this interface's
associated routes to. Setting this is useful for e.g. policy routing
("ip rule") or virtual routing and forwarding ("ip vrf"). Both numeric
table IDs and table names (/etc/rt_tables) can be used. Defaults to
"main".
'';
};
mtu = mkOption {
example = 1248;
default = null;
type = with types; nullOr int;
description = ''
If not specified, the MTU is automatically determined
from the endpoint addresses or the system default route, which is usually
a sane choice. However, to manually specify an MTU to override this
automatic discovery, this value may be specified explicitly.
'';
};
peers = mkOption {
default = [];
description = "Peers linked to the interface.";
type = with types; listOf (submodule peerOpts);
};
};
};
# peer options
peerOpts = {
options = {
publicKey = mkOption {
example = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=";
type = types.str;
description = "The base64 public key the peer.";
};
presharedKey = mkOption {
default = null;
example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I=";
type = with types; nullOr str;
description = ''
Base64 preshared key generated by wg genpsk. Optional,
and may be omitted. This option adds an additional layer of
symmetric-key cryptography to be mixed into the already existing
public-key cryptography, for post-quantum resistance.
Warning: Consider using presharedKeyFile instead if you do not
want to store the key in the world-readable Nix store.
'';
};
presharedKeyFile = mkOption {
default = null;
example = "/private/wireguard_psk";
type = with types; nullOr str;
description = ''
File pointing to preshared key as generated by wg pensk. Optional,
and may be omitted. This option adds an additional layer of
symmetric-key cryptography to be mixed into the already existing
public-key cryptography, for post-quantum resistance.
'';
};
allowedIPs = mkOption {
example = [ "10.192.122.3/32" "10.192.124.1/24" ];
type = with types; listOf str;
description = ''List of IP (v4 or v6) addresses with CIDR masks from
which this peer is allowed to send incoming traffic and to which
outgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may
be specified for matching all IPv4 addresses, and ::/0 may be specified
for matching all IPv6 addresses.'';
};
endpoint = mkOption {
default = null;
example = "demo.wireguard.io:12913";
type = with types; nullOr str;
description = ''Endpoint IP or hostname of the peer, followed by a colon,
and then a port number of the peer.'';
};
persistentKeepalive = mkOption {
default = null;
type = with types; nullOr int;
example = 25;
description = ''This is optional and is by default off, because most
users will not need it. It represents, in seconds, between 1 and 65535
inclusive, how often to send an authenticated empty packet to the peer,
for the purpose of keeping a stateful firewall or NAT mapping valid
persistently. For example, if the interface very rarely sends traffic,
but it might at anytime receive traffic from a peer, and it is behind
NAT, the interface might benefit from having a persistent keepalive
interval of 25 seconds; however, most users will not need this.'';
};
};
};
writeScriptFile = name: text: ((pkgs.writeShellScriptBin name text) + "/bin/${name}");
generateUnit = name: values:
assert assertMsg ((values.privateKey != null) != (values.privateKeyFile != null)) "Only one of privateKey or privateKeyFile may be set";
let
preUpFile = if values.preUp != "" then writeScriptFile "preUp.sh" values.preUp else null;
postUp =
optional (values.privateKeyFile != null) "wg set ${name} private-key <(cat ${values.privateKeyFile})" ++
(concatMap (peer: optional (peer.presharedKeyFile != null) "wg set ${name} peer ${peer.publicKey} preshared-key <(cat ${peer.presharedKeyFile})") values.peers) ++
optional (values.postUp != null) values.postUp;
postUpFile = if postUp != [] then writeScriptFile "postUp.sh" (concatMapStringsSep "\n" (line: line) postUp) else null;
preDownFile = if values.preDown != "" then writeScriptFile "preDown.sh" values.preDown else null;
postDownFile = if values.postDown != "" then writeScriptFile "postDown.sh" values.postDown else null;
configDir = pkgs.writeTextFile {
name = "config-${name}";
executable = false;
destination = "/${name}.conf";
text =
''
[interface]
${concatMapStringsSep "\n" (address:
"Address = ${address}"
) values.address}
${concatMapStringsSep "\n" (dns:
"DNS = ${dns}"
) values.dns}
'' +
optionalString (values.table != null) "Table = ${values.table}\n" +
optionalString (values.mtu != null) "MTU = ${toString values.mtu}\n" +
optionalString (values.privateKey != null) "PrivateKey = ${values.privateKey}\n" +
optionalString (values.listenPort != null) "ListenPort = ${toString values.listenPort}\n" +
optionalString (preUpFile != null) "PreUp = ${preUpFile}\n" +
optionalString (postUpFile != null) "PostUp = ${postUpFile}\n" +
optionalString (preDownFile != null) "PreDown = ${preDownFile}\n" +
optionalString (postDownFile != null) "PostDown = ${postDownFile}\n" +
concatMapStringsSep "\n" (peer:
assert assertMsg (!((peer.presharedKeyFile != null) && (peer.presharedKey != null))) "Only one of presharedKey or presharedKeyFile may be set";
"[Peer]\n" +
"PublicKey = ${peer.publicKey}\n" +
optionalString (peer.presharedKey != null) "PresharedKey = ${peer.presharedKey}\n" +
optionalString (peer.endpoint != null) "Endpoint = ${peer.endpoint}\n" +
optionalString (peer.persistentKeepalive != null) "PersistentKeepalive = ${toString peer.persistentKeepalive}\n" +
optionalString (peer.allowedIPs != []) "AllowedIPs = ${concatStringsSep "," peer.allowedIPs}\n"
) values.peers;
};
configPath = "${configDir}/${name}.conf";
in
nameValuePair "wg-quick-${name}"
{
description = "wg-quick WireGuard Tunnel - ${name}";
requires = [ "network-online.target" ];
after = [ "network.target" "network-online.target" ];
wantedBy = [ "multi-user.target" ];
environment.DEVICE = name;
path = [ pkgs.kmod pkgs.wireguard-tools ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
${optionalString (!config.boot.isContainer) "modprobe wireguard"}
wg-quick up ${configPath}
'';
preStop = ''
wg-quick down ${configPath}
'';
};
in {
###### interface
options = {
networking.wg-quick = {
interfaces = mkOption {
description = "Wireguard interfaces.";
default = {};
example = {
wg0 = {
address = [ "192.168.20.4/24" ];
privateKey = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=";
peers = [
{ allowedIPs = [ "192.168.20.1/32" ];
publicKey = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=";
endpoint = "demo.wireguard.io:12913"; }
];
};
};
type = with types; attrsOf (submodule interfaceOpts);
};
};
};
###### implementation
config = mkIf (cfg.interfaces != {}) {
boot.extraModulePackages = [ kernel.wireguard ];
environment.systemPackages = [ pkgs.wireguard-tools ];
# This is forced to false for now because the default "--validmark" rpfilter we apply on reverse path filtering
# breaks the wg-quick routing because wireguard packets leave with a fwmark from wireguard.
networking.firewall.checkReversePath = false;
systemd.services = mapAttrs' generateUnit cfg.interfaces;
};
}

View File

@ -182,6 +182,7 @@ in
osrm-backend = handleTest ./osrm-backend.nix {};
ostree = handleTest ./ostree.nix {};
overlayfs = handleTest ./overlayfs.nix {};
packagekit = handleTest ./packagekit.nix {};
pam-oath-login = handleTest ./pam-oath-login.nix {};
pam-u2f = handleTest ./pam-u2f.nix {};
pantheon = handleTest ./pantheon.nix {};

View File

@ -0,0 +1,24 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "packagekit";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ peterhoeg ];
};
machine = { ... }: {
environment.systemPackages = with pkgs; [ dbus ];
services.packagekit = {
enable = true;
backend = "test_nop";
};
};
testScript = ''
startAll;
# send a dbus message to activate the service
$machine->succeed("dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect");
# so now it should be running
$machine->succeed("systemctl is-active packagekit.service");
'';
})

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "padthv1-${version}";
version = "0.9.5";
version = "0.9.6";
src = fetchurl {
url = "mirror://sourceforge/padthv1/${name}.tar.gz";
sha256 = "0cd1jfb3ynfrsbz8jwfsbvs5liyddxg4zghrvz931qkkqi117hbh";
sha256 = "0ddvlpjlg6zr9ckanqhisw0sgm8rxibvj1aj5dxzs9xb2wlwd8rr";
};
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];

View File

@ -14,9 +14,9 @@ let
};
betaVersion = stableVersion;
latestVersion = { # canary & dev
version = "3.5.0.11"; # "Android Studio 3.5 Canary 12"
build = "191.5471097";
sha256Hash = "1dz9iy8f12fzqp8wv9c5v01d33djy97aha8rxxp18vi6myak42ca";
version = "3.5.0.12"; # "Android Studio 3.5 Canary 13"
build = "191.5487692";
sha256Hash = "0iwd2qa551rs9b0w4rs7wmzdbh3r4j76xvs815l6i5pilk0s47gz";
};
in rec {
# Attributes are named by their corresponding release channels

View File

@ -10,12 +10,12 @@ let
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in stdenv.mkDerivation rec {
version = "3.4.6";
version = "3.4.7";
name = "qgis-unwrapped-${version}";
src = fetchurl {
url = "http://qgis.org/downloads/qgis-${version}.tar.bz2";
sha256 = "1skdimcbcv41hi4ii7iq8ka29k2zizzqv04fwidzfbxqclz7300h";
sha256 = "15w2cb5ac0n3g3jbnbk6qyqs7kx3y64zbyvcsw09p0dn9rnw4hdr";
};
passthru = {

View File

@ -3,13 +3,14 @@
}:
stdenv.mkDerivation rec {
name = "epeg-0.9.1.042"; # version taken from configure.ac
pname = "epeg";
version = "0.9.2";
src = fetchFromGitHub {
owner = "mattes";
repo = "epeg";
rev = "248ae9fc3f1d6d06e6062a1f7bf5df77d4f7de9b";
sha256 = "14ad33w3pxrg2yfc2xzyvwyvjirwy2d00889dswisq8b84cmxfia";
rev = "v${version}";
sha256 = "14bjl9v6zzac4df25gm3bkw3n0mza5iazazsi65gg3m6661x6c5g";
};
enableParallelBuilding = true;

View File

@ -9,11 +9,11 @@ let
pythonPackages = python27Packages;
in stdenv.mkDerivation rec {
name = "freecad-${version}";
version = "0.17";
version = "0.18.1";
src = fetchurl {
url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz";
sha256 = "1yv6abdzlpn4wxy315943xwrnbywxqfgkjib37qwfvbb8y9p60df";
sha256 = "0lamrs84zv99v4z7yi6d9amjmnh7r6frairc2aajgfic380720bc";
};
buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts
@ -22,14 +22,6 @@ in stdenv.mkDerivation rec {
matplotlib pycollada pyside pysideShiboken pysideTools pivy python boost
]);
patches = [
# Fix for finding boost_python. Boost >= 1.67.0 appends the Python version.
(fetchpatch {
url = https://github.com/FreeCAD/FreeCAD/commit/3c9e6b038ed544e446c61695dab62f83e781a28a.patch;
sha256 = "0f09qywzn0y41hylizb5g8jy74fi53iqmvqr5zznaz16wpw4hqbp";
})
];
enableParallelBuilding = true;
# This should work on both x86_64, and i686 linux
@ -45,40 +37,8 @@ in stdenv.mkDerivation rec {
postInstall = ''
wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \
--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
mkdir -p $out/share/mime/packages
cat << EOF > $out/share/mime/packages/freecad.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-extension-fcstd">
<sub-class-of type="application/zip"/>
<comment>FreeCAD Document</comment>
<glob pattern="*.fcstd"/>
</mime-type>
</mime-info>
EOF
mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications/
for entry in $out/share/applications/*.desktop; do
substituteAllInPlace $entry
done
'';
desktopItem = makeDesktopItem {
name = "freecad";
desktopName = "FreeCAD";
genericName = "CAD Application";
comment = meta.description;
exec = "@out@/bin/FreeCAD %F";
categories = "Science;Education;Engineering;";
startupNotify = "true";
mimeType = "application/x-extension-fcstd;";
extraEntries = ''
Path=@out@/share/freecad
'';
};
meta = with stdenv.lib; {
description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
homepage = https://www.freecadweb.org/;

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
description = "Open Source 3D voxel editor";
homepage = https://guillaumechereau.github.io/goxel/;
license = licenses.gpl3;
platforms = [ "x86_64-linux" ]; # see https://github.com/guillaumechereau/goxel/issues/125
platforms = platforms.linux;
maintainers = with maintainers; [ tilpner ];
};
}

View File

@ -2,7 +2,7 @@
, gtk3, keybinder3, libnotify, libutempter, vte }:
let
version = "3.4.0";
version = "3.5.0";
in python3.pkgs.buildPythonApplication rec {
name = "guake-${version}";
format = "other";
@ -11,7 +11,7 @@ in python3.pkgs.buildPythonApplication rec {
owner = "Guake";
repo = "guake";
rev = version;
sha256 = "1j38z968ha8ij6wrgbwvr8ad930nvhybm9g7pf4s4zv6d3vln0vm";
sha256 = "0fz0gciw5fpxrp6yyji27l7q8c0r9ljsq6vw584mr70bcl1gzjqx";
};
# Strict deps breaks guake
@ -29,12 +29,6 @@ in python3.pkgs.buildPythonApplication rec {
PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
postPatch = ''
# unnecessary /usr/bin/env in Makefile
# https://github.com/Guake/guake/pull/1285
substituteInPlace "Makefile" --replace "/usr/bin/env python3" "python3"
'';
makeFlags = [
"prefix=$(out)"
];

View File

@ -1,31 +1,26 @@
{ stdenv, appimage-run, fetchurl, gsettings-desktop-schemas, gtk3, gobject-introspection, wrapGAppsHook }:
{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
let
pname = "joplin-desktop";
version = "1.0.143";
sha256 = "1waglwxpr18a07m7ix9al6ac4hrdqzzqmy1qgp45b922nbkw9g10";
in
stdenv.mkDerivation rec {
name = "joplin-${version}";
in appimageTools.wrapType2 rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}-x86_64.AppImage";
inherit sha256;
sha256 = "1waglwxpr18a07m7ix9al6ac4hrdqzzqmy1qgp45b922nbkw9g10";
};
nativeBuildInputs = [ wrapGAppsHook ];
buildInputs = [ appimage-run gtk3 gsettings-desktop-schemas gobject-introspection ];
unpackPhase = ":";
installPhase = ''
mkdir -p $out/{bin,share}
cp $src $out/share/joplin.AppImage
echo "#!/bin/sh" > $out/bin/joplin-desktop
echo "${appimage-run}/bin/appimage-run $out/share/joplin.AppImage" >> $out/bin/joplin-desktop
chmod +x $out/bin/joplin-desktop $out/share/joplin.AppImage
profile = ''
export LC_ALL=C.UTF-8
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
meta = with stdenv.lib; {
multiPkgs = null; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
meta = with lib; {
description = "An open source note taking and to-do application with synchronisation capabilities";
longDescription = ''
Joplin is a free, open source note taking and to-do application, which can

View File

@ -18,8 +18,11 @@ stdenv.mkDerivation rec {
qmakeFlags = [ "MUPARSER_DIR=${muparser}" "BOOST_DIR=${boost.dev}" ];
installPhase = ''
mkdir -p $out/bin $out/share
cp -R unix/librecad $out/bin
install -m 555 -D unix/librecad $out/bin/librecad
install -m 444 -D desktop/librecad.desktop $out/share/applications/librecad.desktop
install -m 444 -D desktop/librecad.sharedmimeinfo $out/share/mime/packages/librecad.xml
install -m 444 -D desktop/graphics_icons_and_splash/Icon\ LibreCAD/Icon_Librecad.svg \
$out/share/icons/hicolor/scalable/apps/librecad.svg
cp -R unix/resources $out/share/librecad
'';

View File

@ -0,0 +1,30 @@
{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
let
pname = "notable";
version = "1.4.0";
in
appimageTools.wrapType2 rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage";
sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr";
};
profile = ''
export LC_ALL=C.UTF-8
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
multiPkgs = null; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
meta = with lib; {
description = "The markdown-based note-taking app that doesn't suck";
homepage = https://github.com/notable/notable;
license = licenses.agpl3;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ dtzWill ];
};
}

View File

@ -4,7 +4,7 @@
, python, pygobject3, gtk3, gnome3, substituteAll
, at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas
, speechd, brltty, setproctitle, gst_all_1, gst-python
, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python
}:
buildPythonApplication rec {
@ -34,10 +34,11 @@ buildPythonApplication rec {
];
propagatedBuildInputs = [
# TODO: re-add liblouis when it is fixed
pygobject3 pyatspi dbus-python pyxdg brltty speechd gst-python setproctitle
pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
];
strictDeps = false;
buildInputs = [
python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas
gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good

View File

@ -1,26 +1,29 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
, wxGTK31, libXi, libXt, libXtst, xercesc, xorgproto
, wxGTK31, libXext, libXi, libXt, libXtst, xercesc
, qrencode, libuuid, libyubikey, yubikey-personalization
, curl, openssl
}:
stdenv.mkDerivation rec {
pname = "pwsafe";
version = "1.06";
name = "${pname}-${version}";
version = "1.07";
src = fetchFromGitHub {
owner = "${pname}";
repo = "${pname}";
rev = "${version}BETA";
sha256 = "1q3xi7i4r3nmz3hc79lx8l15sr1nqhwbi3lrnfqr356nv6aaf03y";
sha256 = "0syxmliybgvm9j6d426l7j12ryrl42azy80m66jc56fv9nkqwaya";
};
nativeBuildInputs = [ cmake pkgconfig zip ];
nativeBuildInputs = [
cmake gettext perl pkgconfig zip
];
buildInputs = [
gettext perl qrencode libuuid
libXi libXt libXtst wxGTK31 xercesc xorgproto
libXext libXi libXt libXtst wxGTK31
curl qrencode libuuid openssl xercesc
libyubikey yubikey-personalization
];
cmakeFlags = [
"-DNO_GTEST=ON"
"-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1"

View File

@ -0,0 +1,18 @@
{ stdenv, python3Packages }:
python3Packages.buildPythonPackage rec {
pname = "pydf";
version = "12";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "7f47a7c3abfceb1ac04fc009ded538df1ae449c31203962a1471a4eb3bf21439";
};
meta = with stdenv.lib; {
description = "colourised df(1)-clone";
homepage = http://kassiopeia.juls.savba.sk/~garabik/software/pydf/;
license = licenses.publicDomain;
maintainers = with maintainers; [ monsieurp ];
};
}

View File

@ -0,0 +1,34 @@
{ fetchurl, stdenv, makeWrapper, which, perl, perlPackages }:
stdenv.mkDerivation rec {
name = "taskopen-1.1.4";
src = fetchurl {
url = "https://github.com/ValiValpas/taskopen/archive/v1.1.4.tar.gz";
sha256 = "774dd89f5c92462098dd6227e181268e5ec9930bbc569f25784000df185c71ba";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ which perl ] ++ (with perlPackages; [ JSON ]);
installPhase = ''
# We don't need a DESTDIR and an empty string results in an absolute path
# (due to the trailing slash) which breaks the build.
sed 's|$(DESTDIR)/||' -i Makefile
make PREFIX=$out
make PREFIX=$out install
'';
postFixup = ''
wrapProgram $out/bin/taskopen \
--set PERL5LIB "$PERL5LIB"
'';
meta = with stdenv.lib; {
description = "Script for taking notes and open urls with taskwarrior";
homepage = https://github.com/ValiValpas/taskopen;
platforms = platforms.linux;
license = stdenv.lib.licenses.free ;
maintainers = [ maintainers.winpat ];
};
}

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "1lpgkf292f6v6v19zjp1si6vvizixk9192yjx76pq1d790678qrb";
sha256bin64 = "028c3gjh5zbxr53wkk3s5jvgwc2fz9cnvnyr58q4la91vyrbjslm";
version = "74.0.3729.61";
sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy";
sha256bin64 = "1zzmk08y2rhirm297a91bvq5q30vvxll8fzfp7z5cpqb6az80y2h";
version = "74.0.3729.108";
};
dev = {
sha256 = "15197r2gbx4h7dsasvgz0vcl7mqmj0glc4sip99dw145drwdpmsq";
sha256bin64 = "1qf089l5k7l69msrn49z5lkg932n1rgnzgr9yg5ja89arcgynacv";
version = "75.0.3753.4";
sha256 = "1wrg4r2q043i8i4vq9zn69yvnzjxzmxyn21k367909kci83hhi44";
sha256bin64 = "1jv9wi4nddijjp9y0r77rxciqsd1rkd87ipvagyq5nzpxr6wdzsa";
version = "75.0.3766.2";
};
stable = {
sha256 = "1bskjr7yiwvdab1b5mp36y6964xqpgks6dqazm4qifwqvqcw80pb";
sha256bin64 = "00ndrqhmnk567sw6xj22m84126qvivq0jzfx0v46ya3kq6ln22gr";
version = "73.0.3683.103";
sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy";
sha256bin64 = "0zs3khzszppmjf5s4rs6fbmhgc9y0abj4q4q8j3hn6nisddi9q9c";
version = "74.0.3729.108";
};
}

View File

@ -3,12 +3,12 @@
with stdenv.lib;
stdenv.mkDerivation rec {
version = "1.4.3";
name = "mpop-${version}";
pname = "mpop";
version = "1.4.4";
src = fetchurl {
url = "https://marlam.de/mpop/releases/${name}.tar.xz";
sha256 = "1di86frxv4gj8fasni409m87qmv0j0vmj13lawkz1pwv9hbynhjb";
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
sha256 = "0j21cp8bw12vgfymxi3i4av3j97lrcyb5y9xa3mb59wr17izz73x";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -9,12 +9,11 @@ let
in stdenv.mkDerivation rec {
pname = "msmtp";
name = "${pname}-${version}";
version = "1.8.3";
version = "1.8.4";
src = fetchurl {
url = "https://marlam.de/msmtp/releases/${name}.tar.xz";
sha256 = "1d4jdgrx4czp66nnwdsy938lzr4llhwyy0715pwg0j6h6gyyxciw";
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
sha256 = "1xr926lyy44baqdgv9q0sw5z6ll2cb4lx2g4lgpgbqn8bglpzpg5";
};
patches = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atlassian-cli-${version}";
version = "8.0.0";
version = "8.2.0";
src = fetchzip {
url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${name}-distribution.zip";
sha256 = "0ysyam06ll70d0baa3hb7wcgqnqflssr64bqjr3db6fnk1q096m8";
sha256 = "0lcyyay2fyywcn096y33d77r6fpvwggv5qdkky5qy16lh6rfx1lm";
extraPostFetch = "chmod go-w $out";
};

View File

@ -0,0 +1,31 @@
{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
let
pname = "minetime";
version = "1.5.1";
in
appimageTools.wrapType2 rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage";
sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz";
};
profile = ''
export LC_ALL=C.UTF-8
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
multiPkgs = null; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
meta = with lib; {
description = "Modern, intuitive and smart calendar application";
homepage = https://minetime.ai;
license = licenses.unfree;
# Should be cross-platform, but for now we just grab the appimage
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ dtzWill ];
};
}

View File

@ -16,7 +16,11 @@ stdenv.mkDerivation rec {
"PREFIX=$(out)"
"LUA_INCLUDE=${lua52Packages.lua}/include"
"LUA_LIB=${lua52Packages.lua}/lib/liblua.so"
] ++ stdenv.lib.optional stdenv.isLinux "XFT_PACKAGE=--libs=\{-lX11 -lXft\}";
];
preBuild = stdenv.lib.optionalString stdenv.isLinux ''
makeFlagsArray+=('XFT_PACKAGE=--cflags={} --libs={-lX11 -lXft}')
'';
dontUseNinjaBuild = true;
dontUseNinjaInstall = true;

View File

@ -0,0 +1,65 @@
{ gccStdenv, fetchFromGitLab, zlib }:
let
stdenv = gccStdenv;
meta = with stdenv.lib; {
description = "Fast and exact comparison and clustering of sequences";
homepage = https://metabarcoding.org/sumatra;
maintainers = [ maintainers.bzizou ];
platforms = platforms.unix;
};
in rec {
# Suma library
sumalibs = stdenv.mkDerivation rec {
version = "1.0.34";
pname = "sumalibs";
src = fetchFromGitLab {
domain = "git.metabarcoding.org";
owner = "obitools";
repo = pname;
rev = "sumalib_v${version}";
sha256 = "0hwkrxzfz7m5wdjvmrhkjg8kis378iaqr5n4nhdhkwwhn8x1jn5a";
};
makeFlags = "PREFIX=$(out)";
};
# Sumatra
sumatra = stdenv.mkDerivation rec {
version = "1.0.34";
pname = "sumatra";
src = fetchFromGitLab {
domain = "git.metabarcoding.org";
owner = "obitools";
repo = pname;
rev = "${pname}_v${version}";
sha256 = "1bbpbdkshdc3xffqnr1qfy8qk64ldsmdc3s8mrcrlx132rgbi5f6";
};
buildInputs = [ sumalibs zlib ];
makeFlags = [
"LIBSUMA=${sumalibs}/lib/libsuma.a"
"LIBSUMAPATH=-L${sumalibs}"
"PREFIX=$(out)"
];
};
# Sumaclust
sumaclust = stdenv.mkDerivation rec {
version = "1.0.34";
pname = "sumaclust";
src = fetchFromGitLab {
domain = "git.metabarcoding.org";
owner = "obitools";
repo = pname;
rev = "${pname}_v${version}";
sha256 = "0x8yi3k3jxhmv2krp4rcjlj2f9zg0qrk7gx4kpclf9c3yxgsgrds";
};
buildInputs = [ sumalibs ];
makeFlags = [
"LIBSUMA=${sumalibs}/lib/libsuma.a"
"LIBSUMAPATH=-L${sumalibs}"
"PREFIX=$(out)"
];
};
}

View File

@ -13,11 +13,11 @@ let
in
stdenv.mkDerivation rec {
name = "eagle-${version}";
version = "9.3.1";
version = "9.3.2";
src = fetchurl {
url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
sha256 = "0hrbw368kskjzwjnqrri5j7c10d0z5m81h3s9zhqfrmwym42vdc5";
sha256 = "0xrrd2d86gxrkbqvssbg8zki40hk05h48w73b0hv7wnc7wg1msir";
};
desktopItem = makeDesktopItem {

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
, zlib, libGLU_combined, libGLU, xorg }:
let version = "4.2.2"; in
let version = "4.2.3"; in
stdenv.mkDerivation {
name = "gmsh-${version}";
src = fetchurl {
url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
sha256 = "e9ee9f5c606bbec5f2adbb8c3d6023c4e2577f487fa4e4ecfcfc94a241cc8dcc";
sha256 = "0n18wmj8i4m1pzri3r0676lx1427zf8qmsrgnn07drv6if1cia2q";
};
buildInputs = [ cmake openblasCompat gmm fltk libjpeg zlib libGLU_combined

View File

@ -1,20 +1,18 @@
{ stdenv, fetchurl, pythonPackages} :
{ stdenv, fetchFromGitHub, pythonPackages} :
pythonPackages.buildPythonApplication rec {
name = "git-review-${version}";
version = "1.27.0";
pname = "git-review";
version = "1.28.0";
# Manually set version because prb wants to get it from the git
# upstream repository (and we are installing from tarball instead)
PBR_VERSION = "${version}";
postPatch = ''
sed -i -e '/argparse/d' requirements.txt
'';
src = fetchurl rec {
url = "https://github.com/openstack-infra/git-review/archive/${version}.tar.gz";
sha256 = "0smdkps9avnj58izyfc5m0amq8nafgs9iqlyaf7ncrlvypia1f3q";
src = fetchFromGitHub rec {
owner = "openstack-infra";
repo = pname;
rev = version;
sha256 = "1hgw1dkl94m3idv4izc7wf2j7al2c7nnsqywy7g53nzkv9pfv47s";
};
propagatedBuildInputs = with pythonPackages; [ pbr requests setuptools ];

View File

@ -27,8 +27,11 @@ buildGoPackage rec {
nativeBuildInputs = [ makeWrapper ]
++ optional pamSupport pam;
buildFlags = optional sqliteSupport "-tags sqlite"
++ optional pamSupport "-tags pam";
buildFlags = "-tags";
buildFlagsArray =
( optional sqliteSupport "sqlite"
++ optional pamSupport "pam");
outputs = [ "bin" "out" "data" ];

View File

@ -23,7 +23,7 @@ rec {
buildCommand = ''
install $src ./appimage
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
--replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
./appimage
@ -33,7 +33,7 @@ rec {
'';
};
wrapAppImage = { name, src, extraPkgs }: buildFHSUserEnv (defaultFhsEnvArgs // {
wrapAppImage = args@{ name, src, extraPkgs, ... }: buildFHSUserEnv (defaultFhsEnvArgs // {
inherit name;
targetPkgs = pkgs: defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs;
@ -46,17 +46,15 @@ rec {
cd $APPDIR
exec ./AppRun "$@"
'';
} // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
src = extractType1 { inherit name src; };
});
wrapType1 = args@{ name, src, extraPkgs ? pkgs: [] }: wrapAppImage {
inherit name extraPkgs;
src = extractType1 { inherit name src; };
};
wrapType2 = args@{ name, src, extraPkgs ? pkgs: [] }: wrapAppImage {
inherit name extraPkgs;
wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
src = extractType2 { inherit name src; };
};
});
defaultFhsEnvArgs = {
name = "appimage-env";

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "xkcd-font";
version = "unstable-2017-08-24";
src = fetchFromGitHub {
owner = "ipython";
repo = pname;
rev = "5632fde618845dba5c22f14adc7b52bf6c52d46d";
sha256 = "01wpfc1yp93b37r472mx2b459il5gywnv5sl7pp9afpycb3i4f6l";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
install -Dm444 -t $out/share/fonts/opentype/ xkcd/build/xkcd.otf
install -Dm444 -t $out/share/fonts/truetype/ xkcd-script/font/xkcd-script.ttf
'';
meta = with stdenv.lib; {
description = "The xkcd font";
homepage = https://github.com/ipython/xkcd-font;
license = licenses.cc-by-nc-30;
platforms = platforms.all;
maintainers = [ maintainers.marsam ];
};
}

View File

@ -1,8 +1,8 @@
import ./generic.nix {
major_version = "4";
minor_version = "08";
patch_version = "0+beta2";
sha256 = "1ngsrw74f3hahzsglxkrdxzv86bkmpsiaaynnzjwfwyzvy8sqrac";
patch_version = "0+beta3";
sha256 = "02pk4bxrgqb12hvpbxyqnl4nwr4g2h96wsfzfd1k8vj8h0jmxzc4";
# If the executable is stripped it does not work
dontStrip = true;

View File

@ -89,8 +89,9 @@ let result = stdenv.mkDerivation rec {
armv7l-linux = "linux-arm32-vfp-hflt";
aarch64-linux = "linux-arm64-vfp-hflt";
}.${stdenv.hostPlatform.system};
javadlPlatformName = "linux-i586";
in fetchurl {
url = "http://download.oracle.com/otn-pub/java/jdk/${productVersion}u${patchVersion}-b${buildVersion}/${releaseToken}/jdk-${productVersion}u${patchVersion}-${platformName}.tar.gz";
url = "http://javadl.oracle.com/webapps/download/GetFile/1.${productVersion}.0_${patchVersion}-b${buildVersion}/${releaseToken}/${javadlPlatformName}/jdk-${productVersion}u${patchVersion}-${platformName}.tar.gz";
curlOpts = "-b oraclelicense=a";
sha256 = sha256.${stdenv.hostPlatform.system};
};

View File

@ -17,20 +17,20 @@ let
'';
in stdenv.mkDerivation rec {
name = "purs-simple";
version = "v0.12.4";
pname = "purescript";
version = "0.12.5";
src =
if stdenv.isDarwin
then
fetchurl {
url = "https://github.com/purescript/purescript/releases/download/v0.12.4/macos.tar.gz";
sha256 = "046b18plakwvqr77x1hybhfiyzrhnnq0q5ixcmypri1mkkdsmczx";
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
sha256 = "15j9lkrl15dicx37bmh0199b3qdixig7w24wvdzi20jqbacz8nkn";
}
else
fetchurl {
url = "https://github.com/purescript/purescript/releases/download/v0.12.4/linux64.tar.gz";
sha256 = "18yny533sjfgacxqx1ki306nhznj4q6nv52c83l82gqj8amyj7k0";
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
sha256 = "07dva5gxq77g787krscv4dsz5088fzkvpmm9fwxw9a59jszzs7kq";
};

View File

@ -1,7 +1,12 @@
{ stdenv, fetchFromGitHub, coq, Cheerios, InfSeqExt, ssreflect }:
let param =
if stdenv.lib.versionAtLeast coq.coq-version "8.7" then
{
version = "20190202";
rev = "bc193be9ea8485add7646a0f72e2aa76a9c7e01f";
sha256 = "1adkwxnmc9qfah2bya0hpd2vzkmk1y212z4n7fcmvr1a85ykgd7z";
} else {
version = "20181102";
rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564";
sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z";

View File

@ -1259,7 +1259,7 @@ self: super: {
# Use latest pandoc despite what LTS says.
# Test suite fails in both 2.5 and 2.6: https://github.com/jgm/pandoc/issues/5309.
pandoc = doDistribute super.pandoc_2_7_2;
pandoc-citeproc = doDistribute super.pandoc-citeproc_0_16_1_3;
pandoc-citeproc = doDistribute super.pandoc-citeproc_0_16_2;
# https://github.com/qfpl/tasty-hedgehog/issues/24
tasty-hedgehog = dontCheck super.tasty-hedgehog;

View File

@ -46,7 +46,7 @@ default-package-overrides:
# Newer versions don't work in LTS-12.x
- alsa-mixer < 0.3
- cassava-megaparsec < 2
# LTS Haskell 13.17
# LTS Haskell 13.18
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -239,7 +239,7 @@ default-package-overrides:
- avers ==0.0.17.1
- avers-api ==0.1.0
- avers-server ==0.1.0.1
- avro ==0.4.4.1
- avro ==0.4.4.2
- avwx ==0.3.0.2
- axel ==0.0.9
- backprop ==0.2.6.2
@ -382,6 +382,8 @@ default-package-overrides:
- ChannelT ==0.0.0.7
- charset ==0.3.7.1
- charsetdetect-ae ==1.1.0.4
- Chart ==1.9.1
- Chart-diagrams ==1.9.2
- chaselev-deque ==0.5.0.5
- cheapskate ==0.1.1.1
- cheapskate-highlight ==0.1.0.0
@ -588,6 +590,7 @@ default-package-overrides:
- diagrams-contrib ==1.4.3
- diagrams-core ==1.4.1.1
- diagrams-lib ==1.4.2.3
- diagrams-postscript ==1.4.1
- diagrams-rasterific ==1.4.1.1
- diagrams-solve ==0.1.1
- diagrams-svg ==1.4.2
@ -815,7 +818,7 @@ default-package-overrides:
- getopt-generics ==0.13.0.3
- ghc-core ==0.5.6
- ghc-exactprint ==0.5.8.2
- ghcid ==0.7.2
- ghcid ==0.7.4
- ghci-hexcalc ==0.1.0.2
- ghcjs-codemirror ==0.0.0.2
- ghc-paths ==0.1.0.9
@ -1043,6 +1046,7 @@ default-package-overrides:
- http-common ==0.8.2.0
- http-conduit ==2.3.7
- http-date ==0.0.8
- http-directory ==0.1.1
- httpd-shed ==0.4.0.3
- http-link-header ==1.0.3.1
- http-media ==0.7.1.3
@ -1116,7 +1120,7 @@ default-package-overrides:
- insert-ordered-containers ==0.2.1.0
- inspection-testing ==0.4.1.2
- instance-control ==0.1.2.0
- integer-logarithms ==1.0.2.2
- integer-logarithms ==1.0.3
- integration ==0.2.1
- intern ==0.9.2
- interpolate ==0.2.0
@ -1196,7 +1200,7 @@ default-package-overrides:
- language-haskell-extract ==0.2.4
- language-java ==0.2.9
- language-javascript ==0.6.0.11
- language-puppet ==1.4.3
- language-puppet ==1.4.4
- lapack-ffi ==0.0.2
- lapack-ffi-tools ==0.1.2
- largeword ==1.2.5
@ -1260,7 +1264,7 @@ default-package-overrides:
- long-double ==0.1
- loop ==0.3.0
- lrucaching ==0.3.3
- lsp-test ==0.5.1.0
- lsp-test ==0.5.1.1
- lucid ==2.9.11
- lucid-extras ==0.1.0.1
- lxd-client-config ==0.1.0.1
@ -1422,7 +1426,7 @@ default-package-overrides:
- network-messagepack-rpc ==0.1.1.0
- network-multicast ==0.2.0
- network-simple ==0.4.3
- network-simple-tls ==0.3.1
- network-simple-tls ==0.3.2
- network-transport ==0.5.2
- network-transport-composed ==0.2.1
- network-uri ==2.6.1.0
@ -1526,7 +1530,7 @@ default-package-overrides:
- pem ==0.2.4
- percent-format ==0.0.1
- perfect-hash-generator ==0.2.0.6
- persist ==0.1.1.2
- persist ==0.1.1.3
- persistable-record ==0.6.0.4
- persistable-types-HDBC-pg ==0.0.3.5
- persistent ==2.9.2
@ -1621,7 +1625,7 @@ default-package-overrides:
- protocol-radius ==0.0.1.1
- protocol-radius-test ==0.0.1.0
- proto-lens ==0.4.0.1
- proto-lens-arbitrary ==0.1.2.6
- proto-lens-arbitrary ==0.1.2.7
- proto-lens-combinators ==0.4.0.1
- proto-lens-optparse ==0.1.1.5
- proto-lens-protobuf-types ==0.4.0.1
@ -1702,7 +1706,7 @@ default-package-overrides:
- regex-tdfa ==1.2.3.1
- regex-tdfa-text ==1.0.0.3
- regex-with-pcre ==1.0.2.0
- registry ==0.1.3.4
- registry ==0.1.3.5
- reinterpret-cast ==0.1.0
- relapse ==1.0.0.0
- relational-query ==0.12.1.0
@ -2054,7 +2058,7 @@ default-package-overrides:
- th-strict-compat ==0.1.0.1
- th-utilities ==0.2.1.0
- thyme ==0.3.5.5
- tidal ==1.0.10
- tidal ==1.0.11
- tile ==0.3.0.0
- time-compat ==0.1.0.3
- timeit ==2.0
@ -2097,7 +2101,7 @@ default-package-overrides:
- tuples-homogenous-h98 ==0.1.1.0
- tuple-sop ==0.3.1.0
- tuple-th ==0.2.5
- turtle ==1.5.13
- turtle ==1.5.14
- typed-process ==0.2.4.0
- type-fun ==0.1.1
- type-hint ==0.1
@ -2190,7 +2194,7 @@ default-package-overrides:
- vector-split ==1.0.0.2
- vector-th-unbox ==0.2.1.6
- verbosity ==0.2.3.0
- versions ==3.5.0
- versions ==3.5.1
- ViennaRNAParser ==1.3.3
- vinyl ==0.10.0.1
- vivid ==0.4.2.3
@ -2237,7 +2241,7 @@ default-package-overrides:
- websockets-snap ==0.10.3.0
- weigh ==0.0.14
- wide-word ==0.1.0.8
- wikicfp-scraper ==0.1.0.10
- wikicfp-scraper ==0.1.0.11
- wild-bind ==0.1.2.3
- wild-bind-x11 ==0.2.0.6
- Win32-notify ==0.3.0.3
@ -6888,6 +6892,7 @@ broken-packages:
- minesweeper
- miniforth
- minilens
- minilight
- minimung
- minio-hs
- minions
@ -6895,6 +6900,7 @@ broken-packages:
- miniplex
- minirotate
- ministg
- minitypeset-opengl
- minst-idx
- mios
- mirror-tweet
@ -7184,6 +7190,7 @@ broken-packages:
- network-server
- network-service
- network-simple-sockaddr
- network-simple-wss
- network-stream
- network-topic-models
- network-transport-amqp
@ -7954,6 +7961,7 @@ broken-packages:
- rascal
- Rasenschach
- rating-chgk-info
- rattle
- rattletrap
- raven-haskell-scotty
- raw-feldspar
@ -8223,6 +8231,7 @@ broken-packages:
- safe-failure-cme
- safe-freeze
- safe-globals
- safe-json
- safe-lazy-io
- safe-length
- safe-money
@ -8478,6 +8487,8 @@ broken-packages:
- shellish
- shellmate
- shellmate-extras
- shh
- shh-extras
- shivers-cfg
- shoap
- shopify
@ -8526,6 +8537,7 @@ broken-packages:
- simple-tar
- simple-templates
- simple-ui
- simple-units
- simple-vec3
- simple-zipper
- simpleargs
@ -9834,6 +9846,7 @@ broken-packages:
- yam
- yam-datasource
- yam-job
- yam-redis
- yam-servant
- yam-transaction-odbc
- yam-web

File diff suppressed because it is too large Load Diff

View File

@ -33,6 +33,9 @@
# DEPRECATED: use propagatedBuildInputs
, pythonPath ? []
# Enabled to detect some (native)BuildInputs mistakes
, strictDeps ? true
# used to disable derivation, useful for specific python versions
, disabled ? false
@ -87,8 +90,7 @@ let self = toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attr
# Propagate python and setuptools. We should stop propagating setuptools.
propagatedBuildInputs = propagatedBuildInputs ++ [ python setuptools ];
# Enabled to detect some (native)BuildInputs mistakes
strictDeps = true;
inherit strictDeps;
LANG = "${if python.stdenv.isDarwin then "en_US" else "C"}.UTF-8";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "catch2-${version}";
version = "2.7.0";
version = "2.7.2";
src = fetchFromGitHub {
owner = "catchorg";
repo = "Catch2";
rev = "v${version}";
sha256="05j01v4hmw0vv5vcj11pbngl200b3j2yvawk08fw9a249jzx6v1a";
sha256="0h4yihf2avaw9awcigdqqlnfk5ak7scfv5lm0j8s6la4hyswc982";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "cctz-${version}";
version = "2.2";
version = "2.3";
src = fetchFromGitHub {
owner = "google";
repo = "cctz";
rev = "v${version}";
sha256 = "0liiqz1swfc019rzfaa9y5kavs2hwabs2vnwbn9jfczhyxy34y89";
sha256 = "0254xfwscfkjc3fbvx6qgifr3pwkc2rb03z8pbvvqy098di9alhr";
};
makeFlags = [ "PREFIX=$(out)" ];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
version = "0.28.3";
version = "0.29.0";
name = "cmark-${version}";
src = fetchFromGitHub {
owner = "jgm";
repo = "cmark";
rev = version;
sha256 = "1lal6n6q7l84njgdcq1xbfxan56qlvr8xaw9m2jbd0jk4y2wkczg";
sha256 = "0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "gecode-${version}";
version = "6.1.1";
version = "6.2.0";
src = fetchFromGitHub {
owner = "Gecode";
repo = "gecode";
rev = "release-${version}";
sha256 = "07jyx17qsfx3wmd2zlcs0rxax8h3cs2g9aapxkdjdcsmfxsldqb7";
sha256 = "0b1cq0c810j1xr2x9y9996p894571sdxng5h74py17c6nr8c6dmk";
};
enableParallelBuilding = true;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
stdenv.mkDerivation rec {
version = "1.19.0";
version = "1.19.1";
name = "grpc-${version}";
src = fetchFromGitHub {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
sha256 = "105hvpn2z3qiyc01wyzpmfbrpmy20kz1nb9j1c2s0kz1r0v92gqi";
sha256 = "0c0jra4qnd86gyr4rlblic3igb5dpgrldac35myk5i5ia547fdhj";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
"-DgRPC_SSL_PROVIDER=package"
"-DgRPC_PROTOBUF_PROVIDER=package"
"-DgRPC_GFLAGS_PROVIDER=package"
"-DBUILD_SHARED_LIBS=ON"
];
# CMake creates a build directory by default, this conflicts with the
@ -26,6 +27,10 @@ stdenv.mkDerivation rec {
rm -vf BUILD
'';
preBuild = ''
export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH
'';
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=unknown-warning-option";
enableParallelBuilds = true;

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "intel-gmmlib-${version}";
version = "18.4.1";
version = "19.1.2";
src = fetchFromGitHub {
owner = "intel";
repo = "gmmlib";
rev = name;
sha256 = "1nxbz54a0md9hf0asdbyglvi6kiggksy24ffmk4wzvkai6vinm17";
sha256 = "1nw5qg10dqkchx39vqk9nkqggk0in2kr794dqjp73njpirixgr2b";
};
nativeBuildInputs = [ cmake ];

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "intel-media-driver-${version}";
version = "18.4.1";
version = "19.1.0";
src = fetchFromGitHub {
owner = "intel";
repo = "media-driver";
rev = "intel-media-${version}";
sha256 = "192rfv6dk9jagx0q92jq6n1slc1pllgcc7rm85fgachq9rjl7szh";
sha256 = "072ry87h1lds14fqb2sfz3n2sssvacamaxv2gj4nd8agnzbwizn7";
};
cmakeFlags = [

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "intel-media-sdk-${version}";
version = "18.4.1";
version = "19.1.0";
src = fetchurl {
url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz";
sha256 = "0yqqw6hyjn28zk4f4wznqpyiz9vinnjj8067dim64bz1f4pjhyra";
sha256 = "1gligrg6khzmwcy6miikljj75hhxqy0a95qzc8m61ipx5c8igdpv";
};
# patchelf is needed for binaries in $out/share/samples

View File

@ -6,12 +6,12 @@
mkDerivation rec {
pname = "kdb";
version = "3.1.0";
version = "3.2.0";
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
sha256 = "1wi9z7j0nr9wi6aqqkdcpnr38ixyxbv00sblya7pakdf96hlamhp";
sha256 = "0s909x34a56n3xwhqz27irl2gbzidax0685w2kf34f0liny872cg";
};
nativeBuildInputs = [ extra-cmake-modules ];

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, autoreconfHook, libtool, openssl, pkgconfig }:
{ stdenv, fetchFromGitHub, autoreconfHook, libtool, pkgconfig
, openssl }:
stdenv.mkDerivation rec {
name = "libp11-${version}";
@ -11,15 +12,20 @@ stdenv.mkDerivation rec {
sha256 = "1m4aw45bqichhx7cn78d8l1r1v0ccvwzlfj09fay2l9rfic5jgfz";
};
makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
configureFlags = [
"--with-enginesdir=${placeholder "out"}/lib/engines"
];
nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
buildInputs = [ openssl ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Small layer on top of PKCS#11 API to make PKCS#11 implementations easier";
homepage = https://github.com/OpenSC/libp11;
license = licenses.lgpl21Plus;
description = "Small layer on top of PKCS#11 API to make PKCS#11 implementations easier";
platforms = platforms.all;
};
}

View File

@ -1,22 +1,23 @@
{ fetchurl, stdenv, zlib, qtbase, qmake }:
{ fetchFromGitHub, stdenv, zlib, qtbase, qmake }:
stdenv.mkDerivation rec {
name = "quazip-0.7.3";
pname = "quazip";
version = "0.7.6";
src = fetchurl {
url = "mirror://sourceforge/quazip/${name}.tar.gz";
sha256 = "1db9w8ax1ki0p67a47h4cnbwfgi2di4y3k9nc3a610kffiag7m1a";
src = fetchFromGitHub {
owner = "stachenov";
repo = pname;
rev = version;
sha256 = "1p6khy8fn9bwp14l6wd3sniwwm5v216l8xncfb7a6psjzvq5ypy6";
};
preConfigure = "cd quazip";
buildInputs = [ zlib qtbase ];
nativeBuildInputs = [ qmake ];
meta = {
description = "Provides access to ZIP archives from Qt programs";
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://quazip.sourceforge.net/;
homepage = https://stachenov.github.io/quazip/; # Migrated from http://quazip.sourceforge.net/
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -59,10 +59,10 @@ in rec {
cudnn_cudatoolkit_9 = cudnn_cudatoolkit_9_2;
cudnn_cudatoolkit_10_0 = generic rec {
version = "7.3.1";
version = "7.4.2";
cudatoolkit = cudatoolkit_10_0;
srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.3.1.20.tgz";
sha256 = "1yp35mng4ym40g5rqp63dcpa6jg4q1pnjkspnhlakzzdy8is65af";
srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.4.2.24.tgz";
sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf";
};
cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_0;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl
{ stdenv, buildOcaml, fetchurl
, ocaml, findlib, pkgconfig, perl
, gmp
}:
@ -16,20 +16,25 @@ let source =
};
in
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-zarith-${version}";
buildOcaml rec {
name = "zarith";
inherit (source) version;
src = fetchurl { inherit (source) url sha256; };
minimumSupportedOcamlVersion = "3.12.1";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ocaml findlib perl ];
propagatedBuildInputs = [ gmp ];
# needed so setup-hook.sh sets CAML_LD_LIBRARY_PATH for dllzarith.so
hasSharedObjects = true;
patchPhase = "patchShebangs ./z_pp.pl";
configurePhase = ''
./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib
'';
createFindlibDestdir = true;
preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib";
meta = with stdenv.lib; {
description = "Fast, arbitrary precision OCaml integers";

View File

@ -30,6 +30,9 @@ buildPythonPackage rec {
description = "Autogenerate Colander schemas based on SQLAlchemy models";
homepage = https://github.com/stefanofontanelli/ColanderAlchemy;
license = licenses.mit;
# ColanderAlchemy's tests currently fail with colander >1.6.0
# (see https://github.com/stefanofontanelli/ColanderAlchemy/issues/107)
broken = versionOlder "1.6.0" colander.version;
};
}

View File

@ -9,11 +9,11 @@ assert pariSupport -> pari != null;
buildPythonPackage rec {
pname = "cysignals";
version = "1.9.0";
version = "1.10.2";
src = fetchPypi {
inherit pname version;
sha256 = "15ix8crpad26cfl1skyg7qajqqfdrm8q5ahhmlfmqi1aw0jqj2g2";
sha256 = "1ckxzch3wk5cg80mppky5jib5z4fzslny3001r5zg4ar1ixbc1w1";
};
# explicit check:

View File

@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy3k
, click
, mock
, pytest
@ -19,8 +20,8 @@ buildPythonPackage rec {
};
checkInputs = [
click mock pytest futures
];
click mock pytest
] ++ lib.optionals (!isPy3k) [ futures ];
propagatedBuildInputs = [
google_auth requests_oauthlib

View File

@ -38,8 +38,10 @@ buildPythonPackage rec {
checkInputs = [ sphinx numpydoc pytest ];
propagatedBuildInputs = [ python-lz4 ];
# test_disk_used is broken
# https://github.com/joblib/joblib/issues/57
checkPhase = ''
py.test joblib
py.test joblib -k "not test_disk_used"
'';
meta = {

View File

@ -4,6 +4,7 @@
, jupyterlab_server
, notebook
, pythonOlder
, fetchpatch
}:
buildPythonPackage rec {
@ -22,6 +23,14 @@ buildPythonPackage rec {
"--set" "JUPYTERLAB_DIR" "$out/share/jupyter/lab"
];
patches = [
(fetchpatch {
name = "bump-jupyterlab_server-version";
url = https://github.com/jupyterlab/jupyterlab/commit/3b8d451e6f9a4c609e60cde5fbb3cc84aae79951.patch;
sha256 = "08vv6rp1k5fbmvj4v9x1d9zb6ymm9pv8ml80j7p45r9fay34rndf";
})
];
# Depends on npm
doCheck = false;

View File

@ -4,13 +4,13 @@
buildPythonPackage rec {
pname = "mysql-connector";
version = "8.0.15";
version = "8.0.16";
src = fetchFromGitHub {
owner = "mysql";
repo = "mysql-connector-python";
rev = version;
sha256 = "1w4j2sf07aid3453529z8kg1ziycbayxi3g2r4wqn0nb3y1caqz6";
sha256 = "0yl3fkyws24lc2qrbvn42bqy72aqy8q5v8f0j5zy3mkh9a7wlxdp";
};
propagatedBuildInputs = [ protobuf ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "PyChromecast";
version = "3.0.0";
version = "3.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "15zaka9zjyx5lb78f0qs6w8g1rgz94gjgrgxm6iwih0a2l0pv5h9";
sha256 = "0jksh7rb4880kni8iw3hb5q9dm5gi40zmx4r2fwydnpfhadhq5af";
};
disabled = !isPy3k;

View File

@ -1,29 +1,28 @@
{ lib, fetchurl, cmake, pyside, qt4, pysideShiboken, buildPythonPackage }:
{ lib, buildPythonPackage, fetchFromGitHub, cmake, qt4, pyside, pysideShiboken }:
# This derivation provides a Python module and should therefore be called via `python-packages.nix`.
buildPythonPackage rec {
pname = "pyside-tools";
version = "0.2.15";
format = "other";
src = fetchurl {
url = "https://github.com/PySide/Tools/archive/0.2.15.tar.gz";
sha256 = "0x4z3aq7jgar74gxzwznl3agla9i1dcskw5gh11jnnwwn63ffzwa";
src = fetchFromGitHub {
owner = "PySide";
repo = "Tools";
rev = version;
sha256 = "017i2yxgjrisaifxqnl3ym8ijl63l2yl6a3474dsqhlyqz2nx2ll";
};
enableParallelBuilding = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ qt4 ];
propagatedBuildInputs = [ pyside pysideShiboken ];
meta = {
description = "Tools for pyside, the LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
license = lib.licenses.gpl2;
homepage = http://www.pyside.org;
meta = with lib; {
description = "Development tools (pyside-uic/rcc/lupdate) for PySide, the LGPL-licensed Python bindings for the Qt framework";
license = licenses.gpl2;
homepage = https://wiki.qt.io/PySide;
maintainers = [ ];
platforms = lib.platforms.all;
platforms = platforms.all;
};
}

View File

@ -38,6 +38,7 @@ buildPythonPackage rec {
];
meta = with stdenv.lib; {
broken = cornice.version != "0.17";
description = "The SyncServer server software, as used by Firefox Sync";
homepage = https://github.com/mozilla-services/server-syncstorage;
license = licenses.mpl20;

View File

@ -0,0 +1,21 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "evmdis-unstable-${version}";
version = "2018-03-23";
goPackagePath = "github.com/Arachnid/evmdis";
src = fetchFromGitHub {
owner = "Arachnid";
repo = "evmdis";
rev = "0d1406905c5fda6224651fa53260a21c907eb986";
sha256 = "09y4j7ipgv8yd99g3xk3f079w8fqfj7kl1y7ry81ainysn0qlqrg";
};
meta = with stdenv.lib; {
homepage = https://github.com/Arachnid/evmdis;
description = "Ethereum EVM disassembler";
license = [ licenses.asl20 ];
maintainers = with maintainers; [ asymmetric ];
};
}

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk }:
let
rev = "a9f2e2592d069313329971930d1740943d19ef91";
version = "2019-01-30";
rev = "a47a965e00ecd66793832e2a12a1972d25e6f734";
version = "2019-04-05";
in
stdenv.mkDerivation {
name = "sbt-extras-${version}";
@ -12,7 +12,7 @@ stdenv.mkDerivation {
owner = "paulp";
repo = "sbt-extras";
inherit rev;
sha256 = "1kkpsd3fb8lm631bwjj41x4i9a5m88y2f3flzs918y12bjkli8ji";
sha256 = "1hrz7kg0k2iqq18bg6ll2bdj487p0987880dz0c0g35ah70ps2hj";
};
dontBuild = true;

View File

@ -1,8 +1,8 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "timescaledb-parallel-copy-${version}";
version = "2018-05-14";
name = "timescaledb-parallel-copy";
version = "0.2.0";
owner = "timescale";
repo = "timescaledb-parallel-copy";
@ -12,8 +12,8 @@ buildGoPackage rec {
src = fetchFromGitHub {
inherit owner repo;
rev = "20d3e8f8219329f2f4b0a5aa985f280dd04d10bb";
sha256 = "0waaccw991cnxaxjdxh9ksb94kiiyx1r7gif6pkd5k58js0kfvdn";
rev = version;
sha256 = "1z9vf29vrxqs8imbisv681d02p4cfk3hlsrin6hhibxf1h0br9gd";
};
meta = with stdenv.lib; {

View File

@ -1,12 +1,12 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[
{
goPackagePath = "github.com/jmoiron/sqlx";
fetch = {
type = "git";
url = "https://github.com/jmoiron/sqlx";
rev = "0dae4fefe7c0e190f7b5a78dac28a1c82cc8d849";
sha256 = "0r8fyj70n0v84byvagw8w8rzz532s94mjr72b9sx018j0b6xglmy";
rev = "82935fac6c1a317907c8f43ed3f7f85ea844a78b";
sha256 = "0cbscnss2ifc3qgmy97i0zbirrp4hix4jlcz853f4bg5n2zzgwh2";
};
}
{
@ -14,8 +14,8 @@
fetch = {
type = "git";
url = "https://github.com/lib/pq";
rev = "90697d60dd844d5ef6ff15135d0203f65d2f53b8";
sha256 = "0hb4bfsk8g5473yzbf3lzrb373xicakjznkf0v085xgimz991i9r";
rev = "7aad666537ab32b76f0966145530335f1fed51fd";
sha256 = "12qczn5afbf6203wnbpay1kazzh20jg5qyakrph3j1r13n91nc1r";
};
}
]

View File

@ -0,0 +1,24 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "timescaledb-tune";
version = "0.5.0";
goPackagePath = "github.com/timescale/timescaledb-tune";
goDeps = ./deps.nix;
src = fetchFromGitHub {
owner = "timescale";
repo = name;
rev = version;
sha256 = "1fs7ggpdik3qjvjmair1svni2sw9wz54716m2iwngv8x4s9b15nn";
};
meta = with stdenv.lib; {
description = "A tool for tuning your TimescaleDB for better performance";
homepage = https://github.com/timescale/timescaledb-tune;
license = licenses.asl20;
maintainers = with maintainers; [ marsam ];
};
}

View File

@ -0,0 +1,21 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[
{
goPackagePath = "github.com/fatih/color";
fetch = {
type = "git";
url = "https://github.com/fatih/color";
rev = "3f9d52f7176a6927daacff70a3e8d1dc2025c53e";
sha256 = "165ww24x6ba47ji4j14mp3f006ksnmi53ws9280pgd2zcw91nbn8";
};
}
{
goPackagePath = "github.com/pbnjay/memory";
fetch = {
type = "git";
url = "https://github.com/pbnjay/memory";
rev = "974d429e7ae40c89e7dcd41cfcc22a0bfbe42510";
sha256 = "0kazg5psdn90pqadrzma5chdwh0l2by9z31sspr47gx93fhjmkkq";
};
}
]

View File

@ -1,7 +1,7 @@
{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, libuuid, at-spi2-atk }:
let
version = "4.1.4";
version = "4.1.5";
name = "electron-${version}";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
@ -19,19 +19,19 @@ let
src = {
i686-linux = fetchurl {
url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
sha256 = "0z1pr85mdw8c7vdsvznhixzmqmy3s6rrjaybym76c93hdvkr2ir9";
sha256 = "0rqaydlg7wkccks7crwpylad0bsz8knm82mpb7hnj68p9njxpsbz";
};
x86_64-linux = fetchurl {
url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
sha256 = "05lyq67paad4h4ng39h8bwkv84bmy6axbxh60fmvl6l1x55dsan6";
sha256 = "0xwvn41pvpsrx54waix8kmg3w1f1f9nmfn08hf9bkgnlgh251shy";
};
armv7l-linux = fetchurl {
url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
sha256 = "1ddc9b6h29qdqxnkc4vd6y5iah9i3f5i7v5zjb5b61rssz78wdbq";
sha256 = "172yq2m4i0pf72xr6w3xgkxfakkx2wrc54aah5j3nr6809bcnzji";
};
aarch64-linux = fetchurl {
url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-arm64.zip";
sha256 = "0qha5klws8l2i0grmwjiz34srr66h93lpx1j0lsgz3pxjxhc33xs";
sha256 = "0gcgvgplg9c2sm53sa4nll4x486c4m190ma9a98xfx9mp9vy55vq";
};
}.${stdenv.hostPlatform.system} or throwSystem;
@ -59,7 +59,7 @@ let
src = fetchurl {
url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
sha256 = "0zbgrwphd1xfkzqai8n7mi9vpzqflq4wwwnl4pdryrkyi3k4yxa6";
sha256 = "1z43ga620rw84x1yxvnxf11pd782s5vgj5dgnn4k0nfgxlihy058";
};
buildInputs = [ unzip ];

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
name = "cfr-${version}";
version = "0.140";
version = "0.143";
src = fetchurl {
url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
sha256 = "0pgja3inhwikis80zwa58x5y51xg7pp1ji63n1xsab8ciyca52if";
sha256 = "129ab79xavrk0bwkmpvl56f74hyl1phfgbgz86cbij8bpvhhljyz";
};
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
jar=$out/share/java/cfr_${version}.jar

View File

@ -15,15 +15,15 @@ buildPythonApplication rec {
flake8
invoke
parver
pew
pip
requests
virtualenv
];
doCheck = false;
makeWrapperArgs = [
"--set PYTHONPATH \"$PYTHONPATH\""
"--set PYTHONPATH \".:$PYTHONPATH\""
"--set PIP_IGNORE_INSTALLED 1"
];

View File

@ -2,17 +2,17 @@
runtimeShell }:
rustPlatform.buildRustPackage rec {
name = "rust-bindgen-${version}";
version = "0.42.2";
pname = "rust-bindgen";
version = "0.49.0";
src = fetchFromGitHub {
owner = "rust-lang-nursery";
repo = "rust-bindgen";
owner = "rust-lang";
repo = pname;
rev = "v${version}";
sha256 = "10h0h7x8yf4dsyw2p2nas2jg5p3i29np0y3rfzrdq898d70gvq4j";
sha256 = "0i1lh8z0jpf8gcfqxig8kl6wzjrkwb3jkad5ghb6ppkdkpr94jq4";
};
cargoSha256 = "01jvi86xgz0r7ia9agnfpms6b6x68lzwj6f085m0w659i94acgpi";
cargoSha256 = "0v3slbah0s1w75s38x1akvshcxsi1s810yybd9faday7biwmdbmj";
libclang = llvmPackages.libclang.lib; #for substituteAll
@ -56,7 +56,7 @@ rustPlatform.buildRustPackage rec {
As with most compiler related software, this will only work
inside a nix-shell with the required libraries as buildInputs.
'';
homepage = https://github.com/rust-lang-nursery/rust-bindgen;
homepage = https://github.com/rust-lang/rust-bindgen;
license = with licenses; [ bsd3 ];
maintainers = [ maintainers.ralith ];
};

View File

@ -0,0 +1,23 @@
{ stdenv, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "cargo-sweep";
version = "0.4.1";
src = fetchFromGitHub {
owner = "holmgr";
repo = pname;
rev = "v${version}";
sha256 = "1zp0x0jy5bjqbxawlwvpj6vb3y602mnh19p48rw70kdx6vripbvj";
};
cargoSha256 = "06hx8mlqarjnqrprwdp80cmanmacg3xz62r1bbn27pn60xv719hn";
meta = with stdenv.lib; {
description = "A Cargo subcommand for cleaning up unused build files generated by Cargo";
homepage = https://github.com/holmgr/cargo-sweep;
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ xrelkd ];
};
}

View File

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, rustPlatform
, openssh, openssl, pkgconfig, cmake, zlib, curl }:
, openssh, openssl, pkgconfig, cmake, zlib, curl, libiconv }:
rustPlatform.buildRustPackage rec {
name = "rls-${version}";
# with rust 1.x you can only build rls version 1.x.y
version = "1.31.7";
version = "1.34.0";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rls";
rev = version;
sha256 = "0n33pf7sm31y55rllb8wv3mn75srspr4yj2y6cpcdyf15n47c8cf";
rev = "0d6f53e1a4adbaf7d83cdc0cb54720203fcb522e";
sha256 = "1aabs0kr87sp68n9893im5wz21dicip9ixir9a9l56nis4qxpm7i";
};
cargoSha256 = "0jcsggq4ay8f4vb8n6gh8z995icvvbjkzapxf6jq6qkg6jp3vv17";
cargoSha256 = "16r9rmjhb0dbdgx9qf740nsckjazz4z663vaajw5z9i4qh0jsy18";
# a nightly compiler is required unless we use this cheat code.
RUSTC_BOOTSTRAP=1;
@ -22,12 +22,16 @@ rustPlatform.buildRustPackage rec {
cargoBuildFlags = [ "--no-default-features" ];
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ openssh openssl curl zlib ];
buildInputs = [ openssh openssl curl zlib libiconv ];
doCheck = true;
# the default checkPhase has no way to pass --no-default-features
checkPhase = ''
runHook preCheck
# client tests are flaky
rm tests/client.rs
echo "Running cargo test"
cargo test --no-default-features
runHook postCheck

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
{ stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
, tileMode ? false, enableSound ? tileMode
}:
@ -14,8 +14,13 @@ stdenv.mkDerivation rec {
sha256 = "1d6mip4rvp81839yf2xm63hf34aza5wg4g5z5hi5275j94szaacs";
};
# Patch hard-coded paths in the makefile
patches = [ ./crawl_purify.patch ];
patches = [
./crawl_purify.patch # Patch hard-coded paths
(fetchpatch { # Use a nice high-res app icon
url = "https://github.com/crawl/crawl/commit/2aa1166087e44e6585b26cedf1fe81b3f3ba547f.patch";
sha256 = "1jqrdv4wy18shg1fdabdb421232hg5micphkixcyzxd1lrmvadg0";
})
];
nativeBuildInputs = [ pkgconfig which perl pngcrush advancecomp ];
@ -40,7 +45,13 @@ stdenv.mkDerivation rec {
] ++ lib.optional tileMode "TILES=y"
++ lib.optional enableSound "SOUND=y";
postInstall = lib.optionalString tileMode "mv $out/bin/crawl $out/bin/crawl-tiles";
postInstall = ''
${lib.optionalString tileMode "mv $out/bin/crawl $out/bin/crawl-tiles"}
sed -i 's#/usr/games/##' debian/crawl${lib.optionalString tileMode "-tiles"}.desktop
install -m 444 -D debian/crawl${lib.optionalString tileMode "-tiles"}.desktop \
$out/share/applications/crawl${lib.optionalString tileMode "-tiles"}.desktop
install -m 444 -D dat/tiles/stone_soup_icon-512x512.png $out/share/icons/hicolor/512x512/apps/crawl.png
'';
enableParallelBuilding = true;

View File

@ -12,25 +12,30 @@ stdenv.mkDerivation rec {
patches = [
(fetchpatch {
url = "https://salsa.debian.org/games-team/torcs/raw/master/debian/patches/gcc6-isnan.patch";
url = "https://salsa.debian.org/games-team/torcs/raw/fb0711c171b38c4648dc7c048249ec20f79eb8e2/debian/patches/gcc6-isnan.patch";
sha256 = "16scmq30vwb8429ah9d4ws0v1w6ai59lvn7hcgnvfzyap42ry876";
})
(fetchpatch {
url = "https://salsa.debian.org/games-team/torcs/raw/master/debian/patches/format-argument.patch";
url = "https://salsa.debian.org/games-team/torcs/raw/fb0711c171b38c4648dc7c048249ec20f79eb8e2/debian/patches/format-argument.patch";
sha256 = "04advcx88yh23ww767iysydzhp370x7cqp2wf9hk2y1qvw7mxsja";
})
(fetchpatch {
url = "https://salsa.debian.org/games-team/torcs/raw/master/debian/patches/glibc-default-source.patch";
url = "https://salsa.debian.org/games-team/torcs/raw/fb0711c171b38c4648dc7c048249ec20f79eb8e2/debian/patches/glibc-default-source.patch";
sha256 = "0k4hgpddnhv68mdc9ics7ah8q54j60g394d7zmcmzg6l3bjd9pyp";
})
(fetchpatch {
url = "https://salsa.debian.org/games-team/torcs/raw/32bbe77c68b4de07b28c34497f3c0ad666ee618d/debian/patches/gcc7.patch";
sha256 = "09iilnvdv8h7b4nb1372arszkbz9hbzsck4rimzz1xjdh9ydniw9";
})
];
postPatch = ''
sed -i -e s,/bin/bash,`type -P bash`, src/linux/torcs.in
'';
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ libGLU freeglut libX11 plib openal freealut libXrandr xorgproto
libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib libvorbis makeWrapper ];
libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib libvorbis ];
installTargets = "install datainstall";

View File

@ -120,6 +120,13 @@ in rec {
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
};
ubootBananaPim64 = buildUBoot rec {
defconfig = "bananapi_m64_defconfig";
extraMeta.platforms = ["aarch64-linux"];
BL31 = "${armTrustedFirmwareAllwinner}/bl31.bin";
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
};
ubootBeagleboneBlack = buildUBoot rec {
defconfig = "am335x_boneblack_defconfig";
extraMeta.platforms = ["armv7l-linux"];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "cifs-utils-${version}";
version = "6.8";
version = "6.9";
src = fetchurl {
url = "mirror://samba/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
sha256 = "0ygz3pagjpaj5ky11hzh4byyymb7fpmqiqkprn11zwj31h2zdlg7";
sha256 = "175cp509wn1zv8p8mv37hkf6sxiskrsxdnq22mhlsg61jazz3n0q";
};
nativeBuildInputs = [ autoreconfHook docutils pkgconfig ];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "fwts-${version}";
version = "19.02.00";
version = "19.03.00";
src = fetchzip {
url = "http://fwts.ubuntu.com/release/fwts-V${version}.tar.gz";
sha256 = "1rjyfscchman9ih0473hgzvfzrvkfwl5bjf7c9ksr3d9plz3n7ad";
sha256 = "1zri73qmpgc0dwmdcfbcywcvxld7dqz7rkwwqncfkvvfc9zchk5l";
stripRoot = false;
};

View File

@ -0,0 +1,12 @@
diff --git a/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c b/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
index 1d645c9ab417bf..cac262a912c124 100644
--- a/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
+++ b/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
@@ -337,7 +337,8 @@ static const struct dmi_system_id i2c_hid_dmi_desc_override_table[] = {
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "FlexBook edge11 - M-FBE11"),
},
.driver_data = (void *)&sipodev_desc
- }
+ },
+ { } /* Terminate list */
};

View File

@ -1,8 +1,8 @@
{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
let
modDirVersion = "4.14.70";
tag = "1.20180919";
modDirVersion = "4.14.98";
tag = "1.20190215";
in
lib.overrideDerivation (buildLinux (args // rec {
version = "${modDirVersion}-${tag}";
@ -12,7 +12,7 @@ lib.overrideDerivation (buildLinux (args // rec {
owner = "raspberrypi";
repo = "linux";
rev = "raspberrypi-kernel_${tag}-1";
sha256 = "1zjvzk6rhrn3ngc012gjq3v7lxn8hy89ljb7fqwld5g7py9lkf0b";
sha256 = "1gc4x7p82m2v1jhahhyl7qfdkflj71ly6p0fpc1vf9sk13hbwgj2";
};
defconfig = {

View File

@ -57,4 +57,8 @@ rec {
sha256 = "1l8xq02rd7vakxg52xm9g4zng0ald866rpgm8kjlh88mwwyjkrwv";
};
};
# Fix kernel OOPS on boot: https://github.com/NixOS/nixpkgs/issues/60126
# Remove with the next release.
i2c-oops = { name = "i2c-oops"; patch = ./i2c-oops.patch; };
}

View File

@ -1,13 +1,11 @@
{ stdenv, fetchFromGitHub, kernel }:
{ stdenv, fetchurl, kernel }:
stdenv.mkDerivation {
name = "mxu11x0-1.3.11+git2017-07-13-${kernel.version}";
name = "mxu11x0-1.4-${kernel.version}";
src = fetchFromGitHub {
owner = "ellysh";
repo = "mxu11x0";
rev = "cbbb5ec2045939209117cb5fcd6c7c23bcc109ef";
sha256 = "0wf44pnz5aclvg2k1f8ljnwws8hh6191i5h06nz95ijbxhwz63w4";
src = fetchurl {
url = "https://www.moxa.com/Moxa/media/PDIM/S100000385/moxa-uport-1000-series-linux-3.x-and-4.x-for-uport-11x0-series-driver-v1.4.tgz";
sha256 = "1hz9ygabbp8pv49k1j4qcsr0v3zw9xy0bh1akqgxp5v29gbdgxjl";
};
preBuild = ''
@ -30,10 +28,9 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "MOXA UPort 11x0 USB to Serial Hub driver";
homepage = https://github.com/ellysh/mxu11x0;
license = licenses.gpl1;
homepage = https://www.moxa.com/en/products/industrial-edge-connectivity/usb-to-serial-converters-usb-hubs/usb-to-serial-converters/uport-1000-series;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ uralbash ];
platforms = platforms.linux;
broken = versionOlder kernel.version "4.9" || !versionOlder kernel.version "4.13";
};
}

View File

@ -4,13 +4,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
version = "2.7";
version = "2.8";
name = "wpa_supplicant-${version}";
src = fetchurl {
url = "https://w1.fi/releases/${name}.tar.gz";
sha256 = "0x1hqyahq44jyla8jl6791nnwrgicrhidadikrnqxsm2nw36pskn";
sha256 = "15ixzm347n8w6gdvi3j3yks3i15qmp6by9ayvswm34d929m372d6";
};
# TODO: Patch epoll so that the dbus actually responds
@ -81,14 +81,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
patches = [
(fetchpatch {
name = "build-fix.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-wireless/wpa_supplicant/files/wpa_supplicant-2.7-fix-undefined-remove-ie.patch?id=e0288112138a70a8acc3ae0196772fd7ccb677ce";
sha256 = "0ysazfcyn195mvkb1v10mgzzmpmqgv5kwqxwzfbsfhzq5bbaihld";
})
];
postInstall = ''
mkdir -p $out/share/man/man5 $out/share/man/man8
cp -v "doc/docbook/"*.5 $out/share/man/man5/

View File

@ -8,14 +8,14 @@
assert enableSeccomp -> libseccomp != null;
assert enablePython -> python3 != null;
let version = "9.12.3-P4"; in
let version = "9.12.4-P1"; in
stdenv.mkDerivation rec {
name = "bind-${version}";
src = fetchurl {
url = "https://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
sha256 = "01pj47z5582rd538dmbzf1msw4jc8j4zr0zx4ciy88r6qr9l80fi";
sha256 = "1if7zc5gzrfd28csc63v9bjwrc0rgvm1x9yx058946hc5gp5lyp2";
};
outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "cadvisor-${version}";
version = "0.33.0";
version = "0.33.1";
src = fetchFromGitHub {
owner = "google";
repo = "cadvisor";
rev = "v${version}";
sha256 = "14v4xjycr34kvilidhhavc8yvhkxb7mxc9qd56jd1x2c42lfna8k";
sha256 = "15wddg0xwkz42n5y2f72yq3imhbvnp83g1jq6p81ddw9qzbz62zs";
};
nativeBuildInputs = [ go ];

View File

@ -1,81 +1,102 @@
{ config, stdenv, fetchurl, rpmextract, glibc
, dataDir ? "/var/lib/plex" # Plex's data directory must be baked into the package due to symlinks.
, enablePlexPass ? config.plex.enablePlexPass or false
# The actual Plex package that we run is a FHS userenv of the "raw" package.
{ stdenv
, buildFHSUserEnv
, writeScript
, plexRaw
# Old argument for overriding the Plex data directory; isn't necessary for this
# version of Plex to function, but still around for backwards-compatibility.
, dataDir ? "/var/lib/plex"
}:
let
plexPass = throw "Plex pass has been removed at upstream's request; please unset nixpkgs.config.plex.pass";
plexpkg = if enablePlexPass then plexPass else {
version = "1.15.3.876";
vsnHash = "ad6e39743";
sha256 = "01g7wccm01kg3nhf3qrmwcn20nkpv0bqz6zqv2gq5v03ps58h6g5";
};
buildFHSUserEnv rec {
name = "plexmediaserver";
inherit (plexRaw) meta;
in stdenv.mkDerivation rec {
name = "plex-${version}";
version = plexpkg.version;
vsnHash = plexpkg.vsnHash;
sha256 = plexpkg.sha256;
# This script is run when we start our Plex binary
runScript = writeScript "plex-run-script" ''
#!${stdenv.shell}
src = fetchurl {
url = "https://downloads.plex.tv/plex-media-server-new/${version}-${vsnHash}/redhat/plexmediaserver-${version}-${vsnHash}.x86_64.rpm";
inherit sha256;
};
set -eu
buildInputs = [ rpmextract glibc ];
# The root path to our Plex installation
root=${plexRaw}/lib/plexmediaserver
phases = [ "unpackPhase" "installPhase" "fixupPhase" "distPhase" ];
# Path to where we're storing our Plex data files. We default to storing
# them in the user's home directory under the XDG-compatible location, but
# allow overriding with an environment variable so the location can be
# configured in our NixOS module.
#
# NOTE: the old version of Plex used /var/lib/plex as the default location,
# but this package shouldn't assume that we're going to run Plex with the
# ability to write to /var/lib, so using a subdirectory of $HOME when none
# is specified feels less likely to have permission errors.
if [[ -z "''${PLEX_DATADIR:-}" ]]; then
PLEX_DATADIR="$HOME/.local/share/plex"
fi
if [[ ! -d "$PLEX_DATADIR" ]]; then
echo "Creating Plex data directory: $PLEX_DATADIR"
mkdir -p "$PLEX_DATADIR"
fi
unpackPhase = ''
rpmextract $src
'';
# The database is stored under the given directory
db="$PLEX_DATADIR/.skeleton/com.plexapp.plugins.library.db"
installPhase = ''
install -d $out/usr/lib
cp -dr --no-preserve='ownership' usr/lib/plexmediaserver $out/usr/lib/
# If we don't have a database in the expected path, then create one by
# copying our base database to that location.
if ! test -f "$db"; then
echo "Copying base database file to: $db"
mkdir -p "$(dirname "$db")"
cat "${plexRaw.basedb}" > "$db"
fi
# Now we need to patch up the executables and libraries to work on Nix.
# Side note: PLEASE don't put spaces in your binary names. This is stupid.
for bin in "Plex Media Server" \
"Plex Commercial Skipper" \
"Plex DLNA Server" \
"Plex Media Scanner" \
"Plex Relay" \
"Plex Script Host" \
"Plex Transcoder" \
"Plex Tuner Service" ; do
patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" "$out/usr/lib/plexmediaserver/$bin"
patchelf --set-rpath "$out/usr/lib/plexmediaserver/lib" "$out/usr/lib/plexmediaserver/$bin"
# Set up symbolic link at '/db', which is linked to by our Plex package
# (see the 'plexRaw' package).
ln -s "$db" /db
# If we have a plugin list (set by our NixOS module), we create plugins in
# the data directory as expected. This is a colon-separated list of paths.
if [[ -n "''${PLEX_PLUGINS:-}" ]]; then
echo "Preparing plugin directory"
pluginDir="$PLEX_DATADIR/Plex Media Server/Plug-ins"
test -d "$pluginDir" || mkdir -p "$pluginDir"
# First, remove all of the symlinks in the plugins directory.
echo "Removing old symlinks"
for f in $(ls "$pluginDir/"); do
if [[ -L "$pluginDir/$f" ]]; then
echo "Removing plugin symlink: $pluginDir/$f"
rm "$pluginDir/$f"
fi
done
find $out/usr/lib/plexmediaserver/Resources -type f -a -perm -0100 \
-print -exec patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" '{}' \;
echo "Symlinking plugins"
IFS=':' read -ra pluginsArray <<< "$PLEX_PLUGINS"
for path in "''${pluginsArray[@]}"; do
dest="$pluginDir/$(basename "$path")"
# Our next problem is the "Resources" directory in /usr/lib/plexmediaserver.
# This is ostensibly a skeleton directory, which contains files that Plex
# copies into its folder in /var. Unfortunately, there are some SQLite
# databases in the directory that are opened at startup. Since these
# database files are read-only, SQLite chokes and Plex fails to start. To
# solve this, we keep the resources directory in the Nix store, but we
# rename the database files and replace the originals with symlinks to
# /var/lib/plex. Then, in the systemd unit, the base database files are
# copied to /var/lib/plex before starting Plex.
RSC=$out/usr/lib/plexmediaserver/Resources
for db in "com.plexapp.plugins.library.db"; do
mv $RSC/$db $RSC/base_$db
ln -s "${dataDir}/.skeleton/$db" $RSC/$db
if [[ ! -d "$path" ]]; then
echo "Error symlinking plugin from $path: no such directory"
elif [[ -d "$dest" || -L "$dest" ]]; then
echo "Error symlinking plugin from $path to $dest: file or directory already exists"
else
echo "Symlinking plugin at: $path"
ln -s "$path" "$dest"
fi
done
'';
fi
meta = with stdenv.lib; {
homepage = https://plex.tv/;
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with stdenv.lib.maintainers; [ colemickens forkk thoughtpolice pjones lnl7 ];
description = "Media / DLNA server";
longDescription = ''
Plex is a media server which allows you to store your media and play it
back across many different devices.
# Tell Plex to use the data directory as the "Application Support"
# directory, otherwise it tries to write things into the user's home
# directory.
export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="$PLEX_DATADIR"
# Tell Plex where the 'home' directory for itself is.
export PLEX_MEDIA_SERVER_HOME="${plexRaw}/lib/plexmediaserver"
# Actually run Plex, prepending LD_LIBRARY_PATH with the libraries from
# the Plex package.
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$root exec "$root/Plex Media Server"
'';
};
}

70
pkgs/servers/plex/raw.nix Normal file
View File

@ -0,0 +1,70 @@
{ stdenv
, fetchurl
, rpmextract
}:
# The raw package that fetches and extracts the Plex RPM. Override the source
# and version of this derivation if you want to use a Plex Pass version of the
# server, and the FHS userenv and corresponding NixOS module should
# automatically pick up the changes.
stdenv.mkDerivation rec {
version = "1.15.3.876-ad6e39743";
pname = "plexmediaserver";
name = "${pname}-${version}";
# Fetch the source
src = fetchurl {
url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
sha256 = "01g7wccm01kg3nhf3qrmwcn20nkpv0bqz6zqv2gq5v03ps58h6g5";
};
outputs = [ "out" "basedb" ];
nativeBuildInputs = [ rpmextract ];
phases = [ "unpackPhase" "installPhase" "fixupPhase" "distPhase" ];
unpackPhase = ''
rpmextract $src
'';
installPhase = ''
mkdir -p "$out/lib"
cp -dr --no-preserve='ownership' usr/lib/plexmediaserver $out/lib/
# Location of the initial Plex plugins database
f=$out/lib/plexmediaserver/Resources/com.plexapp.plugins.library.db
# Store the base database in the 'basedb' output
cat $f > $basedb
# Overwrite the base database in the Plex package with an absolute symlink
# to the '/db' file; we create this path in the FHS userenv (see the "plex"
# package).
ln -fs /db $f
'';
# We're running in a FHS userenv; don't patch anything
dontPatchShebangs = true;
dontStrip = true;
dontPatchELF = true;
dontAutoPatchelf = true;
meta = with stdenv.lib; {
homepage = https://plex.tv/;
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with maintainers; [
colemickens
forkk
lnl7
pjones
thoughtpolice
];
description = "Media library streaming server";
longDescription = ''
Plex is a media server which allows you to store your media and play it
back across many different devices.
'';
};
}

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, v8, perl, postgresql }:
stdenv.mkDerivation rec {
name = "plv8-${version}";
version = "2.3.8";
pname = "plv8";
version = "2.3.11";
nativeBuildInputs = [ perl ];
buildInputs = [ v8 postgresql ];
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "plv8";
repo = "plv8";
rev = "v${version}";
sha256 = "0hrmn1zzzdf52zwldg6axv57p0f3b279l9s8lbpijcv60fqrzx16";
sha256 = "0bv2b8xxdqqhj6nwyc8kwhi5m5i7i1yl078sk3bnnc84b0mnza5x";
};
makeFlags = [ "--makefile=Makefile.shared" ];

View File

@ -8,7 +8,7 @@
stdenv.mkDerivation rec {
name = "timescaledb-${version}";
version = "1.0.0";
version = "1.2.2";
nativeBuildInputs = [ cmake ];
buildInputs = [ postgresql openssl ];
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
owner = "timescale";
repo = "timescaledb";
rev = "refs/tags/${version}";
sha256 = "1359jc0dw8q3f0iipqfadzs8lvri9qa5w59ziz00x1d09ppw2q40";
sha256 = "1fb1ab07jmgd1drinl25mbhwx966f75c7i7nh3ah0xf3cbk298xr";
};
# Fix the install phase which tries to install into the pgsql extension dir,
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
--replace 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/extension\""
done
for x in src/CMakeLists.txt src/loader/CMakeLists.txt; do
for x in src/CMakeLists.txt src/loader/CMakeLists.txt tsl/src/CMakeLists.txt; do
substituteInPlace "$x" \
--replace 'DESTINATION ''${PG_PKGLIBDIR}' "DESTINATION \"$out/lib\""
done
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space";
homepage = https://www.timescale.com/;
maintainers = with maintainers; [ volth ];
platforms = platforms.linux;
platforms = postgresql.meta.platforms;
license = licenses.asl20;
};
}

View File

@ -1,17 +1,14 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "rush-1.8";
pname = "rush";
version = "1.9";
src = fetchurl {
url = "mirror://gnu/rush/${name}.tar.gz";
sha256 = "1vxdb81ify4xcyygh86250pi50krb16dkj42i5ii4ns3araiwckz";
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
sha256 = "12x7dyi9vl3lwlv618156nzpi5s0li93wcx2c26h4z7la20yq2yk";
};
patches = [ ./fix-format-security-error.patch
./intprops.patch
];
doCheck = true;
meta = {

View File

@ -1,12 +0,0 @@
diff -Nur rush-1.8.orig/lib/wordsplit.c rush-1.8/lib/wordsplit.c
--- rush-1.8.orig/lib/wordsplit.c 2016-08-18 20:11:43.000000000 +0200
+++ rush-1.8/lib/wordsplit.c 2016-11-14 14:37:02.976177414 +0100
@@ -2330,7 +2330,7 @@
break;
default:
- wsp->ws_error (wordsplit_strerror (wsp));
+ wsp->ws_error ("%s", wordsplit_strerror (wsp));
}
}

View File

@ -1,257 +0,0 @@
Description: Update to latest intprops.h from gnulib, fixes FTBFS with gcc 7
Author: Adrian Bunk <bunk@debian.org>
Bug-Debian: https://bugs.debian.org/853649
--- rush-1.8+dfsg.orig/gnu/intprops.h
+++ rush-1.8+dfsg/gnu/intprops.h
@@ -1,20 +1,18 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2017 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3 of the License, or
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Paul Eggert. */
@@ -23,7 +21,6 @@
#define _GL_INTPROPS_H
#include <limits.h>
-#include <verify.h>
/* Return a value with the common real type of E and V and the value of V. */
#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
@@ -49,12 +46,16 @@
/* Minimum and maximum values for integer types and expressions. */
+/* The width in bits of the integer type or expression T.
+ Padding bits are not supported; this is checked at compile-time below. */
+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
+
/* The maximum and minimum values for the integer type T. */
#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
#define TYPE_MAXIMUM(t) \
((t) (! TYPE_SIGNED (t) \
? (t) -1 \
- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
/* The maximum and minimum values for the type of the expression E,
after integer promotion. E should not have side effects. */
@@ -67,29 +68,23 @@
? _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_NEGATE_CONVERT (e, 1))
#define _GL_SIGNED_INT_MAXIMUM(e) \
- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
+
+/* Work around OpenVMS incompatibility with C99. */
+#if !defined LLONG_MAX && defined __INT64_MAX
+# define LLONG_MAX __INT64_MAX
+# define LLONG_MIN __INT64_MIN
+#endif
/* This include file assumes that signed types are two's complement without
padding bits; the above macros have undefined behavior otherwise.
If this is a problem for you, please let us know how to fix it for your host.
- As a sanity check, test the assumption for some signed types that
- <limits.h> bounds. */
-verify (TYPE_MINIMUM (signed char) == SCHAR_MIN);
-verify (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
-verify (TYPE_MINIMUM (short int) == SHRT_MIN);
-verify (TYPE_MAXIMUM (short int) == SHRT_MAX);
-verify (TYPE_MINIMUM (int) == INT_MIN);
-verify (TYPE_MAXIMUM (int) == INT_MAX);
-verify (TYPE_MINIMUM (long int) == LONG_MIN);
-verify (TYPE_MAXIMUM (long int) == LONG_MAX);
-#ifdef LLONG_MAX
-verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
-verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
-#endif
+ This assumption is tested by the intprops-tests module. */
/* Does the __typeof__ keyword work? This could be done by
'configure', but for now it's easier to do it by hand. */
-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+#if (2 <= __GNUC__ \
+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
|| (0x5110 <= __SUNPRO_C && !__STDC__))
# define _GL_HAVE___TYPEOF__ 1
#else
@@ -118,8 +113,7 @@ verify (TYPE_MAXIMUM (long long int) ==
signed, this macro may overestimate the true bound by one byte when
applied to unsigned types of size 2, 4, 16, ... bytes. */
#define INT_STRLEN_BOUND(t) \
- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ _GL_SIGNED_TYPE_OR_EXPR (t))
/* Bound on buffer size needed to represent an integer type or expression T,
@@ -224,20 +218,27 @@ verify (TYPE_MAXIMUM (long long int) ==
? (a) < (min) >> (b) \
: (max) >> (b) < (a))
-/* True if __builtin_add_overflow (A, B, P) works when P is null. */
-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
+#if 5 <= __GNUC__ && !defined __ICC
+# define _GL_HAS_BUILTIN_OVERFLOW 1
+#else
+# define _GL_HAS_BUILTIN_OVERFLOW 0
+#endif
+
+/* True if __builtin_add_overflow_p (A, B, C) works. */
+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
/* The _GL*_OVERFLOW macros have the same restrictions as the
*_RANGE_OVERFLOW macros, except that they do not assume that operands
(e.g., A and B) have the same type as MIN and MAX. Instead, they assume
that the result (e.g., A + B) has that type. */
-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
-# define _GL_ADD_OVERFLOW(a, b, min, max)
- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define _GL_ADD_OVERFLOW(a, b, min, max) \
+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
#else
# define _GL_ADD_OVERFLOW(a, b, min, max) \
((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
@@ -317,7 +318,7 @@ verify (TYPE_MAXIMUM (long long int) ==
_GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
#define INT_SUBTRACT_OVERFLOW(a, b) \
_GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+#if _GL_HAS_BUILTIN_OVERFLOW_P
# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
#else
# define INT_NEGATE_OVERFLOW(a) \
@@ -351,10 +352,6 @@ verify (TYPE_MAXIMUM (long long int) ==
#define INT_MULTIPLY_WRAPV(a, b, r) \
_GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
-#ifndef __has_builtin
-# define __has_builtin(x) 0
-#endif
-
/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
https://llvm.org/bugs/show_bug.cgi?id=25390
@@ -371,17 +368,17 @@ verify (TYPE_MAXIMUM (long long int) ==
the operation. BUILTIN is the builtin operation, and OVERFLOW the
overflow predicate. Return 1 if the result overflows. See above
for restrictions. */
-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+#if _GL_HAS_BUILTIN_OVERFLOW
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
(_Generic \
(*(r), \
signed char: \
- _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
signed char, SCHAR_MIN, SCHAR_MAX), \
short int: \
- _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
short int, SHRT_MIN, SHRT_MAX), \
int: \
_GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
@@ -395,10 +392,10 @@ verify (TYPE_MAXIMUM (long long int) ==
#else
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
(sizeof *(r) == sizeof (signed char) \
- ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
signed char, SCHAR_MIN, SCHAR_MAX) \
: sizeof *(r) == sizeof (short int) \
- ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
short int, SHRT_MIN, SHRT_MAX) \
: sizeof *(r) == sizeof (int) \
? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
@@ -414,15 +411,14 @@ verify (TYPE_MAXIMUM (long long int) ==
# else
# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
_GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
- long int, LONG_MIN, LONG_MAX))
+ long int, LONG_MIN, LONG_MAX)
# endif
#endif
/* Store the low-order bits of A <op> B into *R, where the operation
is given by OP. Use the unsigned type UT for calculation to avoid
- overflow problems. *R's type is T, with extremal values TMIN and
- TMAX. T must be a signed integer type. Return 1 if the result
- overflows. */
+ overflow problems. *R's type is T, with extrema TMIN and TMAX.
+ T must be a signed integer type. Return 1 if the result overflows. */
#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
(sizeof ((a) op (b)) < sizeof (t) \
? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \
@@ -431,17 +427,27 @@ verify (TYPE_MAXIMUM (long long int) ==
((overflow (a, b) \
|| (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \
|| (tmax) < ((a) op (b))) \
- ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 1) \
- : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 0))
+ ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \
+ : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0))
+
+/* Return the low-order bits of A <op> B, where the operation is given
+ by OP. Use the unsigned type UT for calculation to avoid undefined
+ behavior on signed integer overflow, and convert the result to type T.
+ UT is at least as wide as T and is no narrower than unsigned int,
+ T is two's complement, and there is no padding or trap representations.
+ Assume that converting UT to T yields the low-order bits, as is
+ done in all known two's-complement C compilers. E.g., see:
+ https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html
+
+ According to the C standard, converting UT to T yields an
+ implementation-defined result or signal for values outside T's
+ range. However, code that works around this theoretical problem
+ runs afoul of a compiler bug in Oracle Studio 12.3 x86. See:
+ http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00049.html
+ As the compiler bug is real, don't try to work around the
+ theoretical problem. */
-/* Return A <op> B, where the operation is given by OP. Use the
- unsigned type UT for calculation to avoid overflow problems.
- Convert the result to type T without overflow by subtracting TMIN
- from large values before converting, and adding it afterwards.
- Compilers can optimize all the operations except OP. */
-#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t, tmin, tmax) \
- (((ut) (a) op (ut) (b)) <= (tmax) \
- ? (t) ((ut) (a) op (ut) (b)) \
- : ((t) (((ut) (a) op (ut) (b)) - (tmin)) + (tmin)))
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \
+ ((t) ((ut) (a) op (ut) (b)))
#endif /* _GL_INTPROPS_H */

View File

@ -4,13 +4,13 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation rec {
version = "2019-04-22";
version = "2019-04-25";
name = "oh-my-zsh-${version}";
rev = "f46476589aa092f75f5911fa4d6f65401a8d3577";
rev = "adade64cda7af2bb2f23b95a57f91f7010aa0cb8";
src = fetchgit { inherit rev;
url = "https://github.com/robbyrussell/oh-my-zsh";
sha256 = "1zfqa39da867zxwsyms12qv4jxl1z7rgnr817hhh1xn62i4y41f2";
sha256 = "056rzpg6prfjnj3i7sqdkd7hwh8b2fdbmcsr0p49mb4zhflfxxaw";
};
pathsToLink = [ "/share/oh-my-zsh" ];

View File

@ -3,13 +3,13 @@
python3Packages.buildPythonApplication rec {
pname = "wpgtk";
version = "6.0.3";
version = "6.0.5";
src = fetchFromGitHub {
owner = "deviantfero";
repo = "wpgtk";
rev = version;
sha256 = "1ma1d4h751qnxadfn42h29knq0rl1lgzraifx6ypidjph5i5a10l";
sha256 = "00nrc6ad2y0ivics6gpg63s86m8014a79yjn1q6d905qx32kk9dr";
};
buildInputs = [

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "restic-${version}";
version = "0.9.4";
version = "0.9.5";
goPackagePath = "github.com/restic/restic";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "restic";
repo = "restic";
rev = "v${version}";
sha256 = "15lx01w46bwn3hjwpmm8xy71m7ml9wdwddbbfvmk5in61gv1acr5";
sha256 = "1bhn3xwlycpnjg2qbqblwxn3apj43lr5cakgkmrblk13yfwfv5xv";
};
buildPhase = ''

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