diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml index 0990e9d932b..6502aaec83e 100644 --- a/nixos/doc/manual/configuration/linux-kernel.xml +++ b/nixos/doc/manual/configuration/linux-kernel.xml @@ -50,9 +50,9 @@ nixpkgs.config.packageOverrides = pkgs: = [ "fuse" "kvm-intel" "coretemp" ]; If the module is required early during the boot (e.g. to mount the root file - system), you can use : + system), you can use : - = [ "cifs" ]; + = [ "cifs" ]; This causes the specified modules and their dependencies to be added to the initial ramdisk. diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index fd998b1b318..0ae630945db 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -53,7 +53,10 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' - + When enabled the iproute2 will copy the files + expected by ip route (e.g., rt_tables) in + /run/iproute2. This allows to write aliases for + routing tables for instance. diff --git a/nixos/modules/config/iproute2.nix b/nixos/modules/config/iproute2.nix new file mode 100644 index 00000000000..881ad671a62 --- /dev/null +++ b/nixos/modules/config/iproute2.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.networking.iproute2; + confDir = "/run/iproute2"; +in +{ + options.networking.iproute2.enable = mkEnableOption "copy IP route configuration files"; + + config = mkMerge [ + ({ nixpkgs.config.iproute2.confDir = confDir; }) + + (mkIf cfg.enable { + system.activationScripts.iproute2 = '' + cp -R ${pkgs.iproute}/etc/iproute2 ${confDir} + chmod -R 664 ${confDir} + chmod +x ${confDir} + ''; + }) + ]; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 31f504ce556..5e0c3c369d7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -9,6 +9,7 @@ ./config/fonts/ghostscript.nix ./config/gnu.nix ./config/i18n.nix + ./config/iproute2.nix ./config/krb5/default.nix ./config/ldap.nix ./config/networking.nix @@ -214,6 +215,7 @@ ./services/desktops/accountsservice.nix ./services/desktops/dleyna-renderer.nix ./services/desktops/dleyna-server.nix + ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix ./services/desktops/pipewire.nix ./services/desktops/gnome3/at-spi2-core.nix @@ -649,6 +651,7 @@ ./services/web-apps/tt-rss.nix ./services/web-apps/selfoss.nix ./services/web-apps/quassel-webserver.nix + ./services/web-apps/youtrack.nix ./services/web-servers/apache-httpd/default.nix ./services/web-servers/caddy.nix ./services/web-servers/fcgiwrap.nix diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix new file mode 100644 index 00000000000..024dc65629a --- /dev/null +++ b/nixos/modules/services/desktops/flatpak.nix @@ -0,0 +1,52 @@ +# flatpak service. +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.flatpak; +in { + meta = { + doc = ./flatpak.xml; + maintainers = pkgs.flatpak.meta.maintainers; + }; + + ###### interface + options = { + services.flatpak = { + enable = mkEnableOption "flatpak"; + + extraPortals = mkOption { + type = types.listOf types.package; + default = []; + description = '' + List of additional portals to add to path. Portals allow interaction + with system, like choosing files or taking screenshots. At minimum, + a desktop portal implementation should be listed. GNOME already + adds xdg-desktop-portal-gtk; for KDE, there + is xdg-desktop-portal-kde. Other desktop + environments will probably want to do the same. + ''; + }; + }; + }; + + + ###### implementation + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.flatpak ]; + + services.dbus.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + + systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + + environment.variables = { + PATH = [ + "$HOME/.local/share/flatpak/exports/bin" + "/var/lib/flatpak/exports/bin" + ]; + + XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals; + }; + }; +} diff --git a/nixos/modules/services/desktops/flatpak.xml b/nixos/modules/services/desktops/flatpak.xml new file mode 100644 index 00000000000..d9c8b711c45 --- /dev/null +++ b/nixos/modules/services/desktops/flatpak.xml @@ -0,0 +1,53 @@ + + +Flatpak + +Source: modules/services/desktop/flatpak.nix + +Upstream documentation: + +Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux. + + + To enable Flatpak, add the following to your configuration.nix: + + + = true; + + + + + For the sandboxed apps to work correctly, desktop integration portals need to be installed. If you run GNOME, this will be handled automatically for you; in other cases, you will need to add something like the following to your configuration.nix: + + + = [ pkgs.xdg-desktop-portal-gtk ]; + + + + + Then, you will need to add a repository, for example, Flathub, either using the following commands: + + + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak update + + + or by opening the repository file in GNOME Software. + + + + Finally, you can search and install programs: + + + flatpak search bustle + flatpak install flathub org.freedesktop.Bustle + flatpak run org.freedesktop.Bustle + + + Again, GNOME Software offers graphical interface for these tasks. + + diff --git a/nixos/modules/services/web-apps/nexus.nix b/nixos/modules/services/web-apps/nexus.nix index f6a5ce73a12..d5bd0f12feb 100644 --- a/nixos/modules/services/web-apps/nexus.nix +++ b/nixos/modules/services/web-apps/nexus.nix @@ -42,6 +42,34 @@ in default = 8081; description = "Port to listen on."; }; + + jvmOpts = mkOption { + type = types.lines; + default = '' + -Xms1200M + -Xmx1200M + -XX:MaxDirectMemorySize=2G + -XX:+UnlockDiagnosticVMOptions + -XX:+UnsyncloadClass + -XX:+LogVMOutput + -XX:LogFile=${cfg.home}/nexus3/log/jvm.log + -XX:-OmitStackTraceInFastThrow + -Djava.net.preferIPv4Stack=true + -Dkaraf.home=${pkgs.nexus} + -Dkaraf.base=${pkgs.nexus} + -Dkaraf.etc=${pkgs.nexus}/etc/karaf + -Djava.util.logging.config.file=${pkgs.nexus}/etc/karaf/java.util.logging.properties + -Dkaraf.data=${cfg.home}/nexus3 + -Djava.io.tmpdir=${cfg.home}/nexus3/tmp + -Dkaraf.startLocalConsole=false + ''; + + description = '' + Options for the JVM written to `nexus.jvmopts`. + Please refer to the docs (https://help.sonatype.com/repomanager3/installation/configuring-the-runtime-environment) + for further information. + ''; + }; }; }; @@ -63,13 +91,13 @@ in environment = { NEXUS_USER = cfg.user; NEXUS_HOME = cfg.home; + + VM_OPTS_FILE = pkgs.writeText "nexus.vmoptions" cfg.jvmOpts; }; preStart = '' mkdir -p ${cfg.home}/nexus3/etc - ln -sf ${cfg.home} /run/sonatype-work - chown -R ${cfg.user}:${cfg.group} ${cfg.home} if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then @@ -77,10 +105,10 @@ in echo "application-port=${toString cfg.listenPort}" >> ${cfg.home}/nexus3/etc/nexus.properties echo "application-host=${toString cfg.listenAddress}" >> ${cfg.home}/nexus3/etc/nexus.properties else - sed 's/^application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties - sed 's/^# application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties - sed 's/^application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties - sed 's/^# application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^# application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^# application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties fi ''; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 10e8ef0ed38..27b62df7097 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -120,6 +120,7 @@ in { services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ]; systemd.packages = [ pkgs.gnome3.vino ]; + services.flatpak.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # If gnome3 is installed, build vim for gtk3 too. nixpkgs.config.vim.gui = "gtk3"; diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index f8fb8a64cb9..e4223bae7d3 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -87,9 +87,10 @@ in systemd.services.plymouth-kexec.wantedBy = [ "kexec.target" ]; systemd.services.plymouth-halt.wantedBy = [ "halt.target" ]; + systemd.services.plymouth-quit-wait.wantedBy = [ "multi-user.target" ]; systemd.services.plymouth-quit = { wantedBy = [ "multi-user.target" ]; - after = [ "display-manager.service" "multi-user.target" ]; + after = [ "display-manager.service" ]; }; systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 7c01f8ea9b7..ae9ee8811f7 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -2,9 +2,10 @@ with lib; -let cfg = config.systemd; in - -rec { +let + cfg = config.systemd; + lndir = "${pkgs.xorg.lndir}/bin/lndir"; +in rec { shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s); @@ -136,7 +137,13 @@ rec { for i in ${toString cfg.packages}; do for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do if ! [[ "$fn" =~ .wants$ ]]; then - ln -s $fn $out/ + if [[ -d "$fn" ]]; then + targetDir="$out/$(basename "$fn")" + mkdir -p "$targetDir" + ${lndir} "$fn" "$targetDir" + else + ln -s $fn $out/ + fi fi done done @@ -151,7 +158,7 @@ rec { if [ "$(readlink -f $i/$fn)" = /dev/null ]; then ln -sfn /dev/null $out/$fn else - mkdir $out/$fn.d + mkdir -p $out/$fn.d ln -s $i/$fn $out/$fn.d/overrides.conf fi else diff --git a/nixos/release.nix b/nixos/release.nix index 0d795802539..04970f1c188 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -285,6 +285,7 @@ in rec { tests.env = callTest tests/env.nix {}; tests.ferm = callTest tests/ferm.nix {}; tests.firefox = callTest tests/firefox.nix {}; + tests.flatpak = callTest tests/flatpak.nix {}; tests.firewall = callTest tests/firewall.nix {}; tests.fwupd = callTest tests/fwupd.nix {}; tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {}; @@ -347,6 +348,7 @@ in rec { tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; }; # TODO: put in networking.nix after the test becomes more complete tests.networkingProxy = callTest tests/networking-proxy.nix {}; + tests.nexus = callTest tests/nexus.nix { }; tests.nfs3 = callTest tests/nfs.nix { version = 3; }; tests.nfs4 = callTest tests/nfs.nix { version = 4; }; tests.nginx = callTest tests/nginx.nix { }; @@ -397,6 +399,7 @@ in rec { tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {}; tests.wordpress = callTest tests/wordpress.nix {}; tests.xautolock = callTest tests/xautolock.nix {}; + tests.xdg-desktop-portal = callTest tests/xdg-desktop-portal.nix {}; tests.xfce = callTest tests/xfce.nix {}; tests.xmonad = callTest tests/xmonad.nix {}; tests.xrdp = callTest tests/xrdp.nix {}; diff --git a/nixos/tests/flatpak.nix b/nixos/tests/flatpak.nix new file mode 100644 index 00000000000..d1c7cf84314 --- /dev/null +++ b/nixos/tests/flatpak.nix @@ -0,0 +1,23 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "flatpak"; + meta = { + maintainers = pkgs.flatpak.meta.maintainers; + }; + + machine = { config, pkgs, ... }: { + imports = [ ./common/x11.nix ]; + services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work + services.flatpak.enable = true; + environment.systemPackages = with pkgs; [ gnupg gnome-desktop-testing ostree python2 ]; + virtualisation.memorySize = 2047; + virtualisation.diskSize = 1024; + }; + + testScript = '' + $machine->waitForX(); + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak.installedTests}/share' --timeout 3600"); + ''; +}) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index acf248d0a5a..7da02d9c204 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -241,6 +241,7 @@ let nixos-artwork.wallpapers.gnome-dark perlPackages.XMLLibXML perlPackages.ListCompare + xorg.lndir # add curl so that rather than seeing the test attempt to download # curl's tarball, we see what it's trying to download diff --git a/nixos/tests/nexus.nix b/nixos/tests/nexus.nix index 1f19fc0867a..d12d06c2c00 100644 --- a/nixos/tests/nexus.nix +++ b/nixos/tests/nexus.nix @@ -1,12 +1,12 @@ # verifies: # 1. nexus service starts on server -# 2. nexus user can be extended on server -# 3. nexus service not can startup on server (creating database and all other initial stuff) +# 2. nexus service can startup on server (creating database and all other initial stuff) +# 3. the web application is reachable via HTTP import ./make-test.nix ({ pkgs, ...} : { name = "nexus"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ ironpinguin ]; + maintainers = [ ironpinguin ma27 ]; }; nodes = { @@ -14,21 +14,19 @@ import ./make-test.nix ({ pkgs, ...} : { server = { config, pkgs, ... }: { virtualisation.memorySize = 2048; + virtualisation.diskSize = 2048; services.nexus.enable = true; - - users.extraUsers.nexus.extraGroups = [ "users" ]; }; + }; testScript = '' startAll; $server->waitForUnit("nexus"); - - print $server->execute("sudo -u nexus groups"); - $server->mustSucceed("sudo -u nexus groups | grep nexus | grep users"); - $server->waitForOpenPort(8081); + + $server->succeed("curl -f 127.0.0.1:8081"); ''; }) diff --git a/nixos/tests/xdg-desktop-portal.nix b/nixos/tests/xdg-desktop-portal.nix new file mode 100644 index 00000000000..d954b07f73d --- /dev/null +++ b/nixos/tests/xdg-desktop-portal.nix @@ -0,0 +1,17 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "xdg-desktop-portal"; + meta = { + maintainers = pkgs.xdg-desktop-portal.meta.maintainers; + }; + + machine = { config, pkgs, ... }: { + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.xdg-desktop-portal.installedTests}/share'"); + ''; +}) diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index f646fab8629..225ec6a9456 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "atom-${version}"; - version = "1.26.1"; + version = "1.27.0"; src = fetchurl { url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; - sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11"; + sha256 = "1r37s6ndxyib644v7nlgha1pkcnz7kxpmlkhh41l5jp4dpc6iik6"; name = "${name}.deb"; }; @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { description = "A hackable text editor for the 21st Century"; homepage = https://atom.io/; license = licenses.mit; - maintainers = [ maintainers.offline maintainers.nequissimus maintainers.ysndr ]; + maintainers = with maintainers; [ offline nequissimus synthetica ysndr ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 1688e606222..3a09b5c6be4 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -114,16 +114,16 @@ rec { }; eclipse-platform-47 = buildEclipse { - name = "eclipse-platform-4.7.2"; + name = "eclipse-platform-4.7.3a"; description = "Eclipse Platform Oxygen"; sources = { "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-platform-4.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "1zl406brvhh25dkd2pi1kvz5386gzkybpwik03aadpzmjrbm9730"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk-x86_64.tar.gz; + sha512 = "caf86cd6efaf66258c75434f1adf552587a7395d57dba4cfd20f86196308cf942866d931f4b352f9d39a6fbf14444fcd2167e6bfd146a28c96c229bb9988156a"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-platform-4.7.2-linux-gtk.tar.gz; - sha256 = "0v0i13ah8d8zmcv0ip1ia5ifnfnl76aibiqpv4q4lih5d1qsa79d"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk.tar.gz; + sha512 = "c633da467774e4ab40f8d51d07b8e7d8403f26f23365c3c3ceeaeec1039b8c23c7508cee1f786bf52db64c7b84e0f91cb31a2848a74ac8271f8504934407bd5c"; }; }; }; @@ -168,16 +168,16 @@ rec { }; eclipse-sdk-47 = buildEclipse { - name = "eclipse-sdk-4.7.2"; + name = "eclipse-sdk-4.7.3a"; description = "Eclipse Oxygen Classic"; sources = { "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-SDK-4.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "1j5d72rkl3lq3rpnvq1spsa0zlzbmbkgadfhbz868sqqbavrwbzv"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk-x86_64.tar.gz; + sha512 = "d77e42aca16d26526cef32e363d038258bb8a4616d9dbe6e76dd3656dc2217369436390a82555bde4566bbbdb631813bbaca08602f7bb885cb30e8a26a14873f"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-SDK-4.7.2-linux-gtk.tar.gz; - sha256 = "117436ni79v1kiync8b3wkfkb8a5rv3sbqp6qnwbmanwkvnyvfvc"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk.tar.gz; + sha512 = "b0b936fd4142ae86ec5c30535cd5e4caf6fe313d814ae5b16f300635e4163a79b748b1eee11792a135114f2265678a74821ec80c2bfd69872769b6d0ccbcde3a"; }; }; }; diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index adb763c1250..f381064c92c 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -470,12 +470,12 @@ rec { jdt = buildEclipseUpdateSite rec { name = "jdt-${version}"; - version = "4.7.2"; + version = "4.7.3a"; src = fetchzip { stripRoot = false; - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/org.eclipse.jdt-4.7.2.zip; - sha256 = "1yzqnjs88cdyyqv8f1g8fbfyccci29f3pzxxvaz7szxicwzn59mz"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/org.eclipse.jdt-4.7.3a.zip; + sha256 = "10dndhqz894xf79zz07dlmkn7k33mn42nbmycr78xz6d2jy8cscx"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 9ff1c44dceb..c29cbe52872 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation rec { name = "nano-${version}"; - version = "2.9.4"; + version = "2.9.7"; src = fetchurl { url = "mirror://gnu/nano/${name}.tar.xz"; - sha256 = "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c"; + sha256 = "1ga4sdk3ikx1ilggc6c77vyfpbmq3nrhg6svgglpf5sv60bv0jmn"; }; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix new file mode 100644 index 00000000000..02541842c36 --- /dev/null +++ b/pkgs/applications/misc/multibootusb/default.nix @@ -0,0 +1,59 @@ +{ lib, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }: +python36Packages.buildPythonApplication rec { + pname = "multibootusb"; + name = "${pname}-${version}"; + version = "9.2.0"; + + buildInputs = [ + python36Packages.dbus-python + python36Packages.pyqt5 + python36Packages.pytest-shutil + python36Packages.python + python36Packages.pyudev + python36Packages.six + libxcb + mtools + p7zip + parted + procps + qt5.full + utillinux + ]; + + src = fetchFromGitHub { + owner = "mbusb"; + repo = pname; + rev = "v${version}"; + + sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3"; + }; + + # Skip the fixup stage where stuff is shrinked (can't shrink text files) + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + share="$out/share/${pname}" + mkdir -p "$share" + cp -r data "$share/data" + cp -r scripts "$share/scripts" + cp "${pname}" "$share/${pname}" + + mkdir "$out/bin" + cat > "$out/bin/${pname}" < avcodecLibrary && swresampleLibrary && SDL2 != null; assert ffprobeProgram -> avcodecLibrary && avformatLibrary; -assert ffserverProgram -> avformatLibrary; /* * Library dependencies */ @@ -231,11 +232,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing; stdenv.mkDerivation rec { name = "ffmpeg-full-${version}"; - version = "3.4.2"; + version = "4.0"; src = fetchurl { url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; - sha256 = "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"; + sha256 = "0gx4ngnhi5glmxh38603qy5n6vq8bl1cr4sqd1xff95i82pmv57d"; }; prePatch = '' @@ -289,7 +290,6 @@ stdenv.mkDerivation rec { (enableFeature ffmpegProgram "ffmpeg") (enableFeature ffplayProgram "ffplay") (enableFeature ffprobeProgram "ffprobe") - (enableFeature ffserverProgram "ffserver") /* * Library flags */ @@ -368,7 +368,7 @@ stdenv.mkDerivation rec { #(enableFeature (opencv != null) "libopencv") (enableFeature openglExtlib "opengl") #(enableFeature (openh264 != null) "openh264") - (enableFeature (openjpeg_1 != null) "libopenjpeg") + (enableFeature (openjpeg != null) "libopenjpeg") (enableFeature (opensslExtlib && gplLicensing) "openssl") (enableFeature (libpulseaudio != null) "libpulse") #(enableFeature quvi "libquvi") @@ -408,14 +408,14 @@ stdenv.mkDerivation rec { bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11 - libxcb libXv lzma openal openjpeg_1 libpulseaudio rtmpdump opencore-amr + libxcb libXv lzma openal openjpeg libpulseaudio rtmpdump opencore-amr samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore zeromq4 zlib ] ++ optional openglExtlib libGLU_combined ++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva ++ optionals isLinux [ alsaLib libraw1394 libv4l ] - ++ optionals nvenc [ nvidia-video-sdk ] + ++ optionals nvenc [ nvidia-video-sdk nv-codec-headers ] ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation MediaToolbox VideoDecodeAcceleration libiconv ]; diff --git a/pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix b/pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix new file mode 100644 index 00000000000..03599c91bf0 --- /dev/null +++ b/pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation rec { + name = "nv-codec-headers-${version}"; + version = "n8.1.24.2"; + + src = fetchgit { + url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"; + rev = "${version}"; + sha256 = "122i3f6whiz5yp44dhk73ifr1973z8vvfbg4216vb782bl8b5bam"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = { + description = "ffmpeg nvidia headers for NVENC"; + homepage = http://ffmpeg.org/; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = [ stdenv.lib.maintainers.MP2E ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix new file mode 100644 index 00000000000..f26dad3ce15 --- /dev/null +++ b/pkgs/development/libraries/flatpak/default.nix @@ -0,0 +1,74 @@ +{ stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2 +, gobjectIntrospection, gtk_doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc +, bubblewrap, bzip2, dbus, glib, gpgme, json_glib, libarchive, libcap, libseccomp, coreutils, python2, hicolor-icon-theme +, libsoup, lzma, ostree, polkit, python3, systemd, xlibs, valgrind, glib_networking, makeWrapper, gnome3 }: + +let + version = "0.11.7"; + desktop_schemas = gnome3.gsettings_desktop_schemas; +in stdenv.mkDerivation rec { + name = "flatpak-${version}"; + + outputs = [ "out" "man" "doc" "installedTests" ]; + + src = fetchurl { + url = "https://github.com/flatpak/flatpak/releases/download/${version}/${name}.tar.xz"; + sha256 = "1vq4j7v68lp4fsvpas1bcsx1z4snpj0mkbq2mi00kx3jb48z768h"; + }; + + patches = [ + (substituteAll { + src = ./fix-test-paths.patch; + inherit coreutils python2 glibcLocales; + hicolorIconTheme = hicolor-icon-theme; + }) + # patch taken from gtk_doc + ./respect-xml-catalog-files-var.patch + ]; + + nativeBuildInputs = [ + autoreconfHook libxml2 docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 docbook_xsl which gobjectIntrospection + gtk_doc intltool libxslt pkgconfig xmlto appstream-glib yacc makeWrapper + ] ++ stdenv.lib.optionals doCheck checkInputs; + + buildInputs = [ + bubblewrap bzip2 dbus glib gpgme json_glib libarchive libcap libseccomp + libsoup lzma ostree polkit python3 systemd xlibs.libXau + ]; + + checkInputs = [ valgrind ]; + + doCheck = false; # TODO: some issues with temporary files + + enableParallelBuilding = true; + + configureFlags = [ + "--with-system-bubblewrap=${bubblewrap}/bin/bwrap" + "--localstatedir=/var" + "--enable-installed-tests" + ]; + + makeFlags = [ + "installed_testdir=$(installedTests)/libexec/installed-tests/flatpak" + "installed_test_metadir=$(installedTests)/share/installed-tests/flatpak" + ]; + + postPatch = '' + patchShebangs buildutil + patchShebangs tests + ''; + + postFixup = '' + wrapProgram $out/bin/flatpak \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "${desktop_schemas}/share/gsettings-schemas/${desktop_schemas.name}" + ''; + + meta = with stdenv.lib; { + description = "Linux application sandboxing and distribution framework"; + homepage = https://flatpak.org/; + license = licenses.lgpl21; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/flatpak/fix-test-paths.patch b/pkgs/development/libraries/flatpak/fix-test-paths.patch new file mode 100644 index 00000000000..a548f388286 --- /dev/null +++ b/pkgs/development/libraries/flatpak/fix-test-paths.patch @@ -0,0 +1,132 @@ +--- a/tests/libtest.sh ++++ b/tests/libtest.sh +@@ -322,7 +322,7 @@ + # running installed-tests: assume we know what we're doing + : + elif ! "$FLATPAK_BWRAP" --unshare-ipc --unshare-net --unshare-pid \ +- --ro-bind / / /bin/true > bwrap-result 2>&1; then ++ --ro-bind / / @coreutils@/bin/true > bwrap-result 2>&1; then + sed -e 's/^/# /' < bwrap-result + echo "1..0 # SKIP Cannot run bwrap" + exit 0 +@@ -330,7 +330,7 @@ + } + + skip_without_python2 () { +- if ! test -f /usr/bin/python2 || ! /usr/bin/python2 -c "import sys; sys.exit(0 if sys.version_info >= (2, 7) else 1)" ; then ++ if ! test -f @python2@/bin/python2 || ! @python2@/bin/python2 -c "import sys; sys.exit(0 if sys.version_info >= (2, 7) else 1)" ; then + echo "1..0 # SKIP this test requires /usr/bin/python2 (2.7) support" + exit 0 + fi +@@ -350,12 +350,12 @@ + export DBUS_SESSION_BUS_ADDRESS="$(cat dbus-session-bus-address)" + DBUS_SESSION_BUS_PID="$(cat dbus-session-bus-pid)" + +-if ! /bin/kill -0 "$DBUS_SESSION_BUS_PID"; then ++if ! @coreutils@/bin/kill -0 "$DBUS_SESSION_BUS_PID"; then + assert_not_reached "Failed to start dbus-daemon" + fi + + cleanup () { +- /bin/kill $DBUS_SESSION_BUS_PID ${FLATPAK_HTTP_PID:-} ++ @coreutils@/bin/kill $DBUS_SESSION_BUS_PID ${FLATPAK_HTTP_PID:-} + gpg-connect-agent --homedir "${FL_GPG_HOMEDIR}" killagent /bye || true + fusermount -u $XDG_RUNTIME_DIR/doc || : + if test -n "${TEST_SKIP_CLEANUP:-}"; then +--- a/tests/make-test-runtime.sh ++++ b/tests/make-test-runtime.sh +@@ -21,6 +21,7 @@ + cat ${DIR}/metadata + + # Add bash and dependencies ++mkdir -p ${DIR}/nix/store + mkdir -p ${DIR}/usr/bin + mkdir -p ${DIR}/usr/lib + ln -s ../lib ${DIR}/usr/lib64 +@@ -30,47 +31,27 @@ + else + cp `which ldconfig` ${DIR}/usr/bin + fi +-T=`mktemp` +-for i in $@; do +- I=`which $i` +- cp $I ${DIR}/usr/bin +- ldd $I | sed "s/.* => //" | awk '{ print $1}' | grep ^/ | grep ^/ >> $T +- if test $i == python2; then +- mkdir -p ${DIR}/usr/lib/python2.7/lib-dynload +- # This is a hardcoded minimal set of modules we need in the current tests. +- # Pretty hacky stuff. Add modules as needed. +- PYDIR=/usr/lib/python2.7 +- if test -d /usr/lib64/python2.7; then PYDIR=/usr/lib64/python2.7; fi +- for py in site os stat posixpath genericpath warnings \ +- linecache types UserDict abc _abcoll \ +- _weakrefset copy_reg traceback sysconfig \ +- re sre_compile sre_parse sre_constants \ +- _sysconfigdata ; do +- cp ${PYDIR}/$py.py ${DIR}/usr/lib/python2.7 +- done +- # These might not exist, depending how Python was configured; and the +- # part after ${so} might be "module" or ".x86_64-linux-gnu" or +- # something else +- for so in _locale strop ; do +- cp ${PYDIR}/lib-dynload/${so}*.so ${DIR}/usr/lib/python2.7/lib-dynload || : +- done +- for plat in $( cd ${PYDIR} && echo plat-* ); do +- test -e ${PYDIR}/${plat} || continue +- mkdir -p ${DIR}/usr/lib/python2.7/${plat} +- cp ${PYDIR}/${plat}/*.py ${DIR}/usr/lib/python2.7/${plat}/ +- done +- fi +-done + ln -s bash ${DIR}/usr/bin/sh +-for i in `sort -u $T`; do +- cp "$i" ${DIR}/usr/lib/ ++for i in $@; do ++ I=$(readlink -f $(which $i)) ++ requisites=$(nix-store --query --requisites "$I") ++ for r in $requisites; do ++ # a single store item can be needed by multiple paths, no need to copy it again ++ if [ ! -e ${DIR}/$r ]; then ++ cp -r $r ${DIR}/$r ++ fi ++ done ++ ln -s $I ${DIR}/usr/bin/$i + done + +-# We copy the C.UTF8 locale and call it en_US. Its a bit of a lie, but +-# the real en_US locale is often not available, because its in the +-# local archive. ++mv ${DIR}/nix/store ${DIR}/usr/store # files outside /usr are not permitted, we will have to replace /nix/store with /usr/store ++chmod -R u+w ${DIR} # nix store has read-only directories which would cause problems during clean-up, files need to be writable for sed ++find ${DIR} -type f -print0 | xargs -0 sed -i 's~/nix/store/~/usr/store/~g' # replace hardcoded paths ++find ${DIR} -type l | xargs -I '{}' sh -c 'tg="$(readlink "$1")"; newtg="${tg#/nix/store/}"; if [ "$tg" != "$newtg" ]; then ln -fs "/usr/store/$newtg" "$1"; fi' -- '{}' # replace symlink targets ++ ++# We copy the whole locale archive because we do not have C.UTF8 locale + mkdir -p ${DIR}/usr/lib/locale/ +-cp -r /usr/lib/locale/C.* ${DIR}/usr/lib/locale/en_US ++cp @glibcLocales@/lib/locale/locale-archive ${DIR}/usr/lib/locale/locale-archive + + if [ x$COLLECTION_ID != x ]; then + collection_args=--collection-id=${COLLECTION_ID} +--- a/tests/testlibrary.c ++++ b/tests/testlibrary.c +@@ -378,7 +378,7 @@ + { + gint exit_code = 0; + char *argv[] = { (char *)bwrap, "--unshare-ipc", "--unshare-net", +- "--unshare-pid", "--ro-bind", "/", "/", "/bin/true", NULL }; ++ "--unshare-pid", "--ro-bind", "/", "/", "@coreutils@/bin/true", NULL }; + g_autofree char *argv_str = g_strjoinv (" ", argv); + g_test_message ("Spawning %s", argv_str); + g_spawn_sync (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL, &exit_code, &error); +--- a/triggers/gtk-icon-cache.trigger ++++ b/triggers/gtk-icon-cache.trigger +@@ -1,7 +1,7 @@ + #!/bin/sh + + if test \( -x "$(which gtk-update-icon-cache 2>/dev/null)" \) -a \( -d $1/exports/share/icons/hicolor \); then +- cp /usr/share/icons/hicolor/index.theme $1/exports/share/icons/hicolor/ ++ cp @hicolorIconTheme@/share/icons/hicolor/index.theme $1/exports/share/icons/hicolor/ + for dir in $1/exports/share/icons/*; do + if test -f $dir/index.theme; then + if ! gtk-update-icon-cache --quiet $dir; then diff --git a/pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch b/pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch new file mode 100644 index 00000000000..0e259aebd8a --- /dev/null +++ b/pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch @@ -0,0 +1,13 @@ +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -40,8 +40,8 @@ + [ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) +- if $jh_found_xmlcatalog && \ +- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then ++ # empty argument forces libxml to use XML_CATALOG_FILES variable ++ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3 + ])dnl diff --git a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix new file mode 100644 index 00000000000..720e394afc7 --- /dev/null +++ b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libxml2, xdg-desktop-portal, gtk3, glib }: + +let + version = "0.11"; +in stdenv.mkDerivation rec { + name = "xdg-desktop-portal-gtk-${version}"; + + src = fetchFromGitHub { + owner = "flatpak"; + repo = "xdg-desktop-portal-gtk"; + rev = version; + sha256 = "03ysv29k7fp14hx0gakjigzzlniwicqd81nrhnc6w4pgin0y0zwg"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig libxml2 xdg-desktop-portal ]; + buildInputs = [ glib gtk3 ]; + + meta = with stdenv.lib; { + description = "Desktop integration portals for sandboxed apps"; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + license = licenses.lgpl21; + }; +} diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix new file mode 100644 index 00000000000..98bd8ba23bb --- /dev/null +++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fuse }: + +let + version = "0.11"; +in stdenv.mkDerivation rec { + name = "xdg-desktop-portal-${version}"; + + outputs = [ "out" "installedTests" ]; + + src = fetchFromGitHub { + owner = "flatpak"; + repo = "xdg-desktop-portal"; + rev = version; + sha256 = "06gipd51snvlp2jp68v2c8rwbsv36kjzg9xacm81n1w4b2dpz4g0"; + }; + + patches = [ + ./respect-path-env-var.patch + ]; + + nativeBuildInputs = [ autoreconfHook pkgconfig libxml2 ]; + buildInputs = [ glib pipewire fuse ]; + + doCheck = true; + + configureFlags = [ + "--enable-installed-tests" + ]; + + makeFlags = [ + "installed_testdir=$(installedTests)/libexec/installed-tests/xdg-desktop-portal" + "installed_test_metadir=$(installedTests)/share/installed-tests/xdg-desktop-portal" + ]; + + meta = with stdenv.lib; { + description = "Desktop integration portals for sandboxed apps"; + license = licenses.lgpl21; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch b/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch new file mode 100644 index 00000000000..f884899ecd1 --- /dev/null +++ b/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch @@ -0,0 +1,76 @@ +--- a/src/xdg-desktop-portal.c ++++ b/src/xdg-desktop-portal.c +@@ -177,38 +177,50 @@ + static void + load_installed_portals (void) + { +- const char *portal_dir = PKGDATADIR "/portals"; +- g_autoptr(GFile) dir = g_file_new_for_path (portal_dir); +- g_autoptr(GFileEnumerator) enumerator = NULL; + +- enumerator = g_file_enumerate_children (dir, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL); ++ g_auto(GStrv) portal_dir_list; ++ int i; ++ const char *portal_dir = g_getenv ("XDG_DESKTOP_PORTAL_PATH"); ++ ++ if (portal_dir == NULL) ++ portal_dir = PKGDATADIR "/portals"; + +- if (enumerator == NULL) +- return; ++ portal_dir_list = g_strsplit (portal_dir, G_SEARCHPATH_SEPARATOR_S, 0); + +- while (TRUE) ++ for (i = 0; portal_dir_list[i] != NULL; i++) + { +- g_autoptr(GFileInfo) info = g_file_enumerator_next_file (enumerator, NULL, NULL); +- g_autoptr(GFile) child = NULL; +- g_autofree char *path = NULL; +- const char *name; +- g_autoptr(GError) error = NULL; ++ portal_dir = portal_dir_list[i]; ++ g_autoptr(GFile) dir = g_file_new_for_path (portal_dir); ++ g_autoptr(GFileEnumerator) enumerator = NULL; ++ enumerator = g_file_enumerate_children (dir, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL); + +- if (info == NULL) +- break; ++ if (enumerator == NULL) ++ continue; + +- name = g_file_info_get_name (info); ++ while (TRUE) ++ { ++ g_autoptr(GFileInfo) info = g_file_enumerator_next_file (enumerator, NULL, NULL); ++ g_autoptr(GFile) child = NULL; ++ g_autofree char *path = NULL; ++ const char *name; ++ g_autoptr(GError) error = NULL; + +- if (!g_str_has_suffix (name, ".portal")) +- continue; ++ if (info == NULL) ++ break; + +- child = g_file_enumerator_get_child (enumerator, info); +- path = g_file_get_path (child); ++ name = g_file_info_get_name (info); + +- if (!register_portal (path, &error)) +- { +- g_warning ("Error loading %s: %s", path, error->message); +- continue; ++ if (!g_str_has_suffix (name, ".portal")) ++ continue; ++ ++ child = g_file_enumerator_get_child (enumerator, info); ++ path = g_file_get_path (child); ++ ++ if (!register_portal (path, &error)) ++ { ++ g_warning ("Error loading %s: %s", path, error->message); ++ continue; ++ } + } + } + diff --git a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix index ce7a33a11ee..5f33bbc42c1 100644 --- a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix @@ -1,5 +1,5 @@ { stdenv, ocaml, findlib, jbuilder, conduit-lwt -, logs, ppx_sexp_conv +, logs, ppx_sexp_conv, lwt_ssl }: if !stdenv.lib.versionAtLeast conduit-lwt.version "1.0" @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ]; - propagatedBuildInputs = [ conduit-lwt logs ]; + propagatedBuildInputs = [ conduit-lwt logs lwt_ssl ]; buildPhase = "jbuilder build -p conduit-lwt-unix"; } diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix index 73ffd7f41ea..4b6bea31b40 100644 --- a/pkgs/development/ocaml-modules/ocurl/default.nix +++ b/pkgs/development/ocaml-modules/ocurl/default.nix @@ -1,10 +1,10 @@ { stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }: stdenv.mkDerivation rec { - name = "ocurl-0.8.0"; + name = "ocurl-0.8.1"; src = fetchurl { url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz"; - sha256 = "0292knvm9g038br0dc03lcsnbjqycyiqha256dp4bxkz3vmmz4wr"; + sha256 = "08ldzbx1k3mbjc01fmzsn86ll4paf331bcjss6iig6y6hgc9q3ry"; }; buildInputs = [ pkgconfig ocaml findlib ncurses ]; diff --git a/pkgs/development/python-modules/podcats/default.nix b/pkgs/development/python-modules/podcats/default.nix new file mode 100644 index 00000000000..a1b8312b134 --- /dev/null +++ b/pkgs/development/python-modules/podcats/default.nix @@ -0,0 +1,28 @@ +{ lib, buildPythonPackage, fetchFromGitHub, flask, mutagen }: + +buildPythonPackage rec { + pname = "podcats"; + version = "v0.5.0"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "jakubroztocil"; + repo = "podcats"; + rev = version; + sha256 = "0zjdgry5n209rv19kj9yaxy7c7zq5gxr488izrgs4sc75vdzz8xc"; + }; + + patchPhase = '' + substituteInPlace podcats.py \ + --replace 'debug=True' 'debug=True, use_reloader=False' + ''; + + propagatedBuildInputs = [ flask mutagen ]; + + meta = { + description = "Application that generates RSS feeds for podcast episodes from local audio files"; + homepage = https://github.com/jakubroztocil/podcats; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ the-kenny ]; + }; +} diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index c8376196d3a..b0ac4e07093 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -1,7 +1,7 @@ -{ buildPythonPackage, +{ buildPythonPackage, pythonOlder, cudaSupport ? false, cudatoolkit ? null, cudnn ? null, - fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, cmake, - git, stdenv, linkFarm, symlinkJoin, + fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, typing, cmake, + stdenv, linkFarm, symlinkJoin, utillinux, which }: assert cudnn == null || cudatoolkit != null; @@ -25,7 +25,7 @@ let "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} "; in buildPythonPackage rec { - version = "0.3.1"; + version = "0.4.0"; pname = "pytorch"; name = "${pname}-${version}"; @@ -34,36 +34,17 @@ in buildPythonPackage rec { repo = "pytorch"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "1k8fr97v5pf7rni5cr2pi21ixc3pdj3h3lkz28njbjbgkndh7mr3"; + sha256 = "12d5vqqaprk0igmih7fwa65ldmaawgijxl58h6dnw660wysc132j"; }; - patches = [ - (fetchpatch { - # make sure stdatomic.h is included when checking for ATOMIC_INT_LOCK_FREE - # Fixes this test failure: - # RuntimeError: refcounted file mapping not supported on your system at /tmp/nix-build-python3.6-pytorch-0.3.0.drv-0/source/torch/lib/TH/THAllocator.c:525 - url = "https://github.com/pytorch/pytorch/commit/502aaf39cf4a878f9e4f849e5f409573aa598aa9.patch"; - stripLen = 3; - extraPrefix = "torch/lib/"; - sha256 = "1miz4lhy3razjwcmhxqa4xmlcmhm65lqyin1czqczj8g16d3f62f"; - }) - ]; - - postPatch = '' - substituteInPlace test/run_test.sh --replace \ - "INIT_METHOD='file://'\$TEMP_DIR'/shared_init_file' \$PYCMD ./test_distributed.py" \ - "echo Skipped for Nix package" - ''; - preConfigure = lib.optionalString cudaSupport '' - export CC=${cudatoolkit.cc}/bin/gcc + export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++ '' + lib.optionalString (cudaSupport && cudnn != null) '' export CUDNN_INCLUDE_DIR=${cudnn}/include ''; buildInputs = [ cmake - git numpy.blas utillinux which @@ -73,10 +54,10 @@ in buildPythonPackage rec { cffi numpy pyyaml - ]; + ] ++ lib.optional (pythonOlder "3.5") typing; checkPhase = '' - ${cudaStubEnv}${stdenv.shell} test/run_test.sh + ${cudaStubEnv}python test/run_test.py --exclude distributed ''; meta = { diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 451fc1dc6fe..cbaea0f0d85 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -757,7 +757,7 @@ let }); JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: { - postPatch = '' + postPatch = lib.optionalString stdenv.isDarwin '' for file in {R,src}/*.R; do sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file done diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix new file mode 100644 index 00000000000..351ec2c77db --- /dev/null +++ b/pkgs/development/tools/flatpak-builder/default.nix @@ -0,0 +1,103 @@ +{ stdenv +, fetchurl +, substituteAll + +, autoreconfHook +, docbook_xml_dtd_412 +, docbook_xml_dtd_42 +, docbook_xml_dtd_43 +, docbook_xsl +, gettext +, libxml2 +, libxslt +, pkgconfig +, xmlto + +, acl +, bazaar +, binutils +, bzip2 +, coreutils +, cpio +, elfutils +, flatpak +, gitMinimal +, glib +, gnutar +, json_glib +, libcap +, libdwarf +, libsoup +, ostree +, patch +, rpm +, unzip +}: + +let + version = "0.10.10"; +in stdenv.mkDerivation rec { + name = "flatpak-builder-${version}"; + + outputs = [ "out" "doc" "man" ]; + + src = fetchurl { + url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz"; + sha256 = "0b0c2rmf2vj596600blbhsiv2dg7qwpr33lgdcn0bnqc4ddri6f2"; + }; + + nativeBuildInputs = [ + autoreconfHook + docbook_xml_dtd_412 + docbook_xml_dtd_42 + docbook_xml_dtd_43 + docbook_xsl + gettext + libxml2 + libxslt + pkgconfig + xmlto + ]; + + buildInputs = [ + acl + bzip2 + elfutils + flatpak + glib + json_glib + libcap + libdwarf + libsoup + libxml2 + ostree + ]; + + patches = [ + # patch taken from gtk_doc + ./respect-xml-catalog-files-var.patch + (substituteAll { + src = ./fix-paths.patch; + bzr = "${bazaar}/bin/bzr"; + cp = "${coreutils}/bin/cp"; + patch = "${patch}/bin/patch"; + tar = "${gnutar}/bin/tar"; + unzip = "${unzip}/bin/unzip"; + rpm2cpio = "${rpm}/bin/rpm2cpio"; + cpio = "${cpio}/bin/cpio"; + git = "${gitMinimal}/bin/git"; + rofilesfuse = "${ostree}/bin/rofiles-fuse"; + strip = "${binutils}/bin/strip"; + eustrip = "${elfutils}/bin/eu-strip"; + euelfcompress = "${elfutils}/bin/eu-elfcompress"; + }) + ]; + + meta = with stdenv.lib; { + description = "Tool to build flatpaks from source"; + homepage = https://flatpak.org/; + license = licenses.lgpl21; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/flatpak-builder/fix-paths.patch b/pkgs/development/tools/flatpak-builder/fix-paths.patch new file mode 100644 index 00000000000..001ddd64568 --- /dev/null +++ b/pkgs/development/tools/flatpak-builder/fix-paths.patch @@ -0,0 +1,116 @@ +--- a/src/builder-context.c ++++ b/src/builder-context.c +@@ -711,7 +711,7 @@ + g_autoptr(GFile) rofiles_base = NULL; + g_autoptr(GFile) rofiles_dir = NULL; + g_autofree char *tmpdir_name = NULL; +- char *argv[] = { "rofiles-fuse", ++ char *argv[] = { "@rofilesfuse@", + "-o", + "kernel_cache,entry_timeout=60,attr_timeout=60,splice_write,splice_move", + (char *)flatpak_file_get_path_cached (self->app_dir), +--- a/src/builder-git.c ++++ b/src/builder-git.c +@@ -44,7 +44,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (dir, output, flags, error, "git", ap); ++ res = flatpak_spawn (dir, output, flags, error, "@git@", ap); + va_end (ap); + + return res; +@@ -58,7 +58,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (NULL, NULL, 0, error, "cp", ap); ++ res = flatpak_spawn (NULL, NULL, 0, error, "@cp@", ap); + va_end (ap); + + return res; +--- a/src/builder-source-archive.c ++++ b/src/builder-source-archive.c +@@ -401,7 +401,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (dir, NULL, 0, error, "tar", ap); ++ res = flatpak_spawn (dir, NULL, 0, error, "@tar@", ap); + va_end (ap); + + return res; +@@ -416,7 +416,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (dir, NULL, 0, error, "unzip", ap); ++ res = flatpak_spawn (dir, NULL, 0, error, "@unzip@", ap); + va_end (ap); + + return res; +@@ -428,7 +428,7 @@ + GError **error) + { + gboolean res; +- const gchar *argv[] = { "sh", "-c", "rpm2cpio \"$1\" | cpio -i -d", ++ const gchar *argv[] = { "sh", "-c", "@rpm2cpio@ \"$1\" | @cpio@ -i -d", + "sh", /* shell's $0 */ + rpm_path, /* shell's $1 */ + NULL }; +--- a/src/builder-source-bzr.c ++++ b/src/builder-source-bzr.c +@@ -124,7 +124,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (dir, output, 0, error, "bzr", ap); ++ res = flatpak_spawn (dir, output, 0, error, "@bzr@", ap); + va_end (ap); + + return res; +--- a/src/builder-source-patch.c ++++ b/src/builder-source-patch.c +@@ -204,11 +204,11 @@ + + args = g_ptr_array_new (); + if (use_git) { +- g_ptr_array_add (args, "git"); ++ g_ptr_array_add (args, "@git@"); + g_ptr_array_add (args, "apply"); + g_ptr_array_add (args, "-v"); + } else { +- g_ptr_array_add (args, "patch"); ++ g_ptr_array_add (args, "@patch@"); + } + for (i = 0; extra_options != NULL && extra_options[i] != NULL; i++) + g_ptr_array_add (args, (gchar *) extra_options[i]); +--- a/src/builder-utils.c ++++ b/src/builder-utils.c +@@ -139,7 +139,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (NULL, NULL, 0, error, "strip", ap); ++ res = flatpak_spawn (NULL, NULL, 0, error, "@strip@", ap); + va_end (ap); + + return res; +@@ -153,7 +153,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (NULL, NULL, 0, error, "eu-strip", ap); ++ res = flatpak_spawn (NULL, NULL, 0, error, "@eustrip@", ap); + va_end (ap); + + return res; +@@ -167,7 +167,7 @@ + va_list ap; + + va_start (ap, error); +- res = flatpak_spawn (NULL, NULL, 0, error, "eu-elfcompress", ap); ++ res = flatpak_spawn (NULL, NULL, 0, error, "@euelfcompress@", ap); + va_end (ap); + + return res; diff --git a/pkgs/development/tools/flatpak-builder/respect-xml-catalog-files-var.patch b/pkgs/development/tools/flatpak-builder/respect-xml-catalog-files-var.patch new file mode 100644 index 00000000000..0e259aebd8a --- /dev/null +++ b/pkgs/development/tools/flatpak-builder/respect-xml-catalog-files-var.patch @@ -0,0 +1,13 @@ +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -40,8 +40,8 @@ + [ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) +- if $jh_found_xmlcatalog && \ +- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then ++ # empty argument forces libxml to use XML_CATALOG_FILES variable ++ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3 + ])dnl diff --git a/pkgs/development/tools/repository-managers/nexus/default.nix b/pkgs/development/tools/repository-managers/nexus/default.nix index 25dba0ac02f..fb7a6007074 100644 --- a/pkgs/development/tools/repository-managers/nexus/default.nix +++ b/pkgs/development/tools/repository-managers/nexus/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, makeWrapper, jre, gawk }: + stdenv.mkDerivation rec { name = "nexus-${version}"; - version = "3.5.1-02"; + version = "3.11.0-01"; src = fetchurl { url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz"; - sha256 = "5ef3512c2bbdd45ef35921c1a0ba109b45bd9dad88311750196aa689262258b6"; + sha256 = "1h5nfzb1sqhzb5j7w2dpmdi7vnnc9g6zx43a44f3zjvlxh1s0vim"; }; sourceRoot = name; nativeBuildInputs = [ makeWrapper ]; - patches = [ ./nexus-bin.patch ]; + patches = [ ./nexus-bin.patch ./nexus-vm-opts.patch ]; postPatch = '' substituteInPlace bin/nexus.vmoptions \ - --replace ../sonatype-work/nexus3 /run/sonatype-work/nexus3 \ --replace etc/karaf $out/etc/karaf \ --replace =. =$out ''; @@ -28,14 +28,12 @@ stdenv.mkDerivation rec { cp -rfv * .install4j $out rm -fv $out/bin/nexus.bat - runHook postInstall - ''; - - postInstall = '' wrapProgram $out/bin/nexus \ --set JAVA_HOME ${jre} \ --set ALTERNATIVE_NAME "nexus" \ --prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}" + + runHook postInstall ''; meta = with stdenv.lib; { @@ -43,6 +41,6 @@ stdenv.mkDerivation rec { homepage = http://www.sonatype.org/nexus; license = licenses.epl10; platforms = platforms.all; - maintainers = with maintainers; [ aespinosa ironpinguin ]; + maintainers = with maintainers; [ aespinosa ironpinguin ma27 ]; }; } diff --git a/pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch b/pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch new file mode 100644 index 00000000000..744b4b96a56 --- /dev/null +++ b/pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch @@ -0,0 +1,14 @@ +diff --git a/bin/nexus b/bin/nexus +index e7ed3fb..8db766b 100755 +--- a/bin/nexus ++++ b/bin/nexus +@@ -440,7 +440,8 @@ add_class_path "$app_home/lib/boot/org.apache.karaf.diagnostic.boot-4.0.9.jar" + add_class_path "$app_home/lib/boot/org.apache.karaf.jaas.boot-4.0.9.jar" + + vmoptions_val="" +-read_vmoptions "$prg_dir/$progname.vmoptions" ++VM_OPTS=${VM_OPTS_FILE:-"$prg_dir/$progname.vmoptions"} ++read_vmoptions "$VM_OPTS" + INSTALL4J_ADD_VM_PARAMS="$INSTALL4J_ADD_VM_PARAMS $vmoptions_val" + + diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 7d412d7e15d..8ccb0c20380 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, lib, flex, bash, bison, db, iptables, pkgconfig }: +{ fetchurl, stdenv, config, lib, flex, bash, bison, db, iptables, pkgconfig }: stdenv.mkDerivation rec { name = "iproute2-${version}"; @@ -26,8 +26,9 @@ stdenv.mkDerivation rec { "HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers ]; + # enable iproute2 module if you want this folder to be created buildFlags = [ - "CONFDIR=/etc/iproute2" + "CONFDIR=${config.iproute2.confDir or "/run/iproute2"}" ]; installFlags = [ diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 4af5889fd1c..ec2b2f38795 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -636,6 +636,11 @@ with stdenv.lib; X86_X2APIC y IRQ_REMAP y ''} + + # needed for iwd WPS support (wpa_supplicant replacement) + ${optionalString (versionAtLeast version "4.7") '' + KEY_DH_OPERATIONS y + ''} # Disable the firmware helper fallback, udev doesn't implement it any more FW_LOADER_USER_HELPER_FALLBACK? n diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 92225670330..691c0d7a0a9 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args: buildLinux (args // rec { - version = "4.17-rc4"; - modDirVersion = "4.17.0-rc4"; + version = "4.17-rc5"; + modDirVersion = "4.17.0-rc5"; extraMeta.branch = "4.17"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "1y34hpzgxblwqslhsfsmzmpv9f3s936r93wgn4kmhkcwsm0in292"; + sha256 = "1khx3s8nb604h23hasamshcvcwll0j4vi5v6v274ls01ja9mg1xk"; }; # Should the testing kernels ever be built on Hydra? diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix index 4eae86b00b0..f329b108849 100644 --- a/pkgs/servers/metabase/default.nix +++ b/pkgs/servers/metabase/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "metabase-${version}"; - version = "0.29.0"; + version = "0.29.2"; src = fetchurl { url = "http://downloads.metabase.com/v${version}/metabase.jar"; - sha256 = "1dfq06cm8k36pkqpng4cd8ax8cdxbcssww4vapq2w9ccflpnlam2"; + sha256 = "02cba755mfim8q403gj02ggc0gg4ckcyalxkw09k0jqi5irdi4h1"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/monitoring/plugins/labs_consol_de.nix b/pkgs/servers/monitoring/plugins/labs_consol_de.nix index 9f33835c885..350728d509f 100644 --- a/pkgs/servers/monitoring/plugins/labs_consol_de.nix +++ b/pkgs/servers/monitoring/plugins/labs_consol_de.nix @@ -1,25 +1,24 @@ -{ stdenv, fetchFromGitHub, buildPerlPackage, autoreconfHook, makeWrapper +{ stdenv, fetchFromGitHub, fetchurl, buildPerlPackage, autoreconfHook, makeWrapper , perl, NetSNMP, coreutils, gnused, gnugrep }: let - owner = "lausser"; - glplugin = fetchFromGitHub { + owner = "lausser"; repo = "GLPlugin"; - rev = "b92a261ca4bf84e5b20d3025cc9a31ade03c474b"; - sha256 = "0kflnmpjmklq8fy2vf2h8qyvaiznymdi09z2h5qscrfi51xc9gmh"; - inherit owner; + rev = "e8e1a2907a54435c932b3e6c584ba1d679754849"; + sha256 = "0wb55a9pmgbilfffx0wkiikg9830qd66j635ypczqp4basslpq5b"; }; - generic = { pname, version, rev, sha256, description, ... } @ attrs: + generic = { pname, version, sha256, description, ... } @ attrs: let attrs' = builtins.removeAttrs attrs [ "pname" "version" "rev" "sha256"]; + name' = "${stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}"}-${version}"; in perl.stdenv.mkDerivation rec { - name = stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}-${version}"; + name = "${pname}-${version}"; - src = fetchFromGitHub { - repo = pname; - inherit owner rev sha256; + src = fetchurl { + url = "https://labs.consol.de/assets/downloads/nagios/${name'}.tar.gz"; + inherit sha256; }; buildInputs = [ perl NetSNMP ]; @@ -27,7 +26,8 @@ let nativeBuildInputs = [ autoreconfHook makeWrapper ]; prePatch = with stdenv.lib; '' - ln -s ${glplugin}/* GLPlugin + rm -rf GLPlugin + ln -s ${glplugin} GLPlugin substituteInPlace plugins-scripts/Makefile.am \ --replace /bin/cat ${getBin coreutils}/bin/cat \ --replace /bin/echo ${getBin coreutils}/bin/echo \ @@ -56,17 +56,15 @@ let in { check-nwc-health = generic { pname = "check_nwc_health"; - version = "20170804"; - rev = "e959b412b5cf027c82a446668e026214fdcf8df3"; - sha256 = "11l74xw62g15rqrbf9ff2bfd5iw159gwhhgbkxwdqi8sp9j6navk"; + version = "7.0.1.3"; + sha256 = "0rgd6zgd7kplx3z72n8zbzwkh8vnd83361sk9ibh6ng78sds1sl5"; description = "Check plugin for network equipment."; }; check-ups-health = generic { pname = "check_ups_health"; - version = "20170804"; - rev = "32a8a359ea46ec0d6f3b7aea19ddedaad63b04b9"; - sha256 = "05na48dxfxrg0i9185j1ck2795p0rw1zwcs8ra0f14cm0qw0lp4l"; + version = "2.8.2.2"; + sha256 = "1gc2wjsymay2vk5ywc1jj9cvrbhs0fs851x8l4nc75df2g75v521"; description = "Check plugin for UPSs."; }; } diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix index cac86e29c47..cd0cff0f389 100644 --- a/pkgs/tools/graphics/maim/default.nix +++ b/pkgs/tools/graphics/maim/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "maim-${version}"; - version = "5.5"; + version = "5.5.1"; src = fetchFromGitHub { owner = "naelstrof"; repo = "maim"; rev = "v${version}"; - sha256 = "0dr44lwqsvhwf9pncxq6k42zj9hj07b96qsk1q8vh4l42zcpqzla"; + sha256 = "106qg85q0aiw4w08vjg9j60brrbln11b8vdycjqkv8fq00pq308i"; }; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix index e1d6604970e..2a06400b411 100644 --- a/pkgs/tools/misc/staruml/default.nix +++ b/pkgs/tools/misc/staruml/default.nix @@ -1,23 +1,24 @@ { stdenv, fetchurl, makeWrapper , dpkg, patchelf -, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, systemd }: +, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, systemd +, libXdamage }: let inherit (stdenv) lib; LD_LIBRARY_PATH = lib.makeLibraryPath - [ glib gtk2 gdk_pixbuf alsaLib nss nspr GConf cups libgcrypt dbus ]; + [ glib gtk2 gdk_pixbuf alsaLib nss nspr GConf cups libgcrypt dbus libXdamage ]; in stdenv.mkDerivation rec { - version = "2.6.0"; + version = "2.8.1"; name = "staruml-${version}"; src = if stdenv.system == "i686-linux" then fetchurl { url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb"; - sha256 = "684d7ce7827a98af5bf17bf68d18f934fd970f13a2112a121b1f1f76d6387849"; + sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n"; } else fetchurl { url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb"; - sha256 = "36e0bdc1bb57b7d808a007a3fafb1b38662d5b0793424d5ad4f51a3a6a9a636d"; + sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0"; }; buildInputs = [ dpkg ]; @@ -34,17 +35,17 @@ stdenv.mkDerivation rec { mkdir $out mv opt/staruml $out/bin - ${patchelf}/bin/patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/bin/StarUML - mkdir -p $out/lib - ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/ ln -s ${systemd.lib}/lib/libudev.so.1 $out/lib/libudev.so.0 - wrapProgram $out/bin/StarUML \ - --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} + for binary in StarUML Brackets-node; do + ${patchelf}/bin/patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/bin/$binary + wrapProgram $out/bin/$binary \ + --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} + done ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/telnet/default.nix b/pkgs/tools/networking/telnet/default.nix deleted file mode 100644 index d9de9c15763..00000000000 --- a/pkgs/tools/networking/telnet/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{stdenv, fetchurl, ncurses}: - -stdenv.mkDerivation { - name = "telnet-1.2"; - - src = fetchurl { - #url = ftp://ftp.suse.com/pub/people/kukuk/ipv6/telnet-bsd-1.2.tar.bz2; # broken - url = mirror://gentoo/distfiles/telnet-bsd-1.2.tar.bz2; - sha256 = "0cs7ks22dhcn5qfjv2vl6ikhw93x68gg33zdn5f5cxgg81kx5afn"; - }; - - hardeningDisable = [ "format" ]; - - buildInputs = [ncurses]; - - doInstallCheck = false; # fails - - meta = { - description = "A client and daemon for the Telnet protocol"; - homepage = ftp://ftp.suse.com/pub/people/kukuk/ipv6/; - license = "BSD"; - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index fdc6b58346b..6591968ed55 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -275,6 +275,7 @@ mapAliases (rec { telepathy_qt = telepathy-qt; # added 2018-02-25 telepathy_qt5 = libsForQt5.telepathy; # added 2015-12-19 telepathy_salut = telepathy-salut; # added 2018-02-25 + telnet = inetutils; # added 2018-05-15 tex-gyre-bonum-math = tex-gyre-math.bonum; # added 2018-04-03 tex-gyre-pagella-math = tex-gyre-math.pagella; # added 2018-04-03 tex-gyre-schola-math = tex-gyre-math.schola; # added 2018-04-03 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 52f78289b5a..557213c6738 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2305,6 +2305,10 @@ with pkgs; flashbench = callPackage ../os-specific/linux/flashbench { }; + flatpak = callPackage ../development/libraries/flatpak { }; + + flatpak-builder = callPackage ../development/tools/flatpak-builder { }; + figlet = callPackage ../tools/misc/figlet { }; file = callPackage ../tools/misc/file { }; @@ -5148,8 +5152,6 @@ with pkgs; teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { }; - telnet = callPackage ../tools/networking/telnet { }; - telegraf = callPackage ../servers/monitoring/telegraf { }; teleport = callPackage ../servers/teleport {}; @@ -15962,6 +15964,8 @@ with pkgs; moe = callPackage ../applications/editors/moe { }; + multibootusb = callPackage ../applications/misc/multibootusb {}; + praat = callPackage ../applications/audio/praat { }; quvi = callPackage ../applications/video/quvi/tool.nix { @@ -18559,6 +18563,10 @@ with pkgs; xdaliclock = callPackage ../tools/misc/xdaliclock {}; + xdg-desktop-portal = callPackage ../development/libraries/xdg-desktop-portal { }; + + xdg-desktop-portal-gtk = callPackage ../development/libraries/xdg-desktop-portal-gtk { }; + xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { }; xdg_utils = callPackage ../tools/X11/xdg-utils { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 99e22539d76..1cd5443c835 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3847,6 +3847,8 @@ in { podcastparser = callPackage ../development/python-modules/podcastparser { }; + podcats = callPackage ../development/python-modules/podcats { }; + pomegranate = callPackage ../development/python-modules/pomegranate { }; poppler-qt5 = callPackage ../development/python-modules/poppler-qt5 { @@ -5590,8 +5592,20 @@ in { }; }; - pytorch = callPackage ../development/python-modules/pytorch { + pytorch = let + # Fails with CUDA 9.1 and GCC 6.4: + # https://github.com/pytorch/pytorch/issues/5831 + # https://devtalk.nvidia.com/default/topic/1028112 + # We should be able to remove this when CUDA 9.2 is released. + cudatoolkit9 = pkgs.cudatoolkit9.override { + gcc6 = pkgs.gcc5; + }; + in callPackage ../development/python-modules/pytorch { cudaSupport = pkgs.config.cudaSupport or false; + cudatoolkit = cudatoolkit9; + cudnn = pkgs.cudnn_cudatoolkit9.override { + inherit cudatoolkit9; + }; }; pytorchWithCuda = self.pytorch.override {