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

Conflicts:
	pkgs/tools/networking/telnet/default.nix
	pkgs/top-level/aliases.nix
This commit is contained in:
Tuomas Tynkkynen 2018-05-16 03:09:33 +03:00
commit 6b6a575748
63 changed files with 1206 additions and 218 deletions

View File

@ -50,9 +50,9 @@ nixpkgs.config.packageOverrides = pkgs:
<xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ]; <xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
</programlisting> </programlisting>
If the module is required early during the boot (e.g. to mount the root file 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"/>: system), you can use <xref linkend="opt-boot.initrd.kernelModules"/>:
<programlisting> <programlisting>
<xref linkend="opt-boot.initrd.extraKernelModules"/> = [ "cifs" ]; <xref linkend="opt-boot.initrd.kernelModules"/> = [ "cifs" ];
</programlisting> </programlisting>
This causes the specified modules and their dependencies to be added to the This causes the specified modules and their dependencies to be added to the
initial ramdisk. initial ramdisk.

View File

@ -53,7 +53,10 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para></para> <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> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -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}
'';
})
];
}

View File

@ -9,6 +9,7 @@
./config/fonts/ghostscript.nix ./config/fonts/ghostscript.nix
./config/gnu.nix ./config/gnu.nix
./config/i18n.nix ./config/i18n.nix
./config/iproute2.nix
./config/krb5/default.nix ./config/krb5/default.nix
./config/ldap.nix ./config/ldap.nix
./config/networking.nix ./config/networking.nix
@ -214,6 +215,7 @@
./services/desktops/accountsservice.nix ./services/desktops/accountsservice.nix
./services/desktops/dleyna-renderer.nix ./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix ./services/desktops/dleyna-server.nix
./services/desktops/flatpak.nix
./services/desktops/geoclue2.nix ./services/desktops/geoclue2.nix
./services/desktops/pipewire.nix ./services/desktops/pipewire.nix
./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/at-spi2-core.nix
@ -649,6 +651,7 @@
./services/web-apps/tt-rss.nix ./services/web-apps/tt-rss.nix
./services/web-apps/selfoss.nix ./services/web-apps/selfoss.nix
./services/web-apps/quassel-webserver.nix ./services/web-apps/quassel-webserver.nix
./services/web-apps/youtrack.nix
./services/web-servers/apache-httpd/default.nix ./services/web-servers/apache-httpd/default.nix
./services/web-servers/caddy.nix ./services/web-servers/caddy.nix
./services/web-servers/fcgiwrap.nix ./services/web-servers/fcgiwrap.nix

View File

@ -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 <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;
};
};
}

View File

@ -0,0 +1,53 @@
<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>

View File

@ -42,6 +42,34 @@ in
default = 8081; default = 8081;
description = "Port to listen on."; 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 = { environment = {
NEXUS_USER = cfg.user; NEXUS_USER = cfg.user;
NEXUS_HOME = cfg.home; NEXUS_HOME = cfg.home;
VM_OPTS_FILE = pkgs.writeText "nexus.vmoptions" cfg.jvmOpts;
}; };
preStart = '' preStart = ''
mkdir -p ${cfg.home}/nexus3/etc mkdir -p ${cfg.home}/nexus3/etc
ln -sf ${cfg.home} /run/sonatype-work
chown -R ${cfg.user}:${cfg.group} ${cfg.home} chown -R ${cfg.user}:${cfg.group} ${cfg.home}
if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then 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-port=${toString cfg.listenPort}" >> ${cfg.home}/nexus3/etc/nexus.properties
echo "application-host=${toString cfg.listenAddress}" >> ${cfg.home}/nexus3/etc/nexus.properties echo "application-host=${toString cfg.listenAddress}" >> ${cfg.home}/nexus3/etc/nexus.properties
else 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-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-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 fi
''; '';

View File

@ -120,6 +120,7 @@ in {
services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ]; services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ];
systemd.packages = [ pkgs.gnome3.vino ]; systemd.packages = [ pkgs.gnome3.vino ];
services.flatpak.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
# If gnome3 is installed, build vim for gtk3 too. # If gnome3 is installed, build vim for gtk3 too.
nixpkgs.config.vim.gui = "gtk3"; nixpkgs.config.vim.gui = "gtk3";

View File

@ -87,9 +87,10 @@ in
systemd.services.plymouth-kexec.wantedBy = [ "kexec.target" ]; systemd.services.plymouth-kexec.wantedBy = [ "kexec.target" ];
systemd.services.plymouth-halt.wantedBy = [ "halt.target" ]; systemd.services.plymouth-halt.wantedBy = [ "halt.target" ];
systemd.services.plymouth-quit-wait.wantedBy = [ "multi-user.target" ];
systemd.services.plymouth-quit = { systemd.services.plymouth-quit = {
wantedBy = [ "multi-user.target" ]; 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-poweroff.wantedBy = [ "poweroff.target" ];
systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ];

View File

@ -2,9 +2,10 @@
with lib; with lib;
let cfg = config.systemd; in let
cfg = config.systemd;
rec { lndir = "${pkgs.xorg.lndir}/bin/lndir";
in rec {
shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s); shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s);
@ -136,7 +137,13 @@ rec {
for i in ${toString cfg.packages}; do for i in ${toString cfg.packages}; do
for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do
if ! [[ "$fn" =~ .wants$ ]]; then 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 fi
done done
done done
@ -151,7 +158,7 @@ rec {
if [ "$(readlink -f $i/$fn)" = /dev/null ]; then if [ "$(readlink -f $i/$fn)" = /dev/null ]; then
ln -sfn /dev/null $out/$fn ln -sfn /dev/null $out/$fn
else else
mkdir $out/$fn.d mkdir -p $out/$fn.d
ln -s $i/$fn $out/$fn.d/overrides.conf ln -s $i/$fn $out/$fn.d/overrides.conf
fi fi
else else

View File

@ -285,6 +285,7 @@ in rec {
tests.env = callTest tests/env.nix {}; tests.env = callTest tests/env.nix {};
tests.ferm = callTest tests/ferm.nix {}; tests.ferm = callTest tests/ferm.nix {};
tests.firefox = callTest tests/firefox.nix {}; tests.firefox = callTest tests/firefox.nix {};
tests.flatpak = callTest tests/flatpak.nix {};
tests.firewall = callTest tests/firewall.nix {}; tests.firewall = callTest tests/firewall.nix {};
tests.fwupd = callTest tests/fwupd.nix {}; tests.fwupd = callTest tests/fwupd.nix {};
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {}; tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
@ -347,6 +348,7 @@ in rec {
tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; }; tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; };
# TODO: put in networking.nix after the test becomes more complete # TODO: put in networking.nix after the test becomes more complete
tests.networkingProxy = callTest tests/networking-proxy.nix {}; tests.networkingProxy = callTest tests/networking-proxy.nix {};
tests.nexus = callTest tests/nexus.nix { };
tests.nfs3 = callTest tests/nfs.nix { version = 3; }; tests.nfs3 = callTest tests/nfs.nix { version = 3; };
tests.nfs4 = callTest tests/nfs.nix { version = 4; }; tests.nfs4 = callTest tests/nfs.nix { version = 4; };
tests.nginx = callTest tests/nginx.nix { }; tests.nginx = callTest tests/nginx.nix { };
@ -397,6 +399,7 @@ in rec {
tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {}; tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {};
tests.wordpress = callTest tests/wordpress.nix {}; tests.wordpress = callTest tests/wordpress.nix {};
tests.xautolock = callTest tests/xautolock.nix {}; tests.xautolock = callTest tests/xautolock.nix {};
tests.xdg-desktop-portal = callTest tests/xdg-desktop-portal.nix {};
tests.xfce = callTest tests/xfce.nix {}; tests.xfce = callTest tests/xfce.nix {};
tests.xmonad = callTest tests/xmonad.nix {}; tests.xmonad = callTest tests/xmonad.nix {};
tests.xrdp = callTest tests/xrdp.nix {}; tests.xrdp = callTest tests/xrdp.nix {};

23
nixos/tests/flatpak.nix Normal file
View File

@ -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");
'';
})

View File

@ -241,6 +241,7 @@ let
nixos-artwork.wallpapers.gnome-dark nixos-artwork.wallpapers.gnome-dark
perlPackages.XMLLibXML perlPackages.XMLLibXML
perlPackages.ListCompare perlPackages.ListCompare
xorg.lndir
# add curl so that rather than seeing the test attempt to download # add curl so that rather than seeing the test attempt to download
# curl's tarball, we see what it's trying to download # curl's tarball, we see what it's trying to download

View File

@ -1,12 +1,12 @@
# verifies: # verifies:
# 1. nexus service starts on server # 1. nexus service starts on server
# 2. nexus user can be extended on server # 2. nexus service can startup on server (creating database and all other initial stuff)
# 3. nexus service not can startup on server (creating database and all other initial stuff) # 3. the web application is reachable via HTTP
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, ...} : {
name = "nexus"; name = "nexus";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ironpinguin ]; maintainers = [ ironpinguin ma27 ];
}; };
nodes = { nodes = {
@ -14,21 +14,19 @@ import ./make-test.nix ({ pkgs, ...} : {
server = server =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ virtualisation.memorySize = 2048; { virtualisation.memorySize = 2048;
virtualisation.diskSize = 2048;
services.nexus.enable = true; services.nexus.enable = true;
users.extraUsers.nexus.extraGroups = [ "users" ];
}; };
}; };
testScript = '' testScript = ''
startAll; startAll;
$server->waitForUnit("nexus"); $server->waitForUnit("nexus");
print $server->execute("sudo -u nexus groups");
$server->mustSucceed("sudo -u nexus groups | grep nexus | grep users");
$server->waitForOpenPort(8081); $server->waitForOpenPort(8081);
$server->succeed("curl -f 127.0.0.1:8081");
''; '';
}) })

View File

@ -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'");
'';
})

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "atom-${version}"; name = "atom-${version}";
version = "1.26.1"; version = "1.27.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11"; sha256 = "1r37s6ndxyib644v7nlgha1pkcnz7kxpmlkhh41l5jp4dpc6iik6";
name = "${name}.deb"; name = "${name}.deb";
}; };
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
description = "A hackable text editor for the 21st Century"; description = "A hackable text editor for the 21st Century";
homepage = https://atom.io/; homepage = https://atom.io/;
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.offline maintainers.nequissimus maintainers.ysndr ]; maintainers = with maintainers; [ offline nequissimus synthetica ysndr ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
} }

View File

@ -114,16 +114,16 @@ rec {
}; };
eclipse-platform-47 = buildEclipse { eclipse-platform-47 = buildEclipse {
name = "eclipse-platform-4.7.2"; name = "eclipse-platform-4.7.3a";
description = "Eclipse Platform Oxygen"; description = "Eclipse Platform Oxygen";
sources = { sources = {
"x86_64-linux" = fetchurl { "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; 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;
sha256 = "1zl406brvhh25dkd2pi1kvz5386gzkybpwik03aadpzmjrbm9730"; sha512 = "caf86cd6efaf66258c75434f1adf552587a7395d57dba4cfd20f86196308cf942866d931f4b352f9d39a6fbf14444fcd2167e6bfd146a28c96c229bb9988156a";
}; };
"i686-linux" = fetchurl { "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; 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;
sha256 = "0v0i13ah8d8zmcv0ip1ia5ifnfnl76aibiqpv4q4lih5d1qsa79d"; sha512 = "c633da467774e4ab40f8d51d07b8e7d8403f26f23365c3c3ceeaeec1039b8c23c7508cee1f786bf52db64c7b84e0f91cb31a2848a74ac8271f8504934407bd5c";
}; };
}; };
}; };
@ -168,16 +168,16 @@ rec {
}; };
eclipse-sdk-47 = buildEclipse { eclipse-sdk-47 = buildEclipse {
name = "eclipse-sdk-4.7.2"; name = "eclipse-sdk-4.7.3a";
description = "Eclipse Oxygen Classic"; description = "Eclipse Oxygen Classic";
sources = { sources = {
"x86_64-linux" = fetchurl { "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; 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;
sha256 = "1j5d72rkl3lq3rpnvq1spsa0zlzbmbkgadfhbz868sqqbavrwbzv"; sha512 = "d77e42aca16d26526cef32e363d038258bb8a4616d9dbe6e76dd3656dc2217369436390a82555bde4566bbbdb631813bbaca08602f7bb885cb30e8a26a14873f";
}; };
"i686-linux" = fetchurl { "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; 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;
sha256 = "117436ni79v1kiync8b3wkfkb8a5rv3sbqp6qnwbmanwkvnyvfvc"; sha512 = "b0b936fd4142ae86ec5c30535cd5e4caf6fe313d814ae5b16f300635e4163a79b748b1eee11792a135114f2265678a74821ec80c2bfd69872769b6d0ccbcde3a";
}; };
}; };
}; };

View File

@ -470,12 +470,12 @@ rec {
jdt = buildEclipseUpdateSite rec { jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}"; name = "jdt-${version}";
version = "4.7.2"; version = "4.7.3a";
src = fetchzip { src = fetchzip {
stripRoot = false; 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; 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 = "1yzqnjs88cdyyqv8f1g8fbfyccci29f3pzxxvaz7szxicwzn59mz"; sha256 = "10dndhqz894xf79zz07dlmkn7k33mn42nbmycr78xz6d2jy8cscx";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -20,11 +20,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "nano-${version}"; name = "nano-${version}";
version = "2.9.4"; version = "2.9.7";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz"; url = "mirror://gnu/nano/${name}.tar.xz";
sha256 = "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c"; sha256 = "1ga4sdk3ikx1ilggc6c77vyfpbmq3nrhg6svgglpf5sv60bv0jmn";
}; };
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;

View File

@ -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}" <<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 ];
};
}

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${product}-${version}"; name = "${product}-${version}";
product = "vivaldi"; product = "vivaldi";
version = "1.14.1077.45-1"; version = "1.15.1147.42-1";
src = fetchurl { src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
sha256 = "0b4iviar927jx6xqyrzgzb3p4p617zm4an1np8jnldadq2a0p56d"; sha256 = "15cajvn2sv05qdp3y538n2xvyy3il49q8zi5928z1mfirjz3dlwh";
}; };
unpackPhase = '' unpackPhase = ''

View File

@ -5,10 +5,10 @@ let
then "linux-amd64" then "linux-amd64"
else "darwin-amd64"; else "darwin-amd64";
checksum = if isLinux checksum = if isLinux
then "1lr2s66kln6rp3sb156br9nfx51bdy654vdjr4vnncz4kp3mljv1" then "0bnjpiivhsxhl45ab32vzf6crv4z8nbq5kcjkvlbcbswdbgp0pq6"
else "04y4ii0w4s00z831q1wzxz6qkc8qfrhwzdrq3wwvrcl0413cza50"; else "0smwhj4pmd4k7csz82akbkrkb0j2jxnmb33ifhkqw7n33jhl3aqp";
pname = "helm"; pname = "helm";
version = "2.8.2"; version = "2.9.0";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${pname}-${version}"; name = "${pname}-${version}";

View File

@ -1,8 +1,9 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }:
{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }:
buildGoPackage rec { buildGoPackage rec {
name = "kops-${version}"; name = "kops-${version}";
version = "1.8.1"; version = "1.9.0";
goPackagePath = "k8s.io/kops"; goPackagePath = "k8s.io/kops";
@ -10,7 +11,7 @@ buildGoPackage rec {
rev = version; rev = version;
owner = "kubernetes"; owner = "kubernetes";
repo = "kops"; repo = "kops";
sha256 = "12nyr0iw1xwp60apli3nlq2vyn4jk3qjrb404m2syx2mqbnn47my"; sha256 = "03avkm7gk2dqyvd7245qsca1sbhwk41j9yhc208gcmjgjhkx2vn7";
}; };
buildInputs = [go-bindata]; buildInputs = [go-bindata];
@ -24,8 +25,7 @@ buildGoPackage rec {
preBuild = '' preBuild = ''
(cd go/src/k8s.io/kops (cd go/src/k8s.io/kops
go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/... 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 = '' postInstall = ''

View File

@ -40,13 +40,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "signal-desktop-${version}"; name = "signal-desktop-${version}";
version = "1.10.1"; version = "1.11.0";
src = src =
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1ndk2in9mbsm5i2k7pgpbd6smbgpswxmjvr12zmbmw893ay015h3"; sha256 = "0s3qlzm7iy9qxca2hlh1hq0dnjr7y5wxad1ssqgmyhxsif0nqm96";
} }
else else
throw "Signal for Desktop is not currently supported on ${stdenv.system}"; throw "Signal for Desktop is not currently supported on ${stdenv.system}";

View File

@ -14,7 +14,7 @@ in {
stable = mkTelegram stableVersion; stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // { preview = mkTelegram (stableVersion // {
stable = false; stable = false;
version = "1.2.19"; version = "1.2.20";
sha256Hash = "0val6lfcg3ghcksflm3jclqly0x8plpn3an8v9bix0s5yll1ka4h"; sha256Hash = "00ncpb1qs88jrrmmx7f7l8wy37wbwnrb958x3xls14p1h1xg63l6";
}); });
} }

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "star-${version}"; name = "star-${version}";
version = "2.5.3a"; version = "2.6.0c";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "STAR"; repo = "STAR";
owner = "alexdobin"; owner = "alexdobin";
rev = version; rev = version;
sha256 = "1fd9xl7i1zxgsxn2qf6gz8s42g2djm29qmp6qb35d8nnxh8ns54x"; sha256 = "04cj6jw8d9q6lk9c78wa4fky6jdlicf1d13plq7182h8vqiz8p59";
}; };
sourceRoot = "source/source"; sourceRoot = "source/source";

View File

@ -1,5 +1,7 @@
{ stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl { stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
, pkgconfig, gtksourceview, pango, gettext , pkgconfig, gtksourceview, pango, gettext
, makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
, gnome3
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -12,12 +14,21 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl
gtksourceview pango gettext ]; gtksourceview pango gettext
makeWrapper gsettings-desktop-schemas hicolor-icon-theme ];
doCheck = false; doCheck = false;
enableParallelBuilding = true; 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 = { meta = {
homepage = http://www.gnu.org/software/pspp/; homepage = http://www.gnu.org/software/pspp/;
description = "A free replacement for SPSS, a program for statistical analysis of sampled data"; description = "A free replacement for SPSS, a program for statistical analysis of sampled data";

View File

@ -3,11 +3,9 @@
# Derivation patches HandBrake to use our closure. # Derivation patches HandBrake to use our closure.
# #
# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
{ stdenv, lib, fetchurl, { stdenv, lib, fetchurl,
python2, pkgconfig, yasm, harfbuzz, zlib, python2, pkgconfig, yasm, harfbuzz, zlib,
autoconf, automake, cmake, libtool, m4, jansson, autoconf, automake, libtool, m4, jansson,
libass, libiconv, libsamplerate, fribidi, libxml2, bzip2, libass, libiconv, libsamplerate, fribidi, libxml2, bzip2,
libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec, libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec,
lame, libdvdread, libdvdnav, libbluray, lame, libdvdread, libdvdnav, libbluray,
@ -21,6 +19,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
version = "1.1.0"; version = "1.1.0";
name = "handbrake-${version}"; name = "handbrake-${version}";
@ -40,7 +39,7 @@ stdenv.mkDerivation rec {
}); });
nativeBuildInputs = [ nativeBuildInputs = [
cmake python2 pkgconfig yasm autoconf automake libtool m4 python2 pkgconfig yasm autoconf automake libtool m4
] ++ lib.optionals useGtk [ intltool wrapGAppsHook ]; ] ++ lib.optionals useGtk [ intltool wrapGAppsHook ];
buildInputs = [ buildInputs = [
@ -55,8 +54,6 @@ stdenv.mkDerivation rec {
] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ]) ] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ])
++ lib.optional useFdk fdk_aac; ++ lib.optional useFdk fdk_aac;
dontUseCmakeConfigure = true;
enableParallelBuilding = true; enableParallelBuilding = true;
preConfigure = '' preConfigure = ''
@ -103,6 +100,6 @@ stdenv.mkDerivation rec {
''; '';
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ Anton-Latukha wmertens ]; maintainers = with maintainers; [ Anton-Latukha wmertens ];
platforms = platforms.linux; platforms = with platforms; unix;
}; };
} }

View File

@ -13,11 +13,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gnome-shell-${version}"; name = "gnome-shell-${version}";
version = "3.28.1"; version = "3.28.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${gnome3.versionBranch version}/${name}.tar.xz"; url = "mirror://gnome/sources/gnome-shell/${gnome3.versionBranch version}/${name}.tar.xz";
sha256 = "1k2cgaky293kcjis0pmh9hw1aby3yyilb5dzrbww62wxzppc9s35"; sha256 = "1b9n89ij2g5nqaqp7a13jnqcd8qa2v9p55rbi71al3xvqk091ri7";
}; };
# Needed to find /etc/NetworkManager/VPN # Needed to find /etc/NetworkManager/VPN

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobjectIntrospection , 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 }: , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk-doc, desktop-file-utils }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -27,11 +27,10 @@ stdenv.mkDerivation rec {
gnome3.gtk glib packagekit appstream-glib libsoup gnome3.gtk glib packagekit appstream-glib libsoup
gnome3.gsettings-desktop-schemas gnome3.gnome-desktop gnome3.gsettings-desktop-schemas gnome3.gnome-desktop
gspell json-glib libsecret ostree gspell json-glib libsecret ostree
polkit polkit flatpak
]; ];
mesonFlags = [ mesonFlags = [
"-Denable-flatpak=false"
"-Denable-rpm=false" "-Denable-rpm=false"
"-Denable-fwupd=false" "-Denable-fwupd=false"
"-Denable-oauth=false" "-Denable-oauth=false"

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mutter-${version}"; name = "mutter-${version}";
version = "3.28.1"; version = "3.28.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/mutter/${gnome3.versionBranch version}/${name}.tar.xz"; url = "mirror://gnome/sources/mutter/${gnome3.versionBranch version}/${name}.tar.xz";
sha256 = "1bhmjvf6l1fj5igsw2xlg3nv5526laiwaxh47dgk50f40qax1qin"; sha256 = "0ighs1zvlssgq16v1h3vg280za7y448snq65gc5m1zmqqawqkymg";
}; };
passthru = { passthru = {

View File

@ -1,47 +1,101 @@
{ stdenv, intltool, fetchurl, libxml2, upower { stdenv, fetchurl, substituteAll, intltool, itstool, libxslt, makeWrapper
, substituteAll, pkgconfig, gtk3, glib, gexiv2 , meson, ninja, pkgconfig, vala, wrapGAppsHook, bzip2, dbus, evolution-data-server
, bash, wrapGAppsHook, itstool, vala, sqlite, libxslt , exempi, flac, giflib, glib, gnome3, gst_all_1, icu, json-glib, libcue, libexif
, gnome3, librsvg, gdk_pixbuf, libnotify , libgsf, libiptcdata, libjpeg, libpng, libseccomp, libsoup, libtiff, libuuid
, evolution-data-server, gst_all_1, poppler , libvorbis, libxml2, poppler, taglib, upower }:
, icu, taglib, libjpeg, libtiff, giflib, libcue
, libvorbis, flac, exempi, networkmanager
, libpng, libexif, libgsf, libuuid, bzip2
, libsoup, json-glib, libseccomp
, libiptcdata }:
let stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "tracker-miners"; pname = "tracker-miners";
version = "2.0.4"; version = "2.0.4";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
sha256 = "0mp9m2waii583sjgr61m1ni6py6dry11r0rzidgvw1g4cxhn89j6"; sha256 = "0mp9m2waii583sjgr61m1ni6py6dry11r0rzidgvw1g4cxhn89j6";
}; };
NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler"; # https://github.com/NixOS/nixpkgs/issues/39547
LIBRARY_PATH = stdenv.lib.makeLibraryPath [ giflib ];
enableParallelBuilding = true; nativeBuildInputs = [
intltool
nativeBuildInputs = [ vala pkgconfig intltool itstool libxslt wrapGAppsHook ]; itstool
# TODO: add libgrss, libenca, libosinfo libxslt
buildInputs = [ makeWrapper
bzip2 evolution-data-server exempi flac giflib glib gnome3.totem-pl-parser meson
gnome3.tracker gst_all_1.gst-plugins-base gst_all_1.gstreamer icu ninja
json-glib libcue libexif libgsf libiptcdata libjpeg libpng libseccomp libsoup pkgconfig
libtiff libuuid libvorbis libxml2 poppler taglib upower gexiv2 vala
wrapGAppsHook
]; ];
LANG = "en_US.UTF-8"; # for running tests # 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
];
doCheck = true; mesonFlags = [
"-Dminer_rss=false" # needs libgrss
];
patches = [ patches = [
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./fix-paths.patch;
inherit (gnome3) tracker; 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 = { passthru = {
@ -51,11 +105,26 @@ in stdenv.mkDerivation rec {
}; };
}; };
# 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; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/Tracker; homepage = https://wiki.gnome.org/Projects/Tracker;
description = "Desktop-neutral user information store, search tool and indexer"; description = "Desktop-neutral user information store, search tool and indexer";
maintainers = gnome3.maintainers; maintainers = gnome3.maintainers;
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "caja-${version}"; name = "caja-${version}";
version = "1.21.0"; version = "1.21.1";
src = fetchurl { src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0v8zx5rzqh1zkwizkpdckmwm6004cv9sbjghzgz3049xzcqm371g"; sha256 = "013lmngnm0i2746qrkkyhg62kyh4cjdd0i634cz5fm7ah65ylxg4";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -325,6 +325,7 @@ stdenv.mkDerivation ({
"--with-gnu-as" "--without-gnu-ld" "--with-gnu-as" "--without-gnu-ld"
] ]
++ optional (targetPlatform == hostPlatform && targetPlatform.libc == "musl") "--disable-libsanitizer" ++ 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; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;

View File

@ -25,7 +25,6 @@
, ffmpegProgram ? true # Build ffmpeg executable , ffmpegProgram ? true # Build ffmpeg executable
, ffplayProgram ? true # Build ffplay executable , ffplayProgram ? true # Build ffplay executable
, ffprobeProgram ? true # Build ffprobe executable , ffprobeProgram ? true # Build ffprobe executable
, ffserverProgram ? true # Build ffserver executable
, qtFaststartProgram ? true # Build qt-faststart executable , qtFaststartProgram ? true # Build qt-faststart executable
/* /*
* Library options * Library options
@ -98,13 +97,14 @@
, libXv ? null # Xlib support , libXv ? null # Xlib support
, lzma ? null # xz-utils , lzma ? null # xz-utils
, nvenc ? false, nvidia-video-sdk ? null # NVIDIA NVENC support , 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 , openal ? null # OpenAL 1.1 capture support
#, opencl ? null # OpenCL code #, opencl ? null # OpenCL code
, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
#, opencv ? null # Video filtering #, opencv ? null # Video filtering
, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering , openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
#, openh264 ? null # H.264/AVC encoder #, openh264 ? null # H.264/AVC encoder
, openjpeg_1 ? null # JPEG 2000 de/encoder , openjpeg ? null # JPEG 2000 de/encoder
, opensslExtlib ? false, openssl ? null , opensslExtlib ? false, openssl ? null
, libpulseaudio ? null # Pulseaudio input support , libpulseaudio ? null # Pulseaudio input support
, rtmpdump ? null # RTMP[E] support , rtmpdump ? null # RTMP[E] support
@ -159,7 +159,7 @@
* utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video * utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
* *
* Need fixes to support Darwin: * Need fixes to support Darwin:
* frei0r, game-music-emu, gsm, libjack2, libssh, libvpx(stable 1.3.0), openal, openjpeg_1, * frei0r, game-music-emu, gsm, libjack2, libssh, libvpx(stable 1.3.0), openal, openjpeg,
* pulseaudio, rtmpdump, samba, vid-stab, wavpack, x265. xavs * pulseaudio, rtmpdump, samba, vid-stab, wavpack, x265. xavs
* *
* Not supported: * Not supported:
@ -176,6 +176,8 @@
let let
inherit (stdenv) isCygwin isFreeBSD isLinux; inherit (stdenv) isCygwin isFreeBSD isLinux;
inherit (stdenv.lib) optional optionals optionalString enableFeature; inherit (stdenv.lib) optional optionals optionalString enableFeature;
nv-codec-headers = callPackage ./nv-codec-headers.nix { };
in in
/* /*
@ -201,7 +203,6 @@ assert ffplayProgram -> avcodecLibrary
&& swresampleLibrary && swresampleLibrary
&& SDL2 != null; && SDL2 != null;
assert ffprobeProgram -> avcodecLibrary && avformatLibrary; assert ffprobeProgram -> avcodecLibrary && avformatLibrary;
assert ffserverProgram -> avformatLibrary;
/* /*
* Library dependencies * Library dependencies
*/ */
@ -231,11 +232,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}"; name = "ffmpeg-full-${version}";
version = "3.4.2"; version = "4.0";
src = fetchurl { src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"; sha256 = "0gx4ngnhi5glmxh38603qy5n6vq8bl1cr4sqd1xff95i82pmv57d";
}; };
prePatch = '' prePatch = ''
@ -289,7 +290,6 @@ stdenv.mkDerivation rec {
(enableFeature ffmpegProgram "ffmpeg") (enableFeature ffmpegProgram "ffmpeg")
(enableFeature ffplayProgram "ffplay") (enableFeature ffplayProgram "ffplay")
(enableFeature ffprobeProgram "ffprobe") (enableFeature ffprobeProgram "ffprobe")
(enableFeature ffserverProgram "ffserver")
/* /*
* Library flags * Library flags
*/ */
@ -368,7 +368,7 @@ stdenv.mkDerivation rec {
#(enableFeature (opencv != null) "libopencv") #(enableFeature (opencv != null) "libopencv")
(enableFeature openglExtlib "opengl") (enableFeature openglExtlib "opengl")
#(enableFeature (openh264 != null) "openh264") #(enableFeature (openh264 != null) "openh264")
(enableFeature (openjpeg_1 != null) "libopenjpeg") (enableFeature (openjpeg != null) "libopenjpeg")
(enableFeature (opensslExtlib && gplLicensing) "openssl") (enableFeature (opensslExtlib && gplLicensing) "openssl")
(enableFeature (libpulseaudio != null) "libpulse") (enableFeature (libpulseaudio != null) "libpulse")
#(enableFeature quvi "libquvi") #(enableFeature quvi "libquvi")
@ -408,14 +408,14 @@ stdenv.mkDerivation rec {
bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug
libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11 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 samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
zeromq4 zlib zeromq4 zlib
] ++ optional openglExtlib libGLU_combined ] ++ optional openglExtlib libGLU_combined
++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optionals nonfreeLicensing [ fdk_aac openssl ]
++ optional ((isLinux || isFreeBSD) && libva != null) libva ++ optional ((isLinux || isFreeBSD) && libva != null) libva
++ optionals isLinux [ alsaLib libraw1394 libv4l ] ++ 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 ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
MediaToolbox VideoDecodeAcceleration MediaToolbox VideoDecodeAcceleration
libiconv ]; libiconv ];

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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

View File

@ -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

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
+ }
}
}

View File

@ -1,5 +1,5 @@
{ stdenv, ocaml, findlib, jbuilder, conduit-lwt { 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" if !stdenv.lib.versionAtLeast conduit-lwt.version "1.0"
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ]; buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ];
propagatedBuildInputs = [ conduit-lwt logs ]; propagatedBuildInputs = [ conduit-lwt logs lwt_ssl ];
buildPhase = "jbuilder build -p conduit-lwt-unix"; buildPhase = "jbuilder build -p conduit-lwt-unix";
} }

View File

@ -1,10 +1,10 @@
{ stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }: { stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocurl-0.8.0"; name = "ocurl-0.8.1";
src = fetchurl { src = fetchurl {
url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz"; url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
sha256 = "0292knvm9g038br0dc03lcsnbjqycyiqha256dp4bxkz3vmmz4wr"; sha256 = "08ldzbx1k3mbjc01fmzsn86ll4paf331bcjss6iig6y6hgc9q3ry";
}; };
buildInputs = [ pkgconfig ocaml findlib ncurses ]; buildInputs = [ pkgconfig ocaml findlib ncurses ];

View File

@ -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 ];
};
}

View File

@ -1,7 +1,7 @@
{ buildPythonPackage, { buildPythonPackage, pythonOlder,
cudaSupport ? false, cudatoolkit ? null, cudnn ? null, cudaSupport ? false, cudatoolkit ? null, cudnn ? null,
fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, cmake, fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, typing, cmake,
git, stdenv, linkFarm, symlinkJoin, stdenv, linkFarm, symlinkJoin,
utillinux, which }: utillinux, which }:
assert cudnn == null || cudatoolkit != null; assert cudnn == null || cudatoolkit != null;
@ -25,7 +25,7 @@ let
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} "; "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ";
in buildPythonPackage rec { in buildPythonPackage rec {
version = "0.3.1"; version = "0.4.0";
pname = "pytorch"; pname = "pytorch";
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -34,36 +34,17 @@ in buildPythonPackage rec {
repo = "pytorch"; repo = "pytorch";
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; 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 '' 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) '' '' + lib.optionalString (cudaSupport && cudnn != null) ''
export CUDNN_INCLUDE_DIR=${cudnn}/include export CUDNN_INCLUDE_DIR=${cudnn}/include
''; '';
buildInputs = [ buildInputs = [
cmake cmake
git
numpy.blas numpy.blas
utillinux utillinux
which which
@ -73,10 +54,10 @@ in buildPythonPackage rec {
cffi cffi
numpy numpy
pyyaml pyyaml
]; ] ++ lib.optional (pythonOlder "3.5") typing;
checkPhase = '' checkPhase = ''
${cudaStubEnv}${stdenv.shell} test/run_test.sh ${cudaStubEnv}python test/run_test.py --exclude distributed
''; '';
meta = { meta = {

View File

@ -757,7 +757,7 @@ let
}); });
JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: { JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: {
postPatch = '' postPatch = lib.optionalString stdenv.isDarwin ''
for file in {R,src}/*.R; do for file in {R,src}/*.R; do
sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
done done

View File

@ -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;
};
}

View File

@ -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;

View File

@ -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

View File

@ -1,22 +1,22 @@
{ stdenv, fetchurl, makeWrapper, jre, gawk }: { stdenv, fetchurl, makeWrapper, jre, gawk }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "nexus-${version}"; name = "nexus-${version}";
version = "3.5.1-02"; version = "3.11.0-01";
src = fetchurl { src = fetchurl {
url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz"; url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz";
sha256 = "5ef3512c2bbdd45ef35921c1a0ba109b45bd9dad88311750196aa689262258b6"; sha256 = "1h5nfzb1sqhzb5j7w2dpmdi7vnnc9g6zx43a44f3zjvlxh1s0vim";
}; };
sourceRoot = name; sourceRoot = name;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
patches = [ ./nexus-bin.patch ]; patches = [ ./nexus-bin.patch ./nexus-vm-opts.patch ];
postPatch = '' postPatch = ''
substituteInPlace bin/nexus.vmoptions \ substituteInPlace bin/nexus.vmoptions \
--replace ../sonatype-work/nexus3 /run/sonatype-work/nexus3 \
--replace etc/karaf $out/etc/karaf \ --replace etc/karaf $out/etc/karaf \
--replace =. =$out --replace =. =$out
''; '';
@ -28,14 +28,12 @@ stdenv.mkDerivation rec {
cp -rfv * .install4j $out cp -rfv * .install4j $out
rm -fv $out/bin/nexus.bat rm -fv $out/bin/nexus.bat
runHook postInstall
'';
postInstall = ''
wrapProgram $out/bin/nexus \ wrapProgram $out/bin/nexus \
--set JAVA_HOME ${jre} \ --set JAVA_HOME ${jre} \
--set ALTERNATIVE_NAME "nexus" \ --set ALTERNATIVE_NAME "nexus" \
--prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}" --prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}"
runHook postInstall
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -43,6 +41,6 @@ stdenv.mkDerivation rec {
homepage = http://www.sonatype.org/nexus; homepage = http://www.sonatype.org/nexus;
license = licenses.epl10; license = licenses.epl10;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ aespinosa ironpinguin ]; maintainers = with maintainers; [ aespinosa ironpinguin ma27 ];
}; };
} }

View File

@ -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"

View File

@ -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 { stdenv.mkDerivation rec {
name = "iproute2-${version}"; name = "iproute2-${version}";
@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
"HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers "HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers
]; ];
# enable iproute2 module if you want this folder to be created
buildFlags = [ buildFlags = [
"CONFDIR=/etc/iproute2" "CONFDIR=${config.iproute2.confDir or "/run/iproute2"}"
]; ];
installFlags = [ installFlags = [

View File

@ -636,6 +636,11 @@ with stdenv.lib;
X86_X2APIC y X86_X2APIC y
IRQ_REMAP 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 # Disable the firmware helper fallback, udev doesn't implement it any more
FW_LOADER_USER_HELPER_FALLBACK? n FW_LOADER_USER_HELPER_FALLBACK? n

View File

@ -1,13 +1,13 @@
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args: { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.17-rc4"; version = "4.17-rc5";
modDirVersion = "4.17.0-rc4"; modDirVersion = "4.17.0-rc5";
extraMeta.branch = "4.17"; extraMeta.branch = "4.17";
src = fetchurl { src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
sha256 = "1y34hpzgxblwqslhsfsmzmpv9f3s936r93wgn4kmhkcwsm0in292"; sha256 = "1khx3s8nb604h23hasamshcvcwll0j4vi5v6v274ls01ja9mg1xk";
}; };
# Should the testing kernels ever be built on Hydra? # Should the testing kernels ever be built on Hydra?

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "metabase-${version}"; name = "metabase-${version}";
version = "0.29.0"; version = "0.29.2";
src = fetchurl { src = fetchurl {
url = "http://downloads.metabase.com/v${version}/metabase.jar"; url = "http://downloads.metabase.com/v${version}/metabase.jar";
sha256 = "1dfq06cm8k36pkqpng4cd8ax8cdxbcssww4vapq2w9ccflpnlam2"; sha256 = "02cba755mfim8q403gj02ggc0gg4ckcyalxkw09k0jqi5irdi4h1";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -1,25 +1,24 @@
{ stdenv, fetchFromGitHub, buildPerlPackage, autoreconfHook, makeWrapper { stdenv, fetchFromGitHub, fetchurl, buildPerlPackage, autoreconfHook, makeWrapper
, perl, NetSNMP, coreutils, gnused, gnugrep }: , perl, NetSNMP, coreutils, gnused, gnugrep }:
let let
owner = "lausser";
glplugin = fetchFromGitHub { glplugin = fetchFromGitHub {
owner = "lausser";
repo = "GLPlugin"; repo = "GLPlugin";
rev = "b92a261ca4bf84e5b20d3025cc9a31ade03c474b"; rev = "e8e1a2907a54435c932b3e6c584ba1d679754849";
sha256 = "0kflnmpjmklq8fy2vf2h8qyvaiznymdi09z2h5qscrfi51xc9gmh"; sha256 = "0wb55a9pmgbilfffx0wkiikg9830qd66j635ypczqp4basslpq5b";
inherit owner;
}; };
generic = { pname, version, rev, sha256, description, ... } @ attrs: generic = { pname, version, sha256, description, ... } @ attrs:
let let
attrs' = builtins.removeAttrs attrs [ "pname" "version" "rev" "sha256"]; attrs' = builtins.removeAttrs attrs [ "pname" "version" "rev" "sha256"];
name' = "${stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}"}-${version}";
in perl.stdenv.mkDerivation rec { in perl.stdenv.mkDerivation rec {
name = stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}-${version}"; name = "${pname}-${version}";
src = fetchFromGitHub { src = fetchurl {
repo = pname; url = "https://labs.consol.de/assets/downloads/nagios/${name'}.tar.gz";
inherit owner rev sha256; inherit sha256;
}; };
buildInputs = [ perl NetSNMP ]; buildInputs = [ perl NetSNMP ];
@ -27,7 +26,8 @@ let
nativeBuildInputs = [ autoreconfHook makeWrapper ]; nativeBuildInputs = [ autoreconfHook makeWrapper ];
prePatch = with stdenv.lib; '' prePatch = with stdenv.lib; ''
ln -s ${glplugin}/* GLPlugin rm -rf GLPlugin
ln -s ${glplugin} GLPlugin
substituteInPlace plugins-scripts/Makefile.am \ substituteInPlace plugins-scripts/Makefile.am \
--replace /bin/cat ${getBin coreutils}/bin/cat \ --replace /bin/cat ${getBin coreutils}/bin/cat \
--replace /bin/echo ${getBin coreutils}/bin/echo \ --replace /bin/echo ${getBin coreutils}/bin/echo \
@ -56,17 +56,15 @@ let
in { in {
check-nwc-health = generic { check-nwc-health = generic {
pname = "check_nwc_health"; pname = "check_nwc_health";
version = "20170804"; version = "7.0.1.3";
rev = "e959b412b5cf027c82a446668e026214fdcf8df3"; sha256 = "0rgd6zgd7kplx3z72n8zbzwkh8vnd83361sk9ibh6ng78sds1sl5";
sha256 = "11l74xw62g15rqrbf9ff2bfd5iw159gwhhgbkxwdqi8sp9j6navk";
description = "Check plugin for network equipment."; description = "Check plugin for network equipment.";
}; };
check-ups-health = generic { check-ups-health = generic {
pname = "check_ups_health"; pname = "check_ups_health";
version = "20170804"; version = "2.8.2.2";
rev = "32a8a359ea46ec0d6f3b7aea19ddedaad63b04b9"; sha256 = "1gc2wjsymay2vk5ywc1jj9cvrbhs0fs851x8l4nc75df2g75v521";
sha256 = "05na48dxfxrg0i9185j1ck2795p0rw1zwcs8ra0f14cm0qw0lp4l";
description = "Check plugin for UPSs."; description = "Check plugin for UPSs.";
}; };
} }

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "maim-${version}"; name = "maim-${version}";
version = "5.5"; version = "5.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "naelstrof"; owner = "naelstrof";
repo = "maim"; repo = "maim";
rev = "v${version}"; rev = "v${version}";
sha256 = "0dr44lwqsvhwf9pncxq6k42zj9hj07b96qsk1q8vh4l42zcpqzla"; sha256 = "106qg85q0aiw4w08vjg9j60brrbln11b8vdycjqkv8fq00pq308i";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -1,23 +1,24 @@
{ stdenv, fetchurl, makeWrapper { stdenv, fetchurl, makeWrapper
, dpkg, patchelf , 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 let
inherit (stdenv) lib; inherit (stdenv) lib;
LD_LIBRARY_PATH = lib.makeLibraryPath 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 in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.6.0"; version = "2.8.1";
name = "staruml-${version}"; name = "staruml-${version}";
src = src =
if stdenv.system == "i686-linux" then fetchurl { if stdenv.system == "i686-linux" then fetchurl {
url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb"; url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb";
sha256 = "684d7ce7827a98af5bf17bf68d18f934fd970f13a2112a121b1f1f76d6387849"; sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
} else fetchurl { } else fetchurl {
url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb"; url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb";
sha256 = "36e0bdc1bb57b7d808a007a3fafb1b38662d5b0793424d5ad4f51a3a6a9a636d"; sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
}; };
buildInputs = [ dpkg ]; buildInputs = [ dpkg ];
@ -34,17 +35,17 @@ stdenv.mkDerivation rec {
mkdir $out mkdir $out
mv opt/staruml $out/bin mv opt/staruml $out/bin
${patchelf}/bin/patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/StarUML
mkdir -p $out/lib mkdir -p $out/lib
ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $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 ln -s ${systemd.lib}/lib/libudev.so.1 $out/lib/libudev.so.0
wrapProgram $out/bin/StarUML \ for binary in StarUML Brackets-node; do
--prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} ${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; { meta = with stdenv.lib; {

View File

@ -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;
};
}

View File

@ -275,6 +275,7 @@ mapAliases (rec {
telepathy_qt = telepathy-qt; # added 2018-02-25 telepathy_qt = telepathy-qt; # added 2018-02-25
telepathy_qt5 = libsForQt5.telepathy; # added 2015-12-19 telepathy_qt5 = libsForQt5.telepathy; # added 2015-12-19
telepathy_salut = telepathy-salut; # added 2018-02-25 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-bonum-math = tex-gyre-math.bonum; # added 2018-04-03
tex-gyre-pagella-math = tex-gyre-math.pagella; # 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 tex-gyre-schola-math = tex-gyre-math.schola; # added 2018-04-03

View File

@ -2305,6 +2305,10 @@ with pkgs;
flashbench = callPackage ../os-specific/linux/flashbench { }; flashbench = callPackage ../os-specific/linux/flashbench { };
flatpak = callPackage ../development/libraries/flatpak { };
flatpak-builder = callPackage ../development/tools/flatpak-builder { };
figlet = callPackage ../tools/misc/figlet { }; figlet = callPackage ../tools/misc/figlet { };
file = callPackage ../tools/misc/file { }; file = callPackage ../tools/misc/file { };
@ -5148,8 +5152,6 @@ with pkgs;
teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { }; teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
telnet = callPackage ../tools/networking/telnet { };
telegraf = callPackage ../servers/monitoring/telegraf { }; telegraf = callPackage ../servers/monitoring/telegraf { };
teleport = callPackage ../servers/teleport {}; teleport = callPackage ../servers/teleport {};
@ -15962,6 +15964,8 @@ with pkgs;
moe = callPackage ../applications/editors/moe { }; moe = callPackage ../applications/editors/moe { };
multibootusb = callPackage ../applications/misc/multibootusb {};
praat = callPackage ../applications/audio/praat { }; praat = callPackage ../applications/audio/praat { };
quvi = callPackage ../applications/video/quvi/tool.nix { quvi = callPackage ../applications/video/quvi/tool.nix {
@ -18559,6 +18563,10 @@ with pkgs;
xdaliclock = callPackage ../tools/misc/xdaliclock {}; 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-user-dirs = callPackage ../tools/X11/xdg-user-dirs { };
xdg_utils = callPackage ../tools/X11/xdg-utils { xdg_utils = callPackage ../tools/X11/xdg-utils {

View File

@ -3847,6 +3847,8 @@ in {
podcastparser = callPackage ../development/python-modules/podcastparser { }; podcastparser = callPackage ../development/python-modules/podcastparser { };
podcats = callPackage ../development/python-modules/podcats { };
pomegranate = callPackage ../development/python-modules/pomegranate { }; pomegranate = callPackage ../development/python-modules/pomegranate { };
poppler-qt5 = callPackage ../development/python-modules/poppler-qt5 { 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; cudaSupport = pkgs.config.cudaSupport or false;
cudatoolkit = cudatoolkit9;
cudnn = pkgs.cudnn_cudatoolkit9.override {
inherit cudatoolkit9;
};
}; };
pytorchWithCuda = self.pytorch.override { pytorchWithCuda = self.pytorch.override {