diff options
61 files changed, 1226 insertions, 141 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 01a24d64988c..4e508d739e6a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -64,6 +64,9 @@ /pkgs/development/interpreters/ruby @zimbatm /pkgs/development/ruby-modules @zimbatm +# Rust +/pkgs/development/compilers/rust @Mic92 @LnL7 + # Darwin-related /pkgs/stdenv/darwin @NixOS/darwin-maintainers /pkgs/os-specific/darwin @NixOS/darwin-maintainers diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7ea5bb2d1065..b9858de5b702 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2520,6 +2520,11 @@ github = "mt-caret"; name = "Masayuki Takeda"; }; + MtP = { + email = "marko.nixos@poikonen.de"; + github = "MtP76"; + name = "Marko Poikonen"; + }; mtreskin = { email = "zerthurd@gmail.com"; github = "Zert"; @@ -2615,6 +2620,11 @@ github = "ninjatrappeur"; name = "Félix Baylac-Jacqué"; }; + nioncode = { + email = "nioncode+github@gmail.com"; + github = "nioncode"; + name = "Nicolas Schneider"; + }; nipav = { email = "niko.pavlinek@gmail.com"; github = "nipav"; @@ -3069,6 +3079,11 @@ github = "risicle"; name = "Robert Scott"; }; + rittelle = { + email = "rittelle@posteo.de"; + github = "rittelle"; + name = "Lennart Rittel"; + }; rlupton20 = { email = "richard.lupton@gmail.com"; github = "rlupton20"; @@ -3129,6 +3144,11 @@ github = "rongcuid"; name = "Rongcui Dong"; }; + rprospero = { + email = "rprospero+nix@gmail.com"; + github = "rprospero"; + name = "Adam Washington"; + }; rszibele = { email = "richard@szibele.com"; github = "rszibele"; @@ -3491,6 +3511,11 @@ github = "symphorien"; name = "Guillaume Girol"; }; + synthetica = { + email = "nix@hilhorst.be"; + github = "Synthetica9"; + name = "Patrick Hilhorst"; + }; szczyp = { email = "qb@szczyp.com"; github = "szczyp"; diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix index 21c69ed560a3..986d80ff1b99 100644 --- a/nixos/lib/make-ext4-fs.nix +++ b/nixos/lib/make-ext4-fs.nix @@ -7,23 +7,22 @@ , volumeLabel }: +let + sdClosureInfo = pkgs.closureInfo { rootPaths = storePaths; }; +in + pkgs.stdenv.mkDerivation { name = "ext4-fs.img"; nativeBuildInputs = with pkgs; [e2fsprogs libfaketime perl]; - # For obtaining the closure of `storePaths'. - exportReferencesGraph = - map (x: [("closure-" + baseNameOf x) x]) storePaths; - buildCommand = '' # Add the closures of the top-level store objects. - storePaths=$(perl ${pkgs.pathsFromGraph} closure-*) + storePaths=$(cat ${sdClosureInfo}/store-paths) - # Also include a manifest of the closures in a format suitable - # for nix-store --load-db. - printRegistration=1 perl ${pkgs.pathsFromGraph} closure-* > nix-path-registration + # Also include a manifest of the closures in a format suitable for nix-store --load-db. + cp ${sdClosureInfo}/registration nix-path-registration # Make a crude approximation of the size of the target image. # If the script starts failing, increase the fudge factors here. diff --git a/nixos/modules/hardware/onlykey.nix b/nixos/modules/hardware/onlykey.nix new file mode 100644 index 000000000000..b6820fe01911 --- /dev/null +++ b/nixos/modules/hardware/onlykey.nix @@ -0,0 +1,33 @@ +{ config, lib, ... }: + +with lib; + +{ + + ####### interface + + options = { + + hardware.onlykey = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable OnlyKey device (https://crp.to/p/) support. + ''; + }; + }; + + }; + + ## As per OnlyKey's documentation piece (hhttps://docs.google.com/document/d/1Go_Rs218fKUx-j_JKhddbSVTqY6P0vQO831t2MKCJC8), + ## it is important to add udev rule for OnlyKey for it to work on Linux + + ####### implementation + + config = mkIf config.hardware.onlykey.enable { + services.udev.extraRules = builtin.readFile ./onlykey.udev; + }; + + +} diff --git a/nixos/modules/hardware/onlykey.udev b/nixos/modules/hardware/onlykey.udev new file mode 100644 index 000000000000..6583530e5684 --- /dev/null +++ b/nixos/modules/hardware/onlykey.udev @@ -0,0 +1,4 @@ +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev" diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2f9b1083ef1d..63e463370d1f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -41,6 +41,7 @@ ./hardware/pcmcia.nix ./hardware/raid/hpsa.nix ./hardware/usb-wwan.nix + ./hardware/onlykey.nix ./hardware/video/amdgpu.nix ./hardware/video/amdgpu-pro.nix ./hardware/video/ati.nix diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index f963fe378d51..a165fad370ec 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -5,10 +5,13 @@ , fetchurl , findutils , file +, fontsConf , git , glxinfo , gnugrep +, gnused , gnutar +, gtk2, gnome_vfs, glib, GConf , gzip , fontconfig , freetype @@ -29,8 +32,6 @@ , writeTextFile , xkeyboard_config , zlib -, gtk2, gnome_vfs, glib, GConf -, fontsConf }: let @@ -57,6 +58,7 @@ let findutils gnugrep which + gnused # For Android emulator file diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 72794df5fdef..d7baa7f7c71c 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -8,9 +8,9 @@ let inherit (gnome2) GConf gnome_vfs; }; latestVersion = { - version = "3.2.0.8"; # "Android Studio 3.2 Canary 9" - build = "173.4688006"; - sha256Hash = "13kln5s45qzdi54gca0bvdiwl2mi6lg8zgp7f36a24zbmvdmnslv"; + version = "3.2.0.9"; # "Android Studio 3.2 Canary 10" + build = "181.4705630"; + sha256Hash = "07xf00f0wvrk576iaqn7qpcpgar432n6q3jlgpslhm4m1cww3sww"; }; in rec { # Old alias diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix index 491fc0ca2a8d..aeae711c1c0f 100644 --- a/pkgs/applications/editors/ghostwriter/default.nix +++ b/pkgs/applications/editors/ghostwriter/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "ghostwriter"; - version = "1.5.0"; + version = "1.6.1"; name = "${pname}-${version}"; src = fetchFromGitHub { owner = "wereturtle"; repo = pname; rev = "v${version}"; - sha256 = "0ixw2w2526836lwj4pc0vp7prp1gls7iq37v8m9ql1508b33b9pq"; + sha256 = "1ihdr4xk0j83q83xknbikxb7yf9qhlkgvc89w33lhj090cv376gd"; }; nativeBuildInputs = [ qmake pkgconfig ]; diff --git a/pkgs/applications/graphics/photoflow/default.nix b/pkgs/applications/graphics/photoflow/default.nix new file mode 100644 index 000000000000..ffef558e84dd --- /dev/null +++ b/pkgs/applications/graphics/photoflow/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchFromGitHub, gettext, glib, libxml2, pkgconfig, swig, automake, gobjectIntrospection, cmake, ninja, libtiff, libjpeg, fftw, exiv2, lensfun, gtkmm2, libraw, lcms2, libexif, vips, expat, pcre, pugixml }: + +stdenv.mkDerivation { + name = "photoflow-unstable-2018-03-06"; + + src = fetchFromGitHub { + owner = "aferrero2707"; + repo = "PhotoFlow"; + rev = "f9bbea183fa02412d1d17075955d2284eeaf8174"; + sha256 = "1fsk7kdmlkd64wcswbxrl87aqwmzqak6p3s38ggxzx2h51fa7lmf"; + }; + + nativeBuildInputs = [ + gettext + glib + libxml2 + pkgconfig + swig + automake + gobjectIntrospection + cmake + ninja + ]; + + buildInputs = [ + libtiff + libjpeg + fftw + exiv2 + lensfun + gtkmm2 # Could be build with gtk3 but proper UI theme is missing and therefore not very usable with gtk3 + # See: https://discuss.pixls.us/t/help-needed-for-gtk3-theme/5803 + libraw + lcms2 + libexif + vips + expat + pcre + pugixml + ]; + + cmakeFlags = [ + "-DBUNDLED_EXIV2=OFF" + "-DBUNDLED_LENSFUN=OFF" + "-DBUNDLED_GEXIV2=OFF" + ]; + + meta = with stdenv.lib; { + description = "A fully non-destructive photo retouching program providing a complete RAW image editing workflow"; + homepage = https://aferrero2707.github.io/PhotoFlow/; + license = licenses.gpl3Plus; + maintainers = [ maintainers.MtP ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 2555fe409f25..0c080753f053 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -93,6 +93,7 @@ let kcolorchooser = callPackage ./kcolorchooser.nix {}; kcontacts = callPackage ./kcontacts.nix {}; kdav = callPackage ./kdav.nix {}; + kdebugsettings = callPackage ./kdebugsettings.nix {}; kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {}; kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {}; kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {}; diff --git a/pkgs/applications/kde/kdebugsettings.nix b/pkgs/applications/kde/kdebugsettings.nix new file mode 100644 index 000000000000..a58e1b25a2ee --- /dev/null +++ b/pkgs/applications/kde/kdebugsettings.nix @@ -0,0 +1,20 @@ +{ + mkDerivation, lib, + extra-cmake-modules, kdoctools, + gettext, + kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion, + python +}: + +mkDerivation { + name = "kdebugsettings"; + meta = { + license = with lib.licenses; [ gpl2 ]; + maintainers = [ lib.maintainers.rittelle ]; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion python + ]; + propagatedUserEnvPkgs = [ ]; +} diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix index 8bbc0abba221..9efe20b3ee95 100644 --- a/pkgs/applications/networking/firehol/default.nix +++ b/pkgs/applications/networking/firehol/default.nix @@ -2,8 +2,8 @@ , autoconf, automake, curl, iprange, iproute, ipset, iptables, iputils , kmod, nettools, procps, tcpdump, traceroute, utillinux, whois -# Just install FireQOS without FireHOL -, onlyQOS ? true +# If true, just install FireQOS without FireHOL +, onlyQOS ? false }: stdenv.mkDerivation rec { @@ -52,6 +52,35 @@ stdenv.mkDerivation rec { AS_IF([test "x$ac_cv_ping_6_opt" = "xyes"],[ '') + + # put firehol config files in /etc/firehol (not $out/etc/firehol) + # to avoid error on startup, see #35114 + (pkgs.writeText "firehol-sysconfdir.patch" + '' + --- a/sbin/install.config.in.in + +++ b/sbin/install.config.in.in + @@ -4 +4 @@ + -SYSCONFDIR="@sysconfdir_POST@" + +SYSCONFDIR="/etc" + '') + + # we must quote "$UNAME_CMD", or the dash in /nix/store/...-coreutils-.../bin/uname + # will be interpreted as IFS -> error. this might be considered an upstream bug + # but only appears when there are dashes in the command path + (pkgs.writeText "firehol-uname-command.patch" + '' + --- a/sbin/firehol + +++ b/sbin/firehol + @@ -10295,7 +10295,7 @@ + kmaj=$1 + kmin=$2 + + - set -- $($UNAME_CMD -r) + + set -- $("$UNAME_CMD" -r) + eval $kmaj=\$1 $kmin=\$2 + } + kernel_maj_min KERNELMAJ KERNELMIN + '') ]; nativeBuildInputs = [ autoconf automake ]; diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix index 24ffe61b5abf..97c05dfafdbe 100644 --- a/pkgs/applications/networking/testssl/default.nix +++ b/pkgs/applications/networking/testssl/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgs }: let - version = "2.9.5-3"; + version = "2.9.5-4"; pwdBinPath = "${stdenv.lib.makeBinPath (with pkgs; [ coreutils ])}/pwd"; opensslBinPath = "${stdenv.lib.makeBinPath (with pkgs; [ openssl ])}/openssl"; @@ -12,16 +12,16 @@ in stdenv.mkDerivation rec { owner = "drwetter"; repo = "testssl.sh"; rev = "v${version}"; - sha256 = "07vlmf3gn2xa4wam2sql6c1s1hvj5adzd6l1fl12lq066v0k7r7n"; + sha256 = "0pfp7r4jhvkh06vawqlvq7vp4imwp6dpq6jx8m0k3j85ywwp45pd"; }; patches = [ ./testssl.patch ]; postPatch = '' - sed -i -e "s|/bin/pwd|${pwdBinPath}|g" \ - -e "s|TESTSSL_INSTALL_DIR:-\"\"|TESTSSL_INSTALL_DIR:-\"$out\"|g" \ - -e "s|OPENSSL:-\"\"|OPENSSL:-\"${opensslBinPath}\"|g" \ - testssl.sh + substituteInPlace testssl.sh \ + --replace /bin/pwd ${pwdBinPath} \ + --replace TESTSSL_INSTALL_DIR:-\"\" TESTSSL_INSTALL_DIR:-\"$out\" \ + --replace @@openssl-path@@ ${opensslBinPath} ''; installPhase = '' diff --git a/pkgs/applications/networking/testssl/testssl.patch b/pkgs/applications/networking/testssl/testssl.patch index d5269c737084..ffc9e4b1c163 100644 --- a/pkgs/applications/networking/testssl/testssl.patch +++ b/pkgs/applications/networking/testssl/testssl.patch @@ -4,7 +4,7 @@ # following variables make use of $ENV, e.g. OPENSSL=<myprivate_path_to_openssl> ./testssl.sh <host> # 0 means (normally) true here. Some of the variables are also accessible with a command line switch, see --help declare -x OPENSSL OPENSSL_TIMEOUT -+OPENSSL=${OPENSSL:-""} ++OPENSSL=${OPENSSL:-"@@openssl-path@@"} FAST_SOCKET=${FAST_SOCKET:-false} # EXPERIMENTAL feature to accelerate sockets -- DO NOT USE it for production COLOR=${COLOR:-2} # 2: Full color, 1: b/w+positioning, 0: no ESC at all COLORBLIND=${COLORBLIND:-false} # if true, swap blue and green in the output diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix new file mode 100644 index 000000000000..d0a4f74924c5 --- /dev/null +++ b/pkgs/applications/science/misc/sasview/default.nix @@ -0,0 +1,60 @@ +{lib, fetchgit, gcc, python}: + +let + xhtml2pdf = import ./xhtml2pdf.nix { inherit lib; + fetchPypi = python.pkgs.fetchPypi; + buildPythonPackage = python.pkgs.buildPythonPackage; + html5lib = python.pkgs.html5lib; + httplib2 = python.pkgs.httplib2; + nose = python.pkgs.nose; + pillow = python.pkgs.pillow; + pypdf2 = python.pkgs.pypdf2; + reportlab = python.pkgs.reportlab; +}; + +in + +python.pkgs.buildPythonApplication rec { + pname = "sasview"; + version = "4.1.2"; + + buildInputs = with python.pkgs; [ + pytest + unittest-xml-reporting]; + + propagatedBuildInputs = with python.pkgs; [ + bumps + gcc + h5py + libxslt + lxml + matplotlib + numpy + pyparsing + periodictable + pillow + pylint + pyopencl + reportlab + sasmodels + scipy + six + sphinx + wxPython + xhtml2pdf]; + + src = fetchgit { + url = "https://github.com/SasView/sasview.git"; + rev = "v${version}"; + sha256 ="05la54wwzzlkhmj8vkr0bvzagyib6z6mgwqbddzjs5y1wd48vpcx"; + }; + + patches = [./pyparsing-fix.patch ./local_config.patch]; + + meta = { + homepage = https://www.sasview.org; + description = "Fitting and data analysis for small angle scattering data"; + maintainers = with lib.maintainers; [ rprospero ]; + license = lib.licenses.bsd3; + }; +} diff --git a/pkgs/applications/science/misc/sasview/local_config.patch b/pkgs/applications/science/misc/sasview/local_config.patch new file mode 100644 index 000000000000..91972a913bc4 --- /dev/null +++ b/pkgs/applications/science/misc/sasview/local_config.patch @@ -0,0 +1,10 @@ +--- a/src/sas/_config.py ++++ b/src/sas/_config.py +@@ -70,2 +70,2 @@ +- logger.critical("Error loading %s: %s", path, exc) +- sys.exit() ++ import sas.sasview.local_config ++ return sas.sasview.local_config +-- +2.15.0 + diff --git a/pkgs/applications/science/misc/sasview/pyparsing-fix.patch b/pkgs/applications/science/misc/sasview/pyparsing-fix.patch new file mode 100644 index 000000000000..7729292cb344 --- /dev/null +++ b/pkgs/applications/science/misc/sasview/pyparsing-fix.patch @@ -0,0 +1,8 @@ +--- a/setup.py ++++ b/setup.py +@@ -5,1 +5,1 @@ +- 'bumps>=0.7.5.9', 'periodictable>=1.5.0', 'pyparsing<2.0.0', ++ 'bumps>=0.7.5.9', 'periodictable>=1.5.0', +-- +2.15.0 |