diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ec4289f19ea..60354432ad9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -406,6 +406,11 @@ github = "AveryLychee"; name = "Avery Lychee"; }; + averelld = { + email = "averell+nixos@rxd4.com"; + github = "averelld"; + name = "averelld"; + }; avnik = { email = "avn@avnik.info"; github = "avnik"; diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 09abca5a468..e194f96dcd6 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -192,6 +192,13 @@ options can occour more than once in the configuration. + + + The solr package has been upgraded from 4.10.3 to 7.5.0 and has undergone + some major changes. The services.solr module has been updated to reflect + these changes. Please review http://lucene.apache.org/solr/ carefully before upgrading. + + diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 16737efb185..6e7f0a007bc 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -333,6 +333,7 @@ lidarr = 306; slurm = 307; kapacitor = 308; + solr = 309; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -626,6 +627,7 @@ lidarr = 306; slurm = 307; kapacitor = 308; + solr = 309; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index 0fbc77ea44c..d325fff6a57 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -16,7 +16,7 @@ let # programmable completion. If we do, enable all modules installed in # the system and user profile in obsolete /etc/bash_completion.d/ # directories. Bash loads completions in all - # $XDG_DATA_DIRS/share/bash-completion/completions/ + # $XDG_DATA_DIRS/bash-completion/completions/ # on demand, so they do not need to be sourced here. if shopt -q progcomp &>/dev/null; then . "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" diff --git a/nixos/modules/programs/sway-beta.nix b/nixos/modules/programs/sway-beta.nix index 04f2e0662b8..e651ea4cca3 100644 --- a/nixos/modules/programs/sway-beta.nix +++ b/nixos/modules/programs/sway-beta.nix @@ -5,6 +5,15 @@ with lib; let cfg = config.programs.sway-beta; swayPackage = cfg.package; + + swayWrapped = pkgs.writeShellScriptBin "sway" '' + ${cfg.extraSessionCommands} + exec ${pkgs.dbus.dbus-launch} --exit-with-session ${swayPackage}/bin/sway + ''; + swayJoined = pkgs.symlinkJoin { + name = "sway-joined"; + paths = [ swayWrapped swayPackage ]; + }; in { options.programs.sway-beta = { enable = mkEnableOption '' @@ -20,13 +29,30 @@ in { ''; }; + extraSessionCommands = mkOption { + type = types.lines; + default = ""; + example = '' + export SDL_VIDEODRIVER=wayland + # needs qt5.qtwayland in systemPackages + export QT_QPA_PLATFORM=wayland + export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # Fix for some Java AWT applications (e.g. Android Studio), + # use this if they aren't displayed properly: + export _JAVA_AWT_WM_NONREPARENTING=1 + ''; + description = '' + Shell commands executed just before Sway is started. + ''; + }; + extraPackages = mkOption { type = with types; listOf package; default = with pkgs; [ - xwayland dmenu + xwayland rxvt_unicode dmenu ]; defaultText = literalExample '' - with pkgs; [ xwayland dmenu ]; + with pkgs; [ xwayland rxvt_unicode dmenu ]; ''; example = literalExample '' with pkgs; [ @@ -42,7 +68,7 @@ in { }; config = mkIf cfg.enable { - environment.systemPackages = [ swayPackage ] ++ cfg.extraPackages; + environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages; security.pam.services.swaylock = {}; hardware.opengl.enable = mkDefault true; fonts.enableDefaultFonts = mkDefault true; @@ -51,4 +77,3 @@ in { meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ]; } - diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index e2ee995cea8..bf4dfc666bb 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -10,6 +10,13 @@ let # Get a submodule without any embedded metadata: _filter = x: filterAttrs (k: v: k != "_module") x; + # a wrapper that verifies that the configuration is valid + promtoolCheck = what: name: file: pkgs.runCommand "${name}-${what}-checked" + { buildInputs = [ cfg.package ]; } '' + ln -s ${file} $out + promtool ${what} $out + ''; + # Pretty-print JSON to a file writePrettyJSON = name: x: pkgs.runCommand name { } '' @@ -19,18 +26,19 @@ let # This becomes the main config file promConfig = { global = cfg.globalConfig; - rule_files = cfg.ruleFiles ++ [ + rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [ (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules)) - ]; + ]); scrape_configs = cfg.scrapeConfigs; }; generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig; - prometheusYml = - if cfg.configText != null then + prometheusYml = let + yml = if cfg.configText != null then pkgs.writeText "prometheus.yml" cfg.configText - else generatedPrometheusYml; + else generatedPrometheusYml; + in promtoolCheck "check-config" "prometheus.yml" yml; cmdlineArgs = cfg.extraFlags ++ [ "-storage.local.path=${cfg.dataDir}/metrics" @@ -376,6 +384,15 @@ in { ''; }; + package = mkOption { + type = types.package; + default = pkgs.prometheus; + defaultText = "pkgs.prometheus"; + description = '' + The prometheus package that should be used. + ''; + }; + listenAddress = mkOption { type = types.str; default = "0.0.0.0:9090"; @@ -495,7 +512,7 @@ in { after = [ "network.target" ]; script = '' #!/bin/sh - exec ${pkgs.prometheus}/bin/prometheus \ + exec ${cfg.package}/bin/prometheus \ ${concatStringsSep " \\\n " cmdlineArgs} ''; serviceConfig = { diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix index 90140a337ed..7200c40e89f 100644 --- a/nixos/modules/services/search/solr.nix +++ b/nixos/modules/services/search/solr.nix @@ -6,142 +6,105 @@ let cfg = config.services.solr; - # Assemble all jars needed for solr - solrJars = pkgs.stdenv.mkDerivation { - name = "solr-jars"; - - src = pkgs.fetchurl { - url = http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.36/bin/apache-tomcat-5.5.36.tar.gz; - sha256 = "01mzvh53wrs1p2ym765jwd00gl6kn8f9k3nhdrnhdqr8dhimfb2p"; - }; - - installPhase = '' - mkdir -p $out/lib - cp common/lib/*.jar $out/lib/ - ln -s ${pkgs.ant}/lib/ant/lib/ant.jar $out/lib/ - ln -s ${cfg.solrPackage}/lib/ext/* $out/lib/ - ln -s ${pkgs.jdk.home}/lib/tools.jar $out/lib/ - '' + optionalString (cfg.extraJars != []) '' - for f in ${concatStringsSep " " cfg.extraJars}; do - cp $f $out/lib - done - ''; - }; - -in { +in +{ options = { services.solr = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Enables the solr service. - ''; - }; + enable = mkEnableOption "Enables the solr service."; - javaPackage = mkOption { - type = types.package; - default = pkgs.jre; - defaultText = "pkgs.jre"; - description = '' - Which Java derivation to use for running solr. - ''; - }; - - solrPackage = mkOption { + package = mkOption { type = types.package; default = pkgs.solr; defaultText = "pkgs.solr"; - description = '' - Which solr derivation to use for running solr. - ''; + description = "Which Solr package to use."; }; - extraJars = mkOption { - type = types.listOf types.path; - default = []; - description = '' - List of paths pointing to jars. Jars are copied to commonLibFolder to be available to java/solr. - ''; + port = mkOption { + type = types.int; + default = 8983; + description = "Port on which Solr is ran."; }; - log4jConfiguration = mkOption { - type = types.lines; - default = '' - log4j.rootLogger=INFO, stdout - log4j.appender.stdout=org.apache.log4j.ConsoleAppender - log4j.appender.stdout.Target=System.out - log4j.appender.stdout.layout=org.apache.log4j.PatternLayout - log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n - ''; - description = '' - Contents of the log4j.properties used. By default, - everything is logged to stdout (picked up by systemd) with level INFO. - ''; - }; - - user = mkOption { - type = types.str; - description = '' - The user that should run the solr process and. - the working directories. - ''; - }; - - group = mkOption { - type = types.str; - description = '' - The group that will own the working directory. - ''; - }; - - solrHome = mkOption { - type = types.str; - description = '' - The solr home directory. It is your own responsibility to - make sure this directory contains a working solr configuration, - and is writeable by the the user running the solr service. - Failing to do so, the solr will not start properly. - ''; + stateDir = mkOption { + type = types.path; + default = "/var/lib/solr"; + description = "The solr home directory containing config, data, and logging files."; }; extraJavaOptions = mkOption { type = types.listOf types.str; default = []; - description = '' - Extra command line options given to the java process running - solr. - ''; + description = "Extra command line options given to the java process running Solr."; }; - extraWinstoneOptions = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Extra command line options given to the Winstone, which is - the servlet container hosting solr. - ''; + user = mkOption { + type = types.str; + default = "solr"; + description = "User under which Solr is ran."; + }; + + group = mkOption { + type = types.str; + default = "solr"; + description = "Group under which Solr is ran."; }; }; }; config = mkIf cfg.enable { - services.winstone.solr = { - serviceName = "solr"; - inherit (cfg) user group javaPackage; - warFile = "${cfg.solrPackage}/lib/solr.war"; - extraOptions = [ - "--commonLibFolder=${solrJars}/lib" - "--useJasper" - ] ++ cfg.extraWinstoneOptions; - extraJavaOptions = [ - "-Dsolr.solr.home=${cfg.solrHome}" - "-Dlog4j.configuration=file://${pkgs.writeText "log4j.properties" cfg.log4jConfiguration}" - ] ++ cfg.extraJavaOptions; + environment.systemPackages = [ cfg.package ]; + + systemd.services.solr = { + after = [ "network.target" "remote-fs.target" "nss-lookup.target" "systemd-journald-dev-log.socket" ]; + wantedBy = [ "multi-user.target" ]; + + environment = { + SOLR_HOME = "${cfg.stateDir}/data"; + LOG4J_PROPS = "${cfg.stateDir}/log4j2.xml"; + SOLR_LOGS_DIR = "${cfg.stateDir}/logs"; + SOLR_PORT = "${toString cfg.port}"; + }; + path = with pkgs; [ + gawk + procps + ]; + preStart = '' + mkdir -p "${cfg.stateDir}/data"; + mkdir -p "${cfg.stateDir}/logs"; + + if ! test -e "${cfg.stateDir}/data/solr.xml"; then + install -D -m0640 ${cfg.package}/server/solr/solr.xml "${cfg.stateDir}/data/solr.xml" + install -D -m0640 ${cfg.package}/server/solr/zoo.cfg "${cfg.stateDir}/data/zoo.cfg" + fi + + if ! test -e "${cfg.stateDir}/log4j2.xml"; then + install -D -m0640 ${cfg.package}/server/resources/log4j2.xml "${cfg.stateDir}/log4j2.xml" + fi + ''; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart="${cfg.package}/bin/solr start -f -a \"${concatStringsSep " " cfg.extraJavaOptions}\""; + ExecStop="${cfg.package}/bin/solr stop"; + }; }; + users.users = optionalAttrs (cfg.user == "solr") (singleton + { name = "solr"; + group = cfg.group; + home = cfg.stateDir; + createHome = true; + uid = config.ids.uids.solr; + }); + + users.groups = optionalAttrs (cfg.group == "solr") (singleton + { name = "solr"; + gid = config.ids.gids.solr; + }); + }; } diff --git a/nixos/release.nix b/nixos/release.nix index c3a10c9d330..4647f28be18 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -410,6 +410,7 @@ in rec { tests.slurm = callTest tests/slurm.nix {}; tests.smokeping = callTest tests/smokeping.nix {}; tests.snapper = callTest tests/snapper.nix {}; + tests.solr = callTest tests/solr.nix {}; #tests.statsd = callTest tests/statsd.nix {}; # statsd is broken: #45946 tests.strongswan-swanctl = callTest tests/strongswan-swanctl.nix {}; tests.sudo = callTest tests/sudo.nix {}; diff --git a/nixos/tests/solr.nix b/nixos/tests/solr.nix new file mode 100644 index 00000000000..9ba3863411e --- /dev/null +++ b/nixos/tests/solr.nix @@ -0,0 +1,47 @@ +import ./make-test.nix ({ pkgs, lib, ... }: +{ + name = "solr"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { config, pkgs, ... }: + { + # Ensure the virtual machine has enough memory for Solr to avoid the following error: + # + # OpenJDK 64-Bit Server VM warning: + # INFO: os::commit_memory(0x00000000e8000000, 402653184, 0) + # failed; error='Cannot allocate memory' (errno=12) + # + # There is insufficient memory for the Java Runtime Environment to continue. + # Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory. + virtualisation.memorySize = 2000; + + services.solr.enable = true; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('solr.service'); + $machine->waitForOpenPort('8983'); + $machine->succeed('curl --fail http://localhost:8983/solr/'); + + # adapted from pkgs.solr/examples/films/README.txt + $machine->succeed('sudo -u solr solr create -c films'); + $machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{ + "add-field" : { + "name":"name", + "type":"text_general", + "multiValued":false, + "stored":true + }, + "add-field" : { + "name":"initial_release_date", + "type":"pdate", + "stored":true + } + }')) =~ /"status":0/ or die; + $machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json'); + $machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die; + ''; +}) diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix index b377db65c0c..cb267d8bbb6 100644 --- a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix +++ b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix @@ -5,6 +5,7 @@ , pkgconfig , ffmpeg_4 , patchelf +, fdk_aac , libtool , cmake , bluez @@ -22,13 +23,13 @@ let in stdenv.mkDerivation rec { name = "pulseaudio-modules-bt-${version}"; - version = "unstable-2018-10-16"; + version = "unstable-2018-11-01"; src = fetchFromGitHub { owner = "EHfive"; repo = "pulseaudio-modules-bt"; - rev = "552c2b48c0cc7dd44d0746b261f7c7d5559e8e30"; - sha256 = "052jb1hjx1in7bafx4zpn78s7r6f2y7djriwi36dzqy9wmalmyjy"; + rev = "a2f62fcaa702bb883c07d074ebca8d7135520ab8"; + sha256 = "1fhg7q9064zikhy0xxldn4fvh49pc47mgikcbd9yhsk66gcn6zj3"; fetchSubmodules = true; }; @@ -45,6 +46,7 @@ in stdenv.mkDerivation rec { buildInputs = [ pulseaudio ffmpeg_4 + fdk_aac libtool bluez dbus @@ -72,7 +74,7 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://github.com/EHfive/pulseaudio-modules-bt; - description = "SBC, Sony LDAC codec (A2DP Audio) support for Pulseaudio"; + description = "LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support for Linux PulseAudio"; platforms = platforms.linux; license = licenses.mit; maintainers = with maintainers; [ adisbladis ]; diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch index 2b4ff86ab71..e500d1fb133 100644 --- a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch +++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch @@ -1,11 +1,20 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0f5baa0..1f35cce 100644 +index d869979..185144d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -122,5 +121,4 @@ INSTALL(TARGETS +@@ -143,13 +143,13 @@ INSTALL(TARGETS module-bluez5-device module-bluetooth-discover module-bluetooth-policy - LIBRARY DESTINATION ${PulseAudio_modlibexecdir}) -- + LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/) + + if(NOT ${HAVE_SYSTEM_LDAC}) + + INSTALL(TARGETS + ldacBT_enc + ldacBT_abr +- LIBRARY DESTINATION ${PulseAudio_modlibexecdir}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/) + + endif() diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index cbcf5220564..15aaab40a67 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -5,14 +5,14 @@ let # TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update) # "rev" decides what is actually being downloaded - version = "1.0.83.316.ge96b6e67-5"; + version = "1.0.93.242.gc2341a27-15"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "17"; + rev = "24"; deps = [ @@ -65,7 +65,7 @@ stdenv.mkDerivation { # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - sha512 = "19bbr4142shsl4qrikf48vq7kyrd4k4jbsada13qxicxps46a9bx51vjm2hkijqv739c1gdkgzwx7llyk95z26lhrz53shm2n5ij8xi"; + sha512 = "920d55b3dcad4ac6acd9bc73c8ad8eb1668327a175da465ce3d8bba2430da47aaefa5218659315fab43b5182611eb03047d4e2679c1345c57380b7def7a1212d"; }; buildInputs = [ squashfsTools makeWrapper ]; diff --git a/pkgs/applications/editors/rstudio/clang-location.patch b/pkgs/applications/editors/rstudio/clang-location.patch new file mode 100644 index 00000000000..402abdd8563 --- /dev/null +++ b/pkgs/applications/editors/rstudio/clang-location.patch @@ -0,0 +1,25 @@ +diff --git i/src/cpp/core/libclang/LibClang.cpp w/src/cpp/core/libclang/LibClang.cpp +index ec12a3a1ff..8c81b633ae 100644 +--- i/src/cpp/core/libclang/LibClang.cpp ++++ w/src/cpp/core/libclang/LibClang.cpp +@@ -54,7 +54,7 @@ std::vector defaultCompileArgs(LibraryVersion version) + + // we need to add in the associated libclang headers as + // they are not discovered / used by default during compilation +- FilePath llvmPath = s_libraryPath.parent().parent(); ++ FilePath llvmPath("@clang@"); + boost::format fmt("%1%/lib/clang/%2%/include"); + fmt % llvmPath.absolutePath() % version.asString(); + std::string includePath = fmt.str(); +@@ -77,10 +77,7 @@ std::vector systemClangVersions() + #elif defined(__unix__) + // default set of versions + clangVersions = { +- "/usr/lib/libclang.so", +- "/usr/lib/llvm/libclang.so", +- "/usr/lib64/libclang.so", +- "/usr/lib64/llvm/libclang.so", ++ "@libclang.so@" + }; + + // iterate through the set of available 'llvm' directories diff --git a/pkgs/applications/editors/rstudio/fix-cmake.patch b/pkgs/applications/editors/rstudio/fix-cmake.patch new file mode 100644 index 00000000000..3effc0eaa32 --- /dev/null +++ b/pkgs/applications/editors/rstudio/fix-cmake.patch @@ -0,0 +1,15 @@ +diff --git a/src/cpp/desktop/CMakeLists.txt b/src/cpp/desktop/CMakeLists.txt +index f5701bf735..27af4148ff 100644 +--- a/src/cpp/desktop/CMakeLists.txt ++++ b/src/cpp/desktop/CMakeLists.txt +@@ -112,6 +112,7 @@ find_package(Qt5WebEngine REQUIRED) + find_package(Qt5WebEngineWidgets REQUIRED) + find_package(Qt5PrintSupport REQUIRED) + find_package(Qt5Quick REQUIRED) ++find_package(Qt5QuickWidgets REQUIRED) + find_package(Qt5Positioning REQUIRED) + find_package(Qt5Sensors REQUIRED) + find_package(Qt5Svg REQUIRED) +-- +2.17.1 + diff --git a/pkgs/applications/editors/rstudio/preview.nix b/pkgs/applications/editors/rstudio/preview.nix new file mode 100644 index 00000000000..340aeec15e0 --- /dev/null +++ b/pkgs/applications/editors/rstudio/preview.nix @@ -0,0 +1,119 @@ +{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib +, openssl, R, qtbase, qtdeclarative, qtsensors, qtwebengine, qtwebchannel +, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc +, llvmPackages +}: + +let + rev = "f33fb2b2f1"; + ginVer = "2.1.2"; + gwtVer = "2.8.1"; +in +stdenv.mkDerivation rec { + name = "RStudio-preview-${rev}"; + + nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ]; + + buildInputs = [ boost zlib openssl R qtbase qtdeclarative qtsensors + qtwebengine qtwebchannel libuuid ]; + + src = fetchFromGitHub { + owner = "rstudio"; + repo = "rstudio"; + inherit rev; + sha256 = "0v3vzqjp74c3m4h9l6w2lrdnjqaimdjzbf7vhnlxj2qa0lwsnykb"; + }; + + # Hack RStudio to only use the input R and provided libclang. + patches = [ ./r-location.patch ./clang-location.patch ]; + postPatch = '' + substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R} + substituteInPlace src/cpp/core/libclang/LibClang.cpp \ + --replace '@clang@' ${llvmPackages.clang.cc} \ + --replace '@libclang.so@' ${llvmPackages.clang.cc.lib}/lib/libclang.so + ''; + + ginSrc = fetchurl { + url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip"; + sha256 = "16jzmljravpz6p2rxa87k5f7ir8vs7ya75lnfybfajzmci0p13mr"; + }; + + gwtSrc = fetchurl { + url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip"; + sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb"; + }; + + hunspellDictionaries = with stdenv.lib; filter isDerivation (attrValues hunspellDicts); + + mathJaxSrc = fetchurl { + url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip; + sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk"; + }; + + rsconnectSrc = fetchFromGitHub { + owner = "rstudio"; + repo = "rsconnect"; + rev = "984745d8"; + sha256 = "037z0y32k1gdda192y5qn5hi7wp8wyap44mkjlklrgcqkmlcylb9"; + }; + + preConfigure = + '' + GWT_LIB_DIR=src/gwt/lib + + mkdir -p $GWT_LIB_DIR/gin/${ginVer} + unzip ${ginSrc} -d $GWT_LIB_DIR/gin/${ginVer} + + unzip ${gwtSrc} + mkdir -p $GWT_LIB_DIR/gwt + mv gwt-${gwtVer} $GWT_LIB_DIR/gwt/${gwtVer} + + mkdir dependencies/common/dictionaries + for dict in ${builtins.concatStringsSep " " hunspellDictionaries}; do + for i in "$dict/share/hunspell/"*; do + ln -sv $i dependencies/common/dictionaries/ + done + done + + unzip ${mathJaxSrc} -d dependencies/common/mathjax-26 + + mkdir -p dependencies/common/pandoc + cp ${pandoc}/bin/pandoc dependencies/common/pandoc/ + + cp -r ${rsconnectSrc} dependencies/common/rsconnect + pushd dependencies/common + ${R}/bin/R CMD build -d --no-build-vignettes rsconnect + popd + ''; + + enableParallelBuilding = true; + + cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=$NIX_QT5_TMP/bin/qmake" ]; + + desktopItem = makeDesktopItem { + name = name; + exec = "rstudio %F"; + icon = "rstudio"; + desktopName = "RStudio Preview"; + genericName = "IDE"; + comment = meta.description; + categories = "Development;"; + mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;"; + }; + + postInstall = '' + wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin + mkdir $out/share + cp -r ${desktopItem}/share/applications $out/share + mkdir $out/share/icons + ln $out/rstudio.png $out/share/icons + ''; + + meta = with stdenv.lib; + { description = "Set of integrated tools for the R language"; + homepage = https://www.rstudio.com/; + license = licenses.agpl3; + maintainers = with maintainers; [ averelld ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix index a08e0fd3cd1..34830117b77 100644 --- a/pkgs/desktops/gnome-3/core/mutter/default.nix +++ b/pkgs/desktops/gnome-3/core/mutter/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo , pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3 , libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput -, pipewire, libgudev, libwacom, xwayland, autoreconfHook }: +, pipewire, libgudev, libwacom, xwayland, autoreconfHook, fetchpatch }: stdenv.mkDerivation rec { name = "mutter-${version}"; @@ -16,6 +16,14 @@ stdenv.mkDerivation rec { updateScript = gnome3.updateScript { packageName = "mutter"; attrPath = "gnome3.mutter"; }; }; + patches = [ + # https://gitlab.gnome.org/GNOME/mutter/merge_requests/172 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/mutter/commit/62660bbd.patch; + sha256 = "1qq8vxlqnyrqh94dc0dh1aj1dsbyw6bwv3x46q5vsscbbxbiv9wk"; + }) + ]; + configureFlags = [ "--with-x" "--disable-static" diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix index 1d8dd7e20f1..e750c2c6c70 100644 --- a/pkgs/development/libraries/libmtp/default.nix +++ b/pkgs/development/libraries/libmtp/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libusb1, libiconv }: stdenv.mkDerivation rec { - name = "libmtp-1.1.15"; + name = "libmtp-1.1.16"; src = fetchurl { url = "mirror://sourceforge/libmtp/${name}.tar.gz"; - sha256 = "089h79nkz7wcr3lbqi7025l8p75hbp0aigxk3wdk2zkm8q5r0h6h"; + sha256 = "185vh9bds6dcy00ycggg69g4v7m3api40zv8vrcfb3fk3vfzjs2v"; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/v8/plv8_6_x.nix b/pkgs/development/libraries/v8/plv8_6_x.nix new file mode 100644 index 00000000000..8d2276def70 --- /dev/null +++ b/pkgs/development/libraries/v8/plv8_6_x.nix @@ -0,0 +1,187 @@ +# NOTE: this expression is NOT exported from the top-level of all-packages.nix, +# it is exclusively used by the 'plv8' PostgreSQL extension, which requires a +# very exact version. + +{ stdenv, lib, fetchgit, fetchFromGitHub, gn, ninja, python, glib, pkgconfig +, doCheck ? false +, snapshot ? true +}: + +let + arch = if stdenv.isAarch32 + then if stdenv.is64bit + then"arm64" + else "arm" + else if stdenv.is64bit + then"x64" + else "ia32"; + git_url = "https://chromium.googlesource.com"; + + # This data is from the DEPS file in the root of a V8 checkout + deps = { + "base/trace_event/common" = fetchgit { + url = "${git_url}/chromium/src/base/trace_event/common.git"; + rev = "0e9a47d74970bee1bbfc063c47215406f8918699"; + sha256 = "07rbzrlscp8adh4z86yl5jxdnvgkc3xs950xldpk318wf9i3bh6c"; + }; + "build" = fetchgit { + url = "${git_url}/chromium/src/build.git"; + rev = "9338ce52d0b9bcef34c38285fbd5023b62739fac"; + sha256 = "1s2sa8dy3waidsirjylc82ggb18l1108bczjc8z0v4ywyj4k0cvh"; + }; + "buildtools" = fetchgit { + url = "${git_url}/chromium/buildtools.git"; + rev = "505de88083136eefd056e5ee4ca0f01fe9b33de8"; + sha256 = "0vj216nhb803bggsl0hnyagj8njrm96pn8sim6xcnqb7nhz1vabw"; + }; + "test/benchmarks/data" = fetchgit { + url = "${git_url}/v8/deps/third_party/benchmarks.git"; + rev = "05d7188267b4560491ff9155c5ee13e207ecd65f"; + sha256 = "0ad2ay14bn67d61ks4dmzadfnhkj9bw28r4yjdjjyzck7qbnzchl"; + }; + "test/mozilla/data" = fetchgit { + url = "${git_url}/v8/deps/third_party/mozilla-tests.git"; + rev = "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be"; + sha256 = "0rfdan76yfawqxbwwb35aa57b723j3z9fx5a2w16nls02yk2kqyn"; + }; + "test/test262/data" = fetchgit { + url = "${git_url}/external/github.com/tc39/test262.git"; + rev = "5d4c667b271a9b39d0de73aef5ffe6879c6f8811"; + sha256 = "0q9iwb2nkybf9np95wgf5m372aw2lhx9wlsw41a2a80kbkvb2kqg"; + }; + "test/test262/harness" = fetchgit { + url = "${git_url}/external/github.com/test262-utils/test262-harness-py.git"; + rev = "0f2acdd882c84cff43b9d60df7574a1901e2cdcd"; + sha256 = "00brj5avp43yamc92kinba2mg3a2x1rcd7wnm7z093l73idprvkp"; + }; + "test/wasm-js" = fetchgit { + url = "${git_url}/external/github.com/WebAssembly/spec.git"; + rev = "a7e226a92e660a3d5413cfea4269824f513259d2"; + sha256 = "0z3aybj3ykajwh2bv5fwd6pwqjjsq8dnwrqc2wncb6r9xcjwbgxp"; + }; + "testing/gtest" = fetchgit { + url = "${git_url}/external/github.com/google/googletest.git"; + rev = "6f8a66431cb592dad629028a50b3dd418a408c87"; + sha256 = "0bdba2lr6pg15bla9600zg0r0vm4lnrx0wqz84p376wfdxra24vw"; + }; + "third_party/icu" = fetchgit { + url = "${git_url}/chromium/deps/icu.git"; + rev = "741688ebf328da9adc52505248bf4e2ef868722c"; + sha256 = "02ifm18qjlrkn5nm2rxkf9yz9bdlyq7c65jfjndv63vi1drqh1r9"; + }; + "third_party/instrumented_libraries" = fetchgit { + url = "${git_url}/chromium/src/third_party/instrumented_libraries.git"; + rev = "28417458ac4dc79f68915079d0f283f682504cc0"; + sha256 = "1qf5c2946n37p843yriv7xawi6ss6samabghq43s49cgd4wq8dc3"; + }; + "third_party/jinja2" = fetchgit { + url = "${git_url}/chromium/src/third_party/jinja2.git"; + rev = "d34383206fa42d52faa10bb9931d6d538f3a57e0"; + sha256 = "0d9hyw0bvp3p0dbwy833cm9vdqxcam0qbm9jc561ynphddxlkmgd"; + }; + "third_party/markupsafe" = fetchgit { + url = "${git_url}/chromium/src/third_party/markupsafe.git"; + rev = "8f45f5cfa0009d2a70589bcda0349b8cb2b72783"; + sha256 = "168ppjmicfdh4i1l0l25s86mdbrz9fgxmiq1rx33x79mph41scfz"; + }; + "tools/clang" = fetchgit { + url = "${git_url}/chromium/src/tools/clang.git"; + rev = "8688d267571de76a56746324dcc249bf4232b85a"; + sha256 = "0krq4zz1vnwp064bm517gwr2napy18wyccdh8w5s4qgkjwwxd63s"; + }; + "tools/gyp" = fetchgit { + url = "${git_url}/external/gyp.git"; + rev = "d61a9397e668fa9843c4aa7da9e79460fe590bfb"; + sha256 = "1z081h72mjy285jb1kj5xd0pb4p12n9blvsimsavyn3ldmswv0r0"; + }; + "tools/luci-go" = fetchgit { + url = "${git_url}/chromium/src/tools/luci-go.git"; + rev = "45a8a51fda92e123619a69e7644d9c64a320b0c1"; + sha256 = "0r7736gqk7r0i7ig0b5ib10d9q8a8xzsmc0f0fbkm9k78v847vpj"; + }; + "tools/swarming_client" = fetchgit { + url = "${git_url}/infra/luci/client-py.git"; + rev = "4bd9152f8a975d57c972c071dfb4ddf668e02200"; + sha256 = "03zk91gzvqv01g1vbl8d7h8al7vs4ymrrdc8ipg9wpq52yh65smh"; + }; + }; + +in + +stdenv.mkDerivation rec { + name = "v8-${version}"; + version = "6.4.388.40"; + + inherit doCheck; + + src = fetchFromGitHub { + owner = "v8"; + repo = "v8"; + rev = version; + sha256 = "1lq239cgqyidrynz8g3wbdv70ymzv6s0ppad8s219gb3jnizm16a"; + }; + + postUnpack = '' + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (n: v: '' + mkdir -p $sourceRoot/${n} + cp -r ${v}/* $sourceRoot/${n} + '') deps)} + ''; + + prePatch = '' + # use our gn, not the bundled one + sed -i -e 's#gn_path = .*#gn_path = "${gn}/bin/gn"#' tools/mb/mb.py + + # disable tests + if [ "$doCheck" = "" ]; then sed -i -e '/"test:gn_all",/d' BUILD.gn; fi + + # disable sysroot usage + chmod u+w build/config build/config/sysroot.gni + sed -i build/config/sysroot.gni \ + -e '/use_sysroot =/ { s#\(use_sysroot =\).*#\1 false#; :a n; /current_cpu/ { s/^/#/; ba }; }' + + # patch shebangs (/usr/bin/env) + patchShebangs tools/dev/v8gen.py + ''; + + configurePhase = '' + tools/dev/v8gen.py -vv ${arch}.release -- \ + is_component_build=true \ + ${if snapshot then "v8_use_external_startup_data=false" else "v8_use_snapshot=false"} \ + is_clang=false \ + linux_use_bundled_binutils=false \ + treat_warnings_as_errors=false \ + use_custom_libcxx=false \ + use_custom_libcxx_for_host=false + ''; + + nativeBuildInputs = [ gn ninja pkgconfig ]; + buildInputs = [ python glib ]; + + buildPhase = '' + ninja -C out.gn/${arch}.release/ + ''; + + enableParallelBuilding = true; + + installPhase = '' + install -vD out.gn/${arch}.release/d8 "$out/bin/d8" + install -vD out.gn/${arch}.release/mksnapshot "$out/bin/mksnapshot" + mkdir -p "$out/lib" + for f in libicui18n.so libicuuc.so libv8_libbase.so libv8_libplatform.so libv8.so; do + install -vD out.gn/${arch}.release/$f "$out/lib/$f" + done + install -vD out.gn/${arch}.release/icudtl.dat "$out/lib/icudtl.dat" + mkdir -p "$out/include" + cp -vr include/*.h "$out/include" + cp -vr include/libplatform "$out/include" + ''; + + meta = with lib; { + description = "Google's open source JavaScript engine"; + maintainers = with maintainers; [ cstrahan proglodyte ]; + platforms = platforms.linux; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix index 7b92c1c66cd..2d7289ca664 100644 --- a/pkgs/development/libraries/xapian/default.nix +++ b/pkgs/development/libraries/xapian/default.nix @@ -36,5 +36,5 @@ let in { # xapian-ruby needs 1.2.22 as of 2017-05-06 xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6"; - xapian_1_4 = generic "1.4.8" "0528841hn5lddaa317ax3i3d01zf1izpzh4njiz6s84mxpn06q6s"; + xapian_1_4 = generic "1.4.9" "1k7m7m9jld96k16ansfw2w3c354pvd8ibhnrb6dw012g06fw7sfd"; } diff --git a/pkgs/development/python-modules/sslib/default.nix b/pkgs/development/python-modules/sslib/default.nix new file mode 100644 index 00000000000..3e5be211d42 --- /dev/null +++ b/pkgs/development/python-modules/sslib/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchPypi, buildPythonPackage, isPy3k }: + +buildPythonPackage rec { + pname = "sslib"; + version = "0.2.0"; + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "0b5zrjkvx4klmv57pzhcmvbkdlyn745mn02k7hp811hvjrhbz417"; + }; + + # No tests available + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/jqueiroz/python-sslib; + description = "A Python3 library for sharing secrets"; + license = licenses.mit; + maintainers = with maintainers; [ jqueiroz ]; + }; +} diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index bd3458b98c8..d9ceb20e941 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -53,12 +53,12 @@ }; ale = buildVimPluginFrom2Nix { - name = "ale-2018-10-29"; + name = "ale-2018-10-31"; src = fetchFromGitHub { owner = "w0rp"; repo = "ale"; - rev = "cae40e1c347064bd3ab5eb4c04e9e357d3d82105"; - sha256 = "0f7qsp0gpafk7fimcbivx2cm53hpjz6hr6lzdg8wnxcm0gdw7827"; + rev = "4b841b55869e3ec5b02806f9b2fe962ffdca2750"; + sha256 = "0wa8phv4b6n1akaii8qy9c0lr17vm4bqgz5chjx28zs73jfxsf2i"; }; }; @@ -93,12 +93,12 @@ }; awesome-vim-colorschemes = buildVimPluginFrom2Nix { - name = "awesome-vim-colorschemes-2018-01-20"; + name = "awesome-vim-colorschemes-2018-10-30"; src = fetchFromGitHub { owner = "rafi"; repo = "awesome-vim-colorschemes"; - rev = "8d2b6657bdbe4f7253e320c741bc4c1fc2f2f41d"; - sha256 = "1wfm6rsmyqldxwcz0ic4rq7kf00fgsx00rg42cl9yya35nqiri2z"; + rev = "21d1c93da95d58bead99f3226f9447f5b035afe1"; + sha256 = "1niwwyxgq7k7mbi05lnpz12lbmn9mam9x4qvzxcbvxsqqp2zzsj8"; }; }; @@ -718,6 +718,17 @@ }; }; + jedi-vim = buildVimPluginFrom2Nix { + name = "jedi-vim-2018-10-14"; + src = fetchFromGitHub { + owner = "davidhalter"; + repo = "jedi-vim"; + rev = "b6dfc5fd49c26d4dbe9f54c814956567a7a9b3a8"; + sha256 = "11wvynjl1m23vdp4wvirhmm7vnpji5affbyhwz67yjkvh6c42xqa"; + fetchSubmodules = true; + }; + }; + Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix { name = "Jenkinsfile-vim-syntax-2018-09-25"; src = fetchFromGitHub { @@ -899,12 +910,12 @@ }; neco-vim = buildVimPluginFrom2Nix { - name = "neco-vim-2017-10-01"; + name = "neco-vim-2018-10-30"; src = fetchFromGitHub { owner = "Shougo"; repo = "neco-vim"; - rev = "f5397c5e800d65a58c56d8f1b1b92686b05f4ca9"; - sha256 = "0yb7ja6qgrazszk4i01cwjj00j9vd43zs2r11b08iy8n10jnzr73"; + rev = "4c0203b44f8daa7e2f72e2514488d637e8a766a4"; + sha256 = "03v3h2ks6y9pl960lnvzxlfhnn6l2pcn6d6012znw2wqpralrjq2"; }; }; @@ -949,12 +960,12 @@ }; neomake = buildVimPluginFrom2Nix { - name = "neomake-2018-10-28"; + name = "neomake-2018-10-29"; src = fetchFromGitHub { owner = "benekastah"; repo = "neomake"; - rev = "35f4c002d55d5f722a08eb9acf126f7717072812"; - sha256 = "0ad5dqyjpwn78nadg90jd03n0mkllm0r4jxq72h77dwxsd1prgl9"; + rev = "c15d51ea9f622b8bce469a18833a6ac64f6a1193"; + sha256 = "1l15y0di6k4v0vrwpd86lp2n5ljfjnzncgpxwmbhqb2xznr7caq7"; }; }; @@ -1009,12 +1020,12 @@ }; nerdtree = buildVimPluginFrom2Nix { - name = "nerdtree-2018-10-25"; + name = "nerdtree-2018-10-31"; src = fetchFromGitHub { owner = "scrooloose"; repo = "nerdtree"; - rev = "91e0f2253fbecefa7e14f095950341584877ef19"; - sha256 = "1lkmxplrv211drzmwi93v1fmicdjm146vl471s3h21y77k0hd2f5"; + rev = "8d005db94f8d1a214d172aeb1008d016c3d201e2"; + sha256 = "0f8dljl45ph668kwjf0py0891i3aqfdijplarxnblbkp2zn5ij7g"; }; }; @@ -1479,12 +1490,12 @@ }; tsuquyomi = buildVimPluginFrom2Nix { - name = "tsuquyomi-2018-08-03"; + name = "tsuquyomi-2018-10-31"; src = fetchFromGitHub { owner = "Quramy"; repo = "tsuquyomi"; - rev = "05e6515f6d21545959ac4eb570c917e1d225b1f1"; - sha256 = "0hbd2d8zb86c8ncrrm4zyj92j523xay2lwk2k9arwacn8fj42hir"; + rev = "bdd034d06ed47176ec1ee0bd3dae5bc0aeb053e3"; + sha256 = "119dxmkarbh0b0k4l59mxr19shks4mv96j3mbz02q0kdq18bgrdq"; }; }; @@ -1539,12 +1550,12 @@ }; vim = buildVimPluginFrom2Nix { - name = "vim-2018-10-27"; + name = "vim-2018-10-30"; src = fetchFromGitHub { owner = "dracula"; repo = "vim"; - rev = "854886980635eb70e119d2bd3bb94a0ce46fc71d"; - sha256 = "1ff88clly227cj83ng6bwc8jn3zp20614agg94izqhsxr5bpdp5z"; + rev = "66755a9cb9bdea62720812a1165132de6ff62468"; + sha256 = "0zca3spgnf00rxa0h5x79ydycz41b0xli7bgwpnbxannzxqswhiy"; }; }; @@ -1749,12 +1760,12 @@ }; vim-airline = buildVimPluginFrom2Nix { - name = "vim-airline-2018-10-22"; + name = "vim-airline-2018-11-01"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline"; - rev = "08e9aa5386eecfd6a6cbde1eff240619cd81beed"; - sha256 = "0g9rlr6067sqyp0l4yacnr14phx1wn2jvjcq2x2zwkc0b28hxyrs"; + rev = "6516b1b4dccef543d489177431050fe8a5c5c99c"; + sha256 = "0x4vdxz31vqyd3qy8vr4gcdc649nz72axris5fxj8ln5zphlr6ll"; }; }; @@ -1969,12 +1980,12 @@ }; vim-dispatch = buildVimPluginFrom2Nix { - name = "vim-dispatch-2018-10-02"; + name = "vim-dispatch-2018-10-31"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-dispatch"; - rev = "ab7470d4b03bae9880bf2b5cef60fc0fb51b1101"; - sha256 = "01slb3lcbdba0a4xky6i5xflh1cjm0aq6g8yyfzrgn4w8pq50h9p"; + rev = "d4b8940fd1cd77fc6d300f003b18745a584295b2"; + sha256 = "06g0xc55z9jpa5rl8c5af5apb8b2agahsxxzayl2vn763v9p1n6b"; }; }; @@ -2199,12 +2210,12 @@ }; vim-grepper = buildVimPluginFrom2Nix { - name = "vim-grepper-2018-10-29"; + name = "vim-grepper-2018-10-30"; src = fetchFromGitHub { owner = "mhinz"; repo = "vim-grepper"; - rev = "54cb4c55bd8d80fc046f62b8f6486db2de424399"; - sha256 = "1bzzyh2yav9f54gn17ny8gpi5h70yvjqdyg9lg0b1rglvirjpb1r"; + rev = "a55a14b97dc8ac848eeb95e71d095b75197ba665"; + sha256 = "08p5dp43z9bxllr5fvl3hgnyqyxlvpbfczw1ydncmzvrqqccrx08"; }; }; @@ -2630,12 +2641,12 @@ }; vim-operator-surround = buildVimPluginFrom2Nix { - name = "vim-operator-surround-2017-12-22"; + name = "vim-operator-surround-2018-11-01"; src = fetchFromGitHub { owner = "rhysd"; repo = "vim-operator-surround"; - rev = "001c0da077b5b38a723151b19760d220e02363db"; - sha256 = "0c6w6id57faw6sjf5wvw9qp2a4i7xj65q0c4hjs0spgzycv2wpkh"; + rev = "80337a40a829cfc77b065a71d8a609e2ad7d2c8b"; + sha256 = "0f9shg81bl39hz67ahbi6k6gbhky7gzp8by16fhiz75hbjgp9lq2"; }; }; @@ -2830,12 +2841,12 @@ }; vim-rhubarb = buildVimPluginFrom2Nix { - name = "vim-rhubarb-2018-09-20"; + name = "vim-rhubarb-2018-10-31"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-rhubarb"; - rev = "3a9ddb8ffa46b9fa49f3d9372bbb5d64bdc5fd23"; - sha256 = "1swybc30vyf309w1a34jf94xja1kikvrr3xpixfban50s6aiyips"; + rev = "42072cc349c46db79c0a4411d399a2fe31cfda7e"; + sha256 = "020fshfrwbycs4saci58k625330i2ndfh6lqnxz5h0pp2m5y6jp8"; }; }; @@ -2910,12 +2921,12 @@ }; vim-signify = buildVimPluginFrom2Nix { - name = "vim-signify-2018-10-01"; + name = "vim-signify-2018-10-31"; src = fetchFromGitHub { owner = "mhinz"; repo = "vim-signify"; - rev = "ce2dd937bf3a394ef2fbeda8ab56d2b4437be3c3"; - sha256 = "08ah81bn0cmqphi2lw2y7pjdg8sw2wjwc3p3j6pj0gyqx2bsf408"; + rev = "4e7faba8d32d56d80090dedc5328849a7128b73a"; + sha256 = "0wm1kgklvd4b52lrqb9l7n511p8kaw8y9707962l4nrp8cbrbs31"; }; }; @@ -2980,22 +2991,22 @@ }; vim-speeddating = buildVimPluginFrom2Nix { - name = "vim-speeddating-2017-05-24"; + name = "vim-speeddating-2018-10-31"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-speeddating"; - rev = "a418667791f03694065948342f2d6c5cca8d0f32"; - sha256 = "1wm33izawazh0dy70zjk6rkg30yrlldba5r1gypnr4barps702gw"; + rev = "799cd3473bc64adcb6b556bf349f549570666b62"; + sha256 = "0vyla4lslf1hycx1mvgydhlar2f6bwnwbcp39s1f0m65fqs25rhz"; }; }; vim-startify = buildVimPluginFrom2Nix { - name = "vim-startify-2018-10-02"; + name = "vim-startify-2018-10-31"; src = fetchFromGitHub { owner = "mhinz"; repo = "vim-startify"; - rev = "556bf1d507dfaddfba4b5795716ea20f8ba902ac"; - sha256 = "1jjj7iij08455rlc705m3pnbjg87r2l29jclzkiy7nsvjjh3dfwx"; + rev = "356562270684d8d1647daf0faaf76ac90740990c"; + sha256 = "0qc9ifq4blixda0kyc0zhmqi6cqz44xnk9x17p0p9qqidf1s1l1r"; }; }; @@ -3290,12 +3301,12 @@ }; vimtex = buildVimPluginFrom2Nix { - name = "vimtex-2018-10-29"; + name = "vimtex-2018-11-01"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "8a32372e4fc3c628d36b8215c6d30bd05eeade28"; - sha256 = "1h1fp0jnv4wj96mam9dgnr5y1i4a4bdi4law3y1qh937bx7nk2vd"; + rev = "2aae07e67034f4806d45500a967bf5775ab22baf"; + sha256 = "1ng1ps5f2vh7xs5lfkid7zwvcjglynw53xvd301zpjbgln2gv3fz"; }; }; diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix index 6b8bf42c795..8ed7a944671 100644 --- a/pkgs/misc/vim-plugins/overrides.nix +++ b/pkgs/misc/vim-plugins/overrides.nix @@ -334,4 +334,13 @@ with generated; }; }); + jedi-vim = jedi-vim.overrideAttrs(old: { + # checking for python3 support in vim would be neat, too, but nobody else seems to care + buildInputs = [ python3Packages.jedi ]; + meta = { + description = "code-completion for python using python-jedi"; + license = stdenv.lib.licenses.mit; + }; + }); + } diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index bccb97b72d2..33049c834a2 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -37,14 +37,15 @@ ctjhoa/spacevim ctrlpvim/ctrlp.vim dag/vim2hs dannyob/quickfixstatus +davidhalter/jedi-vim derekelkins/agda-vim derekwyatt/vim-scala dhruvasagar/vim-table-mode digitaltoad/vim-jade dleonard0/pony-vim-syntax dracula/vim -dylanaraps/wal.vim drmingdrmer/xptemplate +dylanaraps/wal.vim eagletmt/ghcmod-vim eagletmt/neco-ghc easymotion/vim-easymotion diff --git a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix deleted file mode 100644 index 0a936c6c053..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ncurses, ... } @ args: - -buildLinux (args // rec { - version = "4.12.2"; - extraMeta.branch = "4.12-2"; - - src = - let upstream = fetchFromGitHub { - owner = "raphael"; - repo = "linux-samus"; - rev = "v${extraMeta.branch}"; - sha256 = "1dr74i79p8r13522w2ppi8gnjd9bhngc9d2hsn91ji6f5a8fbxx9"; - }; in "${upstream}/build/linux"; - - extraMeta.platforms = [ "x86_64-linux" ]; -} // (args.argsOverride or {})) diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix index 0326784b2ac..04e85212f3c 100644 --- a/pkgs/servers/search/solr/default.nix +++ b/pkgs/servers/search/solr/default.nix @@ -1,20 +1,27 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, jre, makeWrapper }: stdenv.mkDerivation rec { name = "solr-${version}"; - version = "4.10.3"; + version = "7.5.0"; src = fetchurl { url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz"; - sha256 = "1dp269jka4q62qhv47j91wsrsnbxfn23lsx6qcycbijrlyh28w5c"; + sha256 = "1g6f58j2pzb73phj4hfri9mj7vmql72by7w3xrbq1pbnqgzxmhpa"; }; - phases = [ "unpackPhase" "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' - mkdir -p $out/lib - cp dist/${name}.war $out/lib/solr.war - cp -r example/lib/ext $out/lib/ext + mkdir -p $out $out/bin + + cp -r bin/solr bin/post $out/bin/ + cp -r contrib $out/ + cp -r dist $out/ + cp -r example $out/ + cp -r server $out/ + + wrapProgram $out/bin/solr --set JAVA_HOME "${jre}" + wrapProgram $out/bin/post --set JAVA_HOME "${jre}" ''; meta = with stdenv.lib; { @@ -22,7 +29,7 @@ stdenv.mkDerivation rec { description = "Open source enterprise search platform from the Apache Lucene project"; license = licenses.asl20; platforms = platforms.all; - maintainers = [ maintainers.rickynils maintainers.domenkozar ]; + maintainers = [ maintainers.rickynils maintainers.domenkozar maintainers.aanderse ]; }; } diff --git a/pkgs/servers/sql/postgresql/plv8/default.nix b/pkgs/servers/sql/postgresql/plv8/default.nix index 009f65b9d81..dae3b2fd1af 100644 --- a/pkgs/servers/sql/postgresql/plv8/default.nix +++ b/pkgs/servers/sql/postgresql/plv8/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "plv8-${version}"; - version = "2.1.0"; + version = "2.3.8"; nativeBuildInputs = [ perl ]; buildInputs = [ v8 postgresql ]; @@ -11,16 +11,20 @@ stdenv.mkDerivation rec { owner = "plv8"; repo = "plv8"; rev = "v${version}"; - sha256 = "1sfpxz0zcbinn6822j12lkwgrw9kfacrs83ic968rm489rl9w241"; + sha256 = "0hrmn1zzzdf52zwldg6axv57p0f3b279l9s8lbpijcv60fqrzx16"; }; + makeFlags = [ "--makefile=Makefile.shared" ]; + preConfigure = '' - substituteInPlace Makefile --replace '-lv8_libplatform' '-lv8_libplatform -lv8_libbase' + patchShebangs ./generate_upgrade.sh ''; + buildPhase = "make -f Makefile.shared all"; + installPhase = '' mkdir -p $out/bin - install -D plv8.so -t $out/lib + install -D plv8*.so -t $out/lib install -D {plls,plcoffee,plv8}{--${version}.sql,.control} -t $out/share/extension ''; diff --git a/pkgs/servers/sql/postgresql/timescaledb/default.nix b/pkgs/servers/sql/postgresql/timescaledb/default.nix index 07dcfb0b701..3c53054ba7d 100644 --- a/pkgs/servers/sql/postgresql/timescaledb/default.nix +++ b/pkgs/servers/sql/postgresql/timescaledb/default.nix @@ -46,6 +46,6 @@ stdenv.mkDerivation rec { homepage = https://www.timescale.com/; maintainers = with maintainers; [ volth ]; platforms = platforms.linux; - license = licenses.postgresql; + license = licenses.asl20; }; } diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix index 991066690ee..0df351bdd56 100644 --- a/pkgs/tools/misc/jdupes/default.nix +++ b/pkgs/tools/misc/jdupes/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "jdupes-${version}"; - version = "1.10.4"; + version = "1.11"; src = fetchFromGitHub { owner = "jbruchon"; repo = "jdupes"; rev = "v${version}"; - sha256 = "03a2jxv634xy5qwjrk784k3y3pd8f94pndf5m84yg2y7i8dvppnk"; + sha256 = "124n9vgnqqhnwgnms7dqmndp25xrcjaykxrzbi4v4as98kxxi3j1"; # Unicode file names lead to different checksums on HFS+ vs. other # filesystems because of unicode normalisation. The testdir # directories have such files and will be removed. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0322dba425e..0beecbb1db5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11694,7 +11694,9 @@ with pkgs; pgroonga = callPackage ../servers/sql/postgresql/pgroonga {}; plv8 = callPackage ../servers/sql/postgresql/plv8 { - v8 = v8_6_x; + v8 = callPackage ../development/libraries/v8/plv8_6_x.nix { + inherit (python2Packages) python; + }; }; phonon = callPackage ../development/libraries/phonon {}; @@ -14318,17 +14320,6 @@ with pkgs; ]; }; - linux_samus_4_12 = callPackage ../os-specific/linux/kernel/linux-samus-4.12.nix { - kernelPatches = - [ kernelPatches.bridge_stp_helper - kernelPatches.p9_fixes - # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md - # when adding a new linux version - kernelPatches.cpu-cgroup-v2."4.11" - kernelPatches.modinst_arg_list_too_long - ]; - }; - linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix { kernelPatches = [ kernelPatches.bridge_stp_helper @@ -14556,11 +14547,6 @@ with pkgs; linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; })); - # Samus kernels - linuxPackages_samus_4_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_4_12); - linuxPackages_samus_latest = linuxPackages_samus_4_12; - linux_samus_latest = linuxPackages_samus_latest.kernel; - # Hardkernel (Odroid) kernels. linuxPackages_hardkernel_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_hardkernel_4_14); linuxPackages_hardkernel_latest = linuxPackages_hardkernel_4_14; @@ -18753,6 +18739,10 @@ with pkgs; rstudio = libsForQt5.callPackage ../applications/editors/rstudio { boost = boost166; }; + rstudio-preview = libsForQt5.callPackage ../applications/editors/rstudio/preview.nix { + boost = boost166; + llvmPackages = llvmPackages_7; + }; rsync = callPackage ../applications/networking/sync/rsync { enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD); diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 831345bcec9..b3017ceb3a1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -662,6 +662,8 @@ in { spglib = callPackage ../development/python-modules/spglib { }; + sslib = callPackage ../development/python-modules/sslib { }; + statistics = callPackage ../development/python-modules/statistics { }; sumo = callPackage ../development/python-modules/sumo { };