diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 3116336db90..832e22bf031 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -248,6 +248,7 @@ grburst = "Julius Elias "; gridaphobe = "Eric Seidel "; guibert = "David Guibert "; + guibou = "Guillaume Bouchard "; guillaumekoenig = "Guillaume Koenig "; guyonvarch = "Joris Guyonvarch "; hakuch = "Jesse Haber-Kucharsky "; @@ -323,6 +324,7 @@ konimex = "Muhammad Herdiansyah "; koral = "Koral "; kovirobi = "Kovacsics Robert "; + kquick = "Kevin Quick "; kragniz = "Louis Taylor "; kristoff3r = "Kristoffer Søholm "; ktosiek = "Tomasz Kontusz "; diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index cd375352c4c..a7ed5d1faa3 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -372,6 +372,17 @@ sub getUnitInfo { return $info; } +# Fail if the given systemd unit is not in the "active" state. +sub requireActiveUnit { + my ($self, $unit) = @_; + $self->nest("checking if unit ‘$unit’ has reached state 'active'", sub { + my $info = $self->getUnitInfo($unit); + my $state = $info->{ActiveState}; + if ($state ne "active") { + die "Expected unit ‘$unit’ to to be in state 'active' but it is in state ‘$state’\n"; + }; + }); +} # Wait for a systemd unit to reach the "active" state. sub waitForUnit { diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 332a04634d0..01b4aca9173 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -7,6 +7,19 @@ let writeTextOrNull = f: t: mapNullable (pkgs.writeTextDir f) t; dataDir = cfg.dataDir; + staticDir = cfg.dataDir + "/static"; + + graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" + {inherit graphiteLocalSettings;} '' + mkdir -p $out + ln -s $graphiteLocalSettings $out/graphite_local_settings.py + ''; + + graphiteLocalSettings = pkgs.writeText "graphite_local_settings.py" ( + "STATIC_ROOT = '${staticDir}'\n" + + optionalString (! isNull config.time.timeZone) "TIME_ZONE = '${config.time.timeZone}'\n" + + cfg.web.extraConfig + ); graphiteApiConfig = pkgs.writeText "graphite-api.yaml" '' time_zone: ${config.time.timeZone} @@ -94,6 +107,15 @@ in { default = 8080; type = types.int; }; + + extraConfig = mkOption { + type = types.str; + default = ""; + description = '' + Graphite webapp settings. See: + + ''; + }; }; api = { @@ -460,9 +482,13 @@ in { ]; }; penvPack = "${penv}/${pkgs.python.sitePackages}"; - # opt/graphite/webapp contains graphite/settings.py - # explicitly adding pycairo in path because it cannot be imported via buildEnv - in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pythonPackages.pycairo}/${pkgs.python.sitePackages}"; + in concatStringsSep ":" [ + "${graphiteLocalSettingsDir}" + "${penvPack}/opt/graphite/webapp" + "${penvPack}" + # explicitly adding pycairo in path because it cannot be imported via buildEnv + "${pkgs.pythonPackages.pycairo}/${pkgs.python.sitePackages}" + ]; DJANGO_SETTINGS_MODULE = "graphite.settings"; GRAPHITE_CONF_DIR = configDir; GRAPHITE_STORAGE_DIR = dataDir; @@ -470,9 +496,9 @@ in { }; serviceConfig = { ExecStart = '' - ${pkgs.python27Packages.waitress}/bin/waitress-serve \ - --host=${cfg.web.listenAddress} --port=${toString cfg.web.port} \ - --call django.core.handlers.wsgi:WSGIHandler''; + ${pkgs.python27Packages.waitress-django}/bin/waitress-serve-django \ + --host=${cfg.web.listenAddress} --port=${toString cfg.web.port} + ''; User = "graphite"; Group = "graphite"; PermissionsStartOnly = true; @@ -482,16 +508,20 @@ in { mkdir -p ${dataDir}/{whisper/,log/webapp/} chmod 0700 ${dataDir}/{whisper/,log/webapp/} - # populate database - ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput + ${pkgs.pythonPackages.django_1_8}/bin/django-admin.py migrate --noinput - # create index - ${pkgs.python27Packages.graphite_web}/bin/build-index.sh - - chown -R graphite:graphite ${cfg.dataDir} + chown -R graphite:graphite ${dataDir} touch ${dataDir}/db-created fi + + # Only collect static files when graphite_web changes. + if ! [ "${dataDir}/current_graphite_web" -ef "${pkgs.python27Packages.graphite_web}" ]; then + mkdir -p ${staticDir} + ${pkgs.pythonPackages.django_1_8}/bin/django-admin.py collectstatic --noinput --clear + chown -R graphite:graphite ${staticDir} + ln -sfT "${pkgs.python27Packages.graphite_web}" "${dataDir}/current_graphite_web" + fi ''; }; diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index e6cc02e4d49..facaea131ae 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -19,6 +19,17 @@ let Xsetup = pkgs.writeScript "Xsetup" '' #!/bin/sh + + # Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes + # strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM + # will segfault without explanation. We really tore our hair out for awhile + # before finding the bug: + # https://bugreports.qt.io/browse/QTBUG-62302 + # We work around the problem by deleting the QML cache before startup. It + # will be regenerated, causing a small but perceptible delay when SDDM + # starts. + rm -fr /var/lib/sddm/.cache/sddm-greeter/qmlcache + ${cfg.setupScript} ''; diff --git a/nixos/release.nix b/nixos/release.nix index 63f739e8e89..3016b1ef944 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -257,6 +257,7 @@ in rec { tests.gnome3 = callTest tests/gnome3.nix {}; tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {}; tests.grafama = callTest tests/grafana.nix {}; + tests.graphite = callTest tests/graphite.nix {}; tests.hardened = callTest tests/hardened.nix { }; tests.hibernate = callTest tests/hibernate.nix {}; tests.hound = callTest tests/hound.nix {}; diff --git a/nixos/tests/graphite.nix b/nixos/tests/graphite.nix new file mode 100644 index 00000000000..4fd7de192d5 --- /dev/null +++ b/nixos/tests/graphite.nix @@ -0,0 +1,26 @@ +import ./make-test.nix ({ pkgs, ...} : +{ + name = "graphite"; + nodes = { + one = + { config, pkgs, ... }: { + services.graphite = { + web = { + enable = true; + }; + carbon = { + enableCache = true; + }; + }; + }; + }; + + testScript = '' + startAll; + $one->waitForUnit("default.target"); + $one->requireActiveUnit("graphiteWeb.service"); + $one->requireActiveUnit("carbonCache.service"); + $one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003"); + $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo") + ''; +}) diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 3ce8d075410..86a963bdac4 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -1,11 +1,11 @@ -{ mkDerivation, lib, copyPathsToStore, fetchFromGitHub, fetchpatch +{ mkDerivation, lib, fetchFromGitHub, fetchpatch , cmake, extra-cmake-modules, pkgconfig, libxcb, libpthreadstubs, lndir , libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd }: let - version = "0.15.0"; + version = "0.16.0"; in mkDerivation rec { name = "sddm-${version}"; @@ -14,11 +14,10 @@ in mkDerivation rec { owner = "sddm"; repo = "sddm"; rev = "v${version}"; - sha256 = "1wissgl7wd7fblq8ghz8n2fr6wqip7h88p9fiarfpvi1918fgng8"; + sha256 = "1j0rc8nk8bz7sxa0bc6lx9v7r3zlcfyicngfjqb894ni9k71kzsb"; }; - patches = - copyPathsToStore (lib.readPathsFromFile ./. ./series); + patches = [ ./sddm-ignore-config-mtime.patch ]; postPatch = # Module Qt5::Test must be included in `find_package` before it is used. diff --git a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch b/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch index 836df2de292..aac09dfe876 100644 --- a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch +++ b/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch @@ -1,28 +1,43 @@ -From e9d82bfbc49993a5be2c93f6b72a969630587f26 Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -Date: Mon, 23 Nov 2015 06:56:28 -0600 -Subject: [PATCH 1/2] ignore config mtime - ---- - src/common/ConfigReader.cpp | 5 ----- - 1 file changed, 5 deletions(-) - diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp -index cfc9940..5bf5a6a 100644 +index 4b5983c..911c511 100644 --- a/src/common/ConfigReader.cpp +++ b/src/common/ConfigReader.cpp -@@ -138,11 +138,6 @@ namespace SDDM { - QString currentSection = QStringLiteral(IMPLICIT_SECTION); +@@ -147,16 +147,13 @@ namespace SDDM { + // * m_path (classic fallback /etc/sddm.conf) - QFile in(m_path); -- QDateTime modificationTime = QFileInfo(in).lastModified(); -- if (modificationTime <= m_fileModificationTime) { + QStringList files; +- QDateTime latestModificationTime = QFileInfo(m_path).lastModified(); + + if (!m_sysConfigDir.isEmpty()) { + //include the configDir in modification time so we also reload on any files added/removed + QDir dir(m_sysConfigDir); + if (dir.exists()) { +- latestModificationTime = std::max(latestModificationTime, QFileInfo(m_sysConfigDir).lastModified()); + foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware)) { + files << (file.absoluteFilePath()); +- latestModificationTime = std::max(latestModificationTime, file.lastModified()); + } + } + } +@@ -164,21 +161,14 @@ namespace SDDM { + //include the configDir in modification time so we also reload on any files added/removed + QDir dir(m_configDir); + if (dir.exists()) { +- latestModificationTime = std::max(latestModificationTime, QFileInfo(m_configDir).lastModified()); + foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware)) { + files << (file.absoluteFilePath()); +- latestModificationTime = std::max(latestModificationTime, file.lastModified()); + } + } + } + + files << m_path; + +- if (latestModificationTime <= m_fileModificationTime) { - return; - } -- m_fileModificationTime = modificationTime; - - in.open(QIODevice::ReadOnly); - while (!in.atEnd()) { --- -2.6.3 - +- m_fileModificationTime = latestModificationTime; +- + foreach (const QString &filepath, files) { + loadInternal(filepath); + } diff --git a/pkgs/applications/display-managers/sddm/series b/pkgs/applications/display-managers/sddm/series deleted file mode 100644 index cb6ea65fedb..00000000000 --- a/pkgs/applications/display-managers/sddm/series +++ /dev/null @@ -1 +0,0 @@ -sddm-ignore-config-mtime.patch \ No newline at end of file diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index b039bd168d8..5ef29081cf0 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -8,6 +8,9 @@ assert stdenv ? glibc; +# http://download.eclipse.org/eclipse/downloads/ is the main place to +# find the downloads needed for new versions + rec { buildEclipse = import ./build-eclipse.nix { @@ -111,16 +114,16 @@ rec { }; eclipse-platform-47 = buildEclipse { - name = "eclipse-platform-4.7"; + name = "eclipse-platform-4.7.1a"; 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-201706120950/eclipse-platform-4.7-linux-gtk-x86_64.tar.gz; - sha256 = "0hrgijydxvd2zz1npv5qw8d79f48a6lsdw3qy1wqf7k59aqyg2fq"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/eclipse-platform-4.7.1a-linux-gtk-x86_64.tar.gz; + sha256 = "13gyrnhyhdpsrbi5nl0fhpwrqz3gdyqq3r0m1f2z3y6yr75sgw33"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7-201706120950/eclipse-platform-4.7-linux-gtk.tar.gz; - sha256 = "00m89j26m8nj190q144wx8d88mldx1z6i797p8isg3rhbz3x5dbc"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/eclipse-platform-4.7.1a-linux-gtk.tar.gz; + sha256 = "013dfk23wa4jy177ywrkkr16wdjf6jxzjcz6mkl4ygki47yj9c5s"; }; }; }; @@ -165,16 +168,16 @@ rec { }; eclipse-sdk-47 = buildEclipse { - name = "eclipse-sdk-4.7"; + name = "eclipse-sdk-4.7.1a"; 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-201706120950/eclipse-SDK-4.7-linux-gtk-x86_64.tar.gz; - sha256 = "1nz0hl0gg4a8iffnaggbhdw0ra8a7wljlimvijbbybh0nhvfd9n3"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/eclipse-SDK-4.7.1a-linux-gtk-x86_64.tar.gz; + sha256 = "05xpdbig170rw7k5dx33dlyz187wv62mma8s5wxrqi7f4117sx4y"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7-201706120950/eclipse-SDK-4.7-linux-gtk.tar.gz; - sha256 = "0dar69v7d7bkl18si45bccvil809a85ghb7k88m1q2cq1kd2r8z5"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/eclipse-SDK-4.7.1a-linux-gtk.tar.gz; + sha256 = "09c9m88k1cm9bhd900p5yf2q9pijrymgjcbhmagz0fcwhldrv0ys"; }; }; }; diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index b9b0ee61c0b..f3459e57d9b 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -364,12 +364,12 @@ rec { jdt = buildEclipseUpdateSite rec { name = "jdt-${version}"; - version = "4.7"; + version = "4.7.1a"; src = fetchzip { stripRoot = false; - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7-201706120950/org.eclipse.jdt-4.7.zip"; - sha256 = "0y17shnlh90gg9226lraknvdnp2i71ck91dnxbbzvxl8b64v8v1p"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/org.eclipse.jdt-4.7.1a.zip; + sha256 = "1hpvpj8ghfk8aqbzfrpcxw3wxrczq6zd3bpx4sxjrsi926jsjaf4"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index b5b2a49c42b..23bcdae5fb2 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -2,7 +2,7 @@ makeWrapper, libXScrnSaver, libxkbfile, libsecret }: let - version = "1.17.1"; + version = "1.17.2"; channel = "stable"; plat = { @@ -12,9 +12,9 @@ let }.${stdenv.system}; sha256 = { - "i686-linux" = "09nvibfn2z5cxjcdxqa2xy63jqwpvfgk7hdy1pc0mnpszz6kn4v7"; - "x86_64-linux" = "1fb3hil7dggnz7hks1i806ckd3wl5g0a2syjdbh9dx5iqarp2782"; - "x86_64-darwin" = "1vgbsmbcsdxc0h0ny61a3rhbwxzrfzkxl47sy3w410xcqlv8ad2v"; + "i686-linux" = "04mnj74pqkgfgdacq4643qrd7ybka1366lr7mwn0f70lk05wb2h2"; + "x86_64-linux" = "0y37wwvq6flaa2fh2r6b9cplbcszq726zrx6b8slzq6s5wl2lgmr"; + "x86_64-darwin" = "1cqyir7ijwafy68d5vbw47cs1x2lqs1wjnvhhw15yi2d7c14fq7q"; }.${stdenv.system}; archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; diff --git a/pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch b/pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch deleted file mode 100644 index 149a2b2b1ac..00000000000 --- a/pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch +++ /dev/null @@ -1,25 +0,0 @@ -From beb9ad0149adfe448acfa650fb3e171d5fdd7e27 Mon Sep 17 00:00:00 2001 -From: Moritz Ulrich -Date: Wed, 22 Feb 2017 15:28:11 +0100 -Subject: [PATCH] Disable `-fno-operator-names` - ---- - core/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -index 89e06827e6..01d0c88ea9 100644 ---- a/core/CMakeLists.txt -+++ b/core/CMakeLists.txt -@@ -98,6 +98,8 @@ include(MacroOpenCV) - include(MacroJPEG) - include(MacroBoolTo01) - -+string(REPLACE "-fno-operator-names" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+ - # ================================================================================================== - - option(ENABLE_OPENCV3 "Build digiKam with OpenCV3 instead OpenCV2 (default=OFF)" OFF) --- -2.11.1 - diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index 96b1ca54d55..44ee807fe98 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -8,6 +8,7 @@ , qtsvg , qtwebkit +, kcalcore , kconfigwidgets , kcoreaddons , kdoctools @@ -28,12 +29,15 @@ , lensfun , libgphoto2 , libkipi +, libksane , liblqr1 , libqtav , libusb1 +, mesa , marble , mysql -, opencv +, opencv3 +, pcre , threadweaver # For panorama and focus stacking @@ -46,17 +50,15 @@ mkDerivation rec { name = "digikam-${version}"; - version = "5.4.0"; + version = "5.7.0"; src = fetchurl { url = "http://download.kde.org/stable/digikam/${name}.tar.xz"; - sha256 = "0dgsgji14l5zvxny36hrfsp889fsfrsbbn9bg57m18404xp903kg"; + sha256 = "1xah079g47fih8l9qy1ifppfvmq5yms5y1z54nvxdyz8nsszy19n"; }; nativeBuildInputs = [ cmake extra-cmake-modules kdoctools wrapGAppsHook ]; - patches = [ ./0001-Disable-fno-operator-names.patch ]; - buildInputs = [ bison boost @@ -68,19 +70,21 @@ mkDerivation rec { lensfun libgphoto2 libkipi + libksane liblqr1 libqtav libusb1 + mesa mysql - opencv - ]; + opencv3 + pcre - propagatedBuildInputs = [ qtbase qtxmlpatterns qtsvg qtwebkit + kcalcore kconfigwidgets kcoreaddons kfilemetadata @@ -98,8 +102,6 @@ mkDerivation rec { enableParallelBuilding = true; cmakeFlags = [ - "-DLIBUSB_LIBRARIES=${libusb1.out}/lib" - "-DLIBUSB_INCLUDE_DIR=${libusb1.dev}/include/libusb-1.0" "-DENABLE_MYSQLSUPPORT=1" "-DENABLE_INTERNALMYSQL=1" "-DENABLE_MEDIAPLAYER=1" diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 79333e7d9fa..411705e6a6a 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -29,16 +29,16 @@ let in buildRustPackage rec { - name = "alacritty-unstable-2017-09-02"; + name = "alacritty-unstable-2017-10-17"; src = fetchFromGitHub { owner = "jwilm"; repo = "alacritty"; - rev = "22fa4260fc9210fbb5288090df79c92e7b3788e4"; - sha256 = "0jjvvm0fm25p1h1rgfqlnhq4bwrjdxpb2pgnmpik9pl7qwy3q7s1"; + rev = "5ac42bb13bc68c5cbc44869dc9fc9ac19402a6e6"; + sha256 = "0h37x12r33xwz9vf1n8y24c0ph5w17lhkpfi5q6lbpgidvbs6fyx"; }; - depsSha256 = "19lrj4i6vzmf22r6xg99zcwvzjpiar8pqin1m2nvv78xzxx5yvgb"; + depsSha256 = "05gkl2zg546i2pm0gx11s56f7dk72qpm39kml1d2myj81s0vyb5z"; buildInputs = [ cmake diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 86b2ab6eb1c..b348f253b35 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,4 +1,4 @@ -{ stdenv, stdenv_gcc5, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew +{ stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew , ilmbase, libXi, libX11, libXext, libXrender , libjpeg, libpng, libsamplerate, libsndfile , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg_1, python @@ -10,7 +10,7 @@ with lib; -(if cudaSupport then stdenv_gcc5 else stdenv).mkDerivation rec { +stdenv.mkDerivation rec { name = "blender-2.79"; src = fetchurl { @@ -57,9 +57,8 @@ with lib; ++ optional jackaudioSupport "-DWITH_JACK=ON" ++ optionals cudaSupport [ "-DWITH_CYCLES_CUDA_BINARIES=ON" - # Disable the sm_20 architecture to work around a segfault in - # ptxas, as suggested on #blendercoders. - "-DCYCLES_CUDA_BINARIES_ARCH=sm_21;sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61" + # Disable architectures before sm_30 to support new CUDA toolkits. + "-DCYCLES_CUDA_BINARIES_ARCH=sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61" ] ++ optional colladaSupport "-DWITH_OPENCOLLADA=ON"; diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index b604905320b..3f39a356312 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -24,7 +24,7 @@ assert stdenv.isLinux; let - version = "4.2.10"; + version = "4.2.12"; binpath = stdenv.lib.makeBinPath [ cabextract @@ -57,7 +57,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz"; - sha256 = "0ws94hgxajaww450q8ivrp28ypv39mashs29ak41faxf29cr097m"; + sha256 = "03k8v9dknc5hfrfzqw1nkpifz7wkixv3mvjl1vnp4fx8rj2xrjrq"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix b/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix index 53c278bc065..86c2f53b9ad 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix @@ -16,14 +16,14 @@ { https-everywhere = stdenv.mkDerivation rec { name = "https-everywhere-${version}"; - version = "2017.9.12"; + version = "2017.10.4"; extid = "https-everywhere-eff@eff.org"; src = fetchgit { url = "https://git.torproject.org/https-everywhere.git"; rev = "refs/tags/${version}"; - sha256 = "179429pngyksp9xkr86nf2m5q6zmg19c7ng1dhqjfb1vsncwgw66"; + sha256 = "1g7971xygnhagnb25xjdf6mli6091ai9igx42d0ww88g8i0cqfzj"; fetchSubmodules = true; # for translations, TODO: remove }; @@ -47,13 +47,13 @@ noscript = stdenv.mkDerivation rec { name = "noscript-${version}"; - version = "5.0.10"; + version = "5.1.2"; extid = "{73a6fe31-595d-460b-a920-fcc0f8843232}"; src = fetchurl { url = "https://secure.informaction.com/download/releases/noscript-${version}.xpi"; - sha256 = "18k5karbaj5mhd9cyjbqgik6044bw88rjalkh6anjanxbn503j6g"; + sha256 = "1fzspdiwhjabwz1yxb3gzj7giz9jbc1xxm65i93rvhzcp537cs42"; }; unpackPhase = ":"; @@ -88,14 +88,14 @@ tor-launcher = stdenv.mkDerivation rec { name = "tor-launcher-${version}"; - version = "0.2.12.3"; + version = "0.2.13"; extid = "tor-launcher@torproject.org"; src = fetchgit { url = "https://git.torproject.org/tor-launcher.git"; rev = "refs/tags/${version}"; - sha256 = "0126x48pjiy2zm4l8jzhk70w24hviaz560ffp4lb9x0ar615bc9q"; + sha256 = "1f98v88y2clwvjiw77kxqc9cacp5h0489a540nc2wmsx7vnskrq0"; }; nativeBuildInputs = [ zip ]; diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index cb28d38bf1d..8dc3e3ce43d 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -22,22 +22,23 @@ assert pythonSupport -> (python != null && numpy != null); stdenv.mkDerivation rec { name = "caffe-${version}"; - version = "1.0-rc5"; + version = "1.0"; src = fetchFromGitHub { owner = "BVLC"; repo = "caffe"; - rev = "rc5"; - sha256 = "0lfmmc0n6xvkpygvxclzrvd0zigb4yfc5612anv2ahlxpfi9031c"; + rev = version; + sha256 = "104jp3cm823i3cdph7hgsnj6l77ygbwsy35mdmzhmsi4jxprd9j3"; }; enableParallelBuilding = true; nativeBuildInputs = [ cmake doxygen ]; - cmakeFlags = [ "-DCUDA_ARCH_NAME=All" ] - ++ lib.optional (!cudaSupport) "-DCPU_ONLY=ON" - ++ lib.optional (!pythonSupport) "-DBUILD_python=OFF"; + cmakeFlags = [ + "-DCUDA_ARCH_NAME=All" + (if pythonSupport then "-Dpython_version=${python.version}" else "-DBUILD_python=OFF") + ] ++ lib.optional (!cudaSupport) "-DCPU_ONLY=ON"; buildInputs = [ boost google-gflags glog protobuf hdf5-cpp lmdb leveldb snappy opencv atlas ] ++ lib.optional cudaSupport cudatoolkit @@ -49,6 +50,16 @@ stdenv.mkDerivation rec { outputs = [ "bin" "out"]; propagatedBuildOutputs = []; # otherwise propagates out -> bin cycle + preConfigure = lib.optionalString (cudaSupport && lib.versionAtLeast cudatoolkit.version "9.0") '' + # CUDA 9.0 doesn't support sm_20 + sed -i 's,20 21(20) ,,' cmake/Cuda.cmake + '' + lib.optionalString (python.isPy3 or false) '' + sed -i \ + -e 's,"python-py''${boost_py_version}",python3,g' \ + -e 's,''${Boost_PYTHON-PY''${boost_py_version}_FOUND},''${Boost_PYTHON3_FOUND},g' \ + cmake/Dependencies.cmake + ''; + postInstall = '' # Internal static library. rm $out/lib/libproto.a diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix new file mode 100644 index 00000000000..80a5f6f032b --- /dev/null +++ b/pkgs/applications/science/math/cntk/default.nix @@ -0,0 +1,98 @@ +{ lib, stdenv, fetchgit, fetchFromGitHub, fetchpatch, cmake +, openblas, opencv3, libzip, boost, protobuf, openmpi +, onebitSGDSupport ? false +, cudaSupport ? false, cudatoolkit, nvidia_x11 +, cudnnSupport ? false, cudnn +}: + +assert cudnnSupport -> cudaSupport; + +let + # Old specific version required for CNTK. + cub = fetchFromGitHub { + owner = "NVlabs"; + repo = "cub"; + rev = "1.4.1"; + sha256 = "1lcdwblz03c0yq1lxndg566kg14b5qm14x5qixjbmz6wq85kgmqc"; + }; + +in stdenv.mkDerivation rec { + name = "CNTK-${version}"; + version = "2.2"; + + # Submodules + src = fetchgit { + url = "https://github.com/Microsoft/CNTK"; + rev = "v${version}"; + sha256 = "0q4knrwiyphb2fbqf9jzqvkz2jzj6jmbmang3lavdvsh7z0n8zz9"; + }; + + patches = [ + # Fix "'exp' was not declared" + (fetchpatch { + url = "https://github.com/imriss/CNTK/commit/ef1cca6df95cc507deb8471df2c0dd8cbfeef23b.patch"; + sha256 = "0z7xyrxwric0c4h7rfs05f544mcq6d10wgs0vvfcyd2pcf410hy7"; + }) + ]; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ openblas opencv3 libzip boost protobuf openmpi ] + ++ lib.optional cudaSupport cudatoolkit + ++ lib.optional cudnnSupport cudnn; + + configureFlags = [ + "--with-opencv=${opencv3}" + "--with-libzip=${libzip.dev}" + "--with-openblas=${openblas}" + "--with-boost=${boost.dev}" + "--with-protobuf=${protobuf}" + "--with-mpi=${openmpi}" + ] ++ lib.optionals cudaSupport [ + "--cuda=yes" + "--with-cuda=${cudatoolkit}" + "--with-gdk-include=${cudatoolkit}/include" + "--with-gdk-nvml-lib=${nvidia_x11}/lib" + "--with-cub=${cub}" + ] ++ lib.optional onebitSGDSupport "--1bitsgd=yes"; + + configurePhase = '' + sed -i \ + -e 's,^GIT_STATUS=.*,GIT_STATUS=,' \ + -e 's,^GIT_COMMIT=.*,GIT_COMMIT=v${version},' \ + -e 's,^GIT_BRANCH=.*,GIT_BRANCH=v${version},' \ + -e 's,^BUILDER=.*,BUILDER=nixbld,' \ + -e 's,^BUILDMACHINE=.*,BUILDMACHINE=machine,' \ + -e 's,^BUILDPATH=.*,BUILDPATH=/homeless-shelter,' \ + -e '/git does not exist/d' \ + Tools/generate_build_info + + patchShebangs . + mkdir build + cd build + ${lib.optionalString cudnnSupport '' + mkdir cuda + ln -s ${cudnn}/include cuda + export configureFlags="$configureFlags --with-cudnn=$PWD" + ''} + ../configure $configureFlags + ''; + + installPhase = '' + mkdir -p $out/bin + # Moving to make patchelf remove references later. + mv lib $out + cp bin/cntk $out/bin + ''; + + hardeningDisable = [ "format" ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://github.com/Microsoft/CNTK"; + description = "An open source deep-learning toolkit"; + license = if onebitSGDSupport then licenses.unfreeRedistributable else licenses.mit; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 49920e28f76..48bb512e134 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -46,10 +46,10 @@ rec { }; # This should go into the containerd derivation once 1.0.0 is out - preBuild = (optionalString (version == "17.09.0-ce") '' + preBuild = '' mkdir $(pwd)/vendor/src mv $(pwd)/vendor/{github.com,golang.org,google.golang.org} $(pwd)/vendor/src/ - '') + oldAttrs.preBuild; + '' + oldAttrs.preBuild; }); docker-tini = tini.overrideAttrs (oldAttrs: rec { name = "docker-init"; @@ -122,7 +122,13 @@ rec { installPhase = '' install -Dm755 ./components/cli/docker $out/libexec/docker/docker - install -Dm755 ./components/engine/bundles/${version}/dynbinary-daemon/dockerd-${version} $out/libexec/docker/dockerd + + if [ -d "./components/engine/bundles/${version}" ]; then + install -Dm755 ./components/engine/bundles/${version}/dynbinary-daemon/dockerd-${version} $out/libexec/docker/dockerd + else + install -Dm755 ./components/engine/bundles/dynbinary-daemon/dockerd-${version} $out/libexec/docker/dockerd + fi + makeWrapper $out/libexec/docker/docker $out/bin/docker \ --prefix PATH : "$out/libexec/docker:$extraPath" makeWrapper $out/libexec/docker/dockerd $out/bin/dockerd \ @@ -175,7 +181,7 @@ rec { homepage = https://www.docker.com/; description = "An open source project to pack, ship and run any application as a lightweight container"; license = licenses.asl20; - maintainers = with maintainers; [ offline tailhook vdemeester ]; + maintainers = with maintainers; [ nequissimus offline tailhook vdemeester ]; platforms = platforms.linux; }; }; @@ -183,18 +189,6 @@ rec { # Get revisions from # https://github.com/docker/docker-ce/blob/v${version}/components/engine/hack/dockerfile/binaries-commits - docker_17_06 = dockerGen rec { - version = "17.06.2-ce"; - rev = "cec0b72a9940e047e945a09e1febd781e88366d6"; # git commit - sha256 = "1scqx28vzh72ziq00lbx92vsb896mj974j8f0zg11y6qc5n5jx3l"; - runcRev = "810190ceaa507aa2727d7ae6f4790c76ec150bd2"; - runcSha256 = "0f1x1z262qg579qb1w21axj3mibq4fbff3gamliw49sdqqnb7vk3"; - containerdRev = "6e23458c129b551d5c9871e5174f6b1b7f6d1170"; - containerdSha256 = "12kzc5z1nhxdbizzr494ywilbs6rdv39v5ql7lmfzwh350gwlg93"; - tiniRev = "949e6facb77383876aeff8a6944dde66b3089574"; - tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw"; - }; - docker_17_09 = dockerGen rec { version = "17.09.0-ce"; rev = "afdb6d44a80f777069885a9ee0e0f86cf841b1bb"; # git commit @@ -206,4 +200,16 @@ rec { tiniRev = "949e6facb77383876aeff8a6944dde66b3089574"; tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw"; }; + + docker_17_10 = dockerGen rec { + version = "17.10.0-ce"; + rev = "f4ffd2511ce93aa9e5eefdf0e912f77543080b0b"; # git commit + sha256 = "07x47cfdaz4lhlga1pchcbqqy0nd2q6zch0ycag18vzi99w4gmh2"; + runcRev = "0351df1c5a66838d0c392b4ac4cf9450de844e2d"; + runcSha256 = "1cmkdv6rli7v0y0fddqxvrvzd486fg9ssp3kgkya3szkljzz4xj0"; + containerdRev = "06b9cb35161009dcb7123345749fef02f7cea8e0"; + containerdSha256 = "10hms8a2nn69nfnwly6923jzx40c3slpsdhjhff4bxh36flpf9gd"; + tiniRev = "949e6facb77383876aeff8a6944dde66b3089574"; + tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw"; + }; } diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix index b790a15e607..c62fa63ea59 100644 --- a/pkgs/applications/virtualization/lkl/default.nix +++ b/pkgs/applications/virtualization/lkl/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, bc, python, fuse, libarchive }: stdenv.mkDerivation rec { - name = "lkl-2017-08-09"; - rev = "083cdeece0577635d523244dcf0da86074e23e4e"; + name = "lkl-2017-10-18"; + rev = "bfb315c4612c38427e3239d0a427a125d9ba0ede"; outputs = [ "dev" "lib" "out" ]; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { inherit rev; owner = "lkl"; repo = "linux"; - sha256 = "1fyh0p54jgsqywswj40zbw64jbqx2w10wax1k3j2szzlhjrv9x1a"; + sha256 = "172ccn2gsybnji7giiqq63bvp9nsw8kri88pjlvinwpwsv7x81aa"; }; # Fix a /usr/bin/env reference in here that breaks sandboxed builds diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 2bb4b7decef..a9b3f178132 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -133,6 +133,7 @@ let plasma-integration = callPackage ./plasma-integration.nix {}; plasma-nm = callPackage ./plasma-nm {}; plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; }; + plasma-vault = callPackage ./plasma-vault {}; plasma-workspace = callPackage ./plasma-workspace {}; plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {}; polkit-kde-agent = callPackage ./polkit-kde-agent.nix {}; diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh index 7513c83c107..f4d39604726 100644 --- a/pkgs/desktops/plasma-5/fetch.sh +++ b/pkgs/desktops/plasma-5/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/plasma/5.10.5/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/plasma/5.11.1/ -A '*.tar.xz' ) diff --git a/pkgs/desktops/plasma-5/kde-cli-tools.nix b/pkgs/desktops/plasma-5/kde-cli-tools.nix index 6bcafc5813a..63219d8cbe1 100644 --- a/pkgs/desktops/plasma-5/kde-cli-tools.nix +++ b/pkgs/desktops/plasma-5/kde-cli-tools.nix @@ -1,7 +1,7 @@ { mkDerivation, extra-cmake-modules, kdoctools, kcmutils, kconfig, kdesu, ki18n, kiconthemes, kinit, kio, kwindowsystem, - qtsvg, qtx11extras, + qtsvg, qtx11extras, kactivities }: mkDerivation { @@ -9,6 +9,6 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kcmutils kconfig kdesu ki18n kiconthemes kinit kio kwindowsystem qtsvg - qtx11extras + qtx11extras kactivities ]; } diff --git a/pkgs/desktops/plasma-5/plasma-desktop/ibus.patch b/pkgs/desktops/plasma-5/plasma-desktop/ibus.patch deleted file mode 100644 index d5ac4b25087..00000000000 --- a/pkgs/desktops/plasma-5/plasma-desktop/ibus.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: plasma-desktop-5.8.5/kcms/keyboard/xkb_helper.cpp -=================================================================== ---- plasma-desktop-5.8.5.orig/kcms/keyboard/xkb_helper.cpp -+++ plasma-desktop-5.8.5/kcms/keyboard/xkb_helper.cpp -@@ -185,21 +185,5 @@ bool XkbHelper::initializeKeyboardLayout - - bool XkbHelper::preInitialize() - { -- // stop ibus so it does not mess with our layouts, we can remove this when we integrate IM into keyboard module -- -- QString ibusExe = QStandardPaths::findExecutable(QStringLiteral("ibus")); -- if( ibusExe.isEmpty() ) { -- return 0; -- } -- -- KProcess ibusProcess; -- ibusProcess << ibusExe << QStringLiteral("exit"); -- ibusProcess.setOutputChannelMode(KProcess::SeparateChannels); -- int res = ibusProcess.execute(); -- -- if( res == 0 ) { -- qCWarning(KCM_KEYBOARD) << "ibus successfully stopped"; -- } -- - return 0; - } diff --git a/pkgs/desktops/plasma-5/plasma-desktop/qml-import-paths.patch b/pkgs/desktops/plasma-5/plasma-desktop/qml-import-paths.patch index def5b577b97..d3f5166d5ed 100644 --- a/pkgs/desktops/plasma-5/plasma-desktop/qml-import-paths.patch +++ b/pkgs/desktops/plasma-5/plasma-desktop/qml-import-paths.patch @@ -1,27 +1,14 @@ -Index: plasma-desktop-5.8.5/applets/pager/package/contents/ui/main.qml -=================================================================== ---- plasma-desktop-5.8.5.orig/applets/pager/package/contents/ui/main.qml -+++ plasma-desktop-5.8.5/applets/pager/package/contents/ui/main.qml -@@ -25,7 +25,7 @@ import org.kde.plasma.components 2.0 as - import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddonsComponents - import org.kde.draganddrop 2.0 - import org.kde.plasma.private.pager 2.0 --import "utils.js" as Utils -+import "../code/utils.js" as Utils - - MouseArea { - id: root Index: plasma-desktop-5.8.5/containments/desktop/package/contents/ui/FolderView.qml =================================================================== --- plasma-desktop-5.8.5.orig/containments/desktop/package/contents/ui/FolderView.qml +++ plasma-desktop-5.8.5/containments/desktop/package/contents/ui/FolderView.qml @@ -27,7 +27,7 @@ import org.kde.plasma.extras 2.0 as Plas import org.kde.kquickcontrolsaddons 2.0 - + import org.kde.private.desktopcontainment.folder 0.1 as Folder -import "FolderTools.js" as FolderTools +import "../code/FolderTools.js" as FolderTools - + Item { id: main Index: plasma-desktop-5.8.5/containments/desktop/package/contents/ui/main.qml @@ -29,14 +16,14 @@ Index: plasma-desktop-5.8.5/containments/desktop/package/contents/ui/main.qml --- plasma-desktop-5.8.5.orig/containments/desktop/package/contents/ui/main.qml +++ plasma-desktop-5.8.5/containments/desktop/package/contents/ui/main.qml @@ -30,8 +30,8 @@ import org.kde.kquickcontrolsaddons 2.0 - + import org.kde.private.desktopcontainment.desktop 0.1 as Desktop - + -import "LayoutManager.js" as LayoutManager -import "FolderTools.js" as FolderTools +import "../code/LayoutManager.js" as LayoutManager +import "../code/FolderTools.js" as FolderTools - + DragDrop.DropArea { id: root Index: plasma-desktop-5.8.5/containments/panel/contents/ui/main.qml @@ -46,9 +33,9 @@ Index: plasma-desktop-5.8.5/containments/panel/contents/ui/main.qml @@ -25,7 +25,7 @@ import org.kde.plasma.components 2.0 as import org.kde.kquickcontrolsaddons 2.0 import org.kde.draganddrop 2.0 as DragDrop - + -import "LayoutManager.js" as LayoutManager +import "../code/LayoutManager.js" as LayoutManager - + DragDrop.DropArea { id: root diff --git a/pkgs/desktops/plasma-5/plasma-desktop/series b/pkgs/desktops/plasma-5/plasma-desktop/series index 36778cd1c56..6334deb7d97 100644 --- a/pkgs/desktops/plasma-5/plasma-desktop/series +++ b/pkgs/desktops/plasma-5/plasma-desktop/series @@ -1,4 +1,3 @@ qml-import-paths.patch hwclock-path.patch tzdir.patch -ibus.patch diff --git a/pkgs/desktops/plasma-5/plasma-integration.nix b/pkgs/desktops/plasma-5/plasma-integration.nix index de46bb4373c..f6964428762 100644 --- a/pkgs/desktops/plasma-5/plasma-integration.nix +++ b/pkgs/desktops/plasma-5/plasma-integration.nix @@ -2,7 +2,7 @@ mkDerivation, extra-cmake-modules, breeze-qt5, kconfig, kconfigwidgets, kiconthemes, kio, knotifications, - kwayland, libXcursor + kwayland, libXcursor, qtquickcontrols2 }: # TODO: install Noto Sans and Oxygen Mono fonts with plasma-integration @@ -12,6 +12,6 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland - libXcursor + libXcursor qtquickcontrols2 ]; } diff --git a/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch new file mode 100644 index 00000000000..b3f19c4e002 --- /dev/null +++ b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch @@ -0,0 +1,17 @@ +diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp +index f6ef54f..160034a 100644 +--- a/kded/engine/backends/cryfs/cryfsbackend.cpp ++++ b/kded/engine/backends/cryfs/cryfsbackend.cpp +@@ -136,11 +136,10 @@ bool CryFsBackend::isInitialized(const Device &device) const + + QProcess *CryFsBackend::cryfs(const QStringList &arguments) const + { +- return process("cryfs", ++ return process(NIXPKGS_CRYFS, + arguments, + { { "CRYFS_FRONTEND", "noninteractive" } }); + } + + + } // namespace PlasmaVault +- diff --git a/pkgs/desktops/plasma-5/plasma-vault/default.nix b/pkgs/desktops/plasma-5/plasma-vault/default.nix new file mode 100644 index 00000000000..203ff50d735 --- /dev/null +++ b/pkgs/desktops/plasma-5/plasma-vault/default.nix @@ -0,0 +1,38 @@ +{ + mkDerivation, lib, + extra-cmake-modules, + + kactivities, + plasma-framework, + kwindowsystem, + libksysguard, + + encfs, + cryfs, + fuse +}: + +mkDerivation { + name = "plasma-vault"; + nativeBuildInputs = [ extra-cmake-modules ]; + + patches = [ + ./encfs-path.patch + ./cryfs-path.patch + ./fusermount-path.patch + ]; + + buildInputs = [ + kactivities plasma-framework kwindowsystem libksysguard + ]; + + NIX_CFLAGS_COMPILE = [ + ''-DNIXPKGS_ENCFS="${lib.getBin encfs}/bin/encfs"'' + ''-DNIXPKGS_ENCFSCTL="${lib.getBin encfs}/bin/encfsctl"'' + + ''-DNIXPKGS_CRYFS="${lib.getBin cryfs}/bin/cryfs"'' + + ''-DNIXPKGS_FUSERMOUNT="${lib.getBin fuse}/bin/fusermount"'' + ]; + +} diff --git a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch new file mode 100644 index 00000000000..b494df55c5d --- /dev/null +++ b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch @@ -0,0 +1,24 @@ +diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp +index 47bb237..4ff064d 100644 +--- a/kded/engine/backends/encfs/encfsbackend.cpp ++++ b/kded/engine/backends/encfs/encfsbackend.cpp +@@ -132,17 +132,16 @@ bool EncFsBackend::isInitialized(const Device &device) const + + QProcess *EncFsBackend::encfs(const QStringList &arguments) const + { +- return process("encfs", arguments, {}); ++ return process(NIXPKGS_ENCFS, arguments, {}); + } + + + + QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const + { +- return process("encfsctl", arguments, {}); ++ return process(NIXPKGS_ENCFSCTL, arguments, {}); + } + + + + } // namespace PlasmaVault +- diff --git a/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch new file mode 100644 index 00000000000..cd1b736a103 --- /dev/null +++ b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch @@ -0,0 +1,18 @@ +diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp +index 81ce494..d3c5c9f 100644 +--- a/kded/engine/fusebackend_p.cpp ++++ b/kded/engine/fusebackend_p.cpp +@@ -103,7 +103,7 @@ QProcess *FuseBackend::process(const QString &executable, + + QProcess *FuseBackend::fusermount(const QStringList &arguments) const + { +- return process("fusermount", arguments, {}); ++ return process(NIXPKGS_FUSERMOUNT, arguments, {}); + } + + +@@ -245,4 +245,3 @@ bool FuseBackend::isOpened(const MountPoint &mountPoint) const + } + + } // namespace PlasmaVault +- diff --git a/pkgs/desktops/plasma-5/plasma-workspace/qml-import-path.patch b/pkgs/desktops/plasma-5/plasma-workspace/qml-import-path.patch index 12eb65caa71..3b3d318d3bb 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/qml-import-path.patch +++ b/pkgs/desktops/plasma-5/plasma-workspace/qml-import-path.patch @@ -1,16 +1,3 @@ -Index: plasma-workspace-5.6.3/applets/analog-clock/contents/ui/analogclock.qml -=================================================================== ---- plasma-workspace-5.6.3.orig/applets/analog-clock/contents/ui/analogclock.qml -+++ plasma-workspace-5.6.3/applets/analog-clock/contents/ui/analogclock.qml -@@ -26,7 +26,7 @@ import QtQuick.Layouts 1.1 - - import org.kde.plasma.core 2.0 as PlasmaCore - import org.kde.plasma.components 2.0 as PlasmaComponents --import "logic.js" as Logic -+import "../code/logic.js" as Logic - - Item { - id: analogclock Index: plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/BatteryItem.qml =================================================================== --- plasma-workspace-5.6.3.orig/applets/batterymonitor/package/contents/ui/BatteryItem.qml @@ -21,35 +8,9 @@ Index: plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/Battery import org.kde.kcoreaddons 1.0 as KCoreAddons -import "logic.js" as Logic +import "../code/logic.js" as Logic - + Item { id: batteryItem -Index: plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml -=================================================================== ---- plasma-workspace-5.6.3.orig/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml -+++ plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml -@@ -24,7 +24,7 @@ import QtQuick.Layouts 1.1 - import org.kde.plasma.core 2.0 as PlasmaCore - import org.kde.plasma.components 2.0 as Components - import org.kde.plasma.workspace.components 2.0 --import "logic.js" as Logic -+import "../code/logic.js" as Logic - - MouseArea { - id: root -Index: plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/PopupDialog.qml -=================================================================== ---- plasma-workspace-5.6.3.orig/applets/batterymonitor/package/contents/ui/PopupDialog.qml -+++ plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/PopupDialog.qml -@@ -23,7 +23,7 @@ import org.kde.plasma.core 2.0 as Plasma - import org.kde.plasma.components 2.0 as Components - import org.kde.plasma.extras 2.0 as PlasmaExtras - import org.kde.kquickcontrolsaddons 2.0 --import "logic.js" as Logic -+import "../code/logic.js" as Logic - - FocusScope { - id: dialog Index: plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/batterymonitor.qml =================================================================== --- plasma-workspace-5.6.3.orig/applets/batterymonitor/package/contents/ui/batterymonitor.qml @@ -60,7 +21,7 @@ Index: plasma-workspace-5.6.3/applets/batterymonitor/package/contents/ui/battery import org.kde.kquickcontrolsaddons 2.0 -import "logic.js" as Logic +import "../code/logic.js" as Logic - + Item { id: batterymonitor Index: plasma-workspace-5.6.3/applets/lock_logout/contents/ui/lockout.qml @@ -73,7 +34,7 @@ Index: plasma-workspace-5.6.3/applets/lock_logout/contents/ui/lockout.qml import org.kde.kquickcontrolsaddons 2.0 -import "data.js" as Data +import "../code/data.js" as Data - + Flow { id: lockout Index: plasma-workspace-5.6.3/applets/notifications/package/contents/ui/main.qml @@ -81,11 +42,11 @@ Index: plasma-workspace-5.6.3/applets/notifications/package/contents/ui/main.qml --- plasma-workspace-5.6.3.orig/applets/notifications/package/contents/ui/main.qml +++ plasma-workspace-5.6.3/applets/notifications/package/contents/ui/main.qml @@ -28,7 +28,7 @@ import org.kde.plasma.extras 2.0 as Plas - + import org.kde.plasma.private.notifications 1.0 - + -import "uiproperties.js" as UiProperties +import "../code/uiproperties.js" as UiProperties - + MouseEventListener { id: notificationsApplet diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix index 854b86c1640..900c6c0b2c4 100644 --- a/pkgs/desktops/plasma-5/srcs.nix +++ b/pkgs/desktops/plasma-5/srcs.nix @@ -3,339 +3,355 @@ { bluedevil = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/bluedevil-5.10.5.tar.xz"; - sha256 = "01nhfggikkygfzyjbm7zqszhq2x1fhc619wskwjb7hm9p35laj9r"; - name = "bluedevil-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/bluedevil-5.11.1.tar.xz"; + sha256 = "0p1y3p87xg7rjj35n81jg4v4yr2k7bf80qzfnwslbvwrpnzs982q"; + name = "bluedevil-5.11.1.tar.xz"; }; }; breeze = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/breeze-5.10.5.tar.xz"; - sha256 = "0rmc3nn9b63jyij814hqx1zg38iphvd03pg7qybkp61zw40ng90v"; - name = "breeze-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/breeze-5.11.1.tar.xz"; + sha256 = "0yqbr7j0iqnmczbfv454f1l5x3787vzfchgkrd995d6za2d0w2lp"; + name = "breeze-5.11.1.tar.xz"; }; }; breeze-grub = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/breeze-grub-5.10.5.tar.xz"; - sha256 = "0am1hldqyrsryda907q2qwfc09xcsxrv7bq9v23ig0xmylcsq3if"; - name = "breeze-grub-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/breeze-grub-5.11.1.tar.xz"; + sha256 = "0pcri1z4min5m6wb6ncyjavwd9nszyis3cqdyw6mqb4av55z0xl0"; + name = "breeze-grub-5.11.1.tar.xz"; }; }; breeze-gtk = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/breeze-gtk-5.10.5.tar.xz"; - sha256 = "0i5ddrq9h1www5362qyfwpqpspn3brr43mbsv7ax7gk30san6w0a"; - name = "breeze-gtk-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/breeze-gtk-5.11.1.tar.xz"; + sha256 = "0qb3ykf1mdw1iparsaxnypc4z41lfal6idksz9va25p3vclh02gr"; + name = "breeze-gtk-5.11.1.tar.xz"; }; }; breeze-plymouth = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/breeze-plymouth-5.10.5.tar.xz"; - sha256 = "197g84mvh8s3f163zx24y1mmzk26fg3ni19pw21njdj2j813hd35"; - name = "breeze-plymouth-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/breeze-plymouth-5.11.1.tar.xz"; + sha256 = "1z175176583aqdvv6gwy7mdkndr50x1c8xdihrrcvdhvqy9qc7hr"; + name = "breeze-plymouth-5.11.1.tar.xz"; }; }; discover = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/discover-5.10.5.tar.xz"; - sha256 = "085lq0y9a6r12jbx2ik7zqp4r9bjw332ykfh2gbzzz4s7l7rj4xf"; - name = "discover-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/discover-5.11.1.tar.xz"; + sha256 = "0zr53nw9lix80wlf7wa7irng2vvy80wccjs439ib8r1yh3ggiq4c"; + name = "discover-5.11.1.tar.xz"; + }; + }; + drkonqi = { + version = "5.11.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.11.1/drkonqi-5.11.1.tar.xz"; + sha256 = "0kq06sz39m8qg19b4cjqfwnx19j3s29hddhls8wywswwxlz4aq35"; + name = "drkonqi-5.11.1.tar.xz"; }; }; kactivitymanagerd = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kactivitymanagerd-5.10.5.tar.xz"; - sha256 = "19c297iyaq54vxc6xmvqsa1qlj5vr8071ydmkkfx3fa3lijp34v7"; - name = "kactivitymanagerd-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kactivitymanagerd-5.11.1.tar.xz"; + sha256 = "1j36mbngga492xxhm1ndw1bnq1qn480qpvzi94wyax9y3r4szmhg"; + name = "kactivitymanagerd-5.11.1.tar.xz"; }; }; kde-cli-tools = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kde-cli-tools-5.10.5.tar.xz"; - sha256 = "1i2frbxvzlqlv210w50ccxn8ksqxranc93v0wfjvnhd7f8p9c7vk"; - name = "kde-cli-tools-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kde-cli-tools-5.11.1.tar.xz"; + sha256 = "0di7ypyhda4gpadhi0lbji4nyi9xk1y844kxfb586wpzkim5w82c"; + name = "kde-cli-tools-5.11.1.tar.xz"; }; }; kdecoration = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kdecoration-5.10.5.tar.xz"; - sha256 = "0g24gisbnp92niff36bcnjk5pp84qc8cwmx283b887fzcn8v4mf3"; - name = "kdecoration-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kdecoration-5.11.1.tar.xz"; + sha256 = "1jpvdscmy5ymyvj22784swvf6181f7ggr875djhx57c7i4shb3ph"; + name = "kdecoration-5.11.1.tar.xz"; }; }; kde-gtk-config = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kde-gtk-config-5.10.5.tar.xz"; - sha256 = "1a5q8skykhvr5mixi59db2w1qsh8nj2dqncw4nmsh5nlh2ldmgm5"; - name = "kde-gtk-config-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kde-gtk-config-5.11.1.tar.xz"; + sha256 = "1afbwdrjdv9a2qwyxysgnslavan20cmhrz88kmnf9imxlll0i7al"; + name = "kde-gtk-config-5.11.1.tar.xz"; }; }; kdeplasma-addons = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kdeplasma-addons-5.10.5.tar.xz"; - sha256 = "1xdsa38i60x24p6xiv4x1cqd7f2xijs15c19qsjv594lnmbizbr5"; - name = "kdeplasma-addons-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kdeplasma-addons-5.11.1.tar.xz"; + sha256 = "09dwmd1aiiivkvdbyv97fili067sd8mw9dpknawair4mh7qb0zln"; + name = "kdeplasma-addons-5.11.1.tar.xz"; }; }; kgamma5 = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kgamma5-5.10.5.tar.xz"; - sha256 = "0rci4v5amhfiwawf2sj5f6cmcyq3lrx68mn8id279bpq35mr23v1"; - name = "kgamma5-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kgamma5-5.11.1.tar.xz"; + sha256 = "1m9maxzn5y3zijmj2fkwsfwhinprhz97v9fi312dmwyvfhq3qvyd"; + name = "kgamma5-5.11.1.tar.xz"; }; }; khotkeys = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/khotkeys-5.10.5.tar.xz"; - sha256 = "1ixxb18nz3f4i2qqr1lvss7b662sgj78kzqjs0gd9mf5ylhqj5is"; - name = "khotkeys-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/khotkeys-5.11.1.tar.xz"; + sha256 = "0d1p1sia9qvdls38m29jijsf1ya8zvza557flmhcajb5ldn243l5"; + name = "khotkeys-5.11.1.tar.xz"; }; }; kinfocenter = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kinfocenter-5.10.5.tar.xz"; - sha256 = "0flfjypp6v2k99h11srigyc0ahy23869wz3ljbqbm3b0pgqs69sm"; - name = "kinfocenter-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kinfocenter-5.11.1.tar.xz"; + sha256 = "0ivhf460y83qv4qdphdvskx2nlfqzy453xfnq7ldyzp2yacdmcc8"; + name = "kinfocenter-5.11.1.tar.xz"; }; }; kmenuedit = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kmenuedit-5.10.5.tar.xz"; - sha256 = "0b786l5gm093dq1hvxcn97yg9fr0jmjhfl7sfd0cdn4pkg6almam"; - name = "kmenuedit-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kmenuedit-5.11.1.tar.xz"; + sha256 = "081lqh5ck854pha1f99w6w4j032spl3v28ild61fmhvhzkvx48a6"; + name = "kmenuedit-5.11.1.tar.xz"; }; }; kscreen = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kscreen-5.10.5.tar.xz"; - sha256 = "1a8bqa4wqnjav2w0s39dh7hmb3mqxjnhqwsw6mycgaxicl0h37vf"; - name = "kscreen-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kscreen-5.11.1.tar.xz"; + sha256 = "1skdg59qacxxkiyz3gc1nn4y4lflbynpcb4mpsliqb2n2xdhvg8r"; + name = "kscreen-5.11.1.tar.xz"; }; }; kscreenlocker = { - version = "5.10.5.1"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kscreenlocker-5.10.5.1.tar.xz"; - sha256 = "03ih0dyyjljv40wl7mpbssfirkkljw8mnpjjhzk357lzadkplzvp"; - name = "kscreenlocker-5.10.5.1.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kscreenlocker-5.11.1.tar.xz"; + sha256 = "0jgq2w7zi1i4wdlfmfz1jh1kbkcn2lxkdg9ds5brisc3f6r4n3vg"; + name = "kscreenlocker-5.11.1.tar.xz"; }; }; ksshaskpass = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/ksshaskpass-5.10.5.tar.xz"; - sha256 = "194ca18kclwmg7j9kcl02hm01cidy0hh2r68j6gxkafnlmn1cjjw"; - name = "ksshaskpass-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/ksshaskpass-5.11.1.tar.xz"; + sha256 = "00ghycjmagc8mjwsgny9bkr45ppnad6aay44ha6fn5gyx973xcmx"; + name = "ksshaskpass-5.11.1.tar.xz"; }; }; ksysguard = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/ksysguard-5.10.5.tar.xz"; - sha256 = "0ywz0ax29y0gm7c3lxwdkn5xvzpkd82a313wb3cz4iphqqga3jqn"; - name = "ksysguard-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/ksysguard-5.11.1.tar.xz"; + sha256 = "11z29w95ji815gwaggs0n9bw8f040z4fd87ci2wmqcpyrjs7a6z1"; + name = "ksysguard-5.11.1.tar.xz"; }; }; kwallet-pam = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kwallet-pam-5.10.5.tar.xz"; - sha256 = "0ws0835a0j3wqia85hcdsgfn48d71v96dmmvc2y5pp45ki648bn4"; - name = "kwallet-pam-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kwallet-pam-5.11.1.tar.xz"; + sha256 = "0zipldqjg3mazm2j7vrxkc0pqp7x7mmdq7cg1vlb1xlj8ld2vl7y"; + name = "kwallet-pam-5.11.1.tar.xz"; }; }; kwayland-integration = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kwayland-integration-5.10.5.tar.xz"; - sha256 = "0s1yhrvjgn455ayi368fkmdpmpyxl97c2pxy8rchfnk3g1ffhmdy"; - name = "kwayland-integration-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kwayland-integration-5.11.1.tar.xz"; + sha256 = "1h1lcvzbcf628hs5hj3ykpzy086ylvf5bz63gr0clhyckjxrbbkh"; + name = "kwayland-integration-5.11.1.tar.xz"; }; }; kwin = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kwin-5.10.5.tar.xz"; - sha256 = "1nxyn31a00r9kh0aw5fmvxklw21b2l07y267m0q0n9w6bmn6nzyc"; - name = "kwin-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kwin-5.11.1.tar.xz"; + sha256 = "1anc8pblpsb8g7lvnq43ji6fgpwxsnmypc3gkip26lb4j7gqfhqm"; + name = "kwin-5.11.1.tar.xz"; }; }; kwrited = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/kwrited-5.10.5.tar.xz"; - sha256 = "0wphhb4l6qb7lbklgxh2sc6wgqij4n3iwnhaarv2d17864r7ykc9"; - name = "kwrited-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/kwrited-5.11.1.tar.xz"; + sha256 = "11y2dpjs0g01nah1924dzf39y1smzlswc6nx1cwgfky3raaz3cj0"; + name = "kwrited-5.11.1.tar.xz"; }; }; libkscreen = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/libkscreen-5.10.5.tar.xz"; - sha256 = "0a2lrrp8wp7ndgdvnh48781isin868ndsqw0xr21rn78n90580n6"; - name = "libkscreen-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/libkscreen-5.11.1.tar.xz"; + sha256 = "0drv6f8gzilirwp7p31qrng7cdp7b23ar5v1d5bkdrr1q29z8wdv"; + name = "libkscreen-5.11.1.tar.xz"; }; }; libksysguard = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/libksysguard-5.10.5.tar.xz"; - sha256 = "0ldcpjxy10cnwwc82ihy8xqjkavycrmv6wlbn0rwhnfs04n2rryn"; - name = "libksysguard-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/libksysguard-5.11.1.tar.xz"; + sha256 = "1m8514jv2487fbypxys65qb0a55psqvyzkw5l81ka4ydnrhl2hhm"; + name = "libksysguard-5.11.1.tar.xz"; }; }; milou = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/milou-5.10.5.tar.xz"; - sha256 = "06kq9s9lij66vy5024aps03pzpcz1ixf0b79a7ii1px2h1s7z4gz"; - name = "milou-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/milou-5.11.1.tar.xz"; + sha256 = "1v7rbjw8i1pdvl60xh8s0srrp17jks360zk42rp3hq9srsffd8cp"; + name = "milou-5.11.1.tar.xz"; }; }; oxygen = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/oxygen-5.10.5.tar.xz"; - sha256 = "0p1isrb8v0dkd27jnz6nbq44py7y3zzsjljn9xbv3d02vg802ym9"; - name = "oxygen-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/oxygen-5.11.1.tar.xz"; + sha256 = "0b3yl4q5cbcj6d07xrmifpvwysaa870gf56a7l38zjba6z04819z"; + name = "oxygen-5.11.1.tar.xz"; }; }; plasma-desktop = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-desktop-5.10.5.tar.xz"; - sha256 = "1sxy2k2p15ag5pcy36lpn83nz8d1jb1iyq2nihf4yrc9jlxx9gqm"; - name = "plasma-desktop-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-desktop-5.11.1.tar.xz"; + sha256 = "1r7chviykyq2650k513qcp665pv8vpdczvbrvqfhbpn4yy47crps"; + name = "plasma-desktop-5.11.1.tar.xz"; }; }; plasma-integration = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-integration-5.10.5.tar.xz"; - sha256 = "15cxwsdp78kx55py0wkwqpv4w8cf130hadmdvdw64lwr4gssvhjn"; - name = "plasma-integration-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-integration-5.11.1.tar.xz"; + sha256 = "0jpshilcpklyx7cbpn0cf96md2h6pwd86bk8lphzm64zv3c655ly"; + name = "plasma-integration-5.11.1.tar.xz"; }; }; plasma-nm = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-nm-5.10.5.tar.xz"; - sha256 = "004nmkfy74qaba6hslv2cyb52l7q6ihpavi5j5ax8k66n5zx00bi"; - name = "plasma-nm-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-nm-5.11.1.tar.xz"; + sha256 = "0479cqy7503krish11djg7rc4g7kdlbj3gapsbgvlq9x6j7ixz1p"; + name = "plasma-nm-5.11.1.tar.xz"; }; }; plasma-pa = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-pa-5.10.5.tar.xz"; - sha256 = "0300x3w7mhyb5wpsj47qsfm73fc90iw1vxrgzl9014pxc3h14np1"; - name = "plasma-pa-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-pa-5.11.1.tar.xz"; + sha256 = "0g565v4dwcn6jppn1p2dvljg5r39xmgjzgf8rcipw70kcwc1nx4c"; + name = "plasma-pa-5.11.1.tar.xz"; }; }; plasma-sdk = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-sdk-5.10.5.tar.xz"; - sha256 = "0mjndw132rn46sqjw5jdin8hn6lbrx5955h05jawk95sncr3d0yb"; - name = "plasma-sdk-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-sdk-5.11.1.tar.xz"; + sha256 = "0ss148yig5zzprkk2ydq3np34gr0bnbh1gn18hgb5z33iglbdl3n"; + name = "plasma-sdk-5.11.1.tar.xz"; }; }; plasma-tests = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-tests-5.10.5.tar.xz"; - sha256 = "0mfh35zdc4n52q01jbagxgr51hsvjlyfmnj6x4l2zpif0fpqpxh8"; - name = "plasma-tests-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-tests-5.11.1.tar.xz"; + sha256 = "03r5dczb9iqigg2s7h0k6zgb616358lqvl2h0k0bg2hxggnh8lpk"; + name = "plasma-tests-5.11.1.tar.xz"; + }; + }; + plasma-vault = { + version = "5.11.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.11.1/plasma-vault-5.11.1.tar.xz"; + sha256 = "09wbjk0bsbjyh5n1d5gywdvaimajqr50sd23dbfdbnpi3br0gk10"; + name = "plasma-vault-5.11.1.tar.xz"; }; }; plasma-workspace = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-workspace-5.10.5.tar.xz"; - sha256 = "1n12vzjnrhndkzki7dh9kzrwrvll5xqq0y02srb9bg3gyjbp54jl"; - name = "plasma-workspace-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-workspace-5.11.1.tar.xz"; + sha256 = "1fy4bdxrz8mn29nc2qjxjnpxzjy9mynwwdjxj0jr61w0ljd40wiy"; + name = "plasma-workspace-5.11.1.tar.xz"; }; }; plasma-workspace-wallpapers = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plasma-workspace-wallpapers-5.10.5.tar.xz"; - sha256 = "1z7mqk9nxh232dxl5jg20zbc5nkq5srks4f8b02va6wzfjhwhc88"; - name = "plasma-workspace-wallpapers-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plasma-workspace-wallpapers-5.11.1.tar.xz"; + sha256 = "0dcfrad2543fxapizmlikv52m9nmdg45gddvh9chc83kangsydlc"; + name = "plasma-workspace-wallpapers-5.11.1.tar.xz"; }; }; plymouth-kcm = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/plymouth-kcm-5.10.5.tar.xz"; - sha256 = "11vfaaqd3mxbnq16rv7xsmfcj33i2cmdljdxib1sg5minybd072y"; - name = "plymouth-kcm-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/plymouth-kcm-5.11.1.tar.xz"; + sha256 = "0w3yhazbx79s9k1yc3lj16hanc3wrqphhk9zjl9q1vxsn2rzas8h"; + name = "plymouth-kcm-5.11.1.tar.xz"; }; }; polkit-kde-agent = { - version = "1-5.10.5"; + version = "1-5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/polkit-kde-agent-1-5.10.5.tar.xz"; - sha256 = "158lkf76fz65nr0lx14skkcsk2p3xw98nh43z00wvm2c5qqzmnp2"; - name = "polkit-kde-agent-1-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/polkit-kde-agent-1-5.11.1.tar.xz"; + sha256 = "04ycjqx9hnk3ab8qxk5gqz7b4r7im3bwap613qcgxjqr5cagp66w"; + name = "polkit-kde-agent-1-5.11.1.tar.xz"; }; }; powerdevil = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/powerdevil-5.10.5.tar.xz"; - sha256 = "0dghlgva8fybvhc09y1avzhgak246n4ad2njjvfnxpazpi2laxv7"; - name = "powerdevil-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/powerdevil-5.11.1.tar.xz"; + sha256 = "02rf8iz2spcc78xs88dknl6a7slwgfgh4ra8lhwk69d210cxgahq"; + name = "powerdevil-5.11.1.tar.xz"; }; }; sddm-kcm = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/sddm-kcm-5.10.5.tar.xz"; - sha256 = "13hld5bndxhs6j3lja08zrc6czvpl4k385i8lb3g9zvn9vrk29sw"; - name = "sddm-kcm-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/sddm-kcm-5.11.1.tar.xz"; + sha256 = "0sac2cknq7m26v8a59q1aakn6xjzmspnslfs6k633a8yz8w4lh19"; + name = "sddm-kcm-5.11.1.tar.xz"; }; }; systemsettings = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/systemsettings-5.10.5.tar.xz"; - sha256 = "0b3wpmfjj2zmi7ickppz32i63dpn4jja3nnjrxn912yw47z4bri2"; - name = "systemsettings-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/systemsettings-5.11.1.tar.xz"; + sha256 = "0bnygmb3g573b7a8g0qg3ddj65miw29v3p25sh0ic9ij5bx6f4rw"; + name = "systemsettings-5.11.1.tar.xz"; }; }; user-manager = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/user-manager-5.10.5.tar.xz"; - sha256 = "1fiih72jafshxgwfq4q9csv1i62mgj35qr87lh6lyady6aghajnq"; - name = "user-manager-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/user-manager-5.11.1.tar.xz"; + sha256 = "1iz5wm8d3ljn97msbh1bc7v8zmmgxrfr5mwfzh0ssdldba4wqlpm"; + name = "user-manager-5.11.1.tar.xz"; }; }; xdg-desktop-portal-kde = { - version = "5.10.5"; + version = "5.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.10.5/xdg-desktop-portal-kde-5.10.5.tar.xz"; - sha256 = "0rgv4nqkrwjzvhg8cmkin348n0i6sd4v444bk6j83y4m0lxdi1ba"; - name = "xdg-desktop-portal-kde-5.10.5.tar.xz"; + url = "${mirror}/stable/plasma/5.11.1/xdg-desktop-portal-kde-5.11.1.tar.xz"; + sha256 = "0w822jlg0h7qim70zamm7q5x2b614qmiggz9wr8yxq80lajizxnf"; + name = "xdg-desktop-portal-kde-5.11.1.tar.xz"; }; }; } diff --git a/pkgs/desktops/plasma-5/systemsettings.nix b/pkgs/desktops/plasma-5/systemsettings.nix index a24eabc39f3..954a8f9f45b 100644 --- a/pkgs/desktops/plasma-5/systemsettings.nix +++ b/pkgs/desktops/plasma-5/systemsettings.nix @@ -1,7 +1,8 @@ { mkDerivation, extra-cmake-modules, kdoctools, kcmutils, kconfig, kdbusaddons, khtml, ki18n, kiconthemes, kio, kitemviews, - kservice, kwindowsystem, kxmlgui, qtquickcontrols, qtquickcontrols2 + kservice, kwindowsystem, kxmlgui, qtquickcontrols, qtquickcontrols2, + kactivities, kactivities-stats, kirigami2 }: mkDerivation { @@ -10,6 +11,7 @@ mkDerivation { buildInputs = [ kcmutils kconfig kdbusaddons khtml ki18n kiconthemes kio kitemviews kservice kwindowsystem kxmlgui qtquickcontrols qtquickcontrols2 + kactivities kactivities-stats kirigami2 ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index f6e52a59fe5..62b2e7c1850 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -1,30 +1,44 @@ -{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python27, zlib +{ lib, stdenv, makeWrapper, fetchurl, requireFile, patchelf, perl, ncurses, expat, python27, zlib +, gcc48, gcc49, gcc5, gcc6 , xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc }: let common = - { version, url, sha256 + args@{ gcc, version, sha256 + , url ? "" + , name ? "" + , developerProgram ? false , python ? python27 }: stdenv.mkDerivation rec { name = "cudatoolkit-${version}"; + inherit (args) version; dontPatchELF = true; dontStrip = true; src = - if stdenv.system == "x86_64-linux" then - fetchurl { - inherit url sha256; + if developerProgram then + requireFile { + message = '' + This nix expression requires that ${args.name} is already part of the store. + Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit + at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory: + nix-prefetch-url file://${args.name} + ''; + inherit (args) name sha256; } - else throw "cudatoolkit does not support platform ${stdenv.system}"; + else + fetchurl { + inherit (args) url sha256; + }; outputs = [ "out" "lib" "doc" ]; - buildInputs = [ perl ]; + nativeBuildInputs = [ perl makeWrapper ]; runtimeDependencies = [ ncurses expat python zlib glibc @@ -37,8 +51,8 @@ let unpackPhase = '' sh $src --keep --noexec cd pkg/run_files - sh cuda-linux64-rel-${version}-*.run --keep --noexec - sh cuda-samples-linux-${version}-*.run --keep --noexec + sh cuda-linux*.run --keep --noexec + sh cuda-samples*.run --keep --noexec cd pkg ''; @@ -92,15 +106,25 @@ let # Remove OpenCL libraries as they are provided by ocl-icd and driver. rm -f $out/lib64/libOpenCL* + # Set compiler for NVCC. + wrapProgram $out/bin/nvcc \ + --prefix PATH : ${gcc}/bin '' + lib.optionalString (lib.versionOlder version "8.0") '' # Hack to fix building against recent Glibc/GCC. echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook ''; + passthru = { + cc = gcc; + majorVersion = + let versionParts = lib.splitString "." version; + in "${lib.elemAt versionParts 0}.${lib.elemAt versionParts 1}"; + }; + meta = with stdenv.lib; { description = "A compiler for NVIDIA GPUs, math libraries, and tools"; - homepage = https://developer.nvidia.com/cuda-toolkit; - platforms = platforms.linux; + homepage = "https://developer.nvidia.com/cuda-toolkit"; + platforms = [ "x86_64-linux" ]; license = licenses.unfree; }; }; @@ -109,32 +133,44 @@ in { cudatoolkit6 = common { version = "6.0.37"; - url = http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run; + url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run"; sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40"; + gcc = gcc48; }; cudatoolkit65 = common { version = "6.5.19"; - url = http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run; + url = "http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run"; sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj"; + gcc = gcc48; }; cudatoolkit7 = common { version = "7.0.28"; - url = http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run; + url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run"; sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi"; + gcc = gcc49; }; cudatoolkit75 = common { version = "7.5.18"; - url = http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run; + url = "http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run"; sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88"; + gcc = gcc49; }; cudatoolkit8 = common { version = "8.0.61"; - url = https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run; + url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run"; sha256 = "1i4xrsqbad283qffvysn88w2pmxzxbbby41lw0j1113z771akv4w"; + gcc = gcc5; + }; + + cudatoolkit9 = common { + version = "9.0.176"; + url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run"; + sha256 = "0308rmmychxfa4inb1ird9bpgfppgr9yrfg1qp0val5azqik91ln"; + gcc = gcc6; }; } diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index fef41d33d08..4499a9126a0 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -21,42 +21,42 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "144"; - build = "01"; + update = "152"; + build = "16"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; repover = "jdk8u${update}-b${build}"; paxflags = if stdenv.isi686 then "msp" else "m"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "08b7ia2ifvcl8xnpflf019ak3xcbdjnxcy1mhfp3nbfsbk2sia45"; + sha256 = "12r5v6srwbm5hcfwz5kib7419a72cppls1d1xkrh5pjlina74zpf"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "0g7q6ljvn79psrcak3l4imd27w047ngavn9jcn3xwivg5wppsfks"; + sha256 = "002f0nfw2g3q41iy8cvaqyiglcy1fx9dglgik8gv067c2zslwwqm"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "1hbbzf0m2a78dm8pyvc11jwfpj7q67pvjrp3hf0cnc38k9mzrn8q"; + sha256 = "0mnck2c3ky4hbcjfy6p3z831dxm1y2fkxq5k94zbswm4wcvlkzia"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "1znc0prsb814ggm6qjgbsykm864mwypnxgi9w9f9riq8gs0578gh"; + sha256 = "1xl3mc3hd5lwh1bxzck4hw60d678h3mjh144kq90iz8kfi197hpj"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "0gx5md1v1jmqhdwcc7smpf46sgp4alvb6jz3n6yjlcyfzk92yi78"; + sha256 = "1hsfgjhp5nrsy4v6c282wq6cv37hgpm8l51cls0rnpbfqvd2cw16"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "0ad9w7gnwlpdssw2p3kfny02mmvzc6z8i2n7qq0177ml48c88iji"; + sha256 = "07ispgrzcf39nxs7a9yn6gkbq0ygdzlzyq32sfk57w6vy1mrgwjh"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "14yzbbishsyrzmymws6mnndqj6hvs69ivfdbjhgwi0wl23g9siym"; + sha256 = "1kj5w6gk579wh1iszq2bn6k1ib7kjpjf1lp46p5rqkx0qin79sn9"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "175q29n4bfmm1cyyga7x58zhh6ann9rm3wibw0scrhgy23lx052x"; + sha256 = "1j9r5r8rihp02n0ciwqr01c07d91z1hs0069rd8hk6i03dkkhk84"; }; openjdk8 = stdenv.mkDerivation { name = "openjdk-8u${update}b${build}"; diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix index 0d12b3ac89b..f8f37160a26 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "144"; + patchVersion = "151"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "1i5pginc65xl5vxzwid21ykakmfkqn59v3g01vpr94v28w30jk32"; - sha256_x86_64 = "1r5axvr8dg2qmr4zjanj73sk9x50m7p0w3vddz8c6ckgav7438z8"; + sha256_i686 = "0w1snn9hxwvdnk77frhdzbsm6v30v99dy5zmpy8ij7yxd57z6ql0"; + sha256_x86_64 = "0zq2dxbxmshz080yskhc8y2wbqi0y0kl9girxjbb4rwk837010n7"; sha256_armv7l = "10r3nyssx8piyjaspravwgj2bnq4537041pn0lz4fk5b3473kgfb"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix index 0d12b3ac89b..863621bf6b0 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "144"; + patchVersion = "152"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "1i5pginc65xl5vxzwid21ykakmfkqn59v3g01vpr94v28w30jk32"; - sha256_x86_64 = "1r5axvr8dg2qmr4zjanj73sk9x50m7p0w3vddz8c6ckgav7438z8"; + sha256_i686 = "0gjc7kcfx40f43z1w1qsn1fqxdz8d46wml2g11qgm55ishhv2q7w"; + sha256_x86_64 = "1gv1348hrgna9l3sssv3g9jzs37y1lkx05xq83chav9z1hs3p2r1"; sha256_armv7l = "10r3nyssx8piyjaspravwgj2bnq4537041pn0lz4fk5b3473kgfb"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix index 7f0a5750c0e..fbda96e1425 100644 --- a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix @@ -30,7 +30,7 @@ assert stdenv.system == "x86_64-linux"; assert swingSupport -> xorg != null; let - version = "9"; + version = "9.0.1"; downloadUrlBase = http://www.oracle.com/technetwork/java/javase/downloads; @@ -63,19 +63,19 @@ let result = stdenv.mkDerivation rec { requireFile { name = "jdk-${version}_linux-x64_bin.tar.gz"; url = "${downloadUrlBase}/jdk9-downloads-3848520.html"; - sha256 = "0vbgy7h9h089l3xh6sl57v57g28x1djyiigqs4z6gh7wahx7hv8w"; + sha256 = "0560dc3icrwb0ifykshvzkr04b1jr153m26x1r8rp0nhjbzz1nic"; } else if packageType == "JRE" then requireFile { name = "jre-${version}_linux-x64_bin.tar.gz"; url = "${downloadUrlBase}/jre9-downloads-3848532.html"; - sha256 = "18i4jjb6sby67xg5ql6dkk3ja1nackbb23g1bnp522450nclpxdb"; + sha256 = "11pfcck8am48yv7riaj10g6h79xdiy8lm5a9wjqbm3g9cls9ar1w"; } else if packageType == "ServerJRE" then requireFile { name = "serverjre-${version}_linux-x64_bin.tar.gz"; url = "${downloadUrlBase}/server-jre9-downloads-3848530.html"; - sha256 = "01bxi7lx13lhlpbifw93b6r7a9bayiykw8kzwlyyqi8pz3pw8c5h"; + sha256 = "1biyks6jy0a2kksaj9qbsjifv34ym5mdw8akibmkwr1xh0wavygc"; } else abort "unknown package Type ${packageType}"; diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 4d655521334..e88246ecb93 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -2,9 +2,9 @@ with stdenv.lib; let - date = "20170924"; - rev = "1443039416dd02750765efde1af35e31c8d41be3"; - sha256 = "060l0f77hirq3i5bg294gxcszlvyn89ds2q21jwgy3ryrapfbl8i"; + date = "20171016"; + rev = "da8c62f75d893449e232944fc62566c020b4d010"; + sha256 = "0pdvyhrx7g9imxpc7gr75116imi6ifn0ihsl4fbffsji2dpi61y2"; version = "0.9.27pre-${date}"; in diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix index 30ec69ba653..092337125a4 100644 --- a/pkgs/development/coq-modules/flocq/default.nix +++ b/pkgs/development/coq-modules/flocq/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "coq${coq.coq-version}-flocq-${version}"; - version = "2.5.2"; + version = "2.6.0"; src = fetchurl { - url = https://gforge.inria.fr/frs/download.php/file/36199/flocq-2.5.2.tar.gz; - sha256 = "0h5mlasirfzc0wwn2isg4kahk384n73145akkpinrxq5jsn5d22h"; + url = https://gforge.inria.fr/frs/download.php/file/37054/flocq-2.6.0.tar.gz; + sha256 = "13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3"; }; buildInputs = [ coq.ocaml coq.camlp5 bash which autoconf automake ]; diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix new file mode 100644 index 00000000000..4ab09f5bb1d --- /dev/null +++ b/pkgs/development/libraries/alembic/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, unzip, cmake, openexr, hdf5 }: + +stdenv.mkDerivation rec +{ + name = "alembic-${version}"; + version = "1.7.4"; + + src = fetchFromGitHub { + owner = "alembic"; + repo = "alembic"; + rev = "${version}"; + sha256 = "00r6d8xk2sq5hdl5lp14nhyh1b2d68fxpzbm69fk6iq2f2gv0iqv"; + }; + + outputs = [ "bin" "dev" "out" "lib" ]; + + buildInputs = [ unzip cmake openexr hdf5 ]; + + sourceRoot = "${name}-src"; + + enableParallelBuilding = true; + + buildPhase = '' + cmake -DUSE_HDF5=ON -DCMAKE_INSTALL_PREFIX=$out/ -DUSE_TESTS=OFF . + + mkdir $out + mkdir -p $bin/bin + mkdir -p $dev/include + mkdir -p $lib/lib + ''; + + installPhase = '' + make install + + mv $out/bin $bin/ + mv $out/lib $lib/ + mv $out/include $dev/ + ''; + + meta = with stdenv.lib; { + description = "An open framework for storing and sharing scene data"; + homepage = "http://alembic.io/"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.guibou ]; + }; +} diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix index 6fae90a8d89..3eed4f0c2e2 100644 --- a/pkgs/development/libraries/grantlee/5/default.nix +++ b/pkgs/development/libraries/grantlee/5/default.nix @@ -21,8 +21,12 @@ mkDerivation rec { postFixup = # Disabuse CMake of the notion that libraries are in $dev '' - sed -i $dev/lib/cmake/Grantlee5/GrantleeTargets-release.cmake \ - -e "s|\''${_IMPORT_PREFIX}|$out|" + for way in release debug; do + cmake="$dev/lib/cmake/Grantlee5/GrantleeTargets-$way.cmake" + if [ -f "$cmake" ]; then + sed -i "$cmake" -e "s|\''${_IMPORT_PREFIX}|$out|" + fi + done ''; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index d5995459fd4..de99503131c 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -132,6 +132,7 @@ let sonnet = callPackage ./sonnet.nix {}; syntax-highlighting = callPackage ./syntax-highlighting.nix {}; threadweaver = callPackage ./threadweaver.nix {}; + kirigami2 = callPackage ./kirigami2.nix {}; # TIER 2 kactivities = callPackage ./kactivities.nix {}; diff --git a/pkgs/development/libraries/kde-frameworks/kirigami2.nix b/pkgs/development/libraries/kde-frameworks/kirigami2.nix new file mode 100644 index 00000000000..f4fc40f6d31 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kirigami2.nix @@ -0,0 +1,11 @@ +{ mkDerivation, extra-cmake-modules, qtbase, qtquickcontrols2, qttranslations }: + +mkDerivation { + name = "kirigami2"; + meta = { + broken = builtins.compareVersions qtbase.version "5.7.0" < 0; + }; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtbase qtquickcontrols2 qttranslations ]; + outputs = [ "out" "dev" ]; +} diff --git a/pkgs/development/libraries/libqtav/default.nix b/pkgs/development/libraries/libqtav/default.nix index a79e6d90384..93d8ced49ce 100644 --- a/pkgs/development/libraries/libqtav/default.nix +++ b/pkgs/development/libraries/libqtav/default.nix @@ -9,13 +9,10 @@ with lib; mkDerivation rec { name = "libqtav-${version}"; - - # Awaiting upcoming `v1.12.0` release. `v1.11.0` is not supporting cmake which is the - # the reason behind taking an unstable git rev. - version = "unstable-2017-03-30"; + version = "1.12.0"; nativeBuildInputs = [ extra-cmake-modules qttools ]; - buildInputs = [ + buildInputs = [ qtbase qtmultimedia qtquick1 mesa libX11 libass openal ffmpeg libuchardet @@ -23,18 +20,13 @@ mkDerivation rec { ]; src = fetchFromGitHub { - sha256 = "1xw0ynm9w501651rna3ppf8p336ag1p60i9dxhghzm543l7as93v"; - rev = "4b4ae3b470b2fcbbcf1b541c2537fb270ee0bcfa"; + sha256 = "03ii9l38l3fsr27g42fx4151ipzkip2kr4akdr8x28sx5r9rr5m2"; + rev = "v${version}"; repo = "QtAV"; owner = "wang-bin"; fetchSubmodules = true; }; - patchPhase = '' - sed -i -e 's#CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT#TRUE#g' ./CMakeLists.txt - sed -i -e 's#DESTINATION ''${QT_INSTALL_LIBS}/cmake#DESTINATION ''${QTAV_INSTALL_LIBS}/cmake#g' ./CMakeLists.txt - ''; - # Make sure libqtav finds its libGL dependancy at both link and run time # by adding mesa to rpath. Not sure why it wasn't done automatically like # the other libraries as `mesa` is part of our `buildInputs`. diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index 8596ab6de88..ecb7bf78b20 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -16,7 +16,7 @@ , enableGStreamer ? false, gst_all_1 , enableEigen ? true, eigen , enableOpenblas ? true, openblas -, enableCuda ? false, cudatoolkit, gcc5 +, enableCuda ? false, cudatoolkit , enableTesseract ? false, tesseract, leptonica , AVFoundation, Cocoa, QTKit }: @@ -145,7 +145,7 @@ stdenv.mkDerivation rec { # simply enabled automatically if contrib is built, and it detects # tesseract & leptonica. ++ lib.optionals enableTesseract [ tesseract leptonica ] - ++ lib.optionals enableCuda [ cudatoolkit gcc5 ] + ++ lib.optional enableCuda cudatoolkit ++ lib.optional buildContrib protobuf ++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ]; @@ -165,8 +165,10 @@ stdenv.mkDerivation rec { (opencvFlag "OPENEXR" enableEXR) (opencvFlag "CUDA" enableCuda) (opencvFlag "CUBLAS" enableCuda) - ] ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ] - ++ lib.optional buildContrib "-DBUILD_PROTOBUF=off" + ] ++ lib.optionals enableCuda [ + "-DCUDA_FAST_MATH=ON" + "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc" + ] ++ lib.optional buildContrib "-DBUILD_PROTOBUF=off" ++ lib.optionals stdenv.isDarwin ["-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF"]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/openexrid-unstable/default.nix b/pkgs/development/libraries/openexrid-unstable/default.nix new file mode 100644 index 00000000000..fcf4c2c2468 --- /dev/null +++ b/pkgs/development/libraries/openexrid-unstable/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, mesa, openexr }: + +stdenv.mkDerivation rec +{ + name = "openexrid-unstable-${version}"; + version = "2017-09-17"; + + src = fetchFromGitHub { + owner = "MercenariesEngineering"; + repo = "openexrid"; + rev = "bec0081548a096f9bcdd1504970c96264b0fc050"; + sha256 = "0h4b74lv59p4hhrvrqdmlnchn2i0v5id4kl8xc7j26l9884q0383"; + }; + + outputs = [ "dev" "out" "lib" ]; + + patches = [ ./openexrid.patch ]; + + NIX_CFLAGS_COMPILE=''-I${ilmbase.dev}/include/OpenEXR + -I${openexr.dev}/include/OpenEXR + -I${openfx.dev}/include/OpenFX + ''; + + buildInputs = [ unzip re2 openfx zlib ilmbase mesa openexr ]; + + enableParallelBuilding = true; + + buildPhase = '' + mkdir openexrid/release + + PREFIX=$out make -C openexrid install + + mkdir $dev; + mkdir $lib; + ''; + + installPhase = '' + find $out + mv $out/include $dev/ + mv $out/lib $lib/ + ''; + + meta = with stdenv.lib; { + description = "OpenEXR files able to isolate any object of a CG image with a perfect antialiazing"; + homepage = "https://github.com/MercenariesEngineering/openexrid"; + maintainers = [ maintainers.guibou ]; + platforms = platforms.all; + license = licenses.mit; + }; +} diff --git a/pkgs/development/libraries/openexrid-unstable/openexrid.patch b/pkgs/development/libraries/openexrid-unstable/openexrid.patch new file mode 100644 index 00000000000..bbbf75b575d --- /dev/null +++ b/pkgs/development/libraries/openexrid-unstable/openexrid.patch @@ -0,0 +1,35 @@ +diff --git a/makefile b/makefile +index 7a92771..31ef664 100644 +--- a/makefile ++++ b/makefile +@@ -8,8 +8,8 @@ _openexrid: + _openfx: + make -C openfx + +-_test: _openexrid +- make -C test ++#_test: _openexrid ++# make -C test + + clean: + make -C openfx clean +diff --git a/makefile.config b/makefile.config +index 0c6cdfa..0166c4c 100644 +--- a/makefile.config ++++ b/makefile.config +@@ -4,7 +4,7 @@ + + PREFIX ?= ~/openexrid + +-OFX_INCLUDE ?= /usr/include/openfx ++OFX_INCLUDE ?= /usr/include/OpenFX + EXR_INCLUDE ?= /usr/include/OpenEXR + EXR_LIB ?= /usr/lib + RE2_INCLUDE ?= /usr/include +@@ -13,5 +13,5 @@ RE2_LIB ?= /usr/lib + VERSION ?= release + CPPFLAGS += -O3 -Wall -DNDEBUG -fPIC -I $(EXR_INCLUDE) -I $(OFX_INCLUDE) -I $(RE2_INCLUDE) -Dlinux + LDFLAGS += -L$(EXR_LIB) -L$(RE2_LIB) -L../openexrid/$(VERSION) -lpthread +-LDFLAGS += -Wl,-Bstatic -lopenexrid -lIlmImf -lIlmThread -lIex -lImath -lHalf -lz -lre2 -Wl,-Bdynamic ++LDFLAGS += -lopenexrid -lIlmImf -lIlmThread -lIex -lImath -lHalf -lz -lre2 -Wl,-Bdynamic + diff --git a/pkgs/development/libraries/openfx/default.nix b/pkgs/development/libraries/openfx/default.nix new file mode 100644 index 00000000000..42edb1958ce --- /dev/null +++ b/pkgs/development/libraries/openfx/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, unzip }: + +stdenv.mkDerivation rec +{ + name = "openfx-${version}"; + version = "1.4"; + + src = fetchFromGitHub { + owner = "ofxa"; + repo = "openfx"; + rev = "OFX_Release_1_4_TAG"; + sha256 = "0k9ggzr6bisn77mipjfvawg3mv4bz50b63v8f7w1jhldi1sfy548"; + }; + + buildInputs = [ unzip ]; + + outputs = [ "dev" "out" ]; + + enableParallelBuilding = true; + + buildPhase = '' + mkdir $dev + mkdir $out + ''; + + installPhase = '' + mkdir -p $dev/include/OpenFX/ + cp -r include/* $dev/include/OpenFX/ + ''; + + meta = with stdenv.lib; { + description = "Image processing plug-in standard"; + homepage = "http://openeffects.org/"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.guibou ]; + }; +} diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix index 442a8444942..91899ad8da4 100644 --- a/pkgs/development/libraries/opensubdiv/default.nix +++ b/pkgs/development/libraries/opensubdiv/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, stdenv_gcc5, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu +{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu , mesa_noglu, glew, ocl-icd, python3 , cudaSupport ? false, cudatoolkit }: -(if cudaSupport then stdenv_gcc5 else stdenv).mkDerivation rec { +stdenv.mkDerivation rec { name = "opensubdiv-${version}"; - version = "3.2.0"; + version = "3.3.0"; src = fetchFromGitHub { owner = "PixarAnimationStudios"; repo = "OpenSubdiv"; rev = "v${lib.replaceChars ["."] ["_"] version}"; - sha256 = "0wk12n1s8za3sz8d6bmfm3rfjyx20j48gy1xp57dvbnjvlvzqy3w"; + sha256 = "0wpjwfik4q9s4r30hndhzmfyzv968mmg5lgng0123l07mn47d2yl"; }; outputs = [ "out" "dev" ]; @@ -30,7 +30,7 @@ "-DNO_EXAMPLES=1" "-DGLEW_INCLUDE_DIR=${glew.dev}/include" "-DGLEW_LIBRARY=${glew.dev}/lib" - ]; + ] ++ lib.optional cudaSupport "-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=compute_30"; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix new file mode 100644 index 00000000000..b172b82a295 --- /dev/null +++ b/pkgs/development/libraries/openvdb/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, unzip, openexr, boost, jemalloc, c-blosc, ilmbase, tbb }: + +stdenv.mkDerivation rec +{ + name = "openvdb-${version}"; + version = "4.0.2"; + + src = fetchFromGitHub { + owner = "dreamworksanimation"; + repo = "openvdb"; + rev = "v${version}"; + sha256 = "0kqlsfa9rdpxpw7v61vfknvs11axh196ilqk6bnyyfkslmmcak45"; + }; + + outputs = [ "out" ]; + + buildInputs = [ unzip openexr boost tbb jemalloc c-blosc ilmbase ]; + + sourceRoot = "openvdb-v${version}-src/openvdb"; + + installTargets = "install_lib"; + + enableParallelBuilding = true; + + buildFlags = ''lib + DESTDIR=$(out) + HALF_LIB=-lHalf + TBB_LIB=-ltbb + BLOSC_LIB=-lblosc + LOG4CPLUS_LIB= + BLOSC_INCLUDE_DIR=${c-blosc}/include/ + BLOSC_LIB_DIR=${c-blosc}/lib/ + ''; + + installFlags = ''DESTDIR=$(out)''; + + NIX_CFLAGS_COMPILE="-I${openexr.dev}/include/OpenEXR -I${ilmbase.dev}/include/OpenEXR/"; + NIX_LDFLAGS="-lboost_iostreams"; + + meta = with stdenv.lib; { + description = "An open framework for voxel"; + homepage = "http://www.openvdb.org"; + maintainers = [ maintainers.guibou ]; + platforms = platforms.all; + license = licenses.mpl20; + }; +} diff --git a/pkgs/development/libraries/partio/default.nix b/pkgs/development/libraries/partio/default.nix new file mode 100644 index 00000000000..ed0f38f8538 --- /dev/null +++ b/pkgs/development/libraries/partio/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, mesa, zlib, swig, python, doxygen, xorg }: + +stdenv.mkDerivation rec +{ + name = "partio-${version}"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "wdas"; + repo = "partio"; + rev = "v${version}"; + sha256 = "0z7n5ay21ca7g7xb80v6jmr96x9k7vm7zawawvmx71yj32rg1n34"; + }; + + outputs = [ "dev" "out" "lib" ]; + + buildInputs = [ unzip cmake freeglut mesa zlib swig python doxygen xorg.libXi xorg.libXmu ]; + + sourceRoot = "partio-v${version}-src"; + + enableParallelBuilding = true; + + buildPhase = '' + sed 's/ADD_LIBRARY (partio /ADD_LIBRARY (partio SHARED /' -i ../src/lib/CMakeLists.txt + CXXFLAGS="-std=c++11" cmake . + make partio + + mkdir $dev + mkdir -p $lib/lib + mkdir $out + ''; + + # TODO: + # Sexpr support + + installPhase = '' + mkdir $dev/lib + mkdir -p $dev/include/partio + + mv lib/libpartio.so $lib/lib + + mv ../src/lib/* $dev/include/partio + ''; + + meta = with stdenv.lib; { + description = "C++ (with python bindings) library for easily reading/writing/manipulating common animation particle formats such as PDB, BGEO, PTC"; + homepage = "https://www.disneyanimation.com/technology/partio.html"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.guibou ]; + }; +} diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix new file mode 100644 index 00000000000..7774cdbcb88 --- /dev/null +++ b/pkgs/development/libraries/ptex/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, zlib, python, cmake }: + +stdenv.mkDerivation rec +{ + name = "ptex-${version}"; + version = "2.1.28"; + + src = fetchFromGitHub { + owner = "wdas"; + repo = "ptex"; + rev = "v${version}"; + sha256 = "1h6gb3mpis4m6ph7h9q764w50f9jrar3jz2ja76rn5czy6wn318x"; + }; + + outputs = [ "bin" "dev" "out" "lib" ]; + + buildInputs = [ zlib python cmake ]; + + sourceRoot = "ptex-v${version}-src"; + + enableParallelBuilding = true; + + buildPhase = '' + mkdir -p $out + + make prefix=$out + + mkdir -p $bin/bin + mkdir -p $dev/include + mkdir -p $lib/lib + ''; + + installPhase = '' + make install + mv $out/bin $bin/ + ''; + + meta = with stdenv.lib; { + description = "Per-Face Texture Mapping for Production Rendering"; + homepage = "http://ptex.us/"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.guibou ]; + }; +} diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix index fc5e5d39c63..ce3f6d15713 100644 --- a/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix @@ -252,6 +252,9 @@ stdenv.mkDerivation { "-inotify" "-system-libjpeg" "-system-libpng" + # gold linker of binutils 2.28 generates duplicate symbols + # TODO: remove for newer version of binutils + "-no-use-gold-linker" ] ++ lib.optionals stdenv.isDarwin [ diff --git a/pkgs/development/libraries/science/math/clblas/cuda/default.nix b/pkgs/development/libraries/science/math/clblas/cuda/default.nix deleted file mode 100644 index ae568bc6db1..00000000000 --- a/pkgs/development/libraries/science/math/clblas/cuda/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ stdenv -, fetchFromGitHub -, cmake -, gfortran -, blas -, boost -, python -, ocl-icd -, cudatoolkit -, nvidia_x11 -, gtest -}: - -stdenv.mkDerivation rec { - name = "clblas-cuda-${version}"; - version = "git-20160505"; - - src = fetchFromGitHub { - owner = "clMathLibraries"; - repo = "clBLAS"; - rev = "d20977ec4389c6b3751e318779410007c5e272f8"; - sha256 = "1jna176cxznv7iz43svd6cjrbbf0fc2lrbpfpg4s08vc7xnwp0n4"; - }; - - patches = [ ./platform.patch ]; - - postPatch = '' - sed -i -re 's/(set\(\s*Boost_USE_STATIC_LIBS\s+).*/\1OFF\ \)/g' src/CMakeLists.txt - ''; - - configurePhase = '' - findInputs ${boost.dev} boost_dirs propagated-native-build-inputs - - export BOOST_INCLUDEDIR=$(echo $boost_dirs | sed -e s/\ /\\n/g - | grep '\-dev')/include - export BOOST_LIBRARYDIR=$(echo $boost_dirs | sed -e s/\ /\\n/g - | grep -v '\-dev')/lib - - mkdir -p Build - pushd Build - - export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [ blas nvidia_x11 ]}" - - cmake ../src -DCMAKE_INSTALL_PREFIX=$out \ - -DCMAKE_BUILD_TYPE=Release \ - -DOPENCL_ROOT=${cudatoolkit} \ - -DUSE_SYSTEM_GTEST=ON - ''; - - dontStrip = true; - - buildInputs = [ - cmake - gfortran - blas - python - ocl-icd - cudatoolkit - nvidia_x11 - gtest - ]; - - meta = with stdenv.lib; { - homepage = https://github.com/clMathLibraries/clBLAS; - description = "A software library containing BLAS functions written in OpenCL"; - longDescription = '' - This package contains a library of BLAS functions on top of OpenCL. - The current version is linked to the NVIDIA OpenCL implementation provided by the CUDA toolkit. - ''; - license = licenses.asl20; - maintainers = with maintainers; [ artuuge ]; - platforms = platforms.linux; - }; - -} diff --git a/pkgs/development/libraries/science/math/clblas/default.nix b/pkgs/development/libraries/science/math/clblas/default.nix new file mode 100644 index 00000000000..40b02d30341 --- /dev/null +++ b/pkgs/development/libraries/science/math/clblas/default.nix @@ -0,0 +1,62 @@ +{ stdenv +, fetchFromGitHub +, cmake +, gfortran +, blas +, boost +, python +, ocl-icd +, opencl-headers +, gtest +}: + +stdenv.mkDerivation rec { + name = "clblas-${version}"; + version = "2.12"; + + src = fetchFromGitHub { + owner = "clMathLibraries"; + repo = "clBLAS"; + rev = "v${version}"; + sha256 = "154mz52r5hm0jrp5fqrirzzbki14c1jkacj75flplnykbl36ibjs"; + }; + + patches = [ ./platform.patch ]; + + postPatch = '' + sed -i -re 's/(set\(\s*Boost_USE_STATIC_LIBS\s+).*/\1OFF\ \)/g' src/CMakeLists.txt + ''; + + preConfigure = '' + cd src + ''; + + cmakeFlags = [ + "-DUSE_SYSTEM_GTEST=ON" + ]; + + buildInputs = [ + cmake + gfortran + blas + python + ocl-icd + opencl-headers + boost + gtest + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://github.com/clMathLibraries/clBLAS"; + description = "A software library containing BLAS functions written in OpenCL"; + longDescription = '' + This package contains a library of BLAS functions on top of OpenCL. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ artuuge ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/development/libraries/science/math/clblas/cuda/platform.patch b/pkgs/development/libraries/science/math/clblas/platform.patch similarity index 100% rename from pkgs/development/libraries/science/math/clblas/cuda/platform.patch rename to pkgs/development/libraries/science/math/clblas/platform.patch diff --git a/pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix b/pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix deleted file mode 100644 index 2e0b98496f3..00000000000 --- a/pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv -, requireFile -, cudatoolkit -}: - -stdenv.mkDerivation rec { - version = "5.0"; - cudatoolkit_version = "7.5"; - - name = "cudatoolkit-${cudatoolkit_version}-cudnn-${version}"; - - src = requireFile rec { - name = "cudnn-${cudatoolkit_version}-linux-x64-v${version}-ga.tgz"; - message = '' - This nix expression requires that ${name} is already part of the store. - Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the cuDNN library - at https://developer.nvidia.com/cudnn, and run the following command in the download directory: - nix-prefetch-url file://${name} - ''; - sha256 = "c4739a00608c3b66a004a74fc8e721848f9112c5cb15f730c1be4964b3a23b3a"; - }; - - phases = "unpackPhase installPhase fixupPhase"; - - installPhase = '' - function fixRunPath { - p=$(patchelf --print-rpath $1) - patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" $1 - } - fixRunPath lib64/libcudnn.so - - mkdir -p $out - cp -a include $out/include - cp -a lib64 $out/lib64 - ''; - - propagatedBuildInputs = [ - cudatoolkit - ]; - - meta = { - description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; - homepage = https://developer.nvidia.com/cudnn; - license = stdenv.lib.licenses.unfree; - }; -} diff --git a/pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix b/pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix deleted file mode 100644 index fd98001da82..00000000000 --- a/pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv -, requireFile -, cudatoolkit -, fetchurl -}: - -stdenv.mkDerivation rec { - version = "5.1"; - cudatoolkit_version = "8.0"; - - name = "cudatoolkit-${cudatoolkit_version}-cudnn-${version}"; - - src = fetchurl { - url = "http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz"; - sha256 = "1kj50smlkm347wfbfqvy09ylvad1zapqjc9yqvfykmiddyrij1y1"; - }; - - installPhase = '' - function fixRunPath { - p=$(patchelf --print-rpath $1) - patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" $1 - } - fixRunPath lib64/libcudnn.so - - mkdir -p $out - cp -a include $out/include - cp -a lib64 $out/lib64 - ''; - - propagatedBuildInputs = [ - cudatoolkit - ]; - - meta = with stdenv.lib; { - description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; - homepage = https://developer.nvidia.com/cudnn; - license = stdenv.lib.licenses.unfree; - maintainers = with maintainers; [ mdaiter ]; - }; -} diff --git a/pkgs/development/libraries/science/math/cudnn/8.0-6.0/default.nix b/pkgs/development/libraries/science/math/cudnn/8.0-6.0/default.nix deleted file mode 100644 index f0cfb906b1f..00000000000 --- a/pkgs/development/libraries/science/math/cudnn/8.0-6.0/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv -, requireFile -, cudatoolkit -, fetchurl -}: - -stdenv.mkDerivation rec { - version = "6.0"; - cudatoolkit_version = "8.0"; - - name = "cudatoolkit-${cudatoolkit_version}-cudnn-${version}"; - - src = fetchurl { - url = "http://developer.download.nvidia.com/compute/redist/cudnn/v6.0/cudnn-8.0-linux-x64-v6.0.tgz"; - sha256 = "173zpgrk55ri8if7s5yngsc89ajd6hz4pss4cdxlv6lcyh5122cv"; - }; - - installPhase = '' - function fixRunPath { - p=$(patchelf --print-rpath $1) - patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" $1 - } - fixRunPath lib64/libcudnn.so - - mkdir -p $out - cp -a include $out/include - cp -a lib64 $out/lib64 - ''; - - propagatedBuildInputs = [ - cudatoolkit - ]; - - meta = with stdenv.lib; { - description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; - homepage = https://developer.nvidia.com/cudnn; - license = stdenv.lib.licenses.unfree; - maintainers = with maintainers; [ jyp ]; - }; -} diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index 1e1a37af2f0..db66d854588 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -1,34 +1,45 @@ -{ stdenv, requireFile, cudatoolkit }: - -stdenv.mkDerivation rec { - version = "4.0"; - - name = "cudnn-${version}"; - - src = requireFile rec { - name = "cudnn-7.0-linux-x64-v${version}-prod.tgz"; - message = '' - This nix expression requires that ${name} is - already part of the store. Register yourself to NVIDIA Accelerated Computing Developer Program - and download cuDNN library at https://developer.nvidia.com/cudnn, and store it to the nix store with nix-store --add-fixed sha256 . - ''; - sha256 = "0zgr6qdbc29qw6sikhrh6diwwz7150rqc8a49f2qf37j2rvyyr2f"; +{ callPackage, cudatoolkit7, cudatoolkit75, cudatoolkit8, cudatoolkit9 }: +let + generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) { + inherit (args) cudatoolkit; }; - phases = "unpackPhase installPhase fixupPhase"; +in - propagatedBuildInputs = [ cudatoolkit ]; +{ + cudnn_cudatoolkit7 = generic rec { + version = "4.0"; + cudatoolkit = cudatoolkit7; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}-prod.tgz"; + sha256 = "0zgr6qdbc29qw6sikhrh6diwwz7150rqc8a49f2qf37j2rvyyr2f"; + }; - installPhase = '' - mkdir -p $out - cp -a include $out/include - cp -a lib64 $out/lib64 - ''; + cudnn_cudatoolkit75 = generic rec { + version = "6.0"; + cudatoolkit = cudatoolkit75; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz"; + sha256 = "0b68hv8pqcvh7z8xlgm4cxr9rfbjs0yvg1xj2n5ap4az1h3lp3an"; + }; - meta = { - description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; - homepage = https://developer.nvidia.com/cudnn; - license = stdenv.lib.licenses.unfree; + cudnn6_cudatoolkit8 = generic rec { + version = "6.0"; + cudatoolkit = cudatoolkit8; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz"; + sha256 = "173zpgrk55ri8if7s5yngsc89ajd6hz4pss4cdxlv6lcyh5122cv"; + }; + + cudnn_cudatoolkit8 = generic rec { + version = "7.0"; + cudatoolkit = cudatoolkit8; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz"; + sha256 = "19yjdslrslwv5ic4vgpzb0fa0mqbgi6a66b7gc66vdc9n9589398"; + }; + + cudnn_cudatoolkit9 = generic rec { + version = "7.0"; + cudatoolkit = cudatoolkit9; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz"; + sha256 = "1ld5x819vya6p2ppmr7i3lz9ac2y81kssgbzgd0lsign7r2qjapc"; }; } diff --git a/pkgs/development/libraries/science/math/cudnn/8.0-5.0/default.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix similarity index 64% rename from pkgs/development/libraries/science/math/cudnn/8.0-5.0/default.nix rename to pkgs/development/libraries/science/math/cudnn/generic.nix index a0d8baae78f..663b741e474 100644 --- a/pkgs/development/libraries/science/math/cudnn/8.0-5.0/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -1,29 +1,34 @@ +{ version +, srcName +, sha256 +}: + { stdenv +, lib , requireFile , cudatoolkit }: stdenv.mkDerivation rec { - version = "5.0"; - cudatoolkit_version = "8.0"; + name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}"; - name = "cudatoolkit-${cudatoolkit_version}-cudnn-${version}"; + inherit version; src = requireFile rec { - name = "cudnn-${cudatoolkit_version}-linux-x64-v${version}-ga.tgz"; + name = srcName; + inherit sha256; message = '' This nix expression requires that ${name} is already part of the store. Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the cuDNN library at https://developer.nvidia.com/cudnn, and run the following command in the download directory: nix-prefetch-url file://${name} ''; - sha256 = "af80eb1ce0cb51e6a734b2bdc599e6d50b676eab3921e5bddfe5443485df86b6"; }; installPhase = '' function fixRunPath { p=$(patchelf --print-rpath $1) - patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" $1 + patchelf --set-rpath "$p:${lib.makeLibraryPath [ stdenv.cc.cc ]}" $1 } fixRunPath lib64/libcudnn.so @@ -36,10 +41,16 @@ stdenv.mkDerivation rec { cudatoolkit ]; + passthru = { + inherit cudatoolkit; + majorVersion = lib.head (lib.splitString "." version); + }; + meta = with stdenv.lib; { description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; - homepage = https://developer.nvidia.com/cudnn; - license = stdenv.lib.licenses.unfree; + homepage = "https://developer.nvidia.com/cudnn"; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ mdaiter ]; }; } diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index d6e56126018..9d01b73479a 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk2, libgnomecanvas, libglade, gtksourceview, camlp4}: +{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk2, libgnomecanvas, libglade, gtksourceview }: let pname = "lablgtk"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ocaml findlib gtk2 libgnomecanvas libglade gtksourceview camlp4]; + buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview ]; configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib"; buildFlags = "world"; diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix index f6379c8b5a7..e005024d222 100644 --- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix +++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "ocamlgraph-${version}"; - version = "1.8.7"; + version = "1.8.8"; src = fetchurl { url = "http://ocamlgraph.lri.fr/download/ocamlgraph-${version}.tar.gz"; - sha256 = "1845r537swjil2fcj7lgbibc2zybfwqqasrd2s7bncajs83cl1nz"; + sha256 = "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"; }; buildInputs = [ ocaml findlib lablgtk ]; diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix new file mode 100644 index 00000000000..e0ff839ce1b --- /dev/null +++ b/pkgs/development/python-modules/Theano/default.nix @@ -0,0 +1,75 @@ +{ stdenv +, lib +, fetchPypi +, gcc +, writeScriptBin +, buildPythonPackage +, isPyPy +, pythonOlder +, isPy3k +, nose +, numpy +, pydot_ng +, scipy +, six +, libgpuarray +, cudaSupport ? false, cudatoolkit +, cudnnSupport ? false, cudnn +}: + +assert cudnnSupport -> cudaSupport; + +let + extraFlags = + lib.optionals cudaSupport [ "-I ${cudatoolkit}/include" "-L ${cudatoolkit}/lib" ] + ++ lib.optionals cudnnSupport [ "-I ${cudnn}/include" "-L ${cudnn}/lib" ]; + + gcc_ = writeScriptBin "g++" '' + #!${stdenv.shell} + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${toString extraFlags}" + exec ${gcc}/bin/g++ "$@" + ''; + + libgpuarray_ = libgpuarray.override { inherit cudaSupport; }; + +in buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "Theano"; + version = "0.9.0"; + + disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3"); + + src = fetchPypi { + inherit pname version; + sha256 = "05xwg00da8smkvkh6ywbywqzj8dw7x840jr74wqhdy9icmqncpbl"; + }; + + postPatch = '' + sed -i 's,g++,${gcc_}/bin/g++,g' theano/configdefaults.py + '' + lib.optionalString cudnnSupport '' + sed -i \ + -e "s,ctypes.util.find_library('cudnn'),'${cudnn}/lib/libcudnn.so',g" \ + -e "s/= _dnn_check_compile()/= (True, None)/g" \ + theano/gpuarray/dnn.py + ''; + + preCheck = '' + mkdir -p check-phase + export HOME=$(pwd)/check-phase + ''; + doCheck = false; + # takes far too long, also throws "TypeError: sort() missing 1 required positional argument: 'a'" + # when run from the installer, and testing with Python 3.5 hits github.com/Theano/Theano/issues/4276, + # the fix for which hasn't been merged yet. + + # keep Nose around since running the tests by hand is possible from Python or bash + checkInputs = [ nose ]; + propagatedBuildInputs = [ numpy numpy.blas scipy six libgpuarray_ ]; + + meta = with stdenv.lib; { + homepage = http://deeplearning.net/software/theano/; + description = "A Python library for large-scale array computation"; + license = licenses.bsd3; + maintainers = with maintainers; [ maintainers.bcdarwin ]; + }; +} diff --git a/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix b/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix deleted file mode 100644 index f8b7a713d08..00000000000 --- a/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ buildPythonPackage -, fetchFromGitHub -, pythonOlder -, future -, numpy -, six -, scipy -, nose -, nose-parameterized -, pydot_ng -, sphinx -, pygments -, libgpuarray -, python -, pycuda -, cudatoolkit -, cudnn -, stdenv -}: - -buildPythonPackage rec { - name = "Theano-cuda-${version}"; - version = "0.8.2"; - - src = fetchFromGitHub { - owner = "Theano"; - repo = "Theano"; - rev = "46fbfeb628220b5e42bf8277a5955c52d153e874"; - sha256 = "1sl91gli3jaw5gpjqqab4fiq4x6282spqciaid1s65pjsf3k55sc"; - }; - - doCheck = false; - - patchPhase = '' - pushd theano/sandbox/gpuarray - sed -i -re '2s/^/from builtins import bytes\n/g' subtensor.py - sed -i -re "s/(b'2')/int(bytes(\1))/g" subtensor.py - sed -i -re "s/(ctx.bin_id\[\-2\])/int(\1)/g" subtensor.py - - sed -i -re '2s/^/from builtins import bytes\n/g' dnn.py - sed -i -re "s/(b'30')/int(bytes(\1))/g" dnn.py - sed -i -re "s/(ctx.bin_id\[\-2:\])/int(\1)/g" dnn.py - popd - ''; - - dontStrip = true; - - propagatedBuildInputs = [ - numpy.blas - numpy - six - scipy - nose - nose-parameterized - pydot_ng - sphinx - pygments - pycuda - cudatoolkit - libgpuarray - cudnn - ] ++ (stdenv.lib.optional (pythonOlder "3.0") future); - - passthru.cudaSupport = true; -} diff --git a/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix b/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix deleted file mode 100644 index e93af743619..00000000000 --- a/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv -, fetchurl -, buildPythonPackage -, isPyPy -, pythonOlder -, isPy3k -, nose -, numpy -, pydot_ng -, scipy -, six -}: - -buildPythonPackage rec { - name = "Theano-0.9.0"; - - disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3"); - - src = fetchurl { - url = "mirror://pypi/T/Theano/${name}.tar.gz"; - sha256 = "05xwg00da8smkvkh6ywbywqzj8dw7x840jr74wqhdy9icmqncpbl"; - }; - - #preCheck = '' - # mkdir -p check-phase - # export HOME=$(pwd)/check-phase - #''; - doCheck = false; - # takes far too long, also throws "TypeError: sort() missing 1 required positional argument: 'a'" - # when run from the installer, and testing with Python 3.5 hits github.com/Theano/Theano/issues/4276, - # the fix for which hasn't been merged yet. - - # keep Nose around since running the tests by hand is possible from Python or bash - propagatedBuildInputs = [ nose numpy numpy.blas pydot_ng scipy six ]; - - meta = { - homepage = http://deeplearning.net/software/theano/; - description = "A Python library for large-scale array computation"; - license = stdenv.lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.bcdarwin ]; - }; - - passthru.cudaSupport = false; -} diff --git a/pkgs/development/python-modules/libgpuarray/cuda/default.nix b/pkgs/development/python-modules/libgpuarray/cuda/default.nix deleted file mode 100644 index a9c64cd7d7f..00000000000 --- a/pkgs/development/python-modules/libgpuarray/cuda/default.nix +++ /dev/null @@ -1,129 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchFromGitHub -, cmake -, cython -, numpy -, Mako -, six -, nose -, beaker -, memcached -, pkgconfig -, glibc -, clblas -, Babel -, pygments -, scipy -, python -, cudatoolkit -, nvidia_x11 -}: -buildPythonPackage rec { - name = "libgpuarray-cuda-${version}"; - version = "-9998.0"; - - src = fetchFromGitHub { - owner = "Theano"; - repo = "libgpuarray"; - rev = "fc36a40526c0a8303ace6c574ffdefba7feafe17"; - sha256 = "1kb0k42addqjxiahlcbv6v6271yhsmz71j12186fpy60870i7zm7"; - }; - - doCheck = true; - - configurePhase = '' - mkdir -p Build/Install - pushd Build - - cmake .. -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=./Install \ - -DCLBLAS_ROOT_DIR=${clblas} - - popd - ''; - - preBuild = '' - pushd Build - make - make install - - function fixRunPath { - p=$(patchelf --print-rpath $1) - patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ cudatoolkit clblas nvidia_x11 ]}" $1 - } - - fixRunPath Install/lib/libgpuarray.so - - popd - ''; - - setupPyBuildFlags = [ "-L $(pwd)/Build/Install/lib" "-I $(pwd)/Build/Install/include" ]; - - preInstall = '' - cp -r Build/Install $out - ''; - - postInstall = '' - pushd $out/${python.sitePackages}/pygpu - for f in $(find $out/pygpu -name "*.h"); do - ln -s $f $(basename $f) - done - popd - ''; - checkPhase = '' - mkdir -p my_bin - pushd my_bin - - cat > libgpuarray_run_tests << EOF -#!/bin/sh -if [ \$# -eq 0 ]; then - echo "No argument provided." - echo "Available tests:" - ls $out/${python.sitePackages}/pygpu/tests | grep "test_" - exit 1 -else - nosetests -v "$out/${python.sitePackages}/pygpu/tests/\$@" -fi -EOF - - chmod +x libgpuarray_run_tests - popd - - cp -r my_bin $out/bin - ''; - - dontStrip = true; - - propagatedBuildInputs = [ - numpy - scipy - nose - six - Mako - ]; - - buildInputs = [ - cmake - cython - beaker - memcached - pkgconfig - glibc - Babel - pygments - numpy.blas - cudatoolkit - nvidia_x11 - clblas - ]; - - meta = with stdenv.lib; { - homepage = https://github.com/Theano/libgpuarray; - description = "Library to manipulate tensors on GPU."; - license = licenses.free; - maintainers = with maintainers; [ artuuge ]; - platforms = platforms.linux; - }; - -} diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix new file mode 100644 index 00000000000..3c24c2ed24c --- /dev/null +++ b/pkgs/development/python-modules/libgpuarray/default.nix @@ -0,0 +1,81 @@ +{ stdenv +, lib +, buildPythonPackage +, fetchFromGitHub +, cmake +, cython +, numpy +, six +, nose +, Mako +, python +, cudaSupport ? false, cudatoolkit +, openclSupport ? true, ocl-icd, clblas +}: + +buildPythonPackage rec { + name = "libgpuarray-${version}"; + version = "0.6.9"; + + src = fetchFromGitHub { + owner = "Theano"; + repo = "libgpuarray"; + rev = "v${version}"; + sha256 = "06z47ls42a37gbv0x7f3l1qvils7q0hvy02s95l530klgibp19s0"; + }; + + # requires a GPU + doCheck = false; + + configurePhase = "cmakeConfigurePhase"; + + libraryPath = lib.makeLibraryPath ( + [] + ++ lib.optionals cudaSupport [ cudatoolkit.lib cudatoolkit.out ] + ++ lib.optionals openclSupport [ ocl-icd clblas ] + ); + + preBuild = '' + make -j$NIX_BUILD_CORES + make install + + ls $out/lib + export NIX_CFLAGS_COMPILE="-L $out/lib -I $out/include $NIX_CFLAGS_COMPILE" + + cd .. + ''; + + postFixup = '' + rm $out/lib/libgpuarray-static.a + + function fixRunPath { + p=$(patchelf --print-rpath $1) + patchelf --set-rpath "$p:$libraryPath" $1 + } + + fixRunPath $out/lib/libgpuarray.so + ''; + + propagatedBuildInputs = [ + numpy + six + Mako + ]; + + enableParallelBuilding = true; + + buildInputs = [ + cmake + cython + nose + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/Theano/libgpuarray"; + description = "Library to manipulate tensors on GPU."; + license = licenses.free; + maintainers = with maintainers; [ artuuge ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/development/python-modules/powerline/default.nix b/pkgs/development/python-modules/powerline/default.nix index 86f5adb2824..028d81d2934 100644 --- a/pkgs/development/python-modules/powerline/default.nix +++ b/pkgs/development/python-modules/powerline/default.nix @@ -8,6 +8,9 @@ , pygit2 }: +# The source of this package needs to be patched to include the full path to +# the executables of git, mercurial and bazaar. + buildPythonPackage rec { rev = "2.6"; name = "powerline-${rev}"; @@ -17,7 +20,7 @@ buildPythonPackage rec { sha256 = "c108f11fe10dc910febb94b87d3abded85d4363fb950366a9e30282b9ba7c272"; }; - propagatedBuildInputs = [ git mercurial bazaar psutil pygit2]; + propagatedBuildInputs = [ psutil pygit2]; # error: This is still beta and some tests still fail doCheck = false; diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index 00a5df843c5..a0a2f3a24af 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -1,156 +1,179 @@ -{ stdenv -, symlinkJoin -, lib -, fetchurl -, buildPythonPackage -, isPy3k, isPy35, isPy36, isPy27 -, cudaSupport ? false -, cudatoolkit ? null -, cudnn ? null -, linuxPackages ? null -, numpy -, six -, protobuf -, mock -, backports_weakref -, zlib -, tensorflow-tensorboard +{ stdenv, lib, fetchFromGitHub, fetchpatch, symlinkJoin, buildPythonPackage, isPy3k, pythonOlder +, bazel, which, swig, binutils, glibcLocales +, python, jemalloc, openmpi +, numpy, six, protobuf, tensorflow-tensorboard, backports_weakref +, wheel, mock, scipy +, xlaSupport ? true +, cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null +# Default from ./configure script +, cudaCapabilities ? [ "3.5" "5.2" ] }: assert cudaSupport -> cudatoolkit != null - && cudnn != null - && linuxPackages != null; + && cudnn != null; # unsupported combination assert ! (stdenv.isDarwin && cudaSupport); -# tensorflow is built from a downloaded wheel, because the upstream -# project's build system is an arcane beast based on -# bazel. Untangling it and building the wheel from source is an open -# problem. +let -buildPythonPackage rec { - pname = "tensorflow"; - version = "1.3.0"; - name = "${pname}-${version}"; - format = "wheel"; - disabled = ! (isPy35 || isPy36 || isPy27); + withTensorboard = pythonOlder "3.6"; - # cudatoolkit is split (see https://github.com/NixOS/nixpkgs/commit/bb1c9b027d343f2ce263496582d6b56af8af92e6) - # However this means that libcusolver is not loadable by tensor flow. So we undo the split here. cudatoolkit_joined = symlinkJoin { - name = "unsplit_cudatoolkit"; - paths = [ cudatoolkit.out - cudatoolkit.lib ];}; + name = "${cudatoolkit.name}-unsplit"; + paths = [ cudatoolkit.out cudatoolkit.lib ]; + }; - src = let - tfurl = sys: proc: pykind: - let - tfpref = if proc == "gpu" - then "gpu/tensorflow_gpu" - else "cpu/tensorflow"; - in - "https://storage.googleapis.com/tensorflow/${sys}/${tfpref}-${version}-${pykind}.whl"; - dls = - { - darwin.cpu = { - py2 = { - url = tfurl "mac" "cpu" "py2-none-any" ; - sha256 = "0nkymqbqjx8rsmc8vkc26cfsg4hpr6lj9zrwhjnfizvkzbbsh5z4"; - }; - py3 = { - url = tfurl "mac" "cpu" "py3-none-any" ; - sha256 = "1rj4m817w3lajnb1lgn3bwfwwk3qwvypyx11dim1ybakbmsc1j20"; - }; - }; - linux-x86_64.cpu = { - py2 = { - url = tfurl "linux" "cpu" "cp27-none-linux_x86_64"; - sha256 = "09pcyx0yfil4dm6cij8n3907pfgva07a38avrbai4qk5h6hxm8w9"; - }; - py35 = { - url = tfurl "linux" "cpu" "cp35-cp35m-linux_x86_64"; - sha256 = "0p10zcf41pi33bi025fibqkq9rpd3v0rrbdmc9i9yd7igy076a07"; - }; - py36 = { - url = tfurl "linux" "cpu" "cp36-cp36m-linux_x86_64"; - sha256 = "1qm8lm2f6bf9d462ybgwrz0dn9i6cnisgwdvyq9ssmy2f1gp8hxk"; - }; - }; - linux-x86_64.cuda = { - py2 = { - url = tfurl "linux" "gpu" "cp27-none-linux_x86_64"; - sha256 = "10yyyn4g2fsv1xgmw99bbr0fg7jvykay4gb5pxrrylh7h38h6wah"; - }; - py35 = { - url = tfurl "linux" "gpu" "cp35-cp35m-linux_x86_64"; - sha256 = "0icwnhkcf3fxr6bmbihqzipnn4pxybd06qv7l3k0p4xdgycwzmzk"; - }; - py36 = { - url = tfurl "linux" "gpu" "cp36-cp36m-linux_x86_64"; - sha256 = "12g3akkr083gs3sisjbmm0lpsk8phn3dvy7jjfadfxshqc7za14i"; - }; - }; - }; - in - fetchurl ( - if stdenv.isDarwin then - if isPy3k then - dls.darwin.cpu.py3 - else - dls.darwin.cpu.py2 - else - if isPy35 then - if cudaSupport then - dls.linux-x86_64.cuda.py35 - else - dls.linux-x86_64.cpu.py35 - else if isPy36 then - if cudaSupport then - dls.linux-x86_64.cuda.py36 - else - dls.linux-x86_64.cpu.py36 - else - if cudaSupport then - dls.linux-x86_64.cuda.py2 - else - dls.linux-x86_64.cpu.py2 - ); + cudaLibPath = lib.makeLibraryPath [ cudatoolkit.out cudatoolkit.lib nvidia_x11 cudnn ]; - propagatedBuildInputs = - [ numpy six protobuf mock backports_weakref ] - ++ lib.optional (!isPy36) tensorflow-tensorboard - ++ lib.optionals cudaSupport [ cudatoolkit_joined cudnn stdenv.cc ]; + tfFeature = x: if x then "1" else "0"; - # tensorflow-gpu depends on tensorflow_tensorboard, which cannot be + common = rec { + version = "1.3.1"; + + src = fetchFromGitHub { + owner = "tensorflow"; + repo = "tensorflow"; + rev = "v${version}"; + sha256 = "0gvi32dvv4ynr05p0gg5i0a6c55pig48k5qm7zslcqnp4sifwx0i"; + }; + + nativeBuildInputs = [ swig which wheel scipy ]; + + buildInputs = [ python jemalloc openmpi glibcLocales ] + ++ lib.optionals cudaSupport [ cudatoolkit cudnn ]; + + propagatedBuildInputs = [ numpy six protobuf ] + ++ lib.optional (!isPy3k) mock + ++ lib.optional (pythonOlder "3.4") backports_weakref + ++ lib.optional withTensorboard tensorflow-tensorboard; + + preConfigure = '' + patchShebangs configure + export HOME="$NIX_BUILD_TOP" + + export PYTHON_BIN_PATH="${python.interpreter}" + export TF_NEED_GCP=1 + export TF_NEED_HDFS=1 + export TF_NEED_CUDA=${tfFeature cudaSupport} + export TF_NEED_MPI=1 + export TF_ENABLE_XLA=${tfFeature xlaSupport} + ${lib.optionalString cudaSupport '' + export CUDA_TOOLKIT_PATH=${cudatoolkit_joined} + export TF_CUDA_VERSION=${cudatoolkit.majorVersion} + export CUDNN_INSTALL_PATH=${cudnn} + export TF_CUDNN_VERSION=${cudnn.majorVersion} + export GCC_HOST_COMPILER_PATH=${cudatoolkit.cc}/bin/gcc + export TF_CUDA_COMPUTE_CAPABILITIES=${lib.concatStringsSep "," cudaCapabilities} + ''} + + # There is _no_ non-interactive mode of configure. + sed -i \ + -e 's,read -p,echo,g' \ + -e 's,lib64,lib,g' \ + configure + ''; + + hardeningDisable = [ "all" ]; + + bazelFlags = [ "--config=opt" ] + ++ lib.optional cudaSupport "--config=cuda"; + + bazelTarget = "//tensorflow/tools/pip_package:build_pip_package"; + + meta = with stdenv.lib; { + description = "Computation using data flow graphs for scalable machine learning"; + homepage = "http://tensorflow.org"; + license = licenses.asl20; + maintainers = with maintainers; [ jyp abbradar ]; + platforms = with platforms; if cudaSupport then linux else linux ++ darwin; + }; + }; + +in buildPythonPackage (common // { + name = "tensorflow-${common.version}"; + + deps = stdenv.mkDerivation (common // { + name = "tensorflow-external-${common.version}"; + + nativeBuildInputs = common.nativeBuildInputs ++ [ bazel ]; + + preConfigure = common.preConfigure + '' + export PYTHON_LIB_PATH="$(pwd)/site-packages" + ''; + + buildPhase = '' + mkdir site-packages + bazel --output_base="$(pwd)/output" fetch $bazelFlags $bazelTarget + ''; + + installPhase = '' + rm -rf output/external/{bazel_tools,\@bazel_tools.marker,local_*,\@local_*} + # Patching markers to make them deterministic + for i in output/external/\@*.marker; do + sed -i 's, -\?[0-9][0-9]*$, 1,' "$i" + done + # Patching symlinks to remove build directory reference + find output/external -type l | while read symlink; do + ln -sf $(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,") "$symlink" + done + + cp -r output/external $out + ''; + + dontFixup = true; + + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "0xs2n061gnpizfcnhs5jjpfk2av634j1l2l17zhy10bbmrwn3vrp"; + }); + + nativeBuildInputs = common.nativeBuildInputs ++ [ (bazel.override { enableNixHacks = true; }) ]; + + configurePhase = '' + runHook preConfigure + export PYTHON_LIB_PATH="$out/${python.sitePackages}" + ./configure + runHook postConfigure + ''; + + buildPhase = '' + mkdir -p output/external + cp -r $deps/* output/external + chmod -R +w output + find output -type l | while read symlink; do + ln -sf $(readlink "$symlink" | sed "s,NIX_BUILD_TOP,$NIX_BUILD_TOP,") "$symlink" + done + + patchShebangs . + find -type f -name CROSSTOOL\* -exec sed -i \ + -e 's,/usr/bin/ar,${binutils}/bin/ar,g' \ + {} \; + + mkdir -p $out/${python.sitePackages} + bazel --output_base="$(pwd)/output" build $bazelFlags $bazelTarget + + bazel-bin/tensorflow/tools/pip_package/build_pip_package $PWD/dist + ''; + + # tensorflow depends on tensorflow_tensorboard, which cannot be # built at the moment (some of its dependencies do not build # [htlm5lib9999999 (seven nines) -> tensorboard], and it depends on an old version of # bleach) Hence we disable dependency checking for now. - installFlags = lib.optional isPy36 "--no-dependencies"; - - # Note that we need to run *after* the fixup phase because the - # libraries are loaded at runtime. If we run in preFixup then - # patchelf --shrink-rpath will remove the cuda libraries. - postFixup = let - rpath = stdenv.lib.makeLibraryPath - (if cudaSupport then - [ stdenv.cc.cc.lib zlib cudatoolkit_joined cudnn - linuxPackages.nvidia_x11 ] - else - [ stdenv.cc.cc.lib zlib ] - ); - in - '' - find $out -name '*.so' -exec patchelf --set-rpath "${rpath}" {} \; - ''; + installFlags = lib.optional (!withTensorboard) "--no-dependencies"; + # Tests are slow and impure. doCheck = false; - meta = with stdenv.lib; { - description = "TensorFlow helps the tensors flow"; - homepage = http://tensorflow.org; - license = licenses.asl20; - maintainers = with maintainers; [ jyp ]; - platforms = with platforms; if cudaSupport then linux else linux ++ darwin; - }; -} + # For some reason, CUDA is not retained in RPATH. + postFixup = lib.optionalString cudaSupport '' + libPath="$out/${python.sitePackages}/tensorflow/python/_pywrap_tensorflow_internal.so" + patchelf --set-rpath "$(patchelf --print-rpath "$libPath"):${cudaLibPath}" "$libPath" + ''; + + doInstallCheck = true; + installCheckPhase = '' + cd $NIX_BUILD_TOP + ${python.interpreter} -c "import tensorflow" + ''; +}) diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix new file mode 100644 index 00000000000..faca6edace5 --- /dev/null +++ b/pkgs/development/python-modules/twilio/default.nix @@ -0,0 +1,27 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub +, pyjwt, pysocks, pytz, requests, six, nose, mock }: + +buildPythonPackage rec { + pname = "twilio"; + version = "6.8.0"; + name = "${pname}-${version}"; + + # tests not included in PyPi, so fetch from github instead + src = fetchFromGitHub { + owner = "twilio"; + repo = "twilio-python"; + rev = version; + sha256 = "1vi3m6kvbmv643jbz95q59rcn871y0sss48kw2nqziyr5iswfx8c"; + }; + + buildInputs = [ nose mock ]; + + propagatedBuildInputs = [ pyjwt pysocks pytz six requests ]; + + meta = with stdenv.lib; { + description = "Twilio API client and TwiML generator"; + homepage = https://github.com/twilio/twilio-python/; + license = licenses.mit; + maintainers = with maintainers; [ flokli ]; + }; +} diff --git a/pkgs/development/python-modules/waitress-django/default.nix b/pkgs/development/python-modules/waitress-django/default.nix new file mode 100644 index 00000000000..6efaf800b3c --- /dev/null +++ b/pkgs/development/python-modules/waitress-django/default.nix @@ -0,0 +1,8 @@ +{ buildPythonPackage, django_1_8, waitress }: +buildPythonPackage { + name = "waitress-django"; + src = ./.; + pythonPath = [ django_1_8 waitress ]; + doCheck = false; + meta.description = "A waitress WSGI server serving django"; +} diff --git a/pkgs/development/python-modules/waitress-django/setup.py b/pkgs/development/python-modules/waitress-django/setup.py new file mode 100644 index 00000000000..07f7b326fda --- /dev/null +++ b/pkgs/development/python-modules/waitress-django/setup.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +from distutils.core import setup + +setup( name = "waitress-django" + , version = "0.0.0" + , description = "A waitress WSGI server serving django" + , author = "Bas van Dijk" + , author_email = "v.dijk.bas@gmail.com" + , package_dir = {"" : "src"} + , scripts = ["src/waitress-serve-django"] + ) diff --git a/pkgs/development/python-modules/waitress-django/src/waitress-serve-django b/pkgs/development/python-modules/waitress-django/src/waitress-serve-django new file mode 100755 index 00000000000..b710086c22b --- /dev/null +++ b/pkgs/development/python-modules/waitress-django/src/waitress-serve-django @@ -0,0 +1,14 @@ +#!/usr/bin/env python +import sys +from waitress import serve +from waitress.adjustments import Adjustments +import django +from django.core.handlers.wsgi import WSGIHandler +from django.contrib.staticfiles.handlers import StaticFilesHandler + +if __name__ == "__main__": + kw, args = Adjustments.parse_args(sys.argv[1:]) + django.setup() + # These arguments are specific to the runner, not waitress itself. + del kw['call'], kw['help'] + serve(StaticFilesHandler(WSGIHandler()), **kw) diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix index 2137c5c1497..0b25623511a 100644 --- a/pkgs/development/tools/build-managers/bazel/0.4.nix +++ b/pkgs/development/tools/build-managers/bazel/0.4.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, jdk, zip, unzip, bash, makeWrapper, which }: +{ stdenv, lib, fetchurl, jdk, zip, unzip, bash, makeWrapper, which, coreutils +# Always assume all markers valid (don't redownload dependencies). +# Also, don't clean up environment variables. +, enableNixHacks ? false +}: stdenv.mkDerivation rec { @@ -9,7 +13,7 @@ stdenv.mkDerivation rec { description = "Build tool that builds code quickly and reliably"; license = licenses.asl20; maintainers = with maintainers; [ cstrahan philandstuff ]; - platforms = platforms.linux; + platforms = platforms.unix; }; name = "bazel-${version}"; @@ -19,25 +23,24 @@ stdenv.mkDerivation rec { sha256 = "0asmq3kxnl4326zhgh13mvcrc8jvmiswjj4ymrq0943q4vj7nwrb"; }; + preUnpack = '' + mkdir bazel + cd bazel + ''; sourceRoot = "."; + patches = lib.optional enableNixHacks ./nix-hacks.patch; + postPatch = '' - for f in $(grep -l -r '#!/bin/bash'); do - substituteInPlace "$f" --replace '#!/bin/bash' '#!${bash}/bin/bash' + for f in $(grep -l -r '/bin/bash'); do + substituteInPlace "$f" --replace '/bin/bash' '${bash}/bin/bash' done - for f in \ - src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java \ - src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java \ - src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BazelShRuleClasses.java \ - src/main/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLine.java \ - ; do - substituteInPlace "$f" --replace /bin/bash ${bash}/bin/bash + for f in $(grep -l -r '/usr/bin/env'); do + substituteInPlace "$f" --replace '/usr/bin/env' '${coreutils}/bin/env' done ''; buildInputs = [ - stdenv.cc - stdenv.cc.cc.lib jdk zip unzip @@ -52,12 +55,7 @@ stdenv.mkDerivation rec { bash ]; - # If TMPDIR is in the unpack dir we run afoul of blaze's infinite symlink - # detector (see com.google.devtools.build.lib.skyframe.FileFunction). - # Change this to $(mktemp -d) as soon as we figure out why. - buildPhase = '' - export TMPDIR=/tmp ./compile.sh ./output/bazel --output_user_root=/tmp/.bazel build //scripts:bash_completion \ --spawn_strategy=standalone \ diff --git a/pkgs/development/tools/build-managers/bazel/nix-hacks.patch b/pkgs/development/tools/build-managers/bazel/nix-hacks.patch new file mode 100644 index 00000000000..563fe635e6b --- /dev/null +++ b/pkgs/development/tools/build-managers/bazel/nix-hacks.patch @@ -0,0 +1,51 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +index eafa09fb5..d2d5e40e8 100644 +--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java ++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +@@ -287,21 +287,8 @@ public final class RepositoryDelegatorFunction implements SkyFunction { + markerData.put(key, value); + } + } +- boolean result = false; +- if (markerRuleKey.equals(ruleKey)) { +- result = handler.verifyMarkerData(rule, markerData, env); +- if (env.valuesMissing()) { +- return null; +- } +- } + +- if (result) { +- return new Fingerprint().addString(content).digestAndReset(); +- } else { +- // So that we are in a consistent state if something happens while fetching the repository +- markerPath.delete(); +- return null; +- } ++ return new Fingerprint().addString(content).digestAndReset(); + + } catch (IOException e) { + throw new RepositoryFunctionException(e, Transience.TRANSIENT); +diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +index a7ebc8f7a..40f2049fa 100644 +--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java ++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +@@ -129,7 +129,6 @@ public class JavaSubprocessFactory implements SubprocessFactory { + ProcessBuilder builder = new ProcessBuilder(); + builder.command(params.getArgv()); + if (params.getEnv() != null) { +- builder.environment().clear(); + builder.environment().putAll(params.getEnv()); + } + +diff --git a/src/main/java/com/google/devtools/build/lib/worker/Worker.java b/src/main/java/com/google/devtools/build/lib/worker/Worker.java +index 0268d1b2b..637364657 100644 +--- a/src/main/java/com/google/devtools/build/lib/worker/Worker.java ++++ b/src/main/java/com/google/devtools/build/lib/worker/Worker.java +@@ -77,7 +77,6 @@ class Worker { + new ProcessBuilder(command) + .directory(workDir.getPathFile()) + .redirectError(Redirect.appendTo(logFile.getPathFile())); +- processBuilder.environment().clear(); + processBuilder.environment().putAll(workerKey.getEnv()); + + this.process = processBuilder.start(); diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix new file mode 100644 index 00000000000..a54d3a45ae8 --- /dev/null +++ b/pkgs/games/openrct2/default.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchurl, fetchFromGitHub, + SDL2, cmake, curl, fontconfig, freetype, jansson, libiconv, libpng, + libpthreadstubs, libzip, mesa_glu, openssl, pkgconfig, speexdsp, zlib +}: + +let + name = "openrct2-${version}"; + version = "0.1.1"; + + openrct2-src = fetchFromGitHub { + owner = "OpenRCT2"; + repo = "OpenRCT2"; + rev = "v${version}"; + sha256 = "1xxwqx2gzvsdrsy76rz3sys9m4pyn9q25nbnkba3cw1z4l2b73lg"; + }; + + title-sequences-src = fetchFromGitHub { + owner = "OpenRCT2"; + repo = "title-sequences"; + rev = "v0.1.0"; + sha256 = "17c926lhby90ilvyyl6jsiy0df8dw5jws97xigp3x8hddhvv7c16"; + }; +in +stdenv.mkDerivation rec { + inherit name; + + srcs = [ openrct2-src title-sequences-src ]; + sourceRoot = "."; + + buildInputs = [ + SDL2 + cmake + curl + fontconfig + freetype + jansson + libiconv + libpng + libpthreadstubs + libzip + mesa_glu + openssl + pkgconfig + speexdsp + zlib + ]; + + postUnpack = '' + cp -r ${openrct2-src}/* ${sourceRoot} + cp -r ${title-sequences-src} ${sourceRoot}/title + + # creating temporary files in fixCmakeFiles fails otherwise + chmod -R u+w ${sourceRoot} + ''; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO" "-DDOWNLOAD_TITLE_SEQUENCES=OFF"]; + + makeFlags = ["all" "g2"]; + + preFixup = "ln -s $out/share/openrct2 $out/bin/data"; + + meta = with stdenv.lib; { + description = "An open source re-implementation of RollerCoaster Tycoon 2 (original game required)"; + homepage = https://openrct2.website/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ geistesk ]; + }; +} diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix index d54586c5f4f..ee1aa79f540 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix @@ -1,11 +1,11 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.13.7"; + version = "4.13.8"; extraMeta.branch = "4.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "16vjjl3qw0a8ci6xbnywhb8bpr3ccbs0i6xa54lc094cd5gvx4v3"; + sha256 = "09zl4gpw9j4xn6p78s6ba6qjjxpsy8whhvn19wnjhr9w4al8rrk4"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index b820b6a917b..8a1ad7ca9dd 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9.56"; + version = "4.9.57"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1jnkf0ir42xkandx1lnqrxmskzwl6j46aqmzrxilddx9pkdjplhi"; + sha256 = "19lndirbyryx0qdwqqhn1g4rng7d79rk4sra5lpa2d3axia0a8q9"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix index 35222f20796..0c9c05312ba 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix @@ -3,9 +3,9 @@ with stdenv.lib; let - version = "4.13.7"; + version = "4.13.8"; revision = "a"; - sha256 = "1ddhjj77pslivy6ngkqn020z08n5nvq8p261hz14sgp8h69v30is"; + sha256 = "1yjam6ni32f9p7c1x2q12vi9fc9v10g1w35pr4p7qgs12zx8dy27"; # modVersion needs to be x.y.z, will automatically add .0 if needed modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index b6d294836c2..18ed3287edc 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10"; let name = "wireguard-${version}"; - version = "0.0.20171011"; + version = "0.0.20171017"; src = fetchurl { url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz"; - sha256 = "15hby5fi85r7h7adr8kva26w9b2sz3147d7nl2y0fdblb3v4zr72"; + sha256 = "1k9m980d7zmnhpj9kanyfavqrn7ryva16iblk9jrk6sdhxi9mdsp"; }; meta = with stdenv.lib; { diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix index a4cc5c8780d..8b107e74f3f 100644 --- a/pkgs/servers/atlassian/confluence.nix +++ b/pkgs/servers/atlassian/confluence.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "atlassian-confluence-${version}"; - version = "6.4.0"; + version = "6.4.2"; src = fetchurl { url = "https://www.atlassian.com/software/confluence/downloads/binary/${name}.tar.gz"; - sha256 = "1ba8zpcywnnanzqxjaqiyfc6j5qr6jk6laryz8npiqz4grv3qk61"; + sha256 = "1akwbgbks6k63m22vrcvvz9jz4wqz380j8gb8lzbzm4yk8y7f4p9"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" ]; diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix index f2ccb523e2f..c8b9978a9ed 100644 --- a/pkgs/servers/atlassian/jira.nix +++ b/pkgs/servers/atlassian/jira.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "atlassian-jira-${version}"; - version = "7.5.0"; + version = "7.5.1"; src = fetchurl { url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz"; - sha256 = "12pf0q1ixsf9ld0569mbwvjz5v9bhh7ad3bd8x9qx188vq5cz381"; + sha256 = "0dl9sjp1z7h340phmfhwha2j7hj5zcspk8v7n6vhsrfsjbkm80vy"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index cdbdf04f445..00d1c5c568d 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, pkgconfig, gnutls, jansson, liburcu, lmdb, libcap_ng, libidn , systemd, nettle, libedit, zlib, libiconv, libintlOrEmpty +, fetchpatch }: let inherit (stdenv.lib) optional optionals; in @@ -14,6 +15,12 @@ stdenv.mkDerivation rec { sha256 = "68e04961d0bf6ba193cb7ec658b295c4ff6e60b3754d64bcd77ebdcee0f283fd"; }; + patches = [(fetchpatch { # remove for >= 2.6.1 + name = "kdig-tls.patch"; + url = "https://gitlab.labs.nic.cz/knot/knot-dns/commit/b72d5cd032795.diff"; + sha256 = "0ig31rp82j49jh8n3s0dcf5abhh35mcp2k2wii7bh0c60ngb29k6"; + })]; + outputs = [ "bin" "out" "dev" ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix index 8e11fe877c8..59b27efba56 100644 --- a/pkgs/servers/monitoring/telegraf/default.nix +++ b/pkgs/servers/monitoring/telegraf/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "telegraf-${version}"; - version = "1.4.1"; + version = "1.4.2"; goPackagePath = "github.com/influxdata/telegraf"; @@ -12,7 +12,7 @@ buildGoPackage rec { owner = "influxdata"; repo = "telegraf"; rev = "${version}"; - sha256 = "1q0xl599zyqyralsl6mml1xl0h2206564sa2azivjmg48z7blcll"; + sha256 = "1lmk0czqbr4mn1zf99403r8s6nyyk3bxwgvxfx7w4apvxl433iw4"; }; buildFlagsArray = [ ''-ldflags= diff --git a/pkgs/servers/monitoring/telegraf/deps-1.4.1.nix b/pkgs/servers/monitoring/telegraf/deps-1.4.2.nix similarity index 100% rename from pkgs/servers/monitoring/telegraf/deps-1.4.1.nix rename to pkgs/servers/monitoring/telegraf/deps-1.4.2.nix diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix index 8b81e0696c2..7dcfc6b512f 100644 --- a/pkgs/tools/networking/isync/default.nix +++ b/pkgs/tools/networking/isync/default.nix @@ -1,14 +1,14 @@ -{ fetchurl, stdenv, openssl, pkgconfig, db, cyrus_sasl }: +{ fetchurl, stdenv, openssl, pkgconfig, db, cyrus_sasl, perl }: stdenv.mkDerivation rec { - name = "isync-1.2.1"; + name = "isync-1.3.0"; src = fetchurl { url = "mirror://sourceforge/isync/${name}.tar.gz"; - sha256 = "1bij6nm06ghkg98n2pdyacam2fyg5y8f7ajw0d5653m0r4ldw5p7"; + sha256 = "173wd7x8y5sp94slzwlnb7zhgs32r57zl9xspl2rf4g3fqwmhpwd"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig perl ]; buildInputs = [ openssl db cyrus_sasl ]; meta = with stdenv.lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84c86754d79..677357e4782 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1577,27 +1577,19 @@ with pkgs; cudatoolkit65 cudatoolkit7 cudatoolkit75 - cudatoolkit8; + cudatoolkit8 + cudatoolkit9; - cudatoolkit = cudatoolkit8; + cudatoolkit = cudatoolkit9; - cudnn = callPackage ../development/libraries/science/math/cudnn/default.nix {}; + inherit (callPackages ../development/libraries/science/math/cudnn { }) + cudnn_cudatoolkit7 + cudnn_cudatoolkit75 + cudnn6_cudatoolkit8 + cudnn_cudatoolkit8 + cudnn_cudatoolkit9; - cudnn5_cudatoolkit75 = callPackage ../development/libraries/science/math/cudnn/7.5-5.0 { - cudatoolkit = cudatoolkit75; - }; - - cudnn5_cudatoolkit80 = callPackage ../development/libraries/science/math/cudnn/8.0-5.0 { - cudatoolkit = cudatoolkit8; - }; - - cudnn51_cudatoolkit80 = callPackage ../development/libraries/science/math/cudnn/8.0-5.1 { - cudatoolkit = cudatoolkit8; - }; - - cudnn60_cudatoolkit80 = callPackage ../development/libraries/science/math/cudnn/8.0-6.0 { - cudatoolkit = cudatoolkit8; - }; + cudnn = cudnn_cudatoolkit9; curlFull = curl.override { idnSupport = true; @@ -8029,6 +8021,18 @@ with pkgs; dotconf = callPackage ../development/libraries/dotconf { }; + # Multi-arch "drivers" which we want to build for i686. + driversi686Linux = recurseIntoAttrs { + inherit (pkgsi686Linux) + mesa_noglu + vaapiIntel + libvdpau-va-gl + vaapiVdpau + beignet + glxinfo + vdpauinfo; + }; + dssi = callPackage ../development/libraries/dssi {}; dxflib = callPackage ../development/libraries/dxflib {}; @@ -10021,6 +10025,8 @@ with pkgs; }; opencv3 = callPackage ../development/libraries/opencv/3.x.nix { + enableCuda = config.cudaSupport or false; + cudatoolkit = cudatoolkit8; inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa QTKit; }; @@ -10029,6 +10035,8 @@ with pkgs; openexr = callPackage ../development/libraries/openexr { }; + openexrid-unstable = callPackage ../development/libraries/openexrid-unstable { }; + openldap = callPackage ../development/libraries/openldap { }; opencolorio = callPackage ../development/libraries/opencolorio { }; @@ -10053,6 +10061,8 @@ with pkgs; openslp = callPackage ../development/libraries/openslp {}; + openvdb = callPackage ../development/libraries/openvdb {}; + inherit (callPackages ../development/libraries/libressl { }) libressl_2_5 libressl_2_6; @@ -10083,7 +10093,7 @@ with pkgs; }; opensubdiv = callPackage ../development/libraries/opensubdiv { - stdenv_gcc5 = overrideCC stdenv gcc5; + cudaSupport = config.cudaSupport or false; cmake = cmake_2_8; }; @@ -10093,6 +10103,8 @@ with pkgs; ortp = callPackage ../development/libraries/ortp { }; + openrct2 = callPackage ../games/openrct2/default.nix { }; + osm-gps-map = callPackage ../development/libraries/osm-gps-map { }; p11_kit = callPackage ../development/libraries/p11-kit { }; @@ -10308,7 +10320,7 @@ with pkgs; kservice ktexteditor ktextwidgets kunitconversion kwallet kwayland kwidgetsaddons kwindowsystem kxmlgui kxmlrpcclient modemmanager-qt networkmanager-qt plasma-framework prison solid sonnet syntax-highlighting - threadweaver; + threadweaver kirigami2; ### KDE PLASMA 5 @@ -13617,6 +13629,8 @@ with pkgs; airwave = callPackage ../applications/audio/airwave/default.nix { }; + alembic = callPackage ../development/libraries/alembic {}; + alchemy = callPackage ../applications/graphics/alchemy { }; alock = callPackage ../misc/screensavers/alock { }; @@ -13818,7 +13832,7 @@ with pkgs; bleachbit = callPackage ../applications/misc/bleachbit { }; blender = callPackage ../applications/misc/blender { - stdenv_gcc5 = overrideCC stdenv gcc5; + cudaSupport = config.cudaSupport or false; python = python35; }; @@ -14095,11 +14109,11 @@ with pkgs; }; inherit (callPackage ../applications/virtualization/docker { }) - docker_17_06 - docker_17_09; + docker_17_09 + docker_17_10; docker = docker_17_09; - docker-edge = docker_17_09; + docker-edge = docker_17_10; docker-proxy = callPackage ../applications/virtualization/docker/proxy.nix { }; @@ -15718,6 +15732,8 @@ with pkgs; ruby = ruby_2_1; }; + partio = callPackage ../development/libraries/partio {}; + pcmanfm = callPackage ../applications/misc/pcmanfm { }; pcmanfm-qt = lxqt.pcmanfm-qt; @@ -15736,6 +15752,8 @@ with pkgs; polybar = callPackage ../applications/misc/polybar { }; + ptex = callPackage ../development/libraries/ptex {}; + rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { }; scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { }; @@ -15880,6 +15898,8 @@ with pkgs; opencpn = callPackage ../applications/misc/opencpn { }; + openfx = callPackage ../development/libraries/openfx {}; + openimageio = callPackage ../applications/graphics/openimageio { }; openjump = callPackage ../applications/misc/openjump { }; @@ -17570,6 +17590,7 @@ with pkgs; digikam = libsForQt5.callPackage ../applications/graphics/digikam { inherit (plasma5) oxygen; + inherit (kdeApplications) kcalcore; boost = boost160; }; @@ -18250,7 +18271,7 @@ with pkgs; kactivitymanagerd kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5 kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-desktop - plasma-integration plasma-nm plasma-pa plasma-workspace + plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm startkde systemsettings; @@ -18350,10 +18371,7 @@ with pkgs; blas = callPackage ../development/libraries/science/math/blas { }; - clblas-cuda = callPackage ../development/libraries/science/math/clblas/cuda { - cudatoolkit = pkgs.cudatoolkit75; - inherit (linuxPackages) nvidia_x11; - }; + clblas = callPackage ../development/libraries/science/math/clblas { }; jags = callPackage ../applications/science/math/jags { }; @@ -18735,8 +18753,15 @@ with pkgs; caffe = callPackage ../applications/science/math/caffe rec { cudaSupport = config.caffe.cudaSupport or config.cudaSupport or false; - # CUDA 8 doesn't support GCC 6. - stdenv = if cudaSupport then overrideCC pkgs.stdenv gcc5 else pkgs.stdenv; + cudnnSupport = cudaSupport; + }; + + cntk = callPackage ../applications/science/math/cntk rec { + cudaSupport = pkgs.config.cudaSupport or false; + cudnnSupport = cudaSupport; + inherit (linuxPackages) nvidia_x11; + cudatoolkit = cudatoolkit8; + cudnn = cudnn6_cudatoolkit8; }; ecm = callPackage ../applications/science/math/ecm { }; @@ -18760,7 +18785,9 @@ with pkgs; sbcl = null; }; - mxnet = callPackage ../applications/science/math/mxnet { + mxnet = callPackage ../applications/science/math/mxnet rec { + cudaSupport = config.cudaSupport or false; + cudnnSupport = cudaSupport; inherit (linuxPackages) nvidia_x11; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 69c89c2529d..9f1423c65c1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2917,10 +2917,10 @@ let self = _self // overrides; _self = with self; { }; CryptX = buildPerlPackage rec { - name = "CryptX-0.050"; + name = "CryptX-0.054"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz"; - sha256 = "c1de040779d9f5482d0a2f17a9a5aa6b069c7c58c07fbe26ab62bc689a5c9161"; + sha256 = "f084a706f6ff032ca5c46ec6f90ba5b6a26ae8752584911830f6535bf76d8e57"; }; propagatedBuildInputs = [ JSONMaybeXS ]; meta = { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f7d2ce160ca..4f395232005 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -60,7 +60,7 @@ let buildPythonApplication = args: buildPythonPackage ({namePrefix="";} // args ); - graphiteVersion = "0.9.15"; + graphiteVersion = "1.0.2"; fetchPypi = makeOverridable( {format ? "setuptools", ... } @attrs: let @@ -2578,6 +2578,27 @@ in { }; }; + cntk = buildPythonPackage rec { + inherit (pkgs.cntk) name version src meta; + + buildInputs = [ pkgs.cntk pkgs.swig pkgs.openmpi ]; + propagatedBuildInputs = with self; [ numpy scipy enum34 protobuf pip ]; + + CNTK_LIB_PATH = "${pkgs.cntk}/lib"; + CNTK_COMPONENT_VERSION = pkgs.cntk.version; + + postPatch = '' + cd bindings/python + ''; + + postInstall = '' + rm -rf $out/${python.sitePackages}/cntk/libs + ln -s ${pkgs.cntk}/lib $out/${python.sitePackages}/cntk/libs + # It's not installed for some reason. + cp cntk/cntk_py.py $out/${python.sitePackages}/cntk + ''; + }; + celery = buildPythonPackage rec { name = "celery-${version}"; version = "4.0.2"; @@ -8288,14 +8309,14 @@ in { django_tagging = callPackage ../development/python-modules/django_tagging { }; - django_tagging_0_3 = self.django_tagging.overrideAttrs (attrs: rec { - name = "django-tagging-0.3.6"; + django_tagging_0_4_3 = self.django_tagging.overrideAttrs (attrs: rec { + name = "django-tagging-0.4.3"; src = pkgs.fetchurl { url = "mirror://pypi/d/django-tagging/${name}.tar.gz"; - sha256 = "03zlbq13rydfh28wh0jk3x3cjk9x6jjmqnx1i3ngjmfwbxf8x6j1"; + sha256 = "0617azpmp6jpg3d88v2ir97qrc9aqcs2s9gyvv9bgf2cp55khxhs"; }; - propagatedBuildInputs = with self; [ django ]; + propagatedBuildInputs = with self; [ django_1_8 ]; }); django_classytags = buildPythonPackage rec { @@ -11129,14 +11150,12 @@ in { }; }); - libgpuarray-cuda = callPackage ../development/python-modules/libgpuarray/cuda/default.nix rec { - inherit (self) numpy scipy; - inherit (pkgs.linuxPackages) nvidia_x11; - cudatoolkit = pkgs.cudatoolkit75; - clblas = pkgs.clblas-cuda; + libgpuarray = callPackage ../development/python-modules/libgpuarray { + clblas = pkgs.clblas.override { boost = self.boost; }; + cudaSupport = pkgs.config.cudaSupport or false; }; - libnacl = callPackage ../development/python-modules/libnacl/default.nix { + libnacl = callPackage ../development/python-modules/libnacl { inherit (pkgs) libsodium; }; @@ -19835,24 +19854,20 @@ in { stevedore = callPackage ../development/python-modules/stevedore {}; - Theano = self.TheanoWithoutCuda; + Theano = callPackage ../development/python-modules/Theano rec { + cudaSupport = pkgs.config.cudaSupport or false; + cudnnSupport = cudaSupport; + }; - TheanoWithoutCuda = callPackage ../development/python-modules/Theano/theano-without-cuda { }; + TheanoWithoutCuda = self.Theano.override { + cudaSupport = true; + cudnnSupport = true; + }; - TheanoWithCuda = callPackage ../development/python-modules/Theano/theano-with-cuda ( - let - boost = pkgs.boost159.override { - inherit (self) python numpy scipy; - }; - in rec { - cudatoolkit = pkgs.cudatoolkit75; - cudnn = pkgs.cudnn5_cudatoolkit75; - inherit (self) numpy scipy; - pycuda = self.pycuda.override { inherit boost; }; - libgpuarray = self.libgpuarray-cuda.override { - clblas = pkgs.clblas-cuda.override { inherit boost; }; - }; - }); + TheanoWithCuda = self.Theano.override { + cudaSupport = false; + cudnnSupport = false; + }; tidylib = buildPythonPackage rec { version = "0.2.4"; @@ -22252,11 +22267,11 @@ EOF }; waitress = buildPythonPackage rec { - name = "waitress-0.8.9"; + name = "waitress-1.0.2"; src = pkgs.fetchurl { url = "mirror://pypi/w/waitress/${name}.tar.gz"; - sha256 = "826527dc9d334ed4ed76cdae672fdcbbccf614186657db71679ab58df869458a"; + sha256 = "0pw6yyxi348r2xpq3ykqnf7gwi881azv2422d2ixb0xi5jws2ky7"; }; doCheck = false; @@ -22267,6 +22282,8 @@ EOF }; }; + waitress-django = callPackage ../development/python-modules/waitress-django { }; + webassets = buildPythonPackage rec { name = "webassets-${version}"; version = "0.12.1"; @@ -23459,7 +23476,7 @@ EOF src = pkgs.fetchurl { url = "mirror://pypi/w/whisper/${name}.tar.gz"; - sha256 = "1chkphxwnwvy2cs7jc2h2i0lqqvi9jx6vqj3ly88lwk7m35r4ss2"; + sha256 = "1v1bi3fl1i6p4z4ki692bykrkw6907dn3mfq0151f70lvi3zpns3"; }; # error: invalid command 'test' @@ -23526,7 +23543,7 @@ EOF src = pkgs.fetchurl { url = "mirror://pypi/c/carbon/${name}.tar.gz"; - sha256 = "f01db6d37726c6fc0a8aaa66a7bf14436b0dd0d62ef3c20ecb31605a4d365d2e"; + sha256 = "142smpmgbnjinvfb6s4ijazish4vfgzyd8zcmdkh55y051fkixkn"; }; propagatedBuildInputs = with self; [ whisper txamqp zope_interface twisted ]; @@ -23741,10 +23758,13 @@ EOF src = pkgs.fetchurl rec { url = "mirror://pypi/g/graphite-web/${name}.tar.gz"; - sha256 = "1c0kclbv8shv9nvjx19wqm4asia58s3qmd9fapchc6y9fjpjax6q"; + sha256 = "0q8bwlj75jqyzmazfsi5sa26xl58ssa8wdxm2l4j0jqyn8xpfnmc"; }; - propagatedBuildInputs = with self; [ django django_tagging_0_3 whisper pycairo ldap memcached pytz ]; + propagatedBuildInputs = with self; [ + django_1_8 django_tagging_0_4_3 whisper pycairo cairocffi + ldap memcached pytz urllib3 scandir + ]; postInstall = '' wrapProgram $out/bin/run-graphite-devel-server.py \ @@ -23752,10 +23772,20 @@ EOF ''; preConfigure = '' - substituteInPlace webapp/graphite/thirdparty/pytz/__init__.py --replace '/usr/share/zoneinfo' '/etc/zoneinfo' - substituteInPlace webapp/graphite/settings.py --replace "join(WEBAPP_DIR, 'content')" "join('$out', 'webapp', 'content')" - cp webapp/graphite/manage.py bin/manage-graphite.py - substituteInPlace bin/manage-graphite.py --replace 'settings' 'graphite.settings' + # graphite is configured by storing a local_settings.py file inside the + # graphite python package. Since that package is stored in the immutable + # Nix store we can't modify it. So how do we configure graphite? + # + # First of all we rename "graphite.local_settings" to + # "graphite_local_settings" so that the settings are not looked up in the + # graphite package anymore. Secondly we place a directory containing a + # graphite_local_settings.py on the PYTHONPATH in the graphite module + # . + substituteInPlace webapp/graphite/settings.py \ + --replace "graphite.local_settings" " graphite_local_settings" + + substituteInPlace webapp/graphite/settings.py \ + --replace "join(WEBAPP_DIR, 'content')" "join('$out', 'webapp', 'content')" ''; # error: invalid command 'test' @@ -25965,14 +25995,20 @@ EOF tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { }; - tensorflow = self.tensorflowWithoutCuda; - - tensorflowWithoutCuda = callPackage ../development/python-modules/tensorflow { }; - - tensorflowWithCuda = callPackage ../development/python-modules/tensorflow { - cudaSupport = true; + tensorflow = callPackage ../development/python-modules/tensorflow rec { + bazel = pkgs.bazel_0_4; + cudaSupport = pkgs.config.cudaSupport or false; + inherit (pkgs.linuxPackages) nvidia_x11; cudatoolkit = pkgs.cudatoolkit8; - cudnn = pkgs.cudnn60_cudatoolkit80; + cudnn = pkgs.cudnn6_cudatoolkit8; + }; + + tensorflowWithoutCuda = self.tensorflow.override { + cudaSupport = false; + }; + + tensorflowWithCuda = self.tensorflow.override { + cudaSupport = true; }; tflearn = buildPythonPackage rec { @@ -26488,6 +26524,8 @@ EOF stripe = callPackage ../development/python-modules/stripe { }; + twilio = callPackage ../development/python-modules/twilio { }; + uranium = callPackage ../development/python-modules/uranium { }; vine = callPackage ../development/python-modules/vine { };