Merge remote-tracking branch 'upstream/master' into staging

Conflicts:
pkgs/tools/networking/telnet/default.nix
pkgs/top-level/aliases.nix

Changed files
+1204 -216
nixos
doc
manual
configuration
release-notes
modules
config
services
desktops
web-apps
x11
desktop-managers
system
tests
pkgs
applications
editors
misc
multibootusb
networking
browsers
vivaldi
cluster
instant-messengers
signal-desktop
telegram
tdesktop
science
biology
math
video
handbrake
desktops
gnome-3
core
gnome-shell
gnome-software
mutter
tracker-miners
mate
development
compilers
gcc
libraries
ocaml-modules
conduit
ocurl
python-modules
podcats
pytorch
r-modules
tools
os-specific
servers
metabase
monitoring
tools
graphics
misc
staruml
networking
telnet
top-level
+2 -2
nixos/doc/manual/configuration/linux-kernel.xml
···
<xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
</programlisting>
If the module is required early during the boot (e.g. to mount the root file
-
system), you can use <xref linkend="opt-boot.initrd.extraKernelModules"/>:
<programlisting>
-
<xref linkend="opt-boot.initrd.extraKernelModules"/> = [ "cifs" ];
</programlisting>
This causes the specified modules and their dependencies to be added to the
initial ramdisk.
···
<xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
</programlisting>
If the module is required early during the boot (e.g. to mount the root file
+
system), you can use <xref linkend="opt-boot.initrd.kernelModules"/>:
<programlisting>
+
<xref linkend="opt-boot.initrd.kernelModules"/> = [ "cifs" ];
</programlisting>
This causes the specified modules and their dependencies to be added to the
initial ramdisk.
+4 -1
nixos/doc/manual/release-notes/rl-1809.xml
···
<itemizedlist>
<listitem>
-
<para></para>
</listitem>
</itemizedlist>
</section>
···
<itemizedlist>
<listitem>
+
<para>When enabled the <literal>iproute2</literal> will copy the files
+
expected by ip route (e.g., <filename>rt_tables</filename>) in
+
<filename>/run/iproute2</filename>. This allows to write aliases for
+
routing tables for instance.</para>
</listitem>
</itemizedlist>
</section>
+23
nixos/modules/config/iproute2.nix
···
···
+
{ 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}
+
'';
+
})
+
];
+
}
+3
nixos/modules/module-list.nix
···
./config/fonts/ghostscript.nix
./config/gnu.nix
./config/i18n.nix
./config/krb5/default.nix
./config/ldap.nix
./config/networking.nix
···
./services/desktops/accountsservice.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
./services/desktops/geoclue2.nix
./services/desktops/pipewire.nix
./services/desktops/gnome3/at-spi2-core.nix
···
./services/web-apps/tt-rss.nix
./services/web-apps/selfoss.nix
./services/web-apps/quassel-webserver.nix
./services/web-servers/apache-httpd/default.nix
./services/web-servers/caddy.nix
./services/web-servers/fcgiwrap.nix
···
./config/fonts/ghostscript.nix
./config/gnu.nix
./config/i18n.nix
+
./config/iproute2.nix
./config/krb5/default.nix
./config/ldap.nix
./config/networking.nix
···
./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
···
./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
+52
nixos/modules/services/desktops/flatpak.nix
···
···
+
# 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 <package>xdg-desktop-portal-gtk</package>; for KDE, there
+
is <package>xdg-desktop-portal-kde</package>. 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;
+
};
+
};
+
}
+53
nixos/modules/services/desktops/flatpak.xml
···
···
+
<chapter xmlns="http://docbook.org/ns/docbook"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:xi="http://www.w3.org/2001/XInclude"
+
version="5.0"
+
xml:id="module-services-flatpak">
+
+
<title>Flatpak</title>
+
+
<para><emphasis>Source:</emphasis> <filename>modules/services/desktop/flatpak.nix</filename></para>
+
+
<para><emphasis>Upstream documentation:</emphasis> <link xlink:href="https://github.com/flatpak/flatpak/wiki"/></para>
+
+
<para>Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux.</para>
+
+
<para>
+
To enable Flatpak, add the following to your <filename>configuration.nix</filename>:
+
+
<programlisting>
+
<xref linkend="opt-services.flatpak.enable"/> = true;
+
</programlisting>
+
</para>
+
+
<para>
+
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 <filename>configuration.nix</filename>:
+
+
<programlisting>
+
<xref linkend="opt-services.flatpak.extraPortals"/> = [ pkgs.xdg-desktop-portal-gtk ];
+
</programlisting>
+
</para>
+
+
<para>
+
Then, you will need to add a repository, for example, <link xlink:href="https://github.com/flatpak/flatpak/wiki">Flathub</link>, either using the following commands:
+
+
<programlisting>
+
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
+
flatpak update
+
</programlisting>
+
+
or by opening the <link xlink:href="https://flathub.org/repo/flathub.flatpakrepo">repository file</link> in GNOME Software.
+
</para>
+
+
<para>
+
Finally, you can search and install programs:
+
+
<programlisting>
+
flatpak search bustle
+
flatpak install flathub org.freedesktop.Bustle
+
flatpak run org.freedesktop.Bustle
+
</programlisting>
+
+
Again, GNOME Software offers graphical interface for these tasks.
+
</para>
+
</chapter>
+34 -6
nixos/modules/services/web-apps/nexus.nix
···
default = 8081;
description = "Port to listen on.";
};
};
};
···
environment = {
NEXUS_USER = cfg.user;
NEXUS_HOME = cfg.home;
};
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
···
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
fi
'';
···
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.
+
'';
+
};
};
};
···
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
chown -R ${cfg.user}:${cfg.group} ${cfg.home}
if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then
···
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
fi
'';
+1
nixos/modules/services/x11/desktop-managers/gnome3.nix
···
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 ];
# If gnome3 is installed, build vim for gtk3 too.
nixpkgs.config.vim.gui = "gtk3";
···
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";
+2 -1
nixos/modules/system/boot/plymouth.nix
···
systemd.services.plymouth-kexec.wantedBy = [ "kexec.target" ];
systemd.services.plymouth-halt.wantedBy = [ "halt.target" ];
systemd.services.plymouth-quit = {
wantedBy = [ "multi-user.target" ];
-
after = [ "display-manager.service" "multi-user.target" ];
};
systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ];
systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ];
···
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" ];
};
systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ];
systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ];
+12 -5
nixos/modules/system/boot/systemd-lib.nix
···
with lib;
-
let cfg = config.systemd; in
-
-
rec {
shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s);
···
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/
fi
done
done
···
if [ "$(readlink -f $i/$fn)" = /dev/null ]; then
ln -sfn /dev/null $out/$fn
else
-
mkdir $out/$fn.d
ln -s $i/$fn $out/$fn.d/overrides.conf
fi
else
···
with lib;
+
let
+
cfg = config.systemd;
+
lndir = "${pkgs.xorg.lndir}/bin/lndir";
+
in rec {
shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s);
···
for i in ${toString cfg.packages}; do
for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do
if ! [[ "$fn" =~ .wants$ ]]; then
+
if [[ -d "$fn" ]]; then
+
targetDir="$out/$(basename "$fn")"
+
mkdir -p "$targetDir"
+
${lndir} "$fn" "$targetDir"
+
else
+
ln -s $fn $out/
+
fi
fi
done
done
···
if [ "$(readlink -f $i/$fn)" = /dev/null ]; then
ln -sfn /dev/null $out/$fn
else
+
mkdir -p $out/$fn.d
ln -s $i/$fn $out/$fn.d/overrides.conf
fi
else
+3
nixos/release.nix
···
tests.env = callTest tests/env.nix {};
tests.ferm = callTest tests/ferm.nix {};
tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.nix {};
tests.fwupd = callTest tests/fwupd.nix {};
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
···
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.nfs3 = callTest tests/nfs.nix { version = 3; };
tests.nfs4 = callTest tests/nfs.nix { version = 4; };
tests.nginx = callTest tests/nginx.nix { };
···
tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {};
tests.wordpress = callTest tests/wordpress.nix {};
tests.xautolock = callTest tests/xautolock.nix {};
tests.xfce = callTest tests/xfce.nix {};
tests.xmonad = callTest tests/xmonad.nix {};
tests.xrdp = callTest tests/xrdp.nix {};
···
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 {};
···
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 { };
···
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 {};
+23
nixos/tests/flatpak.nix
···
···
+
# 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");
+
'';
+
})
+1
nixos/tests/installer.nix
···
nixos-artwork.wallpapers.gnome-dark
perlPackages.XMLLibXML
perlPackages.ListCompare
# add curl so that rather than seeing the test attempt to download
# curl's tarball, we see what it's trying to download
···
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
+7 -9
nixos/tests/nexus.nix
···
# 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)
import ./make-test.nix ({ pkgs, ...} : {
name = "nexus";
meta = with pkgs.stdenv.lib.maintainers; {
-
maintainers = [ ironpinguin ];
};
nodes = {
···
server =
{ config, pkgs, ... }:
{ virtualisation.memorySize = 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);
'';
})
···
# verifies:
# 1. nexus service starts on server
+
# 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 ma27 ];
};
nodes = {
···
server =
{ config, pkgs, ... }:
{ virtualisation.memorySize = 2048;
+
virtualisation.diskSize = 2048;
services.nexus.enable = true;
};
+
};
testScript = ''
startAll;
$server->waitForUnit("nexus");
$server->waitForOpenPort(8081);
+
+
$server->succeed("curl -f 127.0.0.1:8081");
'';
})
+17
nixos/tests/xdg-desktop-portal.nix
···
···
+
# 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'");
+
'';
+
})
+3 -3
pkgs/applications/editors/atom/default.nix
···
stdenv.mkDerivation rec {
name = "atom-${version}";
-
version = "1.26.1";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-
sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11";
name = "${name}.deb";
};
···
description = "A hackable text editor for the 21st Century";
homepage = https://atom.io/;
license = licenses.mit;
-
maintainers = [ maintainers.offline maintainers.nequissimus maintainers.ysndr ];
platforms = [ "x86_64-linux" ];
};
}
···
stdenv.mkDerivation rec {
name = "atom-${version}";
+
version = "1.27.0";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
+
sha256 = "1r37s6ndxyib644v7nlgha1pkcnz7kxpmlkhh41l5jp4dpc6iik6";
name = "${name}.deb";
};
···
description = "A hackable text editor for the 21st Century";
homepage = https://atom.io/;
license = licenses.mit;
+
maintainers = with maintainers; [ offline nequissimus synthetica ysndr ];
platforms = [ "x86_64-linux" ];
};
}
+10 -10
pkgs/applications/editors/eclipse/default.nix
···
};
eclipse-platform-47 = buildEclipse {
-
name = "eclipse-platform-4.7.2";
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";
};
"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";
};
};
};
···
};
eclipse-sdk-47 = buildEclipse {
-
name = "eclipse-sdk-4.7.2";
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";
};
"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";
};
};
};
···
};
eclipse-platform-47 = buildEclipse {
+
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.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.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk.tar.gz;
+
sha512 = "c633da467774e4ab40f8d51d07b8e7d8403f26f23365c3c3ceeaeec1039b8c23c7508cee1f786bf52db64c7b84e0f91cb31a2848a74ac8271f8504934407bd5c";
};
};
};
···
};
eclipse-sdk-47 = buildEclipse {
+
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.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.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk.tar.gz;
+
sha512 = "b0b936fd4142ae86ec5c30535cd5e4caf6fe313d814ae5b16f300635e4163a79b748b1eee11792a135114f2265678a74821ec80c2bfd69872769b6d0ccbcde3a";
};
};
};
+3 -3
pkgs/applications/editors/eclipse/plugins.nix
···
jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}";
-
version = "4.7.2";
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";
};
meta = with stdenv.lib; {
···
jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}";
+
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.3a-201803300640/org.eclipse.jdt-4.7.3a.zip;
+
sha256 = "10dndhqz894xf79zz07dlmkn7k33mn42nbmycr78xz6d2jy8cscx";
};
meta = with stdenv.lib; {
+2 -2
pkgs/applications/editors/nano/default.nix
···
in stdenv.mkDerivation rec {
name = "nano-${version}";
-
version = "2.9.4";
src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz";
-
sha256 = "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c";
};
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
···
in stdenv.mkDerivation rec {
name = "nano-${version}";
+
version = "2.9.7";
src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz";
+
sha256 = "1ga4sdk3ikx1ilggc6c77vyfpbmq3nrhg6svgglpf5sv60bv0jmn";
};
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
+59
pkgs/applications/misc/multibootusb/default.nix
···
···
+
{ 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}" <<EOF
+
#!/bin/sh
+
cd "$share"
+
export PYTHONPATH="$PYTHONPATH:$share"
+
export PATH="$PATH:${parted}/bin:${procps}/bin"
+
+
"${python36Packages.python}/bin/python" "${pname}"
+
EOF
+
chmod +x "$out/bin/${pname}"
+
'';
+
+
meta = with lib; {
+
description = "Multiboot USB creator for Linux live disks";
+
homepage = http://multibootusb.org/;
+
license = licenses.gpl2;
+
maintainers = with maintainers; [ jD91mZM2 ];
+
};
+
}
+2 -2
pkgs/applications/networking/browsers/vivaldi/default.nix
···
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi";
-
version = "1.14.1077.45-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
-
sha256 = "0b4iviar927jx6xqyrzgzb3p4p617zm4an1np8jnldadq2a0p56d";
};
unpackPhase = ''
···
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi";
+
version = "1.15.1147.42-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
+
sha256 = "15cajvn2sv05qdp3y538n2xvyy3il49q8zi5928z1mfirjz3dlwh";
};
unpackPhase = ''
+3 -3
pkgs/applications/networking/cluster/helm/default.nix
···
then "linux-amd64"
else "darwin-amd64";
checksum = if isLinux
-
then "1lr2s66kln6rp3sb156br9nfx51bdy654vdjr4vnncz4kp3mljv1"
-
else "04y4ii0w4s00z831q1wzxz6qkc8qfrhwzdrq3wwvrcl0413cza50";
pname = "helm";
-
version = "2.8.2";
in
stdenv.mkDerivation {
name = "${pname}-${version}";
···
then "linux-amd64"
else "darwin-amd64";
checksum = if isLinux
+
then "0bnjpiivhsxhl45ab32vzf6crv4z8nbq5kcjkvlbcbswdbgp0pq6"
+
else "0smwhj4pmd4k7csz82akbkrkb0j2jxnmb33ifhkqw7n33jhl3aqp";
pname = "helm";
+
version = "2.9.0";
in
stdenv.mkDerivation {
name = "${pname}-${version}";
+5 -5
pkgs/applications/networking/cluster/kops/default.nix
···
-
{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }:
buildGoPackage rec {
name = "kops-${version}";
-
version = "1.8.1";
goPackagePath = "k8s.io/kops";
···
rev = version;
owner = "kubernetes";
repo = "kops";
-
sha256 = "12nyr0iw1xwp60apli3nlq2vyn4jk3qjrb404m2syx2mqbnn47my";
};
buildInputs = [go-bindata];
···
preBuild = ''
(cd go/src/k8s.io/kops
-
go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...
-
go-bindata -o federation/model/bindata.go -pkg model -prefix federation/model federation/model/...)
'';
postInstall = ''
···
+
+
{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }:
buildGoPackage rec {
name = "kops-${version}";
+
version = "1.9.0";
goPackagePath = "k8s.io/kops";
···
rev = version;
owner = "kubernetes";
repo = "kops";
+
sha256 = "03avkm7gk2dqyvd7245qsca1sbhwk41j9yhc208gcmjgjhkx2vn7";
};
buildInputs = [go-bindata];
···
preBuild = ''
(cd go/src/k8s.io/kops
+
go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...)
'';
postInstall = ''
+2 -2
pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
···
stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
-
version = "1.10.1";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-
sha256 = "1ndk2in9mbsm5i2k7pgpbd6smbgpswxmjvr12zmbmw893ay015h3";
}
else
throw "Signal for Desktop is not currently supported on ${stdenv.system}";
···
stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
+
version = "1.11.0";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
+
sha256 = "0s3qlzm7iy9qxca2hlh1hq0dnjr7y5wxad1ssqgmyhxsif0nqm96";
}
else
throw "Signal for Desktop is not currently supported on ${stdenv.system}";
+2 -2
pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
···
stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // {
stable = false;
-
version = "1.2.19";
-
sha256Hash = "0val6lfcg3ghcksflm3jclqly0x8plpn3an8v9bix0s5yll1ka4h";
});
}
···
stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // {
stable = false;
+
version = "1.2.20";
+
sha256Hash = "00ncpb1qs88jrrmmx7f7l8wy37wbwnrb958x3xls14p1h1xg63l6";
});
}
+2 -2
pkgs/applications/science/biology/star/default.nix
···
stdenv.mkDerivation rec {
name = "star-${version}";
-
version = "2.5.3a";
src = fetchFromGitHub {
repo = "STAR";
owner = "alexdobin";
rev = version;
-
sha256 = "1fd9xl7i1zxgsxn2qf6gz8s42g2djm29qmp6qb35d8nnxh8ns54x";
};
sourceRoot = "source/source";
···
stdenv.mkDerivation rec {
name = "star-${version}";
+
version = "2.6.0c";
src = fetchFromGitHub {
repo = "STAR";
owner = "alexdobin";
rev = version;
+
sha256 = "04cj6jw8d9q6lk9c78wa4fky6jdlicf1d13plq7182h8vqiz8p59";
};
sourceRoot = "source/source";
+12 -1
pkgs/applications/science/math/pspp/default.nix
···
{ stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
, pkgconfig, gtksourceview, pango, gettext
}:
stdenv.mkDerivation rec {
···
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl
-
gtksourceview pango gettext ];
doCheck = false;
enableParallelBuilding = true;
meta = {
homepage = http://www.gnu.org/software/pspp/;
···
{ stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
, pkgconfig, gtksourceview, pango, gettext
+
, makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
+
, gnome3
}:
stdenv.mkDerivation rec {
···
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl
+
gtksourceview pango gettext
+
makeWrapper gsettings-desktop-schemas hicolor-icon-theme ];
doCheck = false;
enableParallelBuilding = true;
+
+
preFixup = ''
+
wrapProgram "$out/bin/psppire" \
+
--prefix XDG_DATA_DIRS : "$out/share" \
+
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
+
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+
--prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+
'';
meta = {
homepage = http://www.gnu.org/software/pspp/;
+4 -7
pkgs/applications/video/handbrake/default.nix
···
# Derivation patches HandBrake to use our closure.
#
-
# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
-
{ stdenv, lib, fetchurl,
python2, pkgconfig, yasm, harfbuzz, zlib,
-
autoconf, automake, cmake, libtool, m4, jansson,
libass, libiconv, libsamplerate, fribidi, libxml2, bzip2,
libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec,
lame, libdvdread, libdvdnav, libbluray,
···
}:
stdenv.mkDerivation rec {
version = "1.1.0";
name = "handbrake-${version}";
···
});
nativeBuildInputs = [
-
cmake python2 pkgconfig yasm autoconf automake libtool m4
] ++ lib.optionals useGtk [ intltool wrapGAppsHook ];
buildInputs = [
···
libgudev
] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ])
++ lib.optional useFdk fdk_aac;
-
-
dontUseCmakeConfigure = true;
enableParallelBuilding = true;
···
'';
license = licenses.gpl2;
maintainers = with maintainers; [ Anton-Latukha wmertens ];
-
platforms = platforms.linux;
};
}
···
# Derivation patches HandBrake to use our closure.
#
{ stdenv, lib, fetchurl,
python2, pkgconfig, yasm, harfbuzz, zlib,
+
autoconf, automake, libtool, m4, jansson,
libass, libiconv, libsamplerate, fribidi, libxml2, bzip2,
libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec,
lame, libdvdread, libdvdnav, libbluray,
···
}:
stdenv.mkDerivation rec {
+
# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
version = "1.1.0";
name = "handbrake-${version}";
···
});
nativeBuildInputs = [
+
python2 pkgconfig yasm autoconf automake libtool m4
] ++ lib.optionals useGtk [ intltool wrapGAppsHook ];
buildInputs = [
···
libgudev
] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ])
++ lib.optional useFdk fdk_aac;
enableParallelBuilding = true;
···
'';
license = licenses.gpl2;
maintainers = with maintainers; [ Anton-Latukha wmertens ];
+
platforms = with platforms; unix;
};
}
+2 -2
pkgs/desktops/gnome-3/core/gnome-shell/default.nix
···
in stdenv.mkDerivation rec {
name = "gnome-shell-${version}";
-
version = "3.28.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${gnome3.versionBranch version}/${name}.tar.xz";
-
sha256 = "1k2cgaky293kcjis0pmh9hw1aby3yyilb5dzrbww62wxzppc9s35";
};
# Needed to find /etc/NetworkManager/VPN
···
in stdenv.mkDerivation rec {
name = "gnome-shell-${version}";
+
version = "3.28.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${gnome3.versionBranch version}/${name}.tar.xz";
+
sha256 = "1b9n89ij2g5nqaqp7a13jnqcd8qa2v9p55rbi71al3xvqk091ri7";
};
# Needed to find /etc/NetworkManager/VPN
+2 -3
pkgs/desktops/gnome-3/core/gnome-software/default.nix
···
{ stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
-
, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobjectIntrospection
, json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk-doc, desktop-file-utils }:
stdenv.mkDerivation rec {
···
gnome3.gtk glib packagekit appstream-glib libsoup
gnome3.gsettings-desktop-schemas gnome3.gnome-desktop
gspell json-glib libsecret ostree
-
polkit
];
mesonFlags = [
-
"-Denable-flatpak=false"
"-Denable-rpm=false"
"-Denable-fwupd=false"
"-Denable-oauth=false"
···
{ stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
+
, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobjectIntrospection, flatpak
, json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk-doc, desktop-file-utils }:
stdenv.mkDerivation rec {
···
gnome3.gtk glib packagekit appstream-glib libsoup
gnome3.gsettings-desktop-schemas gnome3.gnome-desktop
gspell json-glib libsecret ostree
+
polkit flatpak
];
mesonFlags = [
"-Denable-rpm=false"
"-Denable-fwupd=false"
"-Denable-oauth=false"
+2 -2
pkgs/desktops/gnome-3/core/mutter/default.nix
···
stdenv.mkDerivation rec {
name = "mutter-${version}";
-
version = "3.28.1";
src = fetchurl {
url = "mirror://gnome/sources/mutter/${gnome3.versionBranch version}/${name}.tar.xz";
-
sha256 = "1bhmjvf6l1fj5igsw2xlg3nv5526laiwaxh47dgk50f40qax1qin";
};
passthru = {
···
stdenv.mkDerivation rec {
name = "mutter-${version}";
+
version = "3.28.2";
src = fetchurl {
url = "mirror://gnome/sources/mutter/${gnome3.versionBranch version}/${name}.tar.xz";
+
sha256 = "0ighs1zvlssgq16v1h3vg280za7y448snq65gc5m1zmqqawqkymg";
};
passthru = {
+93 -24
pkgs/desktops/gnome-3/core/tracker-miners/default.nix
···
-
{ stdenv, intltool, fetchurl, libxml2, upower
-
, substituteAll, pkgconfig, gtk3, glib, gexiv2
-
, bash, wrapGAppsHook, itstool, vala, sqlite, libxslt
-
, gnome3, librsvg, gdk_pixbuf, libnotify
-
, evolution-data-server, gst_all_1, poppler
-
, icu, taglib, libjpeg, libtiff, giflib, libcue
-
, libvorbis, flac, exempi, networkmanager
-
, libpng, libexif, libgsf, libuuid, bzip2
-
, libsoup, json-glib, libseccomp
-
, libiptcdata }:
-
let
pname = "tracker-miners";
version = "2.0.4";
-
in stdenv.mkDerivation rec {
-
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
sha256 = "0mp9m2waii583sjgr61m1ni6py6dry11r0rzidgvw1g4cxhn89j6";
};
-
NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler";
-
enableParallelBuilding = true;
-
nativeBuildInputs = [ vala pkgconfig intltool itstool libxslt wrapGAppsHook ];
# TODO: add libgrss, libenca, libosinfo
buildInputs = [
-
bzip2 evolution-data-server exempi flac giflib glib gnome3.totem-pl-parser
-
gnome3.tracker gst_all_1.gst-plugins-base gst_all_1.gstreamer icu
-
json-glib libcue libexif libgsf libiptcdata libjpeg libpng libseccomp libsoup
-
libtiff libuuid libvorbis libxml2 poppler taglib upower gexiv2
];
-
LANG = "en_US.UTF-8"; # for running tests
-
-
doCheck = true;
patches = [
(substituteAll {
src = ./fix-paths.patch;
inherit (gnome3) tracker;
})
];
passthru = {
···
};
};
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/Tracker;
description = "Desktop-neutral user information store, search tool and indexer";
maintainers = gnome3.maintainers;
-
license = licenses.gpl2;
platforms = platforms.linux;
};
}
···
+
{ stdenv, fetchurl, substituteAll, intltool, itstool, libxslt, makeWrapper
+
, meson, ninja, pkgconfig, vala, wrapGAppsHook, bzip2, dbus, evolution-data-server
+
, exempi, flac, giflib, glib, gnome3, gst_all_1, icu, json-glib, libcue, libexif
+
, libgsf, libiptcdata, libjpeg, libpng, libseccomp, libsoup, libtiff, libuuid
+
, libvorbis, libxml2, poppler, taglib, upower }:
+
stdenv.mkDerivation rec {
+
name = "${pname}-${version}";
pname = "tracker-miners";
version = "2.0.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
sha256 = "0mp9m2waii583sjgr61m1ni6py6dry11r0rzidgvw1g4cxhn89j6";
};
+
# https://github.com/NixOS/nixpkgs/issues/39547
+
LIBRARY_PATH = stdenv.lib.makeLibraryPath [ giflib ];
+
nativeBuildInputs = [
+
intltool
+
itstool
+
libxslt
+
makeWrapper
+
meson
+
ninja
+
pkgconfig
+
vala
+
wrapGAppsHook
+
];
# TODO: add libgrss, libenca, libosinfo
buildInputs = [
+
bzip2
+
dbus
+
evolution-data-server
+
exempi
+
flac
+
giflib
+
glib
+
gnome3.gexiv2
+
gnome3.totem-pl-parser
+
gnome3.tracker
+
gst_all_1.gst-plugins-base
+
gst_all_1.gstreamer
+
icu
+
json-glib
+
libcue
+
libexif
+
libgsf
+
libiptcdata
+
libjpeg
+
libpng
+
libseccomp
+
libsoup
+
libtiff
+
libuuid
+
libvorbis
+
libxml2
+
poppler
+
taglib
+
upower
];
+
mesonFlags = [
+
"-Dminer_rss=false" # needs libgrss
+
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
inherit (gnome3) tracker;
})
+
# https://bugzilla.gnome.org/show_bug.cgi?id=795573
+
(fetchurl {
+
url = https://bugzilla.gnome.org/attachment.cgi?id=371422;
+
sha256 = "1rzwzrc7q73k42s1j1iw52chy10w6y3xksfrzg2l42nn9wk7n281";
+
})
+
# https://bugzilla.gnome.org/show_bug.cgi?id=795574
+
(fetchurl {
+
url = https://bugzilla.gnome.org/attachment.cgi?id=371423;
+
sha256 = "0b2ck8z4b2yrgwg4v9jsac5n8h3a91qkp90vv17wxcvr4v50fg48";
+
})
+
# https://bugzilla.gnome.org/show_bug.cgi?id=795575
+
(fetchurl {
+
url = https://bugzilla.gnome.org/attachment.cgi?id=371424;
+
sha256 = "03i29fabxrpraydh7712vdrc571qmiq0l4axj24gbi6h77xn7mxc";
+
})
+
# https://bugzilla.gnome.org/show_bug.cgi?id=795576
+
(fetchurl {
+
url = https://bugzilla.gnome.org/attachment.cgi?id=371427;
+
sha256 = "187flswvzymjfxwfrrhizb1cvs780zm39aa3i2vwa5fbllr7kcpf";
+
})
+
# https://bugzilla.gnome.org/show_bug.cgi?id=795577
+
(fetchurl {
+
url = https://bugzilla.gnome.org/attachment.cgi?id=371425;
+
sha256 = "05m629469jr2lm2cjs54n7xwyim2d5rwwvdjxzcwh5qpfjds5phm";
+
})
];
passthru = {
···
};
};
+
# https://github.com/NixOS/nixpkgs/pull/39534#discussion_r184339131
+
# https://github.com/NixOS/nixpkgs/pull/37693
+
preConfigure = ''
+
mesonFlagsArray+=("-Ddbus_services=$out/share/dbus-1/services")
+
'';
+
+
postInstall = ''
+
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
+
'';
+
+
# https://bugzilla.gnome.org/show_bug.cgi?id=796145
+
postFixup = ''
+
rm $out/share/tracker/miners/org.freedesktop.Tracker1.Miner.RSS.service
+
'';
+
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/Tracker;
description = "Desktop-neutral user information store, search tool and indexer";
maintainers = gnome3.maintainers;
+
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}
+2 -2
pkgs/desktops/mate/caja/default.nix
···
stdenv.mkDerivation rec {
name = "caja-${version}";
-
version = "1.21.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-
sha256 = "0v8zx5rzqh1zkwizkpdckmwm6004cv9sbjghzgz3049xzcqm371g";
};
nativeBuildInputs = [
···
stdenv.mkDerivation rec {
name = "caja-${version}";
+
version = "1.21.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
+
sha256 = "013lmngnm0i2746qrkkyhg62kyh4cjdd0i634cz5fm7ah65ylxg4";
};
nativeBuildInputs = [
+1
pkgs/development/compilers/gcc/7/default.nix
···
"--with-gnu-as" "--without-gnu-ld"
]
++ optional (targetPlatform == hostPlatform && targetPlatform.libc == "musl") "--disable-libsanitizer"
;
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
···
"--with-gnu-as" "--without-gnu-ld"
]
++ optional (targetPlatform == hostPlatform && targetPlatform.libc == "musl") "--disable-libsanitizer"
+
++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
;
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
+10 -10
pkgs/development/libraries/ffmpeg-full/default.nix
···
, ffmpegProgram ? true # Build ffmpeg executable
, ffplayProgram ? true # Build ffplay executable
, ffprobeProgram ? true # Build ffprobe executable
-
, ffserverProgram ? true # Build ffserver executable
, qtFaststartProgram ? true # Build qt-faststart executable
/*
* Library options
···
, libXv ? null # Xlib support
, lzma ? null # xz-utils
, nvenc ? false, nvidia-video-sdk ? null # NVIDIA NVENC support
, openal ? null # OpenAL 1.1 capture support
#, opencl ? null # OpenCL code
, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
#, opencv ? null # Video filtering
, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
#, openh264 ? null # H.264/AVC encoder
-
, openjpeg_1 ? null # JPEG 2000 de/encoder
, opensslExtlib ? false, openssl ? null
, libpulseaudio ? null # Pulseaudio input support
, rtmpdump ? null # RTMP[E] support
···
* utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
*
* Need fixes to support Darwin:
-
* frei0r, game-music-emu, gsm, libjack2, libssh, libvpx(stable 1.3.0), openal, openjpeg_1,
* pulseaudio, rtmpdump, samba, vid-stab, wavpack, x265. xavs
*
* Not supported:
···
let
inherit (stdenv) isCygwin isFreeBSD isLinux;
inherit (stdenv.lib) optional optionals optionalString enableFeature;
in
/*
···
&& swresampleLibrary
&& SDL2 != null;
assert ffprobeProgram -> avcodecLibrary && avformatLibrary;
-
assert ffserverProgram -> avformatLibrary;
/*
* Library dependencies
*/
···
stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}";
-
version = "3.4.2";
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-
sha256 = "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib";
};
prePatch = ''
···
(enableFeature ffmpegProgram "ffmpeg")
(enableFeature ffplayProgram "ffplay")
(enableFeature ffprobeProgram "ffprobe")
-
(enableFeature ffserverProgram "ffserver")
/*
* Library flags
*/
···
#(enableFeature (opencv != null) "libopencv")
(enableFeature openglExtlib "opengl")
#(enableFeature (openh264 != null) "openh264")
-
(enableFeature (openjpeg_1 != null) "libopenjpeg")
(enableFeature (opensslExtlib && gplLicensing) "openssl")
(enableFeature (libpulseaudio != null) "libpulse")
#(enableFeature quvi "libquvi")
···
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
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 stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
MediaToolbox VideoDecodeAcceleration
libiconv ];
···
, ffmpegProgram ? true # Build ffmpeg executable
, ffplayProgram ? true # Build ffplay executable
, ffprobeProgram ? true # Build ffprobe executable
, qtFaststartProgram ? true # Build qt-faststart executable
/*
* Library options
···
, libXv ? null # Xlib support
, lzma ? null # xz-utils
, nvenc ? false, nvidia-video-sdk ? null # NVIDIA NVENC support
+
, callPackage # needed for NVENC to access external ffmpeg nvidia headers
, openal ? null # OpenAL 1.1 capture support
#, opencl ? null # OpenCL code
, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
#, opencv ? null # Video filtering
, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
#, openh264 ? null # H.264/AVC encoder
+
, openjpeg ? null # JPEG 2000 de/encoder
, opensslExtlib ? false, openssl ? null
, libpulseaudio ? null # Pulseaudio input support
, rtmpdump ? null # RTMP[E] support
···
* utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
*
* Need fixes to support Darwin:
+
* frei0r, game-music-emu, gsm, libjack2, libssh, libvpx(stable 1.3.0), openal, openjpeg,
* pulseaudio, rtmpdump, samba, vid-stab, wavpack, x265. xavs
*
* Not supported:
···
let
inherit (stdenv) isCygwin isFreeBSD isLinux;
inherit (stdenv.lib) optional optionals optionalString enableFeature;
+
+
nv-codec-headers = callPackage ./nv-codec-headers.nix { };
in
/*
···
&& swresampleLibrary
&& SDL2 != null;
assert ffprobeProgram -> avcodecLibrary && avformatLibrary;
/*
* Library dependencies
*/
···
stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}";
+
version = "4.0";
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
+
sha256 = "0gx4ngnhi5glmxh38603qy5n6vq8bl1cr4sqd1xff95i82pmv57d";
};
prePatch = ''
···
(enableFeature ffmpegProgram "ffmpeg")
(enableFeature ffplayProgram "ffplay")
(enableFeature ffprobeProgram "ffprobe")
/*
* Library flags
*/
···
#(enableFeature (opencv != null) "libopencv")
(enableFeature openglExtlib "opengl")
#(enableFeature (openh264 != null) "openh264")
+
(enableFeature (openjpeg != null) "libopenjpeg")
(enableFeature (opensslExtlib && gplLicensing) "openssl")
(enableFeature (libpulseaudio != null) "libpulse")
#(enableFeature quvi "libquvi")
···
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 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 nv-codec-headers ]
++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
MediaToolbox VideoDecodeAcceleration
libiconv ];
+22
pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix
···
···
+
{ 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;
+
};
+
}
+74
pkgs/development/libraries/flatpak/default.nix
···
···
+
{ 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;
+
};
+
}
+132
pkgs/development/libraries/flatpak/fix-test-paths.patch
···
···
+
--- 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
+13
pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch
···
···
+
--- 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
+24
pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
···
···
+
{ 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;
+
};
+
}
+41
pkgs/development/libraries/xdg-desktop-portal/default.nix
···
···
+
{ 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;
+
};
+
}
+76
pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch
···
···
+
--- 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;
+
+ }
+
}
+
}
+
+2 -2
pkgs/development/ocaml-modules/conduit/lwt-unix.nix
···
{ stdenv, ocaml, findlib, jbuilder, conduit-lwt
-
, logs, ppx_sexp_conv
}:
if !stdenv.lib.versionAtLeast conduit-lwt.version "1.0"
···
buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ];
-
propagatedBuildInputs = [ conduit-lwt logs ];
buildPhase = "jbuilder build -p conduit-lwt-unix";
}
···
{ stdenv, ocaml, findlib, jbuilder, conduit-lwt
+
, logs, ppx_sexp_conv, lwt_ssl
}:
if !stdenv.lib.versionAtLeast conduit-lwt.version "1.0"
···
buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ];
+
propagatedBuildInputs = [ conduit-lwt logs lwt_ssl ];
buildPhase = "jbuilder build -p conduit-lwt-unix";
}
+2 -2
pkgs/development/ocaml-modules/ocurl/default.nix
···
{ stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }:
stdenv.mkDerivation rec {
-
name = "ocurl-0.8.0";
src = fetchurl {
url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
-
sha256 = "0292knvm9g038br0dc03lcsnbjqycyiqha256dp4bxkz3vmmz4wr";
};
buildInputs = [ pkgconfig ocaml findlib ncurses ];
···
{ stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }:
stdenv.mkDerivation rec {
+
name = "ocurl-0.8.1";
src = fetchurl {
url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
+
sha256 = "08ldzbx1k3mbjc01fmzsn86ll4paf331bcjss6iig6y6hgc9q3ry";
};
buildInputs = [ pkgconfig ocaml findlib ncurses ];
+28
pkgs/development/python-modules/podcats/default.nix
···
···
+
{ 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 ];
+
};
+
}
+8 -27
pkgs/development/python-modules/pytorch/default.nix
···
-
{ buildPythonPackage,
cudaSupport ? false, cudatoolkit ? null, cudnn ? null,
-
fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, cmake,
-
git, stdenv, linkFarm, symlinkJoin,
utillinux, which }:
assert cudnn == null || cudatoolkit != null;
···
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ";
in buildPythonPackage rec {
-
version = "0.3.1";
pname = "pytorch";
name = "${pname}-${version}";
···
repo = "pytorch";
rev = "v${version}";
fetchSubmodules = true;
-
sha256 = "1k8fr97v5pf7rni5cr2pi21ixc3pdj3h3lkz28njbjbgkndh7mr3";
};
-
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
'' + lib.optionalString (cudaSupport && cudnn != null) ''
export CUDNN_INCLUDE_DIR=${cudnn}/include
'';
buildInputs = [
cmake
-
git
numpy.blas
utillinux
which
···
cffi
numpy
pyyaml
-
];
checkPhase = ''
-
${cudaStubEnv}${stdenv.shell} test/run_test.sh
'';
meta = {
···
+
{ buildPythonPackage, pythonOlder,
cudaSupport ? false, cudatoolkit ? null, cudnn ? null,
+
fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, typing, cmake,
+
stdenv, linkFarm, symlinkJoin,
utillinux, which }:
assert cudnn == null || cudatoolkit != null;
···
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ";
in buildPythonPackage rec {
+
version = "0.4.0";
pname = "pytorch";
name = "${pname}-${version}";
···
repo = "pytorch";
rev = "v${version}";
fetchSubmodules = true;
+
sha256 = "12d5vqqaprk0igmih7fwa65ldmaawgijxl58h6dnw660wysc132j";
};
preConfigure = lib.optionalString cudaSupport ''
+
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
'' + lib.optionalString (cudaSupport && cudnn != null) ''
export CUDNN_INCLUDE_DIR=${cudnn}/include
'';
buildInputs = [
cmake
numpy.blas
utillinux
which
···
cffi
numpy
pyyaml
+
] ++ lib.optional (pythonOlder "3.5") typing;
checkPhase = ''
+
${cudaStubEnv}python test/run_test.py --exclude distributed
'';
meta = {
+1 -1
pkgs/development/r-modules/default.nix
···
});
JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: {
-
postPatch = ''
for file in {R,src}/*.R; do
sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
done
···
});
JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: {
+
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
+103
pkgs/development/tools/flatpak-builder/default.nix
···
···
+
{ 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;
+
};
+
}
+116
pkgs/development/tools/flatpak-builder/fix-paths.patch
···
···
+
--- 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;
+13
pkgs/development/tools/flatpak-builder/respect-xml-catalog-files-var.patch
···
···
+
--- 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
+7 -9
pkgs/development/tools/repository-managers/nexus/default.nix
···
{ stdenv, fetchurl, makeWrapper, jre, gawk }:
stdenv.mkDerivation rec {
name = "nexus-${version}";
-
version = "3.5.1-02";
src = fetchurl {
url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz";
-
sha256 = "5ef3512c2bbdd45ef35921c1a0ba109b45bd9dad88311750196aa689262258b6";
};
sourceRoot = name;
nativeBuildInputs = [ makeWrapper ];
-
patches = [ ./nexus-bin.patch ];
postPatch = ''
substituteInPlace bin/nexus.vmoptions \
-
--replace ../sonatype-work/nexus3 /run/sonatype-work/nexus3 \
--replace etc/karaf $out/etc/karaf \
--replace =. =$out
'';
···
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 ]}"
'';
meta = with stdenv.lib; {
···
homepage = http://www.sonatype.org/nexus;
license = licenses.epl10;
platforms = platforms.all;
-
maintainers = with maintainers; [ aespinosa ironpinguin ];
};
}
···
{ stdenv, fetchurl, makeWrapper, jre, gawk }:
+
stdenv.mkDerivation rec {
name = "nexus-${version}";
+
version = "3.11.0-01";
src = fetchurl {
url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz";
+
sha256 = "1h5nfzb1sqhzb5j7w2dpmdi7vnnc9g6zx43a44f3zjvlxh1s0vim";
};
sourceRoot = name;
nativeBuildInputs = [ makeWrapper ];
+
patches = [ ./nexus-bin.patch ./nexus-vm-opts.patch ];
postPatch = ''
substituteInPlace bin/nexus.vmoptions \
--replace etc/karaf $out/etc/karaf \
--replace =. =$out
'';
···
cp -rfv * .install4j $out
rm -fv $out/bin/nexus.bat
wrapProgram $out/bin/nexus \
--set JAVA_HOME ${jre} \
--set ALTERNATIVE_NAME "nexus" \
--prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}"
+
+
runHook postInstall
'';
meta = with stdenv.lib; {
···
homepage = http://www.sonatype.org/nexus;
license = licenses.epl10;
platforms = platforms.all;
+
maintainers = with maintainers; [ aespinosa ironpinguin ma27 ];
};
}
+14
pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch
···
···
+
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"
+
+
+3 -2
pkgs/os-specific/linux/iproute/default.nix
···
-
{ fetchurl, stdenv, lib, flex, bash, bison, db, iptables, pkgconfig }:
stdenv.mkDerivation rec {
name = "iproute2-${version}";
···
"HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers
];
buildFlags = [
-
"CONFDIR=/etc/iproute2"
];
installFlags = [
···
+
{ fetchurl, stdenv, config, lib, flex, bash, bison, db, iptables, pkgconfig }:
stdenv.mkDerivation rec {
name = "iproute2-${version}";
···
"HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers
];
+
# enable iproute2 module if you want this folder to be created
buildFlags = [
+
"CONFDIR=${config.iproute2.confDir or "/run/iproute2"}"
];
installFlags = [
+5
pkgs/os-specific/linux/kernel/common-config.nix
···
X86_X2APIC y
IRQ_REMAP y
''}
# Disable the firmware helper fallback, udev doesn't implement it any more
FW_LOADER_USER_HELPER_FALLBACK? n
···
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
+3 -3
pkgs/os-specific/linux/kernel/linux-testing.nix
···
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
buildLinux (args // rec {
-
version = "4.17-rc4";
-
modDirVersion = "4.17.0-rc4";
extraMeta.branch = "4.17";
src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-
sha256 = "1y34hpzgxblwqslhsfsmzmpv9f3s936r93wgn4kmhkcwsm0in292";
};
# Should the testing kernels ever be built on Hydra?
···
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
buildLinux (args // rec {
+
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 = "1khx3s8nb604h23hasamshcvcwll0j4vi5v6v274ls01ja9mg1xk";
};
# Should the testing kernels ever be built on Hydra?
+2 -2
pkgs/servers/metabase/default.nix
···
stdenv.mkDerivation rec {
name = "metabase-${version}";
-
version = "0.29.0";
src = fetchurl {
url = "http://downloads.metabase.com/v${version}/metabase.jar";
-
sha256 = "1dfq06cm8k36pkqpng4cd8ax8cdxbcssww4vapq2w9ccflpnlam2";
};
nativeBuildInputs = [ makeWrapper ];
···
stdenv.mkDerivation rec {
name = "metabase-${version}";
+
version = "0.29.2";
src = fetchurl {
url = "http://downloads.metabase.com/v${version}/metabase.jar";
+
sha256 = "02cba755mfim8q403gj02ggc0gg4ckcyalxkw09k0jqi5irdi4h1";
};
nativeBuildInputs = [ makeWrapper ];
+16 -18
pkgs/servers/monitoring/plugins/labs_consol_de.nix
···
-
{ stdenv, fetchFromGitHub, buildPerlPackage, autoreconfHook, makeWrapper
, perl, NetSNMP, coreutils, gnused, gnugrep }:
let
-
owner = "lausser";
-
glplugin = fetchFromGitHub {
repo = "GLPlugin";
-
rev = "b92a261ca4bf84e5b20d3025cc9a31ade03c474b";
-
sha256 = "0kflnmpjmklq8fy2vf2h8qyvaiznymdi09z2h5qscrfi51xc9gmh";
-
inherit owner;
};
-
generic = { pname, version, rev, sha256, description, ... } @ attrs:
let
attrs' = builtins.removeAttrs attrs [ "pname" "version" "rev" "sha256"];
in perl.stdenv.mkDerivation rec {
-
name = stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}-${version}";
-
src = fetchFromGitHub {
-
repo = pname;
-
inherit owner rev sha256;
};
buildInputs = [ perl NetSNMP ];
···
nativeBuildInputs = [ autoreconfHook makeWrapper ];
prePatch = with stdenv.lib; ''
-
ln -s ${glplugin}/* GLPlugin
substituteInPlace plugins-scripts/Makefile.am \
--replace /bin/cat ${getBin coreutils}/bin/cat \
--replace /bin/echo ${getBin coreutils}/bin/echo \
···
in {
check-nwc-health = generic {
pname = "check_nwc_health";
-
version = "20170804";
-
rev = "e959b412b5cf027c82a446668e026214fdcf8df3";
-
sha256 = "11l74xw62g15rqrbf9ff2bfd5iw159gwhhgbkxwdqi8sp9j6navk";
description = "Check plugin for network equipment.";
};
check-ups-health = generic {
pname = "check_ups_health";
-
version = "20170804";
-
rev = "32a8a359ea46ec0d6f3b7aea19ddedaad63b04b9";
-
sha256 = "05na48dxfxrg0i9185j1ck2795p0rw1zwcs8ra0f14cm0qw0lp4l";
description = "Check plugin for UPSs.";
};
}
···
+
{ stdenv, fetchFromGitHub, fetchurl, buildPerlPackage, autoreconfHook, makeWrapper
, perl, NetSNMP, coreutils, gnused, gnugrep }:
let
glplugin = fetchFromGitHub {
+
owner = "lausser";
repo = "GLPlugin";
+
rev = "e8e1a2907a54435c932b3e6c584ba1d679754849";
+
sha256 = "0wb55a9pmgbilfffx0wkiikg9830qd66j635ypczqp4basslpq5b";
};
+
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 = "${pname}-${version}";
+
src = fetchurl {
+
url = "https://labs.consol.de/assets/downloads/nagios/${name'}.tar.gz";
+
inherit sha256;
};
buildInputs = [ perl NetSNMP ];
···
nativeBuildInputs = [ autoreconfHook makeWrapper ];
prePatch = with stdenv.lib; ''
+
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 \
···
in {
check-nwc-health = generic {
pname = "check_nwc_health";
+
version = "7.0.1.3";
+
sha256 = "0rgd6zgd7kplx3z72n8zbzwkh8vnd83361sk9ibh6ng78sds1sl5";
description = "Check plugin for network equipment.";
};
check-ups-health = generic {
pname = "check_ups_health";
+
version = "2.8.2.2";
+
sha256 = "1gc2wjsymay2vk5ywc1jj9cvrbhs0fs851x8l4nc75df2g75v521";
description = "Check plugin for UPSs.";
};
}
+2 -2
pkgs/tools/graphics/maim/default.nix
···
stdenv.mkDerivation rec {
name = "maim-${version}";
-
version = "5.5";
src = fetchFromGitHub {
owner = "naelstrof";
repo = "maim";
rev = "v${version}";
-
sha256 = "0dr44lwqsvhwf9pncxq6k42zj9hj07b96qsk1q8vh4l42zcpqzla";
};
nativeBuildInputs = [ cmake pkgconfig ];
···
stdenv.mkDerivation rec {
name = "maim-${version}";
+
version = "5.5.1";
src = fetchFromGitHub {
owner = "naelstrof";
repo = "maim";
rev = "v${version}";
+
sha256 = "106qg85q0aiw4w08vjg9j60brrbln11b8vdycjqkv8fq00pq308i";
};
nativeBuildInputs = [ cmake pkgconfig ];
+13 -12
pkgs/tools/misc/staruml/default.nix
···
{ stdenv, fetchurl, makeWrapper
, dpkg, patchelf
-
, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, systemd }:
let
inherit (stdenv) lib;
LD_LIBRARY_PATH = lib.makeLibraryPath
-
[ glib gtk2 gdk_pixbuf alsaLib nss nspr GConf cups libgcrypt dbus ];
in
stdenv.mkDerivation rec {
-
version = "2.6.0";
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";
} else fetchurl {
url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb";
-
sha256 = "36e0bdc1bb57b7d808a007a3fafb1b38662d5b0793424d5ad4f51a3a6a9a636d";
};
buildInputs = [ dpkg ];
···
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}
'';
meta = with stdenv.lib; {
···
{ stdenv, fetchurl, makeWrapper
, dpkg, patchelf
+
, 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 libXdamage ];
in
stdenv.mkDerivation rec {
+
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 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
} else fetchurl {
url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb";
+
sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
};
buildInputs = [ dpkg ];
···
mkdir $out
mv opt/staruml $out/bin
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
+
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; {
-24
pkgs/tools/networking/telnet/default.nix
···
-
{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;
-
};
-
}
···
+1
pkgs/top-level/aliases.nix
···
telepathy_qt = telepathy-qt; # added 2018-02-25
telepathy_qt5 = libsForQt5.telepathy; # added 2015-12-19
telepathy_salut = telepathy-salut; # added 2018-02-25
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
···
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
+10 -2
pkgs/top-level/all-packages.nix
···
flashbench = callPackage ../os-specific/linux/flashbench { };
figlet = callPackage ../tools/misc/figlet { };
file = callPackage ../tools/misc/file { };
···
ted = callPackage ../tools/typesetting/ted { };
teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
-
-
telnet = callPackage ../tools/networking/telnet { };
telegraf = callPackage ../servers/monitoring/telegraf { };
···
moe = callPackage ../applications/editors/moe { };
praat = callPackage ../applications/audio/praat { };
quvi = callPackage ../applications/video/quvi/tool.nix {
···
compton-git = callPackage ../applications/window-managers/compton/git.nix { };
xdaliclock = callPackage ../tools/misc/xdaliclock {};
xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { };
···
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 { };
···
ted = callPackage ../tools/typesetting/ted { };
teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
telegraf = callPackage ../servers/monitoring/telegraf { };
···
moe = callPackage ../applications/editors/moe { };
+
multibootusb = callPackage ../applications/misc/multibootusb {};
+
praat = callPackage ../applications/audio/praat { };
quvi = callPackage ../applications/video/quvi/tool.nix {
···
compton-git = callPackage ../applications/window-managers/compton/git.nix { };
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 { };
+15 -1
pkgs/top-level/python-packages.nix
···
podcastparser = callPackage ../development/python-modules/podcastparser { };
pomegranate = callPackage ../development/python-modules/pomegranate { };
poppler-qt5 = callPackage ../development/python-modules/poppler-qt5 {
···
};
};
-
pytorch = callPackage ../development/python-modules/pytorch {
cudaSupport = pkgs.config.cudaSupport or false;
};
pytorchWithCuda = self.pytorch.override {
···
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 {
···
};
};
+
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 {