diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 57ce13aa230..a5b7ce5eaa4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3249,6 +3249,12 @@ githubId = 1047859; name = "Kaz Wesley"; }; + kcalvinalvin = { + email = "calvin@kcalvinalvin.info"; + github = "kcalvinalvin"; + githubId = 37185887; + name = "Calvin Kim"; + }; kentjames = { email = "jameschristopherkent@gmail.com"; github = "kentjames"; diff --git a/maintainers/scripts/luarocks-config.lua b/maintainers/scripts/luarocks-config.lua new file mode 100644 index 00000000000..89e74c00ea8 --- /dev/null +++ b/maintainers/scripts/luarocks-config.lua @@ -0,0 +1,4 @@ +rocks_servers = { + "https://luarocks.org" +} +version_check_on_fail = false diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages index a8d67d208e3..1a31d71086f 100755 --- a/maintainers/scripts/update-luarocks-packages +++ b/maintainers/scripts/update-luarocks-packages @@ -15,6 +15,7 @@ CSV_FILE="maintainers/scripts/luarocks-packages.csv" TMP_FILE="$(mktemp)" # Set in the update-luarocks-shell.nix NIXPKGS_PATH="$LUAROCKS_NIXPKGS_PATH" +export LUAROCKS_CONFIG="$NIXPKGS_PATH/maintainers/scripts/luarocks-config.lua" # 10 is a pretty arbitrary number of simultaneous jobs, but it is generally # impolite to hit a webserver with *too* many simultaneous connections :) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index c21973faa89..5b7f391ed5a 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -853,6 +853,7 @@ ./services/x11/hardware/multitouch.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix + ./services/x11/hardware/cmt.nix ./services/x11/gdk-pixbuf.nix ./services/x11/redshift.nix ./services/x11/urxvtd.nix diff --git a/nixos/modules/services/x11/hardware/cmt.nix b/nixos/modules/services/x11/hardware/cmt.nix new file mode 100644 index 00000000000..95353e92098 --- /dev/null +++ b/nixos/modules/services/x11/hardware/cmt.nix @@ -0,0 +1,54 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + +cfg = config.services.xserver.cmt; +etcPath = "X11/xorg.conf.d"; + +in { + + options = { + + services.xserver.cmt = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable chrome multitouch input (cmt). Touchpad drivers that are configured for chromebooks."; + }; + models = mkOption { + type = types.enum [ "atlas" "banjo" "candy" "caroline" "cave" "celes" "clapper" "cyan" "daisy" "elan" "elm" "enguarde" "eve" "expresso" "falco" "gandof" "glimmer" "gnawty" "heli" "kevin" "kip" "leon" "lulu" "orco" "pbody" "peppy" "pi" "pit" "puppy" "quawks" "rambi" "samus" "snappy" "spring" "squawks" "swanky" "winky" "wolf" "auron_paine" "auron_yuna" "daisy_skate" "nyan_big" "nyan_blaze" "veyron_jaq" "veyron_jerry" "veyron_mighty" "veyron_minnie" "veyron_speedy" ]; + example = "banjo"; + description = '' + Which models to enable cmt for. Enter the Code Name for your Chromebook. + Code Name can be found at . + ''; + }; + }; #closes services + }; #closes options + + config = mkIf cfg.enable { + + services.xserver.modules = [ pkgs.xf86_input_cmt ]; + + environment.etc = { + "${etcPath}/40-touchpad-cmt.conf" = { + source = "${pkgs.chromium-xorg-conf}/40-touchpad-cmt.conf"; + }; + "${etcPath}/50-touchpad-cmt-${cfg.models}.conf" = { + source = "${pkgs.chromium-xorg-conf}/50-touchpad-cmt-${cfg.models}.conf"; + }; + "${etcPath}/60-touchpad-cmt-${cfg.models}.conf" = { + source = "${pkgs.chromium-xorg-conf}/60-touchpad-cmt-${cfg.models}.conf"; + }; + }; + + assertions = [ + { + assertion = !config.services.xserver.libinput.enable; + message = "cmt and libinput are incompatible, you cannot enable both (in services.xserver)."; + } + ]; + }; +} diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix index a8d29ae149d..5b8b17232b9 100644 --- a/pkgs/applications/blockchains/nano-wallet/default.nix +++ b/pkgs/applications/blockchains/nano-wallet/default.nix @@ -1,15 +1,16 @@ -{lib, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}: +{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook, boost, libGL +, qtbase}: stdenv.mkDerivation rec { pname = "nano-wallet"; - version = "18.0"; + version = "19.0"; src = fetchFromGitHub { owner = "nanocurrency"; repo = "raiblocks"; rev = "V${version}"; - sha256 = "03f9g1x7rs7vic9yzsjxsh5ddx9ys78rssbfghbccfw9qrwylh3y"; + sha256 = "1y5fc4cvfqh33imjkh91sqhy5bb9kh0icwyvdgm1cl564vnjax80"; fetchSubmodules = true; }; @@ -32,13 +33,19 @@ stdenv.mkDerivation rec { optionToFlag = name: value: "-D${name}=${value}"; in lib.mapAttrsToList optionToFlag options; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; buildInputs = [ boost libGL qtbase ]; buildPhase = '' make nano_wallet ''; + # Move executables under bin directory + postInstall = '' + mkdir -p $out/bin + mv $out/nano* $out/bin/ + ''; + checkPhase = '' ./core_test ''; diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 1729f3c5cda..547e2914399 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -3,6 +3,7 @@ , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper , gsl, python2, poppler, imagemagick, libwpg, librevenge , libvisio, libcdr, libexif, potrace, cmake, hicolor-icon-theme +, librsvg, wrapGAppsHook }: let @@ -40,7 +41,7 @@ stdenv.mkDerivation rec { --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"' ''; - nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env ] + nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env wrapGAppsHook ] ++ (with perlPackages; [ perl XMLParser ]); buildInputs = [ libXft libpng zlib popt boehmgc @@ -48,6 +49,8 @@ stdenv.mkDerivation rec { gsl poppler imagemagick libwpg librevenge libvisio libcdr libexif potrace hicolor-icon-theme + librsvg # for loading icons + python2Env perlPackages.perl ]; diff --git a/pkgs/applications/misc/urlview/default.nix b/pkgs/applications/misc/urlview/default.nix index 8764c41c8a4..ad29c8f94d8 100644 --- a/pkgs/applications/misc/urlview/default.nix +++ b/pkgs/applications/misc/urlview/default.nix @@ -31,10 +31,21 @@ stdenv.mkDerivation rec { patches = debianPatches; - meta = { + postPatch = '' + substituteInPlace urlview.c \ + --replace '/etc/urlview/url_handler.sh' "$out/etc/urlview/url_handler.sh" + ''; + + postInstall = '' + install -Dm755 url_handler.sh $out/etc/urlview/url_handler.sh + patchShebangs $out/etc/urlview + ''; + + meta = with stdenv.lib; { description = "Extract URLs from text"; homepage = https://packages.qa.debian.org/u/urlview.html; - license = stdenv.lib.licenses.gpl2; - platforms = with stdenv.lib.platforms; linux ++ darwin; + license = licenses.gpl2; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ ma27 ]; }; } diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index 8b2b15a0078..b0a7108ac07 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -1,8 +1,8 @@ -{lib, python2Packages, fetchFromGitHub, fetchurl, git, mercurial, coreutils}: +{lib, python2Packages, git, mercurial, coreutils}: with python2Packages; buildPythonApplication rec { - version = "0.3.1"; + version = "0.3.6"; pname = "nbstripout"; # Mercurial should be added as a build input but because it's a Python @@ -12,30 +12,11 @@ buildPythonApplication rec { nativeBuildInputs = [ pytestrunner ]; propagatedBuildInputs = [ ipython nbformat ]; - # PyPI source is currently missing tests. Thus, use GitHub instead. - # See: https://github.com/kynan/nbstripout/issues/73 - # Use PyPI again after it has been fixed in a release. - src = fetchFromGitHub { - owner = "kynan"; - repo = pname; - rev = version; - sha256 = "1jifqmszjzyaqzaw2ir83k5fdb04iyxdad4lclawpb42hbink9ws"; + src = fetchPypi { + inherit pname version; + sha256 = "1x6010akw7iqxn7ba5m6malfr2fvaf0bjp3cdh983qn1s7vwlq0r"; }; - patches = [ - ( - # Fix git diff tests by using --no-index. - # See: https://github.com/kynan/nbstripout/issues/74 - # - # Remove this patch once the pull request has been merged and a new - # release made. - fetchurl { - url = "https://github.com/jluttine/nbstripout/commit/03e28424fb788dd09a95e99814977b0d0846c0b4.patch"; - sha256 = "09myfb77a2wh8lqqs9fcpam97vmaw8b7zbq8n5gwn6d80zbl7dn0"; - } - ) - ]; - # for some reason, darwin uses /bin/sh echo native instead of echo binary, so # force using the echo binary postPatch = '' diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index ec7d289996b..c0e115bca28 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -8,6 +8,13 @@ # Mirrors for mirror://site/filename URIs, where "site" is # "sourceforge", "gnu", etc. + luarocks = [ + https://luarocks.org + https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/ + http://luafr.org/moonrocks + http://luarocks.logiceditor.com/rocks + ]; + # SourceForge. sourceforge = [ https://downloads.sourceforge.net/ diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 21ecc7e64ee..370733798af 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -231,8 +231,6 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-devel-docs = callPackage ./devtools/gnome-devel-docs { }; - nemiver = callPackage ./devtools/nemiver { }; - #### Games aisleriot = callPackage ./games/aisleriot { }; @@ -345,6 +343,7 @@ lib.makeScope pkgs.newScope (self: with self; { inherit (pkgs) gnome-video-effects; # added 2019-08-19 inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23 inherit (pkgs) glib-networking; # added 2019-09-02 + inherit (pkgs) nemiver; # added 2019-09-09 defaultIconTheme = adwaita-icon-theme; gtk = gtk3; diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch b/pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch deleted file mode 100644 index 83423122110..00000000000 --- a/pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/dbgengine/nmv-dbg-common.h 2014-07-09 10:36:05.000000000 +0200 -+++ b/src/dbgengine/nmv-dbg-common.h 2016-08-04 22:40:28.447842746 +0200 -@@ -171,7 +171,9 @@ - - bool has_slot () const - { -- return m_slot; -+ //return m_slot; -+ // https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822502 -+ return static_cast (m_slot); - } - - template diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch b/pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch deleted file mode 100644 index e3413b22497..00000000000 --- a/pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/confmgr/nmv-gconf-mgr.cc 2014-07-08 10:24:06.000000000 +0200 -+++ b/src/confmgr/nmv-gconf-mgr.cc 2016-08-04 23:50:08.143060464 +0200 -@@ -32,6 +32,7 @@ - NEMIVER_BEGIN_NAMESPACE (nemiver) - - using nemiver::common::GCharSafePtr; -+using nemiver::common::GErrorSafePtr; - - class GConfMgr : public IConfMgr { - GConfMgr (const GConfMgr &); diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix index 675648363f5..0278fd7fec8 100644 --- a/pkgs/desktops/mate/engrampa/default.nix +++ b/pkgs/desktops/mate/engrampa/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "engrampa"; - version = "1.22.1"; + version = "1.22.2"; src = fetchurl { url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "06z38vfs15f5crrrgvcsqfb557fhpq1mqkj5fd9wb0hvi77hasrk"; + sha256 = "0ph7ngk32nnzc3psqjs5zy52zbjilk30spr2r4sixqxvmz7d28gd"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/jemalloc/common.nix b/pkgs/development/libraries/jemalloc/common.nix index c41455a6544..128910e00f2 100644 --- a/pkgs/development/libraries/jemalloc/common.nix +++ b/pkgs/development/libraries/jemalloc/common.nix @@ -24,6 +24,13 @@ stdenv.mkDerivation rec { configureFlags = [] ++ optional stripPrefix "--with-jemalloc-prefix=" ++ optional disableInitExecTls "--disable-initial-exec-tls" + # jemalloc is unable to correctly detect transparent hugepage support on + # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default + # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support + ++ optionals (stdenv.isAarch32 && versionOlder version "5") [ + "--disable-thp" + "je_cv_thp=no" + ] ; doCheck = true; diff --git a/pkgs/development/libraries/sundials/3.x.nix b/pkgs/development/libraries/sundials/3.x.nix new file mode 100644 index 00000000000..879f13e8bf5 --- /dev/null +++ b/pkgs/development/libraries/sundials/3.x.nix @@ -0,0 +1,52 @@ +{ stdenv +, cmake +, fetchurl +, python +, liblapack +, gfortran +, lapackSupport ? true }: + +let liblapackShared = liblapack.override { + shared = true; +}; + +in stdenv.mkDerivation rec { + pname = "sundials"; + version = "3.2.1"; + + buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ]; + nativeBuildInputs = [ cmake ]; + + src = fetchurl { + url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; + sha256 = "0238r1qnwqz13wcjzfsbcfi8rfnlxcjjmxq2vpf2qf5jgablvna7"; + }; + + patches = [ + (fetchurl { + # https://github.com/LLNL/sundials/pull/19 + url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch"; + sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l"; + }) + ]; + + cmakeFlags = [ + "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples" + ] ++ stdenv.lib.optionals (lapackSupport) [ + "-DSUNDIALS_INDEX_TYPE=int32_t" + "-DLAPACK_ENABLE=ON" + "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + ]; + + # flaky tests, and patch in https://github.com/LLNL/sundials/pull/21 doesn't apply cleanly for sundials_3 + doCheck = false; + checkPhase = "make test"; + + meta = with stdenv.lib; { + description = "Suite of nonlinear differential/algebraic equation solvers"; + homepage = https://computation.llnl.gov/projects/sundials; + platforms = platforms.all; + maintainers = with maintainers; [ flokli idontgetoutmuch ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index abe444c63c3..4bc066df32e 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -1,28 +1,58 @@ -{ cmake, fetchurl, python, stdenv }: +{ stdenv +, cmake +, fetchurl +, python +, liblapack +, gfortran +, lapackSupport ? true }: -stdenv.mkDerivation rec { +let liblapackShared = liblapack.override { + shared = true; +}; +in stdenv.mkDerivation rec { pname = "sundials"; version = "4.1.0"; + buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ]; + nativeBuildInputs = [ cmake ]; + src = fetchurl { url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; sha256 = "19ca4nmlf6i9ijqcibyvpprxzsdfnackgjs6dw51fq13gg1f2398"; }; - preConfigure = '' - export cmakeFlags="-DCMAKE_INSTALL_PREFIX=$out -DEXAMPLES_INSTALL_PATH=$out/share/examples $cmakeFlags" - ''; + patches = [ + (fetchurl { + # https://github.com/LLNL/sundials/pull/19 + url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch"; + sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l"; + }) + (fetchurl { + # https://github.com/LLNL/sundials/pull/20 + url = "https://github.com/LLNL/sundials/pull/20/commits/2d951bbe1ff7842fcd0dafa28c61b0aa94015f66.patch"; + sha256 = "0lcr6m4lk14yqrxah4rdscpczny5l7m1zpfsjh8bgspadfsgk512"; + }) + # https://github.com/LLNL/sundials/pull/21 + ./tests-parallel.patch + ]; - nativeBuildInputs = [ cmake ]; - buildInputs = [ python ]; + cmakeFlags = [ + "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples" + ] ++ stdenv.lib.optionals (lapackSupport) [ + "-DSUNDIALS_INDEX_TYPE=int32_t" + "-DLAPACK_ENABLE=ON" + "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + ]; + + doCheck = true; + checkPhase = "make test"; meta = with stdenv.lib; { description = "Suite of nonlinear differential/algebraic equation solvers"; homepage = https://computation.llnl.gov/projects/sundials; platforms = platforms.all; - maintainers = [ maintainers.idontgetoutmuch ]; + maintainers = with maintainers; [ flokli idontgetoutmuch ]; license = licenses.bsd3; }; - } diff --git a/pkgs/development/libraries/sundials/tests-parallel.patch b/pkgs/development/libraries/sundials/tests-parallel.patch new file mode 100644 index 00000000000..a785a1dade9 --- /dev/null +++ b/pkgs/development/libraries/sundials/tests-parallel.patch @@ -0,0 +1,45 @@ +diff --git a/config/SundialsAddTest.cmake b/config/SundialsAddTest.cmake +index e965fed..a7fb1d2 100644 +--- a/config/SundialsAddTest.cmake ++++ b/config/SundialsAddTest.cmake +@@ -70,7 +70,7 @@ MACRO(SUNDIALS_ADD_TEST NAME EXECUTABLE) + "--verbose" + "--testname=${NAME}" + "--executablename=$" +- "--outputdir=${CMAKE_BINARY_DIR}/Testing/output" ++ "--outputdir=${TEST_OUTPUT_DIR}" + ) + + # do not diff the output and answer files +diff --git a/config/SundialsTesting.cmake b/config/SundialsTesting.cmake +index 815576a..d91801a 100644 +--- a/config/SundialsTesting.cmake ++++ b/config/SundialsTesting.cmake +@@ -29,6 +29,13 @@ IF(SUNDIALS_DEVTESTS) + ENDIF() + ENDIF() + ++ # Directory for test output ++ SET(TEST_OUTPUT_DIR ${PROJECT_BINARY_DIR}/Testing/output) ++ ++ IF(NOT EXISTS ${TEST_OUTPUT_DIR}) ++ FILE(MAKE_DIRECTORY ${TEST_OUTPUT_DIR}) ++ ENDIF() ++ + # look for the testRunner script in the test directory + FIND_PROGRAM(TESTRUNNER testRunner PATHS test) + HIDE_VARIABLE(TESTRUNNER) +diff --git a/test/testRunner b/test/testRunner +index f450ec2..f1c8deb 100755 +--- a/test/testRunner ++++ b/test/testRunner +@@ -106,7 +106,8 @@ def main(): + + # create output directory if necessary + if not os.path.exists(outDir): +- os.makedirs(outDir) ++ error("Output directory does not exist, it must be created.", outDir) ++ sys.exit(1) + elif not os.path.isdir(outDir): + error("Output directory exists but is not a directory, it must be deleted.", outDir) + sys.exit(1) diff --git a/pkgs/development/python-modules/django/2_2.nix b/pkgs/development/python-modules/django/2_2.nix index efc13e455e5..95fd8a76928 100644 --- a/pkgs/development/python-modules/django/2_2.nix +++ b/pkgs/development/python-modules/django/2_2.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "Django"; - version = "2.2.4"; + version = "2.2.5"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "1s5ad5zlmwdn4h5lwn4s4m8mqy0gz4w9nfzyknn815sr252db98n"; + sha256 = "0mpxmckd1mah0yrp6n8vjk6mq7hxf6d5xcbk6rcmi6z572h0mdyy"; }; patches = stdenv.lib.optional withGdal diff --git a/pkgs/development/python-modules/scikits-odes/default.nix b/pkgs/development/python-modules/scikits-odes/default.nix new file mode 100644 index 00000000000..89ffe334e7f --- /dev/null +++ b/pkgs/development/python-modules/scikits-odes/default.nix @@ -0,0 +1,55 @@ +{ stdenv +, lib +, buildPythonPackage +, fetchFromGitHub +, fetchurl +, cython +, enum34 +, gfortran +, isPy3k +, numpy +, pytest +, python +, scipy +, sundials_3 +}: + +buildPythonPackage rec { + pname = "scikits.odes"; + version = "2.4.0-9-g93075ae"; + + # we fetch github instead of Pypi, as we want #104 and #105, which don't apply cleanly on 2.4.0 + src = fetchFromGitHub { + owner = "bmcage"; + repo = "odes"; + rev = "93075ae25c409f572f13ca7207fada5706f73c73"; + sha256 = "161rab7hy6r1a9xw1zby9xhnnmxi0zwdpzxfpjkw9651xn2k5xyw"; + }; + + nativeBuildInputs = [ + gfortran + cython + ]; + + propagatedBuildInputs = [ + numpy + sundials_3 + scipy + ] ++ lib.optionals (!isPy3k) [ enum34 ]; + + doCheck = true; + checkInputs = [ pytest ]; + + checkPhase = '' + cd $out/${python.sitePackages}/scikits/odes/tests + pytest + ''; + + meta = with stdenv.lib; { + description = "A scikit offering extra ode/dae solvers, as an extension to what is available in scipy"; + homepage = https://github.com/bmcage/odes; + license = licenses.bsd3; + maintainers = with maintainers; [ flokli idontgetoutmuch ]; + platforms = [ "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix index b7e6e08cb04..a07fc2643f6 100644 --- a/pkgs/development/tools/build-managers/mill/default.nix +++ b/pkgs/development/tools/build-managers/mill/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mill"; - version = "0.5.0"; + version = "0.5.1"; src = fetchurl { url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}"; - sha256 = "ecf83db96a32024f14b031ce458b1b3eed01e713265e16c42eb4a894a1a0d654"; + sha256 = "1y5044m0qlwa1wlg7xkhg76agmfn7bgcf040wf56fvxhf0w78zjw"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch b/pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch deleted file mode 100644 index 013ac5180af..00000000000 --- a/pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua -index f93e67a..2eb2db9 100644 ---- a/src/luarocks/core/cfg.lua -+++ b/src/luarocks/core/cfg.lua -@@ -425,9 +425,9 @@ local function make_defaults(lua_version, target_cpu, platforms, home) - defaults.external_lib_extension = "dylib" - defaults.arch = "macosx-"..target_cpu - defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load" -- defaults.variables.STAT = "/usr/bin/stat" -+ defaults.variables.STAT = "stat" - defaults.variables.STATFLAG = "-f '%A'" -- local version = util.popen_read("sw_vers -productVersion") -+ local version = os.getenv("MACOSX_DEPLOYMENT_TARGET") or "10.12" - version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3 - if version >= 10 then - version = 8 -@@ -436,8 +436,8 @@ local function make_defaults(lua_version, target_cpu, platforms, home) - else - defaults.gcc_rpath = false - end -- defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc" -- defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc" -+ defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang" -+ defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang" - defaults.web_browser = "open" - end - diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix index 8da224f0ef8..21611f05579 100644 --- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix +++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix @@ -1,13 +1,14 @@ { luarocks, fetchFromGitHub }: luarocks.overrideAttrs(old: { pname = "luarocks-nix"; + version = "2019-09-07"; src = fetchFromGitHub { - owner = "teto"; + owner = "nix-community"; repo = "luarocks"; - rev = "38ed82ba3e5682d7d55ef9a870dfb464ca180df9"; - sha256 = "0vlzywiv3sxkpjg1fzzxicmfr6kh04fxw5q9n8vsd2075xjxg6bs"; + rev = "fa7c367bcdad36768db5f19fd4fcdd9681a14429"; + sha256 = "0kziwfw5gqq5xsckl7qf9wasaiy8rp42h5qrcnjx07qp47a9ldx7"; }; patches = [ - ./darwin-3.0.x.patch + ./darwin-3.1.3.patch ]; }) diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/default.nix b/pkgs/development/tools/nemiver/default.nix similarity index 53% rename from pkgs/desktops/gnome-3/devtools/nemiver/default.nix rename to pkgs/development/tools/nemiver/default.nix index 7ebacc99c52..1f3556fc904 100644 --- a/pkgs/desktops/gnome-3/devtools/nemiver/default.nix +++ b/pkgs/development/tools/nemiver/default.nix @@ -1,6 +1,24 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, gnome3, gtk3, libxml2, intltool, itstool, gdb, - boost, sqlite, libgtop, glibmm, gtkmm3, vte, gtksourceview, gsettings-desktop-schemas, - gtksourceviewmm, wrapGAppsHook }: +{ stdenv +, fetchurl +, fetchpatch +, pkgconfig +, gnome3 +, gtk3 +, libxml2 +, intltool +, itstool +, gdb +, boost +, sqlite +, libgtop +, glibmm +, gtkmm3 +, vte +, gtksourceview +, gsettings-desktop-schemas +, gtksourceviewmm +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "nemiver"; @@ -11,17 +29,38 @@ stdenv.mkDerivation rec { sha256 = "85ab8cf6c4f83262f441cb0952a6147d075c3c53d0687389a3555e946b694ef2"; }; - nativeBuildInputs = [ libxml2 intltool itstool pkgconfig wrapGAppsHook ]; + nativeBuildInputs = [ + libxml2 + intltool + itstool + pkgconfig + wrapGAppsHook + ]; buildInputs = [ - gtk3 gdb boost sqlite libgtop - glibmm gtkmm3 vte gtksourceview gtksourceviewmm + gtk3 + gdb + boost + sqlite + libgtop + glibmm + gtkmm3 + vte + gtksourceview + gtksourceviewmm gsettings-desktop-schemas ]; patches = [ - ./bool_slot.patch - ./safe_ptr.patch + # build fixes + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/nemiver/commit/e0e42221ceb77d88be64fac1c09792dc5c9e2f43.patch; + sha256 = "1g0ixll6yqfj6ysf50p0c7nmh3lgmb6ds15703q7ibnw7dyidvj8"; + }) + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/nemiver/commit/7005393a8c4d914eac9705e7f47818d0f4de3578.patch; + sha256 = "1mxb1sdqdj7dm204gja8cdygx8579bjriqqbb7cna9rj0m9c8pjg"; + }) (fetchpatch { url = https://gitlab.gnome.org/GNOME/nemiver/commit/262cf9657f9c2727a816972b348692adcc666008.patch; sha256 = "03jv6z54b8nzvplplapk4aj206zl1gvnv6iz0mad19g6yvfbw7a7"; @@ -35,7 +74,6 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome3.updateScript { packageName = "nemiver"; - attrPath = "gnome3.nemiver"; versionPolicy = "none"; }; }; diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix new file mode 100644 index 00000000000..58038923890 --- /dev/null +++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix @@ -0,0 +1,8 @@ +{fetchgit }: + +fetchgit { + name = "chromium-xorg-conf"; + url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf"; + rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514"; + sha256 = "0643y3l3hjk4mv4lm3h9z56h990q6k11hcr10lcqppgsii0d3zcf"; +} diff --git a/pkgs/os-specific/linux/libevdevc/default.nix b/pkgs/os-specific/linux/libevdevc/default.nix new file mode 100644 index 00000000000..e3dfbd3d6c2 --- /dev/null +++ b/pkgs/os-specific/linux/libevdevc/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, coreutils, pkgconfig, glib, jsoncpp }: + +stdenv.mkDerivation rec { + name = "libevdevc"; + version = "2.0.1"; + src = fetchFromGitHub { + owner = "hugegreenbug"; + repo = "libevdevc"; + rev = "v${version}"; + sha256 = "0ry30krfizh87yckmmv8n082ad91mqhhbbynx1lfidqzb6gdy2dd"; + }; + + postPatch = '' + substituteInPlace common.mk \ + --replace /bin/echo ${coreutils}/bin/echo + substituteInPlace include/module.mk \ + --replace /usr/include /include + ''; + + makeFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ]; + + meta = with stdenv.lib; { + description = "ChromiumOS libevdev. Renamed to avoid conflicts with the standard libevdev found in Linux distros."; + license = licenses.bsd3; + platforms = platforms.linux; + homepage = "https://chromium.googlesource.com/chromiumos/platform/libevdev/"; + maintainers = with maintainers; [ kcalvinalvin ]; + }; +} diff --git a/pkgs/os-specific/linux/libgestures/default.nix b/pkgs/os-specific/linux/libgestures/default.nix new file mode 100644 index 00000000000..4c51525727a --- /dev/null +++ b/pkgs/os-specific/linux/libgestures/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, pkgconfig, glib, jsoncpp }: + +stdenv.mkDerivation rec { + name = "libgestures-${version}"; + version = "2.0.1"; + src = fetchFromGitHub { + owner = "hugegreenbug"; + repo = "libgestures"; + rev = "v${version}"; + sha256 = "0dfvads2adzx4k8cqc1rbwrk1jm2wn9wl2jk51m26xxpmh1g0zab"; + }; + patches = [ ./include-fix.patch ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace -Werror -Wno-error \ + --replace '$(DESTDIR)/usr/include' '$(DESTDIR)/include' + ''; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ glib jsoncpp ]; + + + makeFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ]; + + meta = with stdenv.lib; { + description = "ChromiumOS libgestures modified to compile for Linux."; + license = licenses.bsd3; + platforms = platforms.linux; + homepage = "https://chromium.googlesource.com/chromiumos/platform/gestures"; + maintainers = with maintainers; [ kcalvinalvin ]; + }; +} diff --git a/pkgs/os-specific/linux/libgestures/include-fix.patch b/pkgs/os-specific/linux/libgestures/include-fix.patch new file mode 100644 index 00000000000..851be477143 --- /dev/null +++ b/pkgs/os-specific/linux/libgestures/include-fix.patch @@ -0,0 +1,12 @@ +diff -ur a/include/gestures/include/finger_metrics.h b/include/gestures/include/finger_metrics.h +--- a/include/gestures/include/finger_metrics.h 1970-01-01 09:00:01.000000000 +0900 ++++ b/include/gestures/include/finger_metrics.h 2018-12-01 16:58:51.590718511 +0900 +@@ -5,6 +5,8 @@ + #ifndef GESTURES_FINGER_METRICS_H_ + #define GESTURES_FINGER_METRICS_H_ + ++#include ++ + #include "gestures/include/gestures.h" + #include "gestures/include/prop_registry.h" +#include "gestures/include/vector.h" diff --git a/pkgs/os-specific/linux/xf86-input-cmt/default.nix b/pkgs/os-specific/linux/xf86-input-cmt/default.nix new file mode 100644 index 00000000000..2422b70b068 --- /dev/null +++ b/pkgs/os-specific/linux/xf86-input-cmt/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, pkgconfig, xorgserver, xorgproto, + utilmacros, libgestures, libevdevc }: + +stdenv.mkDerivation rec { + name = "xf86-input-cmt-${version}"; + version = "2.0.2"; + src = fetchFromGitHub { + owner = "hugegreenbug"; + repo = "xf86-input-cmt"; + rev = "v${version}"; + sha256 = "1cnwf518nc0ybc1r3rsgc1gcql1k3785khffv0i4v3akrm9wdw98"; + }; + + postPatch = '' + patchShebangs ./apply_patches.sh + ./apply_patches.sh + ''; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + xorgserver xorgproto utilmacros + libgestures libevdevc + ]; + + configureFlags = [ + "--with-sdkdir=${placeholder "out"}" + ]; + + meta = with stdenv.lib; { + description = "Chromebook touchpad driver."; + license = licenses.bsd3; + platforms = platforms.linux; + homepage = "www.github.com/hugegreenbug/xf86-input-cmt"; + maintainers = with maintainers; [ kcalvinalvin ]; + }; +} diff --git a/pkgs/tools/networking/bukubrow/default.nix b/pkgs/tools/networking/bukubrow/default.nix index aee1b5c0e1d..e83e72cbfb4 100644 --- a/pkgs/tools/networking/bukubrow/default.nix +++ b/pkgs/tools/networking/bukubrow/default.nix @@ -1,34 +1,46 @@ -{ stdenv, rustPlatform, fetchFromGitHub, sqlite }: +{ stdenv, rustPlatform, fetchFromGitHub, sqlite }: let -rustPlatform.buildRustPackage rec { - pname = "bukubrow"; - version = "2.4.0"; +manifest = { + description = "Bukubrow extension host application"; + name = "com.samhh.bukubrow"; + path = "@out@/bin/bukubrow"; + type = "stdio"; +}; + +in rustPlatform.buildRustPackage rec { + pname = "bukubrow-host"; + version = "5.0.0"; src = fetchFromGitHub { owner = "SamHH"; - repo = "bukubrow"; - rev = version; - sha256 = "1wrwav7am73bmgbpwh1pi0b8k7vhydqvw91hmmhnvbjhrhbns7s5"; + repo = pname; + rev = "v${version}"; + sha256 = "1a3gqxj6d1shv3w0v9m8x2xr0bvcynchy778yqalxkc3x4vr0nbn"; }; - sourceRoot = "source/binary"; - cargoSha256 = "0553awiba24a3a8xwjhlwf8yzbs44lnirjvcxnvsgah7dc44r0gj"; + cargoSha256 = "06nh99cvg3y4f98fs0j5bkidzq6fg46wk47z5jfzz5lf72ha54lk"; buildInputs = [ sqlite ]; + passAsFile = [ "firefoxManifest" "chromeManifest" ]; + firefoxManifest = builtins.toJSON (manifest // { + allowed_extensions = [ "bukubrow@samhh.com" ]; + }); + chromeManifest = builtins.toJSON (manifest // { + allowed_origins = [ "chrome-extension://ghniladkapjacfajiooekgkfopkjblpn/" ]; + }); + postBuild = '' + substituteAll $firefoxManifestPath firefox.json + substituteAll $chromeManifestPath chrome.json + ''; postInstall = '' - mkdir -p $out/etc $out/lib/mozilla/native-messaging-hosts - - host_file="$out/bin/bukubrow" - sed -e "s!%%replace%%!$host_file!" browser-hosts/firefox.json > "$out/etc/firefox-host.json" - sed -e "s!%%replace%%!$host_file!" browser-hosts/chrome.json > "$out/etc/chrome-host.json" - - ln -s $out/etc/firefox-host.json $out/lib/mozilla/native-messaging-hosts/com.samhh.bukubrow.json + install -Dm0644 firefox.json $out/lib/mozilla/native-messaging-hosts/com.samhh.bukubrow.json + install -Dm0644 chrome.json $out/etc/chromium/native-messaging-hosts/com.samhh.bukubrow.json ''; meta = with stdenv.lib; { description = "Bukubrow is a WebExtension for Buku, a command-line bookmark manager"; - homepage = https://github.com/SamHH/bukubrow; + homepage = https://github.com/SamHH/bukubrow-host; license = licenses.gpl3; platforms = platforms.all; maintainers = with maintainers; [ infinisil ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85a342bf6b2..83ac7861d88 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4915,6 +4915,8 @@ in ndppd = callPackage ../applications/networking/ndppd { }; + nemiver = callPackage ../development/tools/nemiver { }; + neofetch = callPackage ../tools/misc/neofetch { }; nerdfonts = callPackage ../data/fonts/nerdfonts { }; @@ -9308,6 +9310,8 @@ in chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome2.GConf; }; + chromium-xorg-conf = callPackage ../os-specific/linux/chromium-xorg-conf { }; + chrpath = callPackage ../development/tools/misc/chrpath { }; chruby = callPackage ../development/tools/misc/chruby { rubies = null; }; @@ -13743,6 +13747,8 @@ in sundials = callPackage ../development/libraries/sundials { }; + sundials_3 = callPackage ../development/libraries/sundials/3.x.nix { }; + sutils = callPackage ../tools/misc/sutils { }; svrcore = callPackage ../development/libraries/svrcore { }; @@ -16511,6 +16517,8 @@ in wpa_supplicant_gui = libsForQt5.callPackage ../os-specific/linux/wpa_supplicant/gui.nix { }; + xf86_input_cmt = callPackage ../os-specific/linux/xf86-input-cmt { }; + xf86_input_mtrack = callPackage ../os-specific/linux/xf86-input-mtrack { }; xf86_input_multitouch = callPackage ../os-specific/linux/xf86-input-multitouch { }; @@ -16809,6 +16817,10 @@ in liberation-sans-narrow = callPackage ../data/fonts/liberation-sans-narrow { }; + libevdevc = callPackage ../os-specific/linux/libevdevc { }; + + libgestures = callPackage ../os-specific/linux/libgestures { }; + liberastika = callPackage ../data/fonts/liberastika { }; libertine = callPackage ../data/fonts/libertine { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dfef738603b..6e936afd5ea 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4840,6 +4840,8 @@ in { scikit-build = callPackage ../development/python-modules/scikit-build { }; + scikits-odes = callPackage ../development/python-modules/scikits-odes { }; + scikit-optimize = callPackage ../development/python-modules/scikit-optimize { }; scikit-tda = callPackage ../development/python-modules/scikit-tda { };