From ca3e9a70968c89d26293b8d83f3dc7cacd6f7d23 Mon Sep 17 00:00:00 2001 From: Tobias Happ Date: Fri, 17 Aug 2018 00:08:21 +0200 Subject: [PATCH 01/87] teamspeak_server: 3.0.13.6 -> 3.3.0 --- nixos/modules/services/networking/teamspeak3.nix | 2 +- .../networking/instant-messengers/teamspeak/server.nix | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/networking/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix index 3703921ff70..410d650b1f6 100644 --- a/nixos/modules/services/networking/teamspeak3.nix +++ b/nixos/modules/services/networking/teamspeak3.nix @@ -124,7 +124,7 @@ in dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \ voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \ filetransfer_ip=${cfg.fileTransferIP} filetransfer_port=${toString cfg.fileTransferPort} \ - query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort} + query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort} license_accepted=1 ''; WorkingDirectory = cfg.dataDir; User = user; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix index c86de07bc84..bd1346b1219 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper }: let - version = "3.0.13.6"; + version = "3.3.0"; arch = if stdenv.is64bit then "amd64" else "x86"; libDir = if stdenv.is64bit then "lib64" else "lib"; in @@ -14,9 +14,9 @@ stdenv.mkDerivation { "http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" ]; - sha256 = if stdenv.is64bit - then "19ccd8db5427758d972a864b70d4a1263ebb9628fcc42c3de75ba87de105d179" - else "2f70b3e70a3d9bf86106fab67a938922c8d27fec24e66e229913f78a0791b967"; + sha256 = if stdenv.is64bit + then "1jv5c1br3ypxz8px7fl5rg75j0kfdg8mqasdk2gka6yvgf7qc97i" + else "0m889xl9iz3fmq7wyjjn42swprpspagbkn52a82nzkhgvagd45bz"; }; buildInputs = [ makeWrapper ]; From 7e405b950b13fafedd1c1e53214b5324ecb4370c Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Mon, 27 Aug 2018 16:29:30 -0400 Subject: [PATCH 02/87] nvidia_x11: 390.77 -> 390.87 --- pkgs/os-specific/linux/nvidia-x11/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 16bab9979d0..d9f24874058 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -17,11 +17,11 @@ in rec { # Policy: use the highest stable version as the default (on our master). stable = generic { - version = "390.77"; - sha256_32bit = "1yd313ghh2qbn07d5wbkshfwgkm4mh49vcqkydds3b3xk0mx4i8l"; - sha256_64bit = "10kjccrkdn360035lh985cadhwy6lk9xrw3wlmww2wqfaa25f775"; - settingsSha256 = "1wvxldpjkrx0ldjm5l6ycm6paxpcw89h0n6hfkznfkahkq7fwxdj"; - persistencedSha256 = "1gklmc0v17m018cwpdlzwdyd45y4sjvjhj8a3l44baygix5zn30f"; + version = "390.87"; + sha256_32bit = "0rlr1f4lnpb8c4qz4w5r8xw5gdy9bzz26qww45qyl1qav3wwaaaw"; + sha256_64bit = "07k1kq8lkgbvjyr2dnbxcz6nppcwpq17wf925w8kfq78345hla9q"; + settingsSha256 = "0xlaiy7jr95z0v2c6cwll89nxnb142pybw7m08jg44r7n13ffv3r"; + persistencedSha256 = "0mhwk321garyl6m12261cj03ycv0qz1sbrlbq6cqwjpq4f1s7h58"; }; beta = stable; # not enough interest to maintain beta ATM From af3fdb44ee43568228ee1b7f4dd5619c87c94f7b Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Fri, 7 Sep 2018 19:43:33 -0400 Subject: [PATCH 03/87] nvidia_x11: include drm_mode_connector patch --- pkgs/os-specific/linux/nvidia-x11/default.nix | 2 ++ .../linux/nvidia-x11/drm_mode_connector.patch | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index d9f24874058..d9ff157e142 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -22,6 +22,8 @@ rec { sha256_64bit = "07k1kq8lkgbvjyr2dnbxcz6nppcwpq17wf925w8kfq78345hla9q"; settingsSha256 = "0xlaiy7jr95z0v2c6cwll89nxnb142pybw7m08jg44r7n13ffv3r"; persistencedSha256 = "0mhwk321garyl6m12261cj03ycv0qz1sbrlbq6cqwjpq4f1s7h58"; + + patches = lib.optional (kernel.meta.branch == "4.19") ./drm_mode_connector.patch; }; beta = stable; # not enough interest to maintain beta ATM diff --git a/pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch b/pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch new file mode 100644 index 00000000000..58cf06fae45 --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch @@ -0,0 +1,24 @@ +diff -ura a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c +--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2018-09-07 17:38:31.807453997 -0400 ++++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2018-09-07 17:39:22.446185824 -0400 +@@ -226,7 +226,7 @@ + + + if (nv_connector->edid != NULL) { +- drm_mode_connector_update_edid_property( ++ drm_connector_update_edid_property( + connector, nv_connector->edid); + } + +diff -ura a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c +--- a/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-09-07 17:38:31.807453997 -0400 ++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-09-07 17:39:35.083798484 -0400 +@@ -216,7 +216,7 @@ + + /* Attach encoder and connector */ + +- ret = drm_mode_connector_attach_encoder(connector, encoder); ++ ret = drm_connector_attach_encoder(connector, encoder); + + if (ret != 0) { + NV_DRM_DEV_LOG_ERR( From 898915db944ecd960785bfedc4036eaaca24666a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 20 Sep 2018 03:15:16 -0700 Subject: [PATCH 04/87] smplayer: 18.6.0 -> 18.9.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/smplayer/versions --- pkgs/applications/video/smplayer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix index 10793908632..58ed3ec59b2 100644 --- a/pkgs/applications/video/smplayer/default.nix +++ b/pkgs/applications/video/smplayer/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, qmake, qtscript }: stdenv.mkDerivation rec { - name = "smplayer-18.6.0"; + name = "smplayer-18.9.0"; src = fetchurl { url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; - sha256 = "0pb862l175ycm6fm90nryzgbqy8kbwpv3i6cbn13h7jh1yrz8nqx"; + sha256 = "0gff22yh2h76cyqsbjpa7rax51sfzygjl3isd8dk47zar9cyvw8d"; }; buildInputs = [ qtscript ]; From a16c6d85a1291beede624cdc14833247610eb706 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 20 Sep 2018 06:35:51 -0400 Subject: [PATCH 05/87] nixos/emby: ensure plugins are writeable --- nixos/modules/services/misc/emby.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/misc/emby.nix b/nixos/modules/services/misc/emby.nix index 64cc9c610ac..ff68b850cd9 100644 --- a/nixos/modules/services/misc/emby.nix +++ b/nixos/modules/services/misc/emby.nix @@ -36,11 +36,18 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' - test -d ${cfg.dataDir} || { - echo "Creating initial Emby data directory in ${cfg.dataDir}" - mkdir -p ${cfg.dataDir} - chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} - } + if [ -d ${cfg.dataDir} ] + then + for plugin in ${cfg.dataDir}/plugins/* + do + echo "Correcting permissions of plugin: $plugin" + chmod u+w $plugin + done + else + echo "Creating initial Emby data directory in ${cfg.dataDir}" + mkdir -p ${cfg.dataDir} + chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} + fi ''; serviceConfig = { From 8485e647307a31cf50fbaf053cff053ce674ab5d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 20 Sep 2018 06:44:29 -0700 Subject: [PATCH 06/87] opusfile: 0.10 -> 0.11 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/opusfile/versions --- pkgs/applications/audio/opusfile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix index d864d5972bc..993e3c4fe8c 100644 --- a/pkgs/applications/audio/opusfile/default.nix +++ b/pkgs/applications/audio/opusfile/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }: stdenv.mkDerivation rec { - name = "opusfile-0.10"; + name = "opusfile-0.11"; src = fetchurl { url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz"; - sha256 = "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28"; + sha256 = "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl"; }; nativeBuildInputs = [ pkgconfig ]; From 55a523663032aaacb7d171723af8beeebbba1001 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 07:46:19 -0500 Subject: [PATCH 07/87] xf86-input-libinput: 0.26.0 -> 0.28.0 https://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/log/ --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/overrides.nix | 4 ++-- pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index c9e8dd04c47..5bd35b509ad 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1760,11 +1760,11 @@ let }) // {inherit inputproto xorgserver xproto ;}; xf86inputlibinput = (mkDerivation "xf86inputlibinput" { - name = "xf86-input-libinput-0.26.0"; + name = "xf86-input-libinput-0.28.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2; - sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb"; + url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2; + sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ inputproto xorgserver xproto ]; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index b1a749c7ec4..32a4e67642a 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -335,10 +335,10 @@ in }; xf86inputlibinput = attrs: attrs // rec { - name = "xf86-input-libinput-0.26.0"; + name = "xf86-input-libinput-0.28.0"; src = args.fetchurl { url = "mirror://xorg/individual/driver/${name}.tar.bz2"; - sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb"; + sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691"; }; outputs = [ "out" "dev" ]; buildInputs = attrs.buildInputs ++ [ args.libinput ]; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 6e67e8eb6e1..ca77e640814 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -123,7 +123,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2 mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2 -mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2 +mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2 From ab2f86aec3c5d9bc97041a47b76bfe757a33e19a Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 21 Sep 2018 17:02:48 +0000 Subject: [PATCH 08/87] ocamlPackages.erm_xml: 0.3 -> 0.3+20180112 --- pkgs/development/ocaml-modules/erm_xml/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix index c944752ff6b..35b5c73b578 100644 --- a/pkgs/development/ocaml-modules/erm_xml/default.nix +++ b/pkgs/development/ocaml-modules/erm_xml/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchzip, ocaml, findlib, ocamlbuild }: -if stdenv.lib.versionAtLeast ocaml.version "4.06" +if !stdenv.lib.versionAtLeast ocaml.version "4.02" then throw "erm_xml is not available for OCaml ${ocaml.version}" else -let version = "0.3"; in +let version = "0.3+20180112"; in stdenv.mkDerivation { - name = "ocaml-erm_xml-${version}"; + name = "ocaml${ocaml.version}-erm_xml-${version}"; src = fetchzip { - url = "https://github.com/ermine/xml/archive/v${version}.tar.gz"; - sha256 = "19znk5w0qiw3wij4n6w3h5bcr221yy57jf815fr8k9m8kin710g3"; + url = "https://github.com/hannesm/xml/archive/bbabdade807d8281fc48806da054b70dfe482479.tar.gz"; + sha256 = "1gawpmg8plip0wia0xq60m024dn7l3ykwbjpbqx9f9bdmx74n1rr"; }; buildInputs = [ ocaml findlib ocamlbuild ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation { createFindlibDestdir = true; meta = { - homepage = https://github.com/ermine/xml; + homepage = https://github.com/hannesm/xml; description = "XML Parser for discrete data"; platforms = ocaml.meta.platforms or []; license = stdenv.lib.licenses.bsd3; From 26aa4c36baa119cb108b9949190eb170a16c9ff6 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 21 Sep 2018 17:01:52 +0000 Subject: [PATCH 09/87] ocamlPackages.erm_xmpp: 0.3 -> 0.3+20180112 --- .../instant-messengers/jackline/default.nix | 2 +- .../ocaml-modules/erm_xmpp/0.3.nix | 29 ------------- .../ocaml-modules/erm_xmpp/default.nix | 43 +++++++++---------- pkgs/top-level/ocaml-packages.nix | 2 - 4 files changed, 22 insertions(+), 54 deletions(-) delete mode 100644 pkgs/development/ocaml-modules/erm_xmpp/0.3.nix diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix index 9f85c940c1b..e8cbd27de61 100644 --- a/pkgs/applications/networking/instant-messengers/jackline/default.nix +++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = with ocamlPackages; [ ocaml ocamlbuild findlib topkg ppx_sexp_conv - erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring + erm_xmpp tls nocrypto x509 ocaml_lwt otr astring ptime notty sexplib hex uutf ]; diff --git a/pkgs/development/ocaml-modules/erm_xmpp/0.3.nix b/pkgs/development/ocaml-modules/erm_xmpp/0.3.nix deleted file mode 100644 index 1a8f854185a..00000000000 --- a/pkgs/development/ocaml-modules/erm_xmpp/0.3.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, erm_xml, nocrypto }: - -buildOcaml rec { - version = "0.3"; - name = "erm_xmpp"; - - src = fetchFromGitHub { - owner = "hannesm"; - repo = "xmpp"; - rev = "eee18bd3dd343550169969c0b45548eafd51cfe1"; - sha256 = "0hzs528lrx1ayalv6fh555pjn0b4l8xch1f72hd3b07g1xahdas5"; - }; - - buildInputs = [ ocaml findlib ]; - propagatedBuildInputs = [ erm_xml nocrypto ]; - - configurePhase = "ocaml setup.ml -configure --prefix $out"; - buildPhase = "ocaml setup.ml -build"; - installPhase = "ocaml setup.ml -install"; - - createFindlibDestdir = true; - - meta = { - homepage = https://github.com/hannesm/xmpp; - description = "OCaml based XMPP implementation (fork)"; - license = stdenv.lib.licenses.bsd3; - maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; - }; -} diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix index c6027ce11ce..a6bb75e61c2 100644 --- a/pkgs/development/ocaml-modules/erm_xmpp/default.nix +++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix @@ -1,33 +1,32 @@ -{ stdenv, fetchurl, fetchzip, ocaml, findlib, ocamlbuild, erm_xml, cryptokit, camlp4 }: +{ stdenv, fetchFromGitHub, ocaml, findlib, camlp4, ocamlbuild +, erm_xml, nocrypto +}: -let - version = "0.2"; - disable-tests = fetchurl { - url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/erm_xmpp/erm_xmpp.0.2/files/disable_tests.patch; - sha256 = "09d8630nmx2x8kb8ap1zmsb93zs14cqg7ga1gmdl92jvsjxbhgc1"; +stdenv.mkDerivation rec { + version = "0.3+20180112"; + name = "ocaml${ocaml.version}-erm_xmpp-${version}"; + + src = fetchFromGitHub { + owner = "hannesm"; + repo = "xmpp"; + rev = "184dc70fab7d46d09b9148ca4448f07f1e0a2df2"; + sha256 = "1dsqsfacvd9xqsqjzh6xwbnf2mv1dvhy210riyvjd260q085ch6n"; }; -in - -stdenv.mkDerivation { - name = "ocaml-erm_xmpp-${version}"; - - src = fetchzip { - url = "https://github.com/ermine/xmpp/archive/v${version}.tar.gz"; - sha256 = "0saw2dmrzv2aadrznvyvchnhivvcwm78x9nwf6flq5v0pqddapk2"; - }; - - patches = [ disable-tests ]; buildInputs = [ ocaml findlib ocamlbuild camlp4 ]; - propagatedBuildInputs = [ erm_xml cryptokit ]; + propagatedBuildInputs = [ erm_xml nocrypto ]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; createFindlibDestdir = true; meta = { - homepage = https://github.com/ermine/xmpp; - description = "OCaml based XMPP implementation"; - platforms = ocaml.meta.platforms or []; + homepage = https://github.com/hannesm/xmpp; + description = "OCaml based XMPP implementation (fork)"; license = stdenv.lib.licenses.bsd3; - maintainers = with stdenv.lib.maintainers; [ vbgl ]; + maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; + inherit (ocaml.meta) platforms; }; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index f5e5cfb3972..6039ef7dcf1 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -240,8 +240,6 @@ let erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { }; - erm_xmpp_0_3 = callPackage ../development/ocaml-modules/erm_xmpp/0.3.nix { }; - estring = callPackage ../development/ocaml-modules/estring { }; ezjsonm = callPackage ../development/ocaml-modules/ezjsonm { }; From dbd57837913b6322a314c52a071a8b343318b543 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 24 Jun 2018 08:27:33 +0000 Subject: [PATCH 10/87] jackline: 2017-12-24 -> 2018-05-11 --- .../instant-messengers/jackline/default.nix | 8 ++--- .../jackline/tls-0.9.0.patch | 29 ------------------- pkgs/top-level/all-packages.nix | 4 +-- 3 files changed, 4 insertions(+), 37 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix index e8cbd27de61..689445d7dcb 100644 --- a/pkgs/applications/networking/instant-messengers/jackline/default.nix +++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix @@ -3,18 +3,16 @@ assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2"; stdenv.mkDerivation rec { - version = "2017-12-24"; + version = "2018-05-11"; name = "jackline-${version}"; src = fetchFromGitHub { owner = "hannesm"; repo = "jackline"; - rev = "8678e8a1a06e641218a31ae25150040202f89289"; - sha256 = "05z9kvd7gwr59ic7hnmbayhwyyqd41xxz01cvdlcgplk3z7zlwg5"; + rev = "bc36b1c8b80fee6baba4f91011cd01b82a06e8eb"; + sha256 = "1xx2yx8a95m84sa1bkxi3rlx7pd39zkqwk3znj0zzz3cni6apfrz"; }; - patches = [ ./tls-0.9.0.patch ]; - buildInputs = with ocamlPackages; [ ocaml ocamlbuild findlib topkg ppx_sexp_conv erm_xmpp tls nocrypto x509 ocaml_lwt otr astring diff --git a/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch b/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch deleted file mode 100644 index 38f38a03a80..00000000000 --- a/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/cli/cli_config.ml b/cli/cli_config.ml -index 991ee77..59a0edb 100644 ---- a/cli/cli_config.ml -+++ b/cli/cli_config.ml -@@ -207,7 +207,9 @@ let configure term () = - ask above "CA file: " (fun x -> x) (fun x -> if Sys.file_exists x then `Ok x else `Invalid) term >>= fun trust_anchor -> - Lwt_unix.access trust_anchor [ Unix.F_OK ; Unix.R_OK ] >>= fun () -> - X509_lwt.certs_of_pem trust_anchor >>= fun tas -> -- (match X509.Validation.valid_cas ~time:(Unix.time ()) tas with -+ let time = match Ptime.of_float_s (Unix.time ()) -+ with Some time -> time | None -> assert false in -+ (match X509.Validation.valid_cas ~time tas with - | [] -> Lwt.fail (Invalid_argument "trust anchor file is empty!") - | _ -> Lwt.return (`Trust_anchor trust_anchor)) - | Some fp -> Lwt.return (`Fingerprint fp) ) >>= fun authenticator -> -diff --git a/cli/cli_state.ml b/cli/cli_state.ml -index d5db502..91540c9 100644 ---- a/cli/cli_state.ml -+++ b/cli/cli_state.ml -@@ -262,7 +262,8 @@ module Connect = struct - (match config.Xconfig.authenticator with - | `Trust_anchor x -> X509_lwt.authenticator (`Ca_file x) - | `Fingerprint fp -> -- let time = Unix.gettimeofday () in -+ let time = match Ptime.of_float_s (Unix.gettimeofday ()) -+ with Some time -> time | None -> assert false in - let fp = - Nocrypto.Uncommon.Cs.of_hex - (String.map (function ':' -> ' ' | x -> x) fp) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6448a0b4bd..6aa6f2df192 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16954,9 +16954,7 @@ with pkgs; extra-packages = [ csound ]; }; - jackline = callPackage ../applications/networking/instant-messengers/jackline { - ocamlPackages = ocaml-ng.ocamlPackages_4_05; - }; + jackline = callPackage ../applications/networking/instant-messengers/jackline { }; slack = callPackage ../applications/networking/instant-messengers/slack { }; From 08f266490b7bb0c3b5492c0e3883828b5f4fd565 Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Mon, 10 Sep 2018 19:43:17 +0300 Subject: [PATCH 11/87] rmilter: move rmilter.sock out of /run/rmilter /run/rmilter is set by systemd, and have root:root ownership, which prevent pid file to write. This fix suggested to be promoted to 18.09 branch. (Although rmilter itself is deprecated, and I plan to remove it, after 18.09 would be released) --- nixos/modules/services/mail/rmilter.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix index 7f38d757013..c3e3d823242 100644 --- a/nixos/modules/services/mail/rmilter.nix +++ b/nixos/modules/services/mail/rmilter.nix @@ -89,7 +89,7 @@ in bindSocket.path = mkOption { type = types.str; - default = "/run/rmilter/rmilter.sock"; + default = "/run/rmilter.sock"; description = '' Path to Unix domain socket to listen on. ''; From da18ffac6bf62e592a91babb50e7ad960984ba5f Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Sat, 22 Sep 2018 13:38:44 -0700 Subject: [PATCH 12/87] xsecurelock: 1.0 -> 1.1 --- pkgs/tools/X11/xsecurelock/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix index c252894dbfe..4ee51100b33 100644 --- a/pkgs/tools/X11/xsecurelock/default.nix +++ b/pkgs/tools/X11/xsecurelock/default.nix @@ -1,21 +1,21 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig -, libX11, libXcomposite, libXft, pam, apacheHttpd, imagemagick +, libX11, libXcomposite, libXft, libXmu, pam, apacheHttpd, imagemagick , pamtester, xscreensaver }: stdenv.mkDerivation rec { name = "xsecurelock-${version}"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "google"; repo = "xsecurelock"; rev = "v${version}"; - sha256 = "0k135hnfnn1j82wvc03b8jkq06wws1xk325x5m25ps6xwsn725sw"; + sha256 = "0yqp5xhkl9jpjyrmrxbyp7azwxmqc3lxv5lxrjqjaapl3q3096g5"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ - libX11 libXcomposite libXft pam + libX11 libXcomposite libXft libXmu pam apacheHttpd imagemagick pamtester ]; From f777d2b719be0db4cb7819d5b6dbdd121db29a37 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 22 Sep 2018 23:28:02 +0200 Subject: [PATCH 13/87] virtualization/qemu-vm: fix and improve virtio/scsi switching --- nixos/modules/virtualisation/qemu-vm.nix | 44 ++++++++++++++---------- pkgs/build-support/vm/default.nix | 16 +++++++-- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 4e9c87222d0..eec1a85162b 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -32,15 +32,21 @@ let # expressions and shell script stuff. mkDiskIfaceDriveFlag = idx: driveArgs: let inherit (cfg.qemu) diskInterface; + isSCSI = diskInterface == "scsi"; # The drive identifier created by incrementing the index by one using the # shell. drvId = "drive$((${idx} + 1))"; + dvcId = "${diskInterface}$((${idx} + 1))"; # NOTE: DO NOT shell escape, because this may contain shell variables. - commonArgs = "index=${idx},id=${drvId},${driveArgs}"; - isSCSI = diskInterface == "scsi"; - devArgs = "${diskInterface}-hd,drive=${drvId}"; - args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}"; - in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}"; + commonDriveArgs = "media=disk,id=${drvId},${driveArgs}"; + commonInterfaceArgs = "drive=${drvId},id=${dvcId},bootindex=${idx}"; + in lib.concatStrings [ + "-drive ${commonDriveArgs},if=none " + ''${if isSCSI then + "-device lsi53c895a -device ${diskInterface}-hd,${commonInterfaceArgs}" + else + "-device virtio-blk-pci,scsi=off,${commonInterfaceArgs}"} '' + ]; # Shell script to start the VM. startVM = @@ -97,15 +103,15 @@ let -virtfs local,path=/nix/store,security_model=none,mount_tag=store \ -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \ -virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \ + ${mkDiskIfaceDriveFlag "1" "file=$NIX_DISK_IMAGE,media=disk,cache=writeback,werror=report"} \ ${if cfg.useBootLoader then '' - ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \ - ${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \ + -boot menu=on \ + ${mkDiskIfaceDriveFlag "0" "file=$TMPDIR/disk.img,media=disk"} \ ${if cfg.useEFIBoot then '' -pflash $TMPDIR/bios.bin \ '' else '' - ''} - '' else '' - ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \ + \''} + '' else '' \ -kernel ${config.system.build.toplevel}/kernel \ -initrd ${config.system.build.toplevel}/initrd \ -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \ @@ -141,8 +147,9 @@ let ''; buildInputs = [ pkgs.utillinux ]; QEMU_OPTS = if cfg.useEFIBoot - then "-pflash $out/bios.bin -nographic -serial pty" - else "-nographic -serial pty"; + then "-pflash $out/bios.bin -nographic" + else "-nographic"; + diskInterface = cfg.qemu.diskInterface; } '' # Create a /boot EFI partition with 40M and arbitrary but fixed GUIDs for reproducibility @@ -155,10 +162,10 @@ let --partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \ --partition-guid=2:970C694F-AFD0-4B99-B750-CDB7A329AB6F \ --hybrid 2 \ - --recompute-chs /dev/vda - ${pkgs.dosfstools}/bin/mkfs.fat -F16 /dev/vda2 + --recompute-chs ${config.virtualisation.bootDevice} + ${pkgs.dosfstools}/bin/mkfs.fat -F16 ${config.virtualisation.bootDevice}2 export MTOOLS_SKIP_CHECK=1 - ${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot + ${pkgs.mtools}/bin/mlabel -i ${config.virtualisation.bootDevice}2 ::boot # Mount /boot; load necessary modules first. ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true @@ -167,11 +174,11 @@ let ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true mkdir /boot - mount /dev/vda2 /boot + mount ${config.virtualisation.bootDevice}2 /boot # This is needed for GRUB 0.97, which doesn't know about virtio devices. mkdir /boot/grub - echo '(hd0) /dev/vda' > /boot/grub/device.map + echo '(hd0) ${config.virtualisation.bootDevice}' > /boot/grub/device.map # Install GRUB and generate the GRUB boot menu. touch /etc/NIXOS @@ -464,7 +471,8 @@ in boot.initrd.availableKernelModules = optional cfg.writableStore "overlay" - ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"; + ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx" + ++ optional (cfg.qemu.diskInterface == "scsi") "virtio_scsi"; virtualisation.bootDevice = mkDefault (if cfg.qemu.diskInterface == "scsi" then "/dev/sda" else "/dev/vda"); diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 03b3fb1f9f2..6e98099460f 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -3,8 +3,9 @@ , img ? pkgs.stdenv.hostPlatform.platform.kernelTarget , storeDir ? builtins.storeDir , rootModules ? - [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ] + [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" "sym53c8xx" "virtio_scsi" "ahci "] ++ pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos" +, config }: with pkgs; @@ -196,9 +197,17 @@ rec { ${qemuBinary qemu} \ -nographic -no-reboot \ -device virtio-rng-pci \ + ${if "$diskInterface" == "scsi" then '' \ + \ # FIXME: /dev/sda is not created within the VM + -device lsi53c895a \ + -device scsi-hd,drive=hd,id=scsi1,bootindex=1 \ + ''${diskImage:+-drive file=$diskImage,media=disk,if=none,id=hd,cache=unsafe,werror=report} \ + '' else '' \ + -drive file=$diskImage,media=disk,if=none,id=hd \ + -device virtio-blk-pci,scsi=off,drive=hd,id=virtio0,bootindex=1 \ + \''} -virtfs local,path=${storeDir},security_model=none,mount_tag=store \ -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \ - ''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \ -kernel ${kernel}/${img} \ -initrd ${initrd}/initrd \ -append "console=${qemuSerialDevice} panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \ @@ -298,12 +307,13 @@ rec { `run-vm' will be left behind in the temporary build directory that allows you to boot into the VM and debug it interactively. */ - runInLinuxVM = drv: lib.overrideDerivation drv ({ memSize ? 512, QEMU_OPTS ? "", args, builder, ... }: { + runInLinuxVM = drv: lib.overrideDerivation drv ({ memSize ? 512, QEMU_OPTS ? "", args, builder, ... } @ moreArgs : { requiredSystemFeatures = [ "kvm" ]; builder = "${bash}/bin/sh"; args = ["-e" (vmRunCommand qemuCommandLinux)]; origArgs = args; origBuilder = builder; + diskInterface = "${moreArgs.diskInterface}"; QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize}"; passAsFile = []; # HACK fix - see https://github.com/NixOS/nixpkgs/issues/16742 }); From 94bec239d56a0184629ce0cb95e4f6efcc835772 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sat, 22 Sep 2018 23:33:16 -0500 Subject: [PATCH 14/87] nixos: make firefox default browser Without this the graphical installer has no way to open the manual. You can fix it yourself by installing any HTML browser but this might be unfamiliar to users new to NixOS and without any other way to open the manual. The downside is it will also increase download sizes. Fixes #46537 --- nixos/modules/profiles/graphical.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix index 332cf58aa53..1a8372ddc43 100644 --- a/nixos/modules/profiles/graphical.nix +++ b/nixos/modules/profiles/graphical.nix @@ -11,5 +11,5 @@ libinput.enable = true; # for touchpad support on many laptops }; - environment.systemPackages = [ pkgs.glxinfo ]; + environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ]; } From 67c8c4917799496dcf2ad6a500441fbbaeb918c9 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 23 Sep 2018 00:14:27 -0500 Subject: [PATCH 15/87] nixos: set nixos in nixPath This makes using the nixos channel work out of the box with the new Nix commands. For example: $ nix run nixos.firefox -c firefox Fixes #46536 --- nixos/modules/services/misc/nix-daemon.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index c0eb882c58f..2d14e27ffc3 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -347,6 +347,7 @@ in [ "$HOME/.nix-defexpr/channels" "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" + "nixos=/nix/var/nix/profiles/per-user/root/channels/nixos" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; From e141f7cd2fdd4d81dd4fd6717c9a0172f20c2c2b Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Sun, 23 Sep 2018 01:02:51 -0700 Subject: [PATCH 16/87] pythonPackages.flask_assets: fix tests (#47203) --- pkgs/development/python-modules/flask-assets/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/flask-assets/default.nix b/pkgs/development/python-modules/flask-assets/default.nix index 7f3b6367b6e..a8e454f4a2c 100644 --- a/pkgs/development/python-modules/flask-assets/default.nix +++ b/pkgs/development/python-modules/flask-assets/default.nix @@ -9,6 +9,10 @@ buildPythonPackage rec { sha256 = "0ivqsihk994rxw58vdgzrx4d77d7lpzjm4qxb38hjdgvi5xm4cb0"; }; + patchPhase = '' + substituteInPlace tests/test_integration.py --replace 'static_path=' 'static_url_path=' + ''; + propagatedBuildInputs = [ flask webassets flask_script nose ]; meta = with lib; { From 3f883b443cfcbaede0cc8b8171c14178496ea003 Mon Sep 17 00:00:00 2001 From: markuskowa Date: Sun, 23 Sep 2018 10:08:50 +0200 Subject: [PATCH 17/87] gnuradio-limesdr: init at 1.0.0-RC (#47176) --- pkgs/applications/misc/gnuradio/limesdr.nix | 38 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/misc/gnuradio/limesdr.nix diff --git a/pkgs/applications/misc/gnuradio/limesdr.nix b/pkgs/applications/misc/gnuradio/limesdr.nix new file mode 100644 index 00000000000..535dbfa3c53 --- /dev/null +++ b/pkgs/applications/misc/gnuradio/limesdr.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, cmake, boost, gnuradio +, pythonSupport ? true, python, swig, limesuite +} : + +assert pythonSupport -> python != null && swig != null; + +let + version = "1.0.0-RC"; + +in stdenv.mkDerivation rec { + name = "gnuradio-limesdr-${version}"; + + src = fetchFromGitHub { + owner = "myriadrf"; + repo = "gr-limesdr"; + rev = "v${version}"; + sha256 = "0b34mg9nfar2gcir98004ixrxmxi8p3p2hrvvi1razd869x2a0lf"; + }; + + nativeBuildInputs = [ + cmake + ] ++ stdenv.lib.optionals pythonSupport [ swig ]; + + buildInputs = [ + boost gnuradio limesuite + ] ++ stdenv.lib.optionals pythonSupport [ python ]; + + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Gnuradio source and sink blocks for LimeSDR"; + homepage = https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = [ maintainers.markuskowa ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8e9b5aa8b49..ae19c6d650d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16405,7 +16405,7 @@ with pkgs; gnuradio-with-packages = callPackage ../applications/misc/gnuradio/wrapper.nix { inherit (python2Packages) python; - extraPackages = [ gnuradio-nacl gnuradio-osmosdr gnuradio-gsm gnuradio-ais gnuradio-rds ]; + extraPackages = [ gnuradio-nacl gnuradio-osmosdr gnuradio-gsm gnuradio-ais gnuradio-rds gnuradio-limesdr ]; }; gnuradio-nacl = callPackage ../applications/misc/gnuradio/nacl.nix { }; @@ -16414,6 +16414,8 @@ with pkgs; gnuradio-ais = callPackage ../applications/misc/gnuradio/ais.nix { }; + gnuradio-limesdr = callPackage ../applications/misc/gnuradio/limesdr.nix { }; + gnuradio-rds = callPackage ../applications/misc/gnuradio/rds.nix { }; gnuradio-osmosdr = callPackage ../applications/misc/gnuradio/osmosdr.nix { }; From ef2b217812c4df77619a6f0fcb635dfcc5e2b64a Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sun, 23 Sep 2018 04:14:48 -0400 Subject: [PATCH 18/87] qesteidutil: Fixes build from Qt upgrade. (#46083) --- pkgs/tools/security/qesteidutil/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/security/qesteidutil/default.nix b/pkgs/tools/security/qesteidutil/default.nix index 016017205ab..20135895d76 100644 --- a/pkgs/tools/security/qesteidutil/default.nix +++ b/pkgs/tools/security/qesteidutil/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, fetchpatch , cmake, ccid, qttools, qttranslations , pkgconfig, pcsclite, hicolor-icon-theme }: @@ -19,6 +19,13 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + patches = [ + (fetchpatch { + url = https://github.com/open-eid/qesteidutil/commit/868e8245f2481e29e1154e168ac92d32e93a5425.patch; + sha256 = "0pwrkd8inf0qaf7lcchmj558k6z34ah672zcb722aa5ybbif0lkn"; + }) + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake ccid qttools pcsclite qttranslations hicolor-icon-theme From 589b290b433a22d097a6dd9fae6cd03c2f15fdc2 Mon Sep 17 00:00:00 2001 From: xeji <36407913+xeji@users.noreply.github.com> Date: Sun, 23 Sep 2018 10:46:22 +0200 Subject: [PATCH 19/87] nixos/tests/prosody: use sqlite database (#47185) The test didn't catch an issue with luadbi because it used internal storage only. Switch to sqlite to test sql access. --- nixos/tests/prosody.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix index 5d33aaf8d65..61ae5bb38ed 100644 --- a/nixos/tests/prosody.nix +++ b/nixos/tests/prosody.nix @@ -6,6 +6,9 @@ import ./make-test.nix { enable = true; # TODO: use a self-signed certificate c2sRequireEncryption = false; + extraConfig = '' + storage = "sql" + ''; }; environment.systemPackages = let sendMessage = pkgs.writeScriptBin "send-message" '' From c987ed0896fb240d380dfa0143f513349aa31a3e Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Sun, 23 Sep 2018 02:01:57 -0700 Subject: [PATCH 20/87] erlangR18: apply upstream patches to fix nondeterministic build failures (#47202) As per the following bug report, sometimes erts/start_scripts will fail to compile because of a Makefile ordering issue. Apply the upstream patches to fix this. https://bugs.erlang.org/browse/ERL-241 --- pkgs/development/interpreters/erlang/R18.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix index ee524feb4c6..58b7fd71f0b 100644 --- a/pkgs/development/interpreters/erlang/R18.nix +++ b/pkgs/development/interpreters/erlang/R18.nix @@ -11,6 +11,16 @@ let sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm"; }; + makeOrderingPatch = fetchpatch { + url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch"; + sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n"; + }; + + makeParallelInstallPatch = fetchpatch { + url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch"; + sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c"; + }; + in mkDerivation rec { version = "18.3.4.8"; sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g"; @@ -18,5 +28,7 @@ in mkDerivation rec { patches = [ rmAndPwdPatch envAndCpPatch + makeOrderingPatch + makeParallelInstallPatch ]; } From 91d9e1eb22c7ab6cb8649400e785b10445995efc Mon Sep 17 00:00:00 2001 From: Jos van Bakel Date: Sun, 23 Sep 2018 12:00:52 +0200 Subject: [PATCH 21/87] influxdb: 1.4.1 -> 1.6.3 (#47186) --- pkgs/servers/nosql/influxdb/default.nix | 6 +- pkgs/servers/nosql/influxdb/deps-1.6.3.nix | 444 +++++++++++++++++++++ 2 files changed, 447 insertions(+), 3 deletions(-) create mode 100644 pkgs/servers/nosql/influxdb/deps-1.6.3.nix diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix index e73233bd144..a47553b975e 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { name = "influxdb-${version}"; - version = "1.4.1"; + version = "1.6.3"; src = fetchFromGitHub { owner = "influxdata"; repo = "influxdb"; rev = "v${version}"; - sha256 = "048ap70hdfkxhy0y8q1jsb0lql1i99jnf3cqaqar6qs2ynzsw9hd"; + sha256 = "0xf16liapllk8qnw0vsy1ja4if1xlazwwaa4p0r5j7bny5lxm7zy"; }; buildFlagsArray = [ ''-ldflags= @@ -19,7 +19,7 @@ buildGoPackage rec { excludedPackages = "test"; - # Generated with the nix2go + # Generated with dep2nix (for 1.6.3) / nix2go (for 1.4.1). goDeps = ./. + "/deps-${version}.nix"; meta = with lib; { diff --git a/pkgs/servers/nosql/influxdb/deps-1.6.3.nix b/pkgs/servers/nosql/influxdb/deps-1.6.3.nix new file mode 100644 index 00000000000..a2f4dfaeb8d --- /dev/null +++ b/pkgs/servers/nosql/influxdb/deps-1.6.3.nix @@ -0,0 +1,444 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "collectd.org"; + fetch = { + type = "git"; + url = "https://github.com/collectd/go-collectd"; + rev = "2ce144541b8903101fb8f1483cc0497a68798122"; + sha256 = "0rr9rnc777jk27a7yxhdb7vgkj493158a8k6q44x51s30dkp78x3"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895"; + sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"; + }; + } + { + goPackagePath = "github.com/RoaringBitmap/roaring"; + fetch = { + type = "git"; + url = "https://github.com/RoaringBitmap/roaring"; + rev = "d6540aab65a17321470b1661bfc52da1823871e9"; + sha256 = "1lsrz7j55blalpp95vgz214b35sjf8nfmrw3fxybdl4xipk2ssdj"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9"; + sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"; + }; + } + { + goPackagePath = "github.com/bmizerany/pat"; + fetch = { + type = "git"; + url = "https://github.com/bmizerany/pat"; + rev = "6226ea591a40176dd3ff9cd8eff81ed6ca721a00"; + sha256 = "0qjkm7169y6pybwh0s02fjjk251isa2b367xqfzrwvl6cy4yzfxp"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8"; + sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"; + }; + } + { + goPackagePath = "github.com/cespare/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/cespare/xxhash"; + rev = "5c37fe3735342a2e0d01c87a907579987c8936cc"; + sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "346938d642f2ec3594ed81d874461961cd0faa76"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"; + sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp"; + }; + } + { + goPackagePath = "github.com/dgryski/go-bitstream"; + fetch = { + type = "git"; + url = "https://github.com/dgryski/go-bitstream"; + rev = "9f22ccc24718d9643ac427c8c897ae1a01575783"; + sha256 = "0x3hbsrn7qafhhjz6lgyc1pd1p5kgkrkbccvsr6yygkl785h5lhn"; + }; + } + { + goPackagePath = "github.com/glycerine/go-unsnap-stream"; + fetch = { + type = "git"; + url = "https://github.com/glycerine/go-unsnap-stream"; + rev = "62a9a9eb44fd8932157b1a8ace2149eff5971af6"; + sha256 = "1ray7p4q3vv5zn9w5xs7m9kjh68b2ck98nh25mxhfiwl9jxkabrc"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "1adfc126b41513cc696b209667c8656ea7aac67c"; + sha256 = "1j7azzlnihcvnd1apw5zr0bz30h7n0gyimqqkgc76vzb1n5dpi7m"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "925541529c1fa6821df4e44ce2723319eb2be768"; + sha256 = "1d3zjvhl115l23xakj0014qpjchivlg098h10v5nfirkk1i9f9sa"; + }; + } + { + goPackagePath = "github.com/golang/snappy"; + fetch = { + type = "git"; + url = "https://github.com/golang/snappy"; + rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380"; + sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn"; + }; + } + { + goPackagePath = "github.com/google/go-cmp"; + fetch = { + type = "git"; + url = "https://github.com/google/go-cmp"; + rev = "3af367b6b30c263d47e8895973edcca9a49cf029"; + sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds"; + }; + } + { + goPackagePath = "github.com/influxdata/influxql"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/influxql"; + rev = "a7267bff5327e316e54c54342b0bc9598753e3d5"; + sha256 = "0mqc9xki5l9yfbb0dqjb417cmv3pca1bj71m90dkshladr2wlcg3"; + }; + } + { + goPackagePath = "github.com/influxdata/usage-client"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/usage-client"; + rev = "6d3895376368aa52a3a81d2a16e90f0f52371967"; + sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl"; + }; + } + { + goPackagePath = "github.com/influxdata/yamux"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/yamux"; + rev = "1f58ded512de5feabbe30b60c7d33a7a896c5f16"; + sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx"; + }; + } + { + goPackagePath = "github.com/influxdata/yarpc"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/yarpc"; + rev = "f0da2db138cad2fb425541938fc28dd5a5bc6918"; + sha256 = "1g71flc8s8xas7vmaiwv0425paii1akc7jsdqsgxkhyfxx2gvib0"; + }; + } + { + goPackagePath = "github.com/jsternberg/zap-logfmt"; + fetch = { + type = "git"; + url = "https://github.com/jsternberg/zap-logfmt"; + rev = "ac4bd917e18a4548ce6e0e765b29a4e7f397b0b6"; + sha256 = "0pqp2nsqvsq8kqc7l14340lrvl03715s12bag63kdbi25s8fcdkx"; + }; + } + { + goPackagePath = "github.com/jwilder/encoding"; + fetch = { + type = "git"; + url = "https://github.com/jwilder/encoding"; + rev = "b4e1701a28efcc637d9afcca7d38e495fe909a09"; + sha256 = "195js5njz86k096p3ggglgpc7rw3801mpqzdfwfr3miflhnp7nwg"; + }; + } + { + goPackagePath = "github.com/klauspost/compress"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/compress"; + rev = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf"; + sha256 = "00h2lpqcyc3pg2xk3q4a9cgyv0vkn15bx0hb725j5zbkr9vah23x"; + }; + } + { + goPackagePath = "github.com/klauspost/cpuid"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/cpuid"; + rev = "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da"; + sha256 = "178apw89g8nsd7w6mbdylxn956h3iig6rbw3bkivp6lplhb5dvq4"; + }; + } + { + goPackagePath = "github.com/klauspost/crc32"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/crc32"; + rev = "cb6bfca970f6908083f26f39a79009d608efd5cd"; + sha256 = "0q4yr4isgmph1yf1vq527lpmid7vqv56q7vxh3gkp5679fb90q6n"; + }; + } + { + goPackagePath = "github.com/klauspost/pgzip"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/pgzip"; + rev = "0bf5dcad4ada2814c3c00f996a982270bb81a506"; + sha256 = "0dgp2iljvhibzxia1g3lsfg4bjmfh4kf0bfrmfi7sd49hwhrvk7s"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c"; + sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "3247c84500bff8d9fb6d579d800f20b3e091582c"; + sha256 = "12hcych25wf725zxdkpnyx4wa0gyxl8v4m8xmhdmmaki9bbmqd0d"; + }; + } + { + goPackagePath = "github.com/mschoch/smat"; + fetch = { + type = "git"; + url = "https://github.com/mschoch/smat"; + rev = "90eadee771aeab36e8bf796039b8c261bebebe4f"; + sha256 = "141saq6d4z3c7v3jw45zy4gn6wwjlyralqygjff1fzvz1gkvimk3"; + }; + } + { + goPackagePath = "github.com/opentracing/opentracing-go"; + fetch = { + type = "git"; + url = "https://github.com/opentracing/opentracing-go"; + rev = "328fceb7548c744337cd010914152b74eaf4c4ab"; + sha256 = "1w6s42n9glqwif6awyiapr7sh1wjvkxan41qhc1yi555byyw200k"; + }; + } + { + goPackagePath = "github.com/paulbellamy/ratecounter"; + fetch = { + type = "git"; + url = "https://github.com/paulbellamy/ratecounter"; + rev = "524851a93235ac051e3540563ed7909357fe24ab"; + sha256 = "0z4c61ac6v8mpnr9z37d91h1cf8v9psja5jfdxmsf69r1b7qr4f9"; + }; + } + { + goPackagePath = "github.com/peterh/liner"; + fetch = { + type = "git"; + url = "https://github.com/peterh/liner"; + rev = "6106ee4fe3e8435f18cd10e34557e5e50f0e792a"; + sha256 = "178s1amw5r60lywgmh24pd2ljim0b05fdfsm4c8px22fkycmn1qr"; + }; + } + { + goPackagePath = "github.com/philhofer/fwd"; + fetch = { + type = "git"; + url = "https://github.com/philhofer/fwd"; + rev = "bb6d471dc95d4fe11e432687f8b70ff496cf3136"; + sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "661e31bf844dfca9aeba15f27ea8aa0d485ad212"; + sha256 = "0r9sr3m57ks7rc5bbghl0gy9wxlznzmz331xdp42zlgk6g774xcn"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"; + sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "e4aa40a9169a88835b849a6efb71e05dc04b88f0"; + sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "54d17b57dd7d4a3aa092476596b3f8a933bde349"; + sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr"; + }; + } + { + goPackagePath = "github.com/retailnext/hllpp"; + fetch = { + type = "git"; + url = "https://github.com/retailnext/hllpp"; + rev = "101a6d2f8b52abfc409ac188958e7e7be0116331"; + sha256 = "1dyyjyrscd3d22jhh2pbn67c6nzva0v069215sjjmj313k1xzmj3"; + }; + } + { + goPackagePath = "github.com/tinylib/msgp"; + fetch = { + type = "git"; + url = "https://github.com/tinylib/msgp"; + rev = "b2b6a672cf1e5b90748f79b8b81fc8c5cf0571a1"; + sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc"; + }; + } + { + goPackagePath = "github.com/willf/bitset"; + fetch = { + type = "git"; + url = "https://github.com/willf/bitset"; + rev = "d860f346b89450988a379d7d705e83c58d1ea227"; + sha256 = "18419ip5mnblnyx2rjixad90dhjb1x2kaiidr7zk9b3qci799rh0"; + }; + } + { + goPackagePath = "github.com/xlab/treeprint"; + fetch = { + type = "git"; + url = "https://github.com/xlab/treeprint"; + rev = "f3a15cfd24bf976c724324cb6846a8b54b88b639"; + sha256 = "0fgbdyk2mfj5vh8902sga33w5gw7q0f1if4nqx631ca33fd6pfbn"; + }; + } + { + goPackagePath = "go.uber.org/atomic"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/atomic"; + rev = "8474b86a5a6f79c443ce4b2992817ff32cf208b8"; + sha256 = "166shnjw8rvjvksymi2gqw1ygsbxlq15xb10j2dx5rwy4y4asq8x"; + }; + } + { + goPackagePath = "go.uber.org/multierr"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/multierr"; + rev = "3c4937480c32f4c13a875a1829af76c98ca3d40a"; + sha256 = "1slfc6syvw8cvr6rbrjsy6ja5w8gsx0f8aq8qm16rp2x5c2pj07w"; + }; + } + { + goPackagePath = "go.uber.org/zap"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/zap"; + rev = "35aad584952c3e7020db7b839f6b102de6271f89"; + sha256 = "0n79ir7jcr7s51j85swji7an0jgy1w5dxg1g68j722rmpbvsagwv"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "c3a3ad6d03f7a915c0f7e194b7152974bb73d287"; + sha256 = "0x18275g5xlaw55bpx8hdna66d2hpbcw6hs0pxf1kmvfds6gzn6n"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "92b859f39abd2d91a854c9f9c4621b2f5054a92d"; + sha256 = "1nzbay48k53pxa1sh102v571k6pa57540p0bzcil4qgan47yxba6"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; + sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d8e400bc7db4870d786864138af681469693d18c"; + sha256 = "08d23f9gjarp63dw0wj54nlqh3x2lqnchzkw8n5d7ik3wy7qy4yf"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "26559e0f760e39c24d730d3224364aef164ee23f"; + sha256 = "00fx6m59cjbi7y0ri4a57q1zs6r310xbg5yqns5kfm2cax0dkmnf"; + }; + } +] \ No newline at end of file From f799dff21bd70738a0724419752dbb8d9ed3ce6b Mon Sep 17 00:00:00 2001 From: Boris Date: Sun, 23 Sep 2018 14:01:56 +0200 Subject: [PATCH 22/87] gitAndTools.pre-commit: 1.11.0 -> 1.11.1 (#47211) --- .../version-management/git-and-tools/pre-commit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix index bc36a8879f4..331b020d8ca 100644 --- a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix @@ -1,11 +1,11 @@ { stdenv, python3Packages }: with python3Packages; buildPythonApplication rec { pname = "pre_commit"; - version = "1.11.0"; + version = "1.11.1"; src = fetchPypi { inherit pname version; - sha256 = "03nxkma8qp5j2bg6ailclnyqfhakp8r8d1mn6zcnjw0ac5r9imc8"; + sha256 = "1kjrq8z78b6aqhyyw07dlwf6cqls88kik6f5l07hs71fj5ddvs9w"; }; propagatedBuildInputs = [ From 979089c1bc1571c5b2290b75533c4e4ef90d9cf8 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 23 Sep 2018 14:25:43 +0200 Subject: [PATCH 23/87] packagekit: Enable introspection --- pkgs/tools/package-management/packagekit/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index 456469f150f..2acb39c0b73 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { name = "packagekit-${version}"; version = "1.1.10"; + outputs = [ "out" "dev" ]; + src = fetchFromGitHub { owner = "hughsie"; repo = "PackageKit"; @@ -33,7 +35,7 @@ stdenv.mkDerivation rec { (if enableSystemd then "--enable-systemd" else "--disable-systemd") "--disable-dummy" "--disable-cron" - "--disable-introspection" + "--enable-introspection" "--disable-offline-update" "--localstatedir=/var" "--sysconfdir=/etc" From 3b7ecaa79865620db63284e7e5a1c02afb4066b5 Mon Sep 17 00:00:00 2001 From: Vladyslav Mykhailichenko Date: Sun, 23 Sep 2018 15:26:55 +0300 Subject: [PATCH 24/87] iwd: 0.7 -> 0.8 --- nixos/modules/services/networking/iwd.nix | 2 ++ pkgs/os-specific/linux/iwd/default.nix | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix index eb03d2e1d63..18ed20e2888 100644 --- a/nixos/modules/services/networking/iwd.nix +++ b/nixos/modules/services/networking/iwd.nix @@ -22,6 +22,8 @@ in { systemd.packages = [ pkgs.iwd ]; + systemd.services.iwd.wantedBy = [ "multi-user.target" ]; + systemd.tmpfiles.rules = [ "d /var/lib/iwd 0700 root root -" ]; diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index 79179f3fcbb..1e3286f64d6 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -3,17 +3,17 @@ let ell = fetchgit { url = https://git.kernel.org/pub/scm/libs/ell/ell.git; - rev = "0.9"; - sha256 = "1kg7cx7ir8bvz33n624ncrq9r4fh7rg9z22fly894a3mk1imq22p"; + rev = "0.10"; + sha256 = "1yzbx4l3a6hbdmirgbvnrjfiwflyzd38mbxnp23gn9hg3ni3br34"; }; in stdenv.mkDerivation rec { name = "iwd-${version}"; - version = "0.7"; + version = "0.8"; src = fetchgit { url = https://git.kernel.org/pub/scm/network/wireless/iwd.git; rev = version; - sha256 = "0q76fh6fcl7nxyjl8z2n4plp2qaxc1fqx575by6xqf1rnv4nk0ab"; + sha256 = "0bx31f77mz3rbl3xja48lb5zgwgialg7hvax889kpkz92wg26mgv"; }; nativeBuildInputs = [ From e5916b8b7f51d7a85601aaa73a69cf62b69903c1 Mon Sep 17 00:00:00 2001 From: Vladyslav M Date: Sun, 23 Sep 2018 16:06:51 +0300 Subject: [PATCH 25/87] bat: 0.7.0 -> 0.7.1 (#47216) --- pkgs/tools/misc/bat/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix index ec2062805ab..0cacfa6e54e 100644 --- a/pkgs/tools/misc/bat/default.nix +++ b/pkgs/tools/misc/bat/default.nix @@ -4,17 +4,17 @@ rustPlatform.buildRustPackage rec { name = "bat-${version}"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "sharkdp"; repo = "bat"; rev = "v${version}"; - sha256 = "1dhn88asf08dvl4827v4mkxafcr01m1h5jmicvzda9ywmr82g1cs"; + sha256 = "1fzk0z7r70rjvv2c6531zaa1jzbcb7j9wbi0xqb9y4dls538bmz0"; fetchSubmodules = true; }; - cargoSha256 = "10s8ig08prs1wcsisrllvsixqkrkwjx769y1w5fypldn9kfk2lka"; + cargoSha256 = "19syz0sxcpk3i4675bfq5gpb9i6hp81in36w820kkvamaimq10nd"; nativeBuildInputs = [ cmake pkgconfig zlib ]; From baa04e4204b80225c5086611f305a0c412dc9967 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 23 Sep 2018 14:55:34 +0200 Subject: [PATCH 26/87] php: set mysql socket path if mysql[i] or pdo_mysql support is enabled PHP tries to discover the mysql default socket path during configure phase by probing the file system: https://github.com/php/php-src/blob/cf3b852109a88a11370d0207cd3b72a53b6a64c3/ext/mysqli/config.m4#L4 This obviously fails to discover /run/mysqld/mysqld.sock, which is being used (hardcoded) across all MySQL flavours. This leads to PHP having no mysql socket path set for the mysql[i] extensions, and `/tmp/mysql.sock` set for pdo_mysql, meaning one currently has to manually configure and set it in php.ini. Luckily, PHP supports setting that path via `--with-mysql-sock=/run/mysqld/mysqld.sock` during configure phase, so let's do this as soon as one of the three modules is enabled. --- pkgs/development/interpreters/php/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index adffe647c36..9fa3b96fd34 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -136,6 +136,7 @@ let ++ optionals mysqliSupport [ "--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}" ] + ++ optional ( pdo_mysqlSupport || mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock" ++ optional bcmathSupport "--enable-bcmath" # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. ++ optionals gdSupport [ From d57b9eb6d6177fa1bbcc243c38e2cd5a2d072da5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 23 Sep 2018 06:09:37 -0700 Subject: [PATCH 27/87] pgtap: 0.98.0 -> 0.99.0 (#46980) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pgtap/versions --- pkgs/servers/sql/postgresql/pgtap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/pgtap/default.nix b/pkgs/servers/sql/postgresql/pgtap/default.nix index c6eb4013c5c..2f37d3a85d3 100644 --- a/pkgs/servers/sql/postgresql/pgtap/default.nix +++ b/pkgs/servers/sql/postgresql/pgtap/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pgtap-${version}"; - version = "0.98.0"; + version = "0.99.0"; src = fetchFromGitHub { owner = "theory"; repo = "pgtap"; rev = "v${version}"; - sha256 = "17r3b409k05pbypmwdwgm1fl669jc6a1391szyxizx784k44a369"; + sha256 = "0xakjlbb99mgd8za6m0xa6n3s5fhif217iip6b3aywqw7nh1j6nv"; }; nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ]; From 0602e6ddfe361c82f7c8f1ed017a7af4c35a582d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Gaspard?= Date: Mon, 13 Aug 2018 14:47:54 +0900 Subject: [PATCH 28/87] wasm-gc: init at 0.1.6 --- .../interpreters/wasm-gc/default.nix | 25 ++++++++++++++ .../interpreters/wasm-gc/fix-build.patch | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 61 insertions(+) create mode 100644 pkgs/development/interpreters/wasm-gc/default.nix create mode 100644 pkgs/development/interpreters/wasm-gc/fix-build.patch diff --git a/pkgs/development/interpreters/wasm-gc/default.nix b/pkgs/development/interpreters/wasm-gc/default.nix new file mode 100644 index 00000000000..cf0fad18d1c --- /dev/null +++ b/pkgs/development/interpreters/wasm-gc/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + name = "wasm-gc-${version}"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "alexcrichton"; + repo = "wasm-gc"; + rev = version; + sha256 = "1lc30xxqp3vv1r269xzznh2lf2dzdq89bi5f1vmqjw4yc3xmawm7"; + }; + + cargoPatches = [ ./fix-build.patch ]; # Cargo.lock is not up-to-date + + cargoSha256 = "1jvk9n324p3x3j6q6x0p5diig3b5c683k74cfflff25i7gsmmvc7"; + + meta = with stdenv.lib; { + description = "gc-sections for wasm"; + homepage = "https://github.com/alexcrichton/wasm-gc"; + maintainers = with maintainers; [ ekleog ]; + platforms = platforms.all; + license = with licenses; [ mit asl20 ]; + }; +} diff --git a/pkgs/development/interpreters/wasm-gc/fix-build.patch b/pkgs/development/interpreters/wasm-gc/fix-build.patch new file mode 100644 index 00000000000..3144dd89837 --- /dev/null +++ b/pkgs/development/interpreters/wasm-gc/fix-build.patch @@ -0,0 +1,34 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 923ed91..71f17c8 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -212,16 +212,16 @@ dependencies = [ + + [[package]] + name = "wasm-gc" +-version = "0.1.1" ++version = "0.1.6" + dependencies = [ + "env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", +- "wasm-gc-api 0.1.5", ++ "wasm-gc-api 0.1.6", + ] + + [[package]] + name = "wasm-gc-api" +-version = "0.1.5" ++version = "0.1.6" + dependencies = [ + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", +@@ -234,7 +234,7 @@ version = "0.1.0" + dependencies = [ + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +- "wasm-gc-api 0.1.5", ++ "wasm-gc-api 0.1.6", + ] + + [[package]] + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 32af34bf70b..9a547cfa7f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7808,6 +7808,8 @@ with pkgs; wasm = callPackage ../development/interpreters/wasm { }; + wasm-gc = callPackage ../development/interpreters/wasm-gc { }; + ### DEVELOPMENT / MISC From 29854e24265457991448afb93363bdcc9e5d2eca Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sat, 8 Sep 2018 16:57:46 -0500 Subject: [PATCH 29/87] Revert "nixos docs: add release notes for nix 2.0 requiremnt bump" This reverts commit 18f953965598ab585cc4b3f9018463905401bdd9. (cherry picked from commit 02bb97e5bb30cdbd9097c5efcf0560b8188b2940) --- nixos/doc/manual/release-notes/rl-1809.xml | 44 ---------------------- 1 file changed, 44 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index 21ea98d012b..5a565f08b2c 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -139,50 +139,6 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' seen a complete rewrite. (See above.) - - - The minimum version of Nix required to evaluate Nixpkgs is now 2.0. - - - - - For users of NixOS 18.03, NixOS 18.03 defaulted to Nix 2.0, but - supported using Nix 1.11 by setting nix.package = - pkgs.nix1;. If this option is set to a Nix 1.11 package, you - will need to either unset the option or upgrade it to Nix 2.0. - - - - - For users of NixOS 17.09, you will first need to upgrade Nix by setting - nix.package = pkgs.nixStable2; and run - nixos-rebuild switch as the root - user. - - - - - For users of a daemon-less Nix installation on Linux or macOS, you can - upgrade Nix by running curl https://nixos.org/nix/install | - sh, or prior to doing a channel update, running - nix-env -iA nix. - - - If you have already run a channel update and Nix is no longer able to - evaluate Nixpkgs, the error message printed should provide adequate - directions for upgrading Nix. - - - - - For users of the Nix daemon on macOS, you can upgrade Nix by running - sudo -i sh -c 'nix-channel --update && nix-env -iA - nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl - start org.nixos.nix-daemon. - - - - lib.strict is removed. Use From 868040ee22fe7e79a39b6423095ab4185d584b6b Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Tue, 11 Sep 2018 06:20:55 +0300 Subject: [PATCH 30/87] rmilter: deprecation notice --- nixos/modules/services/mail/rmilter.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix index c3e3d823242..0d91b247cd3 100644 --- a/nixos/modules/services/mail/rmilter.nix +++ b/nixos/modules/services/mail/rmilter.nix @@ -193,6 +193,9 @@ in config = mkMerge [ (mkIf cfg.enable { + warnings = [ + ''`config.services.rmilter' is deprecated, `rmilter' deprecated and unsupported by upstream, and will be removed from next releases. Use built-in rspamd milter instead.'' + ]; users.users = singleton { name = cfg.user; From fe20b58d6676858802cd627721c782f65d48a43b Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 23 Sep 2018 11:40:47 -0400 Subject: [PATCH 31/87] release-notes: Add missing "Backward Incompatibilities" section This has been part of every release since 17.03. I think the template for new releases should be updated to contain this. --- nixos/doc/manual/release-notes/rl-1903.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 9ae34dd58ab..2e971996b86 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -42,6 +42,25 @@ +
+ Backward Incompatibilities + + + When upgrading from a previous release, please be aware of the following + incompatible changes: + + + + + + + +
+
Date: Sun, 23 Sep 2018 11:50:23 -0400 Subject: [PATCH 32/87] release-notes/19.03: add release notes for nix 2.0 requirement bump This is taken from the 18.09 change, which was reverted on release-18.09 but not master. The now-false 18.09 release notes were just removed from master in 29854e24265457991448afb93363bdcc9e5d2eca, but since the underlying change is still there, release notes for 19.03 are warranted. This commit takes the now-reverted release notes and reuses them for that. --- nixos/doc/manual/release-notes/rl-1903.xml | 43 +++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 2e971996b86..bfae2d0f597 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -56,7 +56,48 @@ - + + The minimum version of Nix required to evaluate Nixpkgs is now 2.0. + + + + + For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 2.0, but + supports using Nix 1.11 by setting nix.package = + pkgs.nix1;. If this option is set to a Nix 1.11 package, you + will need to either unset the option or upgrade it to Nix 2.0. + + + + + For users of NixOS 17.09, you will first need to upgrade Nix by setting + nix.package = pkgs.nixStable2; and run + nixos-rebuild switch as the root + user. + + + + + For users of a daemon-less Nix installation on Linux or macOS, you can + upgrade Nix by running curl https://nixos.org/nix/install | + sh, or prior to doing a channel update, running + nix-env -iA nix. + + + If you have already run a channel update and Nix is no longer able to + evaluate Nixpkgs, the error message printed should provide adequate + directions for upgrading Nix. + + + + + For users of the Nix daemon on macOS, you can upgrade Nix by running + sudo -i sh -c 'nix-channel --update && nix-env -iA + nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl + start org.nixos.nix-daemon. + + +
From c5af608dd2bcc3a7c8e13785c3a0968993099dee Mon Sep 17 00:00:00 2001 From: nyanloutre Date: Tue, 3 Jul 2018 14:16:02 +0200 Subject: [PATCH 33/87] electron-cash: 3.1.6 -> 3.3 --- pkgs/applications/misc/electron-cash/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix index 891222a0f10..64a284cd0ed 100644 --- a/pkgs/applications/misc/electron-cash/default.nix +++ b/pkgs/applications/misc/electron-cash/default.nix @@ -7,14 +7,14 @@ let in python3Packages.buildPythonApplication rec { - version = "3.1.6"; + version = "3.3"; name = "electron-cash-${version}"; src = fetchurl { url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz"; # Verified using official SHA-1 and signature from # https://github.com/fyookball/keys-n-hashes - sha256 = "062k5iw0jcp10zxrffvgiyfg51c5xzs7gmm638icx01yy67d58dm"; + sha256 = "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym"; }; propagatedBuildInputs = with python3Packages; [ @@ -42,7 +42,6 @@ python3Packages.buildPythonApplication rec { ''; preBuild = '' - sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py pyrcc5 icons.qrc -o gui/qt/icons_rc.py # Recording the creation timestamps introduces indeterminism to the build sed -i '/Created: .*/d' gui/qt/icons_rc.py @@ -51,10 +50,9 @@ python3Packages.buildPythonApplication rec { doCheck = false; postInstall = '' - # Despite setting usr_share above, these files are installed under - # $out/nix ... - mv $out/${python.sitePackages}/nix/store"/"*/share $out - rm -rf $out/${python.sitePackages}/nix + # These files are installed under $out/homeless-shelter ... + mv $out/${python.sitePackages}/homeless-shelter/.local/share $out + rm -rf $out/${python.sitePackages}/homeless-shelter substituteInPlace $out/share/applications/electron-cash.desktop \ --replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u" From e33a7dfd54485938a5e309ab35cb43be1c9669b3 Mon Sep 17 00:00:00 2001 From: nyanloutre Date: Wed, 12 Sep 2018 17:37:38 +0200 Subject: [PATCH 34/87] electron-cash: 3.3 -> 3.3.1 --- pkgs/applications/misc/electron-cash/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix index 64a284cd0ed..3583d0258ff 100644 --- a/pkgs/applications/misc/electron-cash/default.nix +++ b/pkgs/applications/misc/electron-cash/default.nix @@ -7,14 +7,14 @@ let in python3Packages.buildPythonApplication rec { - version = "3.3"; + version = "3.3.1"; name = "electron-cash-${version}"; src = fetchurl { url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz"; # Verified using official SHA-1 and signature from # https://github.com/fyookball/keys-n-hashes - sha256 = "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym"; + sha256 = "1jdy89rfdwc2jadx3rqj5yvynpcn90cx6482ax9f1cj9gfxp9j2b"; }; propagatedBuildInputs = with python3Packages; [ From f5a5752630690bb35b15e144d9171bff5217bab5 Mon Sep 17 00:00:00 2001 From: nyanloutre Date: Wed, 12 Sep 2018 18:03:36 +0200 Subject: [PATCH 35/87] electron-cash: fix #24256 --- pkgs/applications/misc/electron-cash/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix index 3583d0258ff..d3e93d357f0 100644 --- a/pkgs/applications/misc/electron-cash/default.nix +++ b/pkgs/applications/misc/electron-cash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python3Packages }: +{ stdenv, fetchurl, python3Packages, qtbase, makeWrapper, lib }: let @@ -36,6 +36,8 @@ python3Packages.buildPythonApplication rec { trezor ]; + nativeBuildInputs = [ makeWrapper ]; + postPatch = '' # Remove pyqt5 check sed -i '/pyqt5/d' setup.py @@ -56,11 +58,14 @@ python3Packages.buildPythonApplication rec { substituteInPlace $out/share/applications/electron-cash.desktop \ --replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u" + + wrapProgram $out/bin/electron-cash \ + --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins ''; doInstallCheck = true; installCheckPhase = '' - $out/bin/electrum help >/dev/null + $out/bin/electron-cash help >/dev/null ''; meta = with stdenv.lib; { From 1004dae356854507a3001570fddbc0ca87e52d9e Mon Sep 17 00:00:00 2001 From: nyanloutre Date: Sun, 23 Sep 2018 18:50:38 +0200 Subject: [PATCH 36/87] electron-cash: Reminder to remove the QT wrapper --- pkgs/applications/misc/electron-cash/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix index d3e93d357f0..66a423238b3 100644 --- a/pkgs/applications/misc/electron-cash/default.nix +++ b/pkgs/applications/misc/electron-cash/default.nix @@ -59,6 +59,7 @@ python3Packages.buildPythonApplication rec { substituteInPlace $out/share/applications/electron-cash.desktop \ --replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u" + # Please remove this when #44047 is fixed wrapProgram $out/bin/electron-cash \ --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins ''; From 84c8e397d234bcdbd7ee4a41bf6b705d1250250c Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 23 Sep 2018 13:03:14 -0400 Subject: [PATCH 37/87] release-notes/18.09: Copy release notes from the upcomming release This ensures that any further changes needing notes that belong in 18.09 off this common-ancestor commit can be easily merged to both `release-18.0`9 and `master`. --- nixos/doc/manual/release-notes/rl-1809.xml | 67 ++++++++-------------- 1 file changed, 23 insertions(+), 44 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index be225f18c24..92a7223e041 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -139,50 +139,6 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' seen a complete rewrite. (See above.)
- - - The minimum version of Nix required to evaluate Nixpkgs is now 2.0. - - - - - For users of NixOS 18.03, NixOS 18.03 defaulted to Nix 2.0, but - supported using Nix 1.11 by setting nix.package = - pkgs.nix1;. If this option is set to a Nix 1.11 package, you - will need to either unset the option or upgrade it to Nix 2.0. - - - - - For users of NixOS 17.09, you will first need to upgrade Nix by setting - nix.package = pkgs.nixStable2; and run - nixos-rebuild switch as the root - user. - - - - - For users of a daemon-less Nix installation on Linux or macOS, you can - upgrade Nix by running curl https://nixos.org/nix/install | - sh, or prior to doing a channel update, running - nix-env -iA nix. - - - If you have already run a channel update and Nix is no longer able to - evaluate Nixpkgs, the error message printed should provide adequate - directions for upgrading Nix. - - - - - For users of the Nix daemon on macOS, you can upgrade Nix by running - sudo -i sh -c 'nix-channel --update && nix-env -iA - nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl - start org.nixos.nix-daemon. - - - - lib.strict is removed. Use @@ -451,6 +407,14 @@ inherit (pkgs.nixos { deprecated. Use networking.networkmanager.dns instead. + + + The Kubernetes package has been bumped to major version 1.11. + Please consult the + release notes + for details on new features and api changes. + + The option @@ -536,6 +500,21 @@ inherit (pkgs.nixos { to true. + + + NixOS option descriptions are now automatically broken up into individual + paragraphs if the text contains two consecutive newlines, so it's no + longer necessary to use </para><para> to start + a new paragraph. + + + + + Top-level buildPlatform, hostPlatform, and targetPlatform in Nixpkgs are deprecated. + Please use their equivalents in stdenv instead: + stdenv.buildPlatform, stdenv.hostPlatform, and stdenv.targetPlatform. + + From 359d00f8b0990fdad0bf308e355490058f264ca2 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 23 Sep 2018 13:18:38 -0400 Subject: [PATCH 38/87] top-level: `system` should still come from the host platform 2a6e4ae49a891adc7c0562fda08b17d60beb1b4f and e51f736076548459f36a1250de4bf6867f880b66 reverted a bit too much, and I initially missed this when reviewing. The release notes already still mention this change, too. --- pkgs/top-level/stage.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index 06978d1067b..7637371a40f 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -83,7 +83,7 @@ let inherit (super.stdenv) buildPlatform hostPlatform targetPlatform; in { inherit buildPlatform hostPlatform targetPlatform; - inherit (buildPlatform) system; + inherit (hostPlatform) system; }; splice = self: super: import ./splice.nix lib self (buildPackages != null); From e39a73cc55bf6fb9559d9d51e1959a5340c2510b Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 23 Sep 2018 13:18:38 -0400 Subject: [PATCH 39/87] doc: Don't mention top-level `{build, host, target}Platform` For technical reasons, we cannot easily add a warning to top-level definitions, so 2a6e4ae49a891adc7c0562fda08b17d60beb1b4f and e51f736076548459f36a1250de4bf6867f880b66 reverted the deprecation. But we can still remove mention of the would-be deprecated definitions to steer people towards using the preferred alternatives. --- doc/cross-compilation.xml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml index 3b90596bcc2..c7187d86d1b 100644 --- a/doc/cross-compilation.xml +++ b/doc/cross-compilation.xml @@ -47,13 +47,9 @@ In Nixpkgs, these three platforms are defined as attribute sets under the - names buildPlatform, hostPlatform, - and targetPlatform. All three are always defined as - attributes in the standard environment, and at the top level. That means - one can get at them just like a dependency in a function that is imported - with callPackage: -{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform... - , or just off stdenv: + names buildPlatform, hostPlatform, and + targetPlatform. They are always defined as attributes in + the standard environment. That means one can access them like: { stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform... . From 4bf1a7d97545f957e18d2fb9f00ddcb7e545f792 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 23 Sep 2018 19:36:22 +0200 Subject: [PATCH 40/87] tig: fix zsh completion The ZSH completion script of `tig` basically imports the bash completion script and uses it as completion approach. Unfortunately the script takes several assumptions about the directory structure using `$funcsourcetrace`[1] that don't apply on NixOS. The easiest workaround is t opatch the completion script and import the bash completion script from `$out`. [1] http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#index-funcsourcetrace --- .../version-management/git-and-tools/tig/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix index 6d2753e4543..a407f6e7ab1 100644 --- a/pkgs/applications/version-management/git-and-tools/tig/default.nix +++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix @@ -31,6 +31,10 @@ stdenv.mkDerivation rec { installPhase = '' make install make install-doc + + substituteInPlace contrib/tig-completion.zsh \ + --replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/etc/bash_completion.d/tig-completion.bash" + install -D contrib/tig-completion.bash $out/etc/bash_completion.d/tig-completion.bash install -D contrib/tig-completion.zsh $out/share/zsh/site-functions/_tig cp contrib/vim.tigrc $out/etc/ From e51b70c7148d22663e18077ed818dd8d76924904 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sun, 9 Sep 2018 11:13:46 +0000 Subject: [PATCH 41/87] libcardiacarrest: 12.1-6 -> 12.1-7 --- pkgs/misc/libcardiacarrest/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/libcardiacarrest/default.nix b/pkgs/misc/libcardiacarrest/default.nix index 28e9b81df86..1a07878b330 100644 --- a/pkgs/misc/libcardiacarrest/default.nix +++ b/pkgs/misc/libcardiacarrest/default.nix @@ -4,13 +4,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "libcardiacarrest-${version}"; - version = "12.1-6"; # - + version = "12.1-7"; # - src = fetchFromGitHub { owner = "oxij"; repo = "libcardiacarrest"; - rev = "4df92b6cc66c7f9fe947dd9bbf4802cf20fe63a2"; - sha256 = "0zfjn4nvcx8r4f6czcix5b9nsszhhhlbypcwqzi4ddhazl1gyfm6"; + rev = "d44288d9a24d6b7793fb36a4c9a548b6b55375ec"; + sha256 = "0j3l5s6r9hgpy5y7q7kx0rkh05rk0bgfdvzbmadqps720lqjs4xm"; }; outputs = [ "out" "dev" ]; From 5bfe8bfceac79e8b9de09a898afd23b10944c9fb Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sun, 23 Sep 2018 12:53:46 +0200 Subject: [PATCH 42/87] openvpn plugins: use absolute paths to configuration gui --- pkgs/tools/networking/network-manager/fortisslvpn/default.nix | 1 + pkgs/tools/networking/network-manager/iodine/default.nix | 1 + pkgs/tools/networking/network-manager/l2tp/default.nix | 1 + pkgs/tools/networking/network-manager/openconnect/default.nix | 1 + pkgs/tools/networking/network-manager/openvpn/default.nix | 1 + pkgs/tools/networking/network-manager/vpnc/default.nix | 1 + 6 files changed, 6 insertions(+) diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix index 16964e4db94..facf1b6a667 100644 --- a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix +++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix @@ -28,6 +28,7 @@ in stdenv.mkDerivation rec { "--without-libnm-glib" "--with-gnome=${if withGnome then "yes" else "no"}" "--localstatedir=/tmp" + "--enable-absolute-paths" ]; passthru = { diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix index a6fd3e7303d..ad58dc97b0a 100644 --- a/pkgs/tools/networking/network-manager/iodine/default.nix +++ b/pkgs/tools/networking/network-manager/iodine/default.nix @@ -31,6 +31,7 @@ in stdenv.mkDerivation rec { "--without-libnm-glib" "--with-gnome=${if withGnome then "yes" else "no"}" "--localstatedir=/" # needed for the management socket under /run/NetworkManager + "--enable-absolute-paths" ]; passthru = { diff --git a/pkgs/tools/networking/network-manager/l2tp/default.nix b/pkgs/tools/networking/network-manager/l2tp/default.nix index 3cac1b5e63c..b44933f7f5f 100644 --- a/pkgs/tools/networking/network-manager/l2tp/default.nix +++ b/pkgs/tools/networking/network-manager/l2tp/default.nix @@ -35,6 +35,7 @@ stdenv.mkDerivation rec { "--with-gnome=${if withGnome then "yes" else "no"}" "--localstatedir=/var" "--sysconfdir=$(out)/etc" + "--enable-absolute-paths" ]; enableParallelBuilding = true; diff --git a/pkgs/tools/networking/network-manager/openconnect/default.nix b/pkgs/tools/networking/network-manager/openconnect/default.nix index 23d4c816a20..0c02569aa27 100644 --- a/pkgs/tools/networking/network-manager/openconnect/default.nix +++ b/pkgs/tools/networking/network-manager/openconnect/default.nix @@ -26,6 +26,7 @@ in stdenv.mkDerivation rec { configureFlags = [ "--with-gnome=${if withGnome then "yes" else "no"}" + "--enable-absolute-paths" ]; passthru = { diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix index 0d3a4174744..66a306ffb66 100644 --- a/pkgs/tools/networking/network-manager/openvpn/default.nix +++ b/pkgs/tools/networking/network-manager/openvpn/default.nix @@ -28,6 +28,7 @@ in stdenv.mkDerivation rec { "--without-libnm-glib" "--with-gnome=${if withGnome then "yes" else "no"}" "--localstatedir=/" # needed for the management socket under /run/NetworkManager + "--enable-absolute-paths" ]; passthru = { diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix index ef45defb7d5..5d77be86dff 100644 --- a/pkgs/tools/networking/network-manager/vpnc/default.nix +++ b/pkgs/tools/networking/network-manager/vpnc/default.nix @@ -26,6 +26,7 @@ in stdenv.mkDerivation rec { configureFlags = [ "--without-libnm-glib" "--with-gnome=${if withGnome then "yes" else "no"}" + "--enable-absolute-paths" ]; passthru = { From bb110d80fc7bbc06fd71bfa1122c016f14f43394 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 14:19:58 -0500 Subject: [PATCH 43/87] llvm7: init at 7.0.0rc3 Copy of 6 + updated hashes --- .../compilers/llvm/7/clang/default.nix | 106 +++++ .../compilers/llvm/7/clang/purity.patch | 30 ++ .../llvm/7/compiler-rt-codesign.patch | 155 +++++++ .../compilers/llvm/7/compiler-rt.nix | 37 ++ pkgs/development/compilers/llvm/7/default.nix | 93 ++++ .../compilers/llvm/7/libc++/default.nix | 54 +++ .../compilers/llvm/7/libc++/setup-hook.sh | 6 + .../compilers/llvm/7/libc++abi.nix | 49 +++ pkgs/development/compilers/llvm/7/lld.nix | 32 ++ pkgs/development/compilers/llvm/7/lldb.nix | 56 +++ .../compilers/llvm/7/llvm-outputs.patch | 26 ++ pkgs/development/compilers/llvm/7/llvm.nix | 166 +++++++ pkgs/development/compilers/llvm/7/openmp.nix | 25 ++ .../compilers/llvm/7/sanitizers-nongnu.patch | 413 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 + 15 files changed, 1260 insertions(+) create mode 100644 pkgs/development/compilers/llvm/7/clang/default.nix create mode 100644 pkgs/development/compilers/llvm/7/clang/purity.patch create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt.nix create mode 100644 pkgs/development/compilers/llvm/7/default.nix create mode 100644 pkgs/development/compilers/llvm/7/libc++/default.nix create mode 100644 pkgs/development/compilers/llvm/7/libc++/setup-hook.sh create mode 100644 pkgs/development/compilers/llvm/7/libc++abi.nix create mode 100644 pkgs/development/compilers/llvm/7/lld.nix create mode 100644 pkgs/development/compilers/llvm/7/lldb.nix create mode 100644 pkgs/development/compilers/llvm/7/llvm-outputs.patch create mode 100644 pkgs/development/compilers/llvm/7/llvm.nix create mode 100644 pkgs/development/compilers/llvm/7/openmp.nix create mode 100644 pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix new file mode 100644 index 00000000000..2dbf5bd8a8e --- /dev/null +++ b/pkgs/development/compilers/llvm/7/clang/default.nix @@ -0,0 +1,106 @@ +{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python +, fixDarwinDylibNames +, enableManpages ? false +}: + +let + gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; + self = stdenv.mkDerivation ({ + name = "clang-${version}"; + + unpackPhase = '' + unpackFile ${fetch "cfe" "18aapi26lp25g38j1kwmzviagy9l59ach5kzvf80x5dvs2rmhcpc"} + mv cfe-${version}* clang + sourceRoot=$PWD/clang + unpackFile ${clang-tools-extra_src} + mv clang-tools-extra-* $sourceRoot/tools/extra + ''; + + nativeBuildInputs = [ cmake python ] + ++ stdenv.lib.optional enableManpages python.pkgs.sphinx; + + buildInputs = [ libxml2 llvm ] + ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; + + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-std=c++11" + ] ++ stdenv.lib.optionals enableManpages [ + "-DCLANG_INCLUDE_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ]; + + patches = [ ./purity.patch ]; + + postPatch = '' + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ + -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ + lib/Driver/ToolChains/*.cpp + + # Patch for standalone doc building + sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt + '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp + ''; + + outputs = [ "out" "lib" "python" ]; + + # Clang expects to find LLVMgold in its own prefix + postInstall = '' + if [ -e ${llvm}/lib/LLVMgold.so ]; then + ln -sv ${llvm}/lib/LLVMgold.so $out/lib + fi + + ln -sv $out/bin/clang $out/bin/cpp + + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." + + mkdir -p $python/bin $python/share/clang/ + mv $out/bin/{git-clang-format,scan-view} $python/bin + if [ -e $out/bin/set-xcode-analyzer ]; then + mv $out/bin/set-xcode-analyzer $python/bin + fi + mv $out/share/clang/*.py $python/share/clang + rm $out/bin/c-index-test + ''; + + enableParallelBuilding = true; + + passthru = { + isClang = true; + inherit llvm; + } // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux { + inherit gcc; + }; + + meta = { + description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.ncsa; + platforms = stdenv.lib.platforms.all; + }; + } // stdenv.lib.optionalAttrs enableManpages { + name = "clang-manpages-${version}"; + + buildPhase = '' + make docs-clang-man + ''; + + installPhase = '' + mkdir -p $out/share/man/man1 + # Manually install clang manpage + cp docs/man/*.1 $out/share/man/man1/ + ''; + + outputs = [ "out" ]; + + doCheck = false; + + meta.description = "man page for Clang ${version}"; + }); +in self diff --git a/pkgs/development/compilers/llvm/7/clang/purity.patch b/pkgs/development/compilers/llvm/7/clang/purity.patch new file mode 100644 index 00000000000..b30d0d0b5d5 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/clang/purity.patch @@ -0,0 +1,30 @@ +From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Thu, 18 May 2017 11:56:12 -0500 +Subject: [PATCH] "purity" patch for 5.0 + +--- + lib/Driver/ToolChains/Gnu.cpp | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +index fe3c0191bb..c6a482bece 100644 +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + if (!Args.hasArg(options::OPT_static)) { + if (Args.hasArg(options::OPT_rdynamic)) + CmdArgs.push_back("-export-dynamic"); +- +- if (!Args.hasArg(options::OPT_shared)) { +- const std::string Loader = +- D.DyldPrefix + ToolChain.getDynamicLinker(Args); +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString(Loader)); +- } + } + + CmdArgs.push_back("-o"); +-- +2.11.0 + diff --git a/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch new file mode 100644 index 00000000000..8f4c76bca1e --- /dev/null +++ b/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch @@ -0,0 +1,155 @@ +From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Tue, 19 Sep 2017 13:13:06 -0500 +Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that + needs it + +--- + cmake/Modules/AddCompilerRT.cmake | 8 ------ + test/asan/CMakeLists.txt | 52 --------------------------------------- + test/tsan/CMakeLists.txt | 47 ----------------------------------- + 3 files changed, 107 deletions(-) + +diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake +index bc5fb9ff7..b64eb4246 100644 +--- a/cmake/Modules/AddCompilerRT.cmake ++++ b/cmake/Modules/AddCompilerRT.cmake +@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) + set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") + set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") + endif() +- if(APPLE) +- # Ad-hoc sign the dylibs +- add_custom_command(TARGET ${libname} +- POST_BUILD +- COMMAND codesign --sign - $ +- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} +- ) +- endif() + endif() + install(TARGETS ${libname} + ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} +diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt +index 8bfc15b5c..f23d0f71a 100644 +--- a/test/asan/CMakeLists.txt ++++ b/test/asan/CMakeLists.txt +@@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH}) + endif() + endforeach() + +-# iOS and iOS simulator test suites +-# These are not added into "check-all", in order to run these tests, use +-# "check-asan-iossim-x86_64" and similar. They also require that an extra env +-# variable to select which iOS device or simulator to use, e.g.: +-# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" +-if(APPLE) +- set(EXCLUDE_FROM_ALL ON) +- +- set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) +- set(ASAN_TEST_IOS "1") +- pythonize_bool(ASAN_TEST_IOS) +- set(ASAN_TEST_DYNAMIC True) +- +- foreach(arch ${DARWIN_iossim_ARCHS}) +- set(ASAN_TEST_IOSSIM "1") +- pythonize_bool(ASAN_TEST_IOSSIM) +- set(ASAN_TEST_TARGET_ARCH ${arch}) +- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") +- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") +- get_bits_for_arch(${arch} ASAN_TEST_BITS) +- string(TOUPPER ${arch} ARCH_UPPER_CASE) +- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") +- configure_lit_site_cfg( +- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg +- ) +- add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests" +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ +- DEPENDS ${ASAN_TEST_DEPS}) +- endforeach() +- +- foreach (arch ${DARWIN_ios_ARCHS}) +- set(ASAN_TEST_IOSSIM "0") +- pythonize_bool(ASAN_TEST_IOSSIM) +- set(ASAN_TEST_TARGET_ARCH ${arch}) +- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") +- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios") +- get_bits_for_arch(${arch} ASAN_TEST_BITS) +- string(TOUPPER ${arch} ARCH_UPPER_CASE) +- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") +- configure_lit_site_cfg( +- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg +- ) +- add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests" +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ +- DEPENDS ${ASAN_TEST_DEPS}) +- endforeach() +- +- set(EXCLUDE_FROM_ALL OFF) +-endif() +- + # Add unit tests. + if(COMPILER_RT_INCLUDE_TESTS) + set(ASAN_TEST_DYNAMIC False) +diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt +index a68908612..cde0accb5 100644 +--- a/test/tsan/CMakeLists.txt ++++ b/test/tsan/CMakeLists.txt +@@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH}) + list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) + endforeach() + +-# iOS and iOS simulator test suites +-# These are not added into "check-all", in order to run these tests, use +-# "check-tsan-iossim-x86_64" and similar. They also require an extra environment +-# variable to select which iOS device or simulator to use, e.g.: +-# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" +-if(APPLE) +- set(EXCLUDE_FROM_ALL ON) +- +- set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) +- set(TSAN_TEST_IOS "1") +- pythonize_bool(TSAN_TEST_IOS) +- +- set(arch "x86_64") +- set(TSAN_TEST_IOSSIM "1") +- pythonize_bool(TSAN_TEST_IOSSIM) +- set(TSAN_TEST_TARGET_ARCH ${arch}) +- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") +- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") +- string(TOUPPER ${arch} ARCH_UPPER_CASE) +- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") +- configure_lit_site_cfg( +- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg +- ) +- add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ +- DEPENDS ${TSAN_TEST_DEPS}) +- +- set(arch "arm64") +- set(TSAN_TEST_IOSSIM "0") +- pythonize_bool(TSAN_TEST_IOSSIM) +- set(TSAN_TEST_TARGET_ARCH ${arch}) +- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") +- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios") +- string(TOUPPER ${arch} ARCH_UPPER_CASE) +- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") +- configure_lit_site_cfg( +- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg +- ) +- add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" +- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ +- DEPENDS ${TSAN_TEST_DEPS}) +- +- set(EXCLUDE_FROM_ALL OFF) +-endif() +- + if(COMPILER_RT_INCLUDE_TESTS) + configure_lit_site_cfg( + ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in +-- +2.14.1 + diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix new file mode 100644 index 00000000000..fe83d867585 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -0,0 +1,37 @@ +{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }: +with stdenv.lib; +stdenv.mkDerivation rec { + name = "compiler-rt-${version}"; + inherit version; + src = fetch "compiler-rt" "0r4hg8hi60kdjl4arp3s51dbwbwz11s8qvccdkx9v52vc27p2241"; + + nativeBuildInputs = [ cmake python llvm ]; + buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + + configureFlags = [ + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" + ]; + + outputs = [ "out" "dev" ]; + + patches = [ + ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; + + # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks + # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra + # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd + # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by + # a flag and turn the flag off during the stdenv build. + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace cmake/config-ix.cmake \ + --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' + ''; + + # Hack around weird upsream RPATH bug + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + ln -s "$out/lib"/*/* "$out/lib" + ''; + + enableParallelBuilding = true; +} diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix new file mode 100644 index 00000000000..2526f1ab17e --- /dev/null +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -0,0 +1,93 @@ +{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook +, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith +, buildLlvmTools # tools, but from the previous stage, for cross +, targetLlvmLibraries # libraries, but from the next stage, for cross +}: + +let + release_version = "7.0.0"; + version = release_version + "rc3"; # differentiating these is important for rc's + + fetch = name: sha256: fetchurl { + name = "${name}-${release_version}.src.tar.xz"; + url = "http://prereleases.llvm.org/${release_version}/rc3/${name}-${version}.src.tar.xz"; + inherit sha256; + }; + + clang-tools-extra_src = fetch "clang-tools-extra" "0rhvlz4g2nd10zrwx37yi5if8wqirh8845pwbgg62r9l2pb6j7n7"; + + tools = stdenv.lib.makeExtensible (tools: let + callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); + mkExtraBuildCommands = cc: '' + rsrc="$out/resource-root" + mkdir "$rsrc" + ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" + ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags + '' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux '' + echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags + ''; + in { + + llvm = callPackage ./llvm.nix { }; + + clang-unwrapped = callPackage ./clang { + inherit clang-tools-extra_src; + }; + + llvm-manpages = lowPrio (tools.llvm.override { + enableManpages = true; + python = pkgs.python; # don't use python-boot + }); + + clang-manpages = lowPrio (tools.clang-unwrapped.override { + enableManpages = true; + python = pkgs.python; # don't use python-boot + }); + + libclang = tools.clang-unwrapped.lib; + + clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang; + + libstdcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + extraPackages = [ + libstdcxxHook + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + libcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + extraPackages = [ + targetLlvmLibraries.libcxx + targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + lld = callPackage ./lld.nix {}; + + lldb = callPackage ./lldb.nix {}; + }); + + libraries = stdenv.lib.makeExtensible (libraries: let + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); + in { + + compiler-rt = callPackage ./compiler-rt.nix {}; + + stdenv = overrideCC stdenv buildLlvmTools.clang; + + libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; + + libcxx = callPackage ./libc++ {}; + + libcxxabi = callPackage ./libc++abi.nix {}; + + openmp = callPackage ./openmp.nix {}; + }); + +in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix new file mode 100644 index 00000000000..01ee8b4c60c --- /dev/null +++ b/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }: + +stdenv.mkDerivation rec { + name = "libc++-${version}"; + + src = fetch "libcxx" "1ylw8sdiy7b9siajm88frw95y8ii1kng3xbsqhn8nmhy0yxwd1p5"; + + postUnpack = '' + unpackFile ${libcxxabi.src} + export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" + ''; + + # on next rebuild, this can be replaced with optionals; for now set to null to avoid + # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ + patches = if stdenv.hostPlatform.isMusl then [ + ../../libcxx-0001-musl-hacks.patch + ] else null; + + prePatch = '' + substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" + ''; + + preConfigure = '' + # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package + cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR") + '' + lib.optionalString stdenv.hostPlatform.isMusl '' + patchShebangs utils/cat_files.py + ''; + nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python; + + buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; + + cmakeFlags = [ + "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" + "-DLIBCXX_LIBCPPABI_VERSION=2" + "-DLIBCXX_CXX_ABI=libcxxabi" + ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"; + + enableParallelBuilding = true; + + linkCxxAbi = stdenv.isLinux; + + setupHooks = [ + ../../../../../build-support/setup-hooks/role.bash + ./setup-hook.sh + ]; + + meta = { + homepage = http://libcxx.llvm.org/; + description = "A new implementation of the C++ standard library, targeting C++11"; + license = with stdenv.lib.licenses; [ ncsa mit ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/compilers/llvm/7/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/7/libc++/setup-hook.sh new file mode 100644 index 00000000000..6611259165a --- /dev/null +++ b/pkgs/development/compilers/llvm/7/libc++/setup-hook.sh @@ -0,0 +1,6 @@ +# See pkgs/build-support/setup-hooks/role.bash +getHostRole + +linkCxxAbi="@linkCxxAbi@" +export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1" +export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}" diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix new file mode 100644 index 00000000000..eb7237598bd --- /dev/null +++ b/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -0,0 +1,49 @@ +{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: + +stdenv.mkDerivation { + name = "libc++abi-${version}"; + + src = fetch "libcxxabi" "1ry0v4sd91gg06kqkhqcnbwbd5v1yknbpm0gj39lq8y3d7lwn7np"; + + nativeBuildInputs = [ cmake ]; + buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; + + postUnpack = '' + unpackFile ${libcxx.src} + unpackFile ${llvm.src} + export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + export TRIPLE=x86_64-apple-darwin + '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} + ''; + + installPhase = if stdenv.isDarwin + then '' + for file in lib/*.dylib; do + # this should be done in CMake, but having trouble figuring out + # the magic combination of necessary CMake variables + # if you fancy a try, take a look at + # http://www.cmake.org/Wiki/CMake_RPATH_handling + install_name_tool -id $out/$file $file + done + make install + install -d 755 $out/include + install -m 644 ../include/*.h $out/include + '' + else '' + install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.so.1.0 $out/lib + install -m 644 ../include/cxxabi.h $out/include + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 + ''; + + meta = { + homepage = http://libcxxabi.llvm.org/; + description = "A new implementation of low level support for a standard C++ library"; + license = with stdenv.lib.licenses; [ ncsa mit ]; + maintainers = with stdenv.lib.maintainers; [ vlstill ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/compilers/llvm/7/lld.nix b/pkgs/development/compilers/llvm/7/lld.nix new file mode 100644 index 00000000000..db778d2d2a7 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/lld.nix @@ -0,0 +1,32 @@ +{ stdenv +, fetch +, cmake +, libxml2 +, llvm +, version +}: + +stdenv.mkDerivation { + name = "lld-${version}"; + + src = fetch "lld" "10p8yqikpsx1hvs524dj6fk7hg267bhs6860xngk33130s9s05id"; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ llvm libxml2 ]; + + outputs = [ "out" "dev" ]; + + enableParallelBuilding = true; + + postInstall = '' + moveToOutput include "$dev" + moveToOutput lib "$dev" + ''; + + meta = { + description = "The LLVM Linker"; + homepage = http://lld.llvm.org/; + license = stdenv.lib.licenses.ncsa; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/7/lldb.nix b/pkgs/development/compilers/llvm/7/lldb.nix new file mode 100644 index 00000000000..b8206ca3fef --- /dev/null +++ b/pkgs/development/compilers/llvm/7/lldb.nix @@ -0,0 +1,56 @@ +{ stdenv +, fetch +, cmake +, zlib +, ncurses +, swig +, which +, libedit +, libxml2 +, llvm +, clang-unwrapped +, python +, version +, darwin +}: + +stdenv.mkDerivation { + name = "lldb-${version}"; + + src = fetch "lldb" "1s2jiaq85nzbab3nj4msfw3zxkdwinq71p1d7h70z26q3caddngp"; + + postPatch = '' + # Fix up various paths that assume llvm and clang are installed in the same place + sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \ + cmake/modules/LLDBStandalone.cmake + sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \ + cmake/modules/LLDBStandalone.cmake + sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \ + cmake/modules/LLDBStandalone.cmake + ''; + + nativeBuildInputs = [ cmake python which swig ]; + buildInputs = [ ncurses zlib libedit libxml2 llvm ] + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + + CXXFLAGS = "-fno-rtti"; + hardeningDisable = [ "format" ]; + + cmakeFlags = [ + "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic + ]; + + enableParallelBuilding = true; + + postInstall = '' + mkdir -p $out/share/man/man1 + cp ../docs/lldb.1 $out/share/man/man1/ + ''; + + meta = with stdenv.lib; { + description = "A next-generation high-performance debugger"; + homepage = http://llvm.org/; + license = licenses.ncsa; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/7/llvm-outputs.patch b/pkgs/development/compilers/llvm/7/llvm-outputs.patch new file mode 100644 index 00000000000..40096fa3497 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/llvm-outputs.patch @@ -0,0 +1,26 @@ +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index 94d426b..37f7794 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -333,6 +333,21 @@ int main(int argc, char **argv) { + ActiveIncludeOption = "-I" + ActiveIncludeDir; + } + ++ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared ++ if (!IsInDevelopmentTree) { ++ bool WantShared = true; ++ for (int i = 1; i < argc; ++i) { ++ StringRef Arg = argv[i]; ++ if (Arg == "--link-shared") ++ WantShared = true; ++ else if (Arg == "--link-static") ++ WantShared = false; // the last one wins ++ } ++ ++ if (WantShared) ++ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX; ++ } ++ + /// We only use `shared library` mode in cases where the static library form + /// of the components provided are not available; note however that this is + /// skipped if we're run from within the build dir. However, once installed, diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix new file mode 100644 index 00000000000..327647a7e72 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -0,0 +1,166 @@ +{ stdenv +, fetch +, cmake +, python +, libffi +, libbfd +, libxml2 +, ncurses +, version +, release_version +, zlib +, debugVersion ? false +, enableManpages ? false +, enableSharedLibraries ? true +, enableWasm ? true +}: + +let + src = fetch "llvm" "0r28srr8i0qcx8csblzg1g59wv4q8qc9c9msdm2xfsfggj2sknqa"; + + # Used when creating a version-suffixed symlink of libLLVM.dylib + shortVersion = with stdenv.lib; + concatStringsSep "." (take 2 (splitString "." release_version)); +in stdenv.mkDerivation (rec { + name = "llvm-${version}"; + + unpackPhase = '' + unpackFile ${src} + mv llvm-${version}* llvm + sourceRoot=$PWD/llvm + ''; + + outputs = [ "out" "python" ] + ++ stdenv.lib.optional enableSharedLibraries "lib"; + + nativeBuildInputs = [ cmake python ] + ++ stdenv.lib.optional enableManpages python.pkgs.sphinx; + + buildInputs = [ libxml2 libffi ]; + + propagatedBuildInputs = [ ncurses zlib ]; + + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace cmake/modules/AddLLVM.cmake \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \ + --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" + '' + # Patch llvm-config to return correct library path based on --link-{shared,static}. + + stdenv.lib.optionalString (enableSharedLibraries) '' + substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib + patch -p1 < ./llvm-outputs.patch + '' + '' + # FileSystem permissions tests fail with various special bits + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "Path.cpp" "" + rm unittests/Support/Path.cpp + '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + patch -p1 -i ${../TLI-musl.patch} + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "add_subdirectory(DynamicLibrary)" "" + rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp + ''; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" + "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" + + "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" + + "-DLLVM_ENABLE_DUMP=ON" + ] + ++ stdenv.lib.optional enableSharedLibraries + "-DLLVM_LINK_LLVM_DYLIB=ON" + ++ stdenv.lib.optionals enableManpages [ + "-DLLVM_BUILD_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] + ++ stdenv.lib.optional (!isDarwin) + "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" + ++ stdenv.lib.optionals (isDarwin) [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DCAN_TARGET_i386=false" + ] + ++ stdenv.lib.optional enableWasm + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + ; + + postBuild = '' + rm -fR $out + + paxmark m bin/{lli,llvm-rtdyld} + paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests + paxmark m unittests/ExecutionEngine/Orc/OrcJITTests + paxmark m unittests/Support/SupportTests + paxmark m bin/lli-child-target + ''; + + preCheck = '' + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib + ''; + + postInstall = '' + mkdir -p $python/share + mv $out/share/opt-viewer $python/share/opt-viewer + '' + + stdenv.lib.optionalString enableSharedLibraries '' + moveToOutput "lib/libLLVM-*" "$lib" + moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" + substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ + --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" + '' + + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' + substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ + --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ''; + + doCheck = stdenv.isLinux && (!stdenv.isi686); + + checkTarget = "check-all"; + + enableParallelBuilding = true; + + passthru.src = src; + + meta = { + description = "Collection of modular and reusable compiler and toolchain technologies"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.ncsa; + maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = stdenv.lib.platforms.all; + }; +} // stdenv.lib.optionalAttrs enableManpages { + name = "llvm-manpages-${version}"; + + buildPhase = '' + make docs-llvm-man + ''; + + propagatedBuildInputs = []; + + installPhase = '' + make -C docs install + ''; + + outputs = [ "out" ]; + + doCheck = false; + + meta.description = "man pages for LLVM ${version}"; +}) diff --git a/pkgs/development/compilers/llvm/7/openmp.nix b/pkgs/development/compilers/llvm/7/openmp.nix new file mode 100644 index 00000000000..a1d4a72e268 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/openmp.nix @@ -0,0 +1,25 @@ +{ stdenv +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation { + name = "openmp-${version}"; + + src = fetch "openmp" "198iljq5hhm5rxfzslzbi73sq80jlwfr24a3khdk32lghdj2skdw"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + enableParallelBuilding = true; + + meta = { + description = "Components required to build an executable OpenMP program"; + homepage = http://openmp.llvm.org/; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch new file mode 100644 index 00000000000..6266eb1958d --- /dev/null +++ b/pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch @@ -0,0 +1,413 @@ +From 7b4b3333a2718628b1d510ec1d8438ad67308299 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Fri, 29 Jun 2018 09:48:59 -0500 +Subject: [PATCH] Ported to 6.0, taken from gentoo-musl project. + +------ +Ported to compiler-rt-sanitizers-5.0.0. Taken from + +https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch +Signed-off-by: Jory A. Pratt + +Taken from gentoo-musl project, with a few additional minor fixes. +--- + lib/asan/asan_linux.cc | 4 +- + lib/interception/interception_linux.cc | 2 +- + lib/interception/interception_linux.h | 3 +- + lib/msan/msan_linux.cc | 2 +- + lib/sanitizer_common/sanitizer_allocator.cc | 2 +- + .../sanitizer_common_interceptors_ioctl.inc | 4 +- + .../sanitizer_common_syscalls.inc | 2 +- + lib/sanitizer_common/sanitizer_linux.cc | 8 +++- + .../sanitizer_linux_libcdep.cc | 10 ++--- + lib/sanitizer_common/sanitizer_platform.h | 6 +++ + .../sanitizer_platform_interceptors.h | 4 +- + .../sanitizer_platform_limits_posix.cc | 37 +++++++++++-------- + lib/tsan/rtl/tsan_platform_linux.cc | 2 +- + 13 files changed, 51 insertions(+), 35 deletions(-) + +diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc +index 625f32d40..73cf77aca 100644 +--- a/lib/asan/asan_linux.cc ++++ b/lib/asan/asan_linux.cc +@@ -46,7 +46,7 @@ + #include + #endif + +-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS ++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU + #include + extern "C" void* _DYNAMIC; + #elif SANITIZER_NETBSD +@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) { + UNIMPLEMENTED(); + } + +-#if SANITIZER_ANDROID ++#if SANITIZER_ANDROID || SANITIZER_NONGNU + // FIXME: should we do anything for Android? + void AsanCheckDynamicRTPrereqs() {} + void AsanCheckIncompatibleRT() {} +diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc +index c991550a4..2b706418b 100644 +--- a/lib/interception/interception_linux.cc ++++ b/lib/interception/interception_linux.cc +@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr, + } + + // Android and Solaris do not have dlvsym +-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS ++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU + void *GetFuncAddrVer(const char *func_name, const char *ver) { + return dlvsym(RTLD_NEXT, func_name, ver); + } +diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h +index 98fe51b85..c13302b98 100644 +--- a/lib/interception/interception_linux.h ++++ b/lib/interception/interception_linux.h +@@ -35,8 +35,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver); + (::__interception::uptr) & (func), \ + (::__interception::uptr) & WRAP(func)) + +-// Android and Solaris do not have dlvsym +-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS ++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU + #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \ + (::__interception::real_##func = (func##_f)( \ + unsigned long)::__interception::GetFuncAddrVer(#func, symver)) +diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc +index 4e6321fcb..4d50feb82 100644 +--- a/lib/msan/msan_linux.cc ++++ b/lib/msan/msan_linux.cc +@@ -13,7 +13,7 @@ + //===----------------------------------------------------------------------===// + + #include "sanitizer_common/sanitizer_platform.h" +-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD ++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD + + #include "msan.h" + #include "msan_thread.h" +diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc +index fc4f7a75a..76cf4f769 100644 +--- a/lib/sanitizer_common/sanitizer_allocator.cc ++++ b/lib/sanitizer_common/sanitizer_allocator.cc +@@ -23,7 +23,7 @@ namespace __sanitizer { + + // ThreadSanitizer for Go uses libc malloc/free. + #if SANITIZER_GO || defined(SANITIZER_USE_MALLOC) +-# if SANITIZER_LINUX && !SANITIZER_ANDROID ++# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + extern "C" void *__libc_malloc(uptr size); + # if !SANITIZER_GO + extern "C" void *__libc_memalign(uptr alignment, uptr size); +diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 24e7548a5..20259b1d6 100644 +--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -102,7 +102,7 @@ static void ioctl_table_fill() { + _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz); + #endif + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX && !SANITIZER_NONGNU + // Conflicting request ids. + // _(CDROMAUDIOBUFSIZ, NONE, 0); + // _(SNDCTL_TMR_CONTINUE, NONE, 0); +@@ -363,7 +363,7 @@ static void ioctl_table_fill() { + _(VT_WAITACTIVE, NONE, 0); + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE + _(CYGETDEFTHRESH, WRITE, sizeof(int)); + _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc +index 469c8eb7e..24f87867d 100644 +--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc ++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc +@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) { + } + } + +-#if !SANITIZER_ANDROID ++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU + PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim, + void *old_rlim) { + if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz); +diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc +index 6c83e8db4..542c4fe64 100644 +--- a/lib/sanitizer_common/sanitizer_linux.cc ++++ b/lib/sanitizer_common/sanitizer_linux.cc +@@ -522,13 +522,13 @@ const char *GetEnv(const char *name) { + #endif + } + +-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD ++#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_NONGNU + extern "C" { + SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end; + } + #endif + +-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD ++#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD + static void ReadNullSepFileToArray(const char *path, char ***arr, + int arr_size) { + char *buff; +@@ -569,6 +569,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) { + #elif SANITIZER_NETBSD + *argv = __ps_strings->ps_argvstr; + *argv = __ps_strings->ps_envstr; ++#elif SANITIZER_NONGNU ++ static const int kMaxArgv = 2000, kMaxEnvp = 2000; ++ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv); ++ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp); + #else + #if !SANITIZER_GO + if (&__libc_stack_end) { +diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc +index 56fdfc870..a932d5db1 100644 +--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc ++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc +@@ -174,7 +174,7 @@ bool SanitizerGetThreadName(char *name, int max_len) { + } + + #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \ +- !SANITIZER_NETBSD && !SANITIZER_SOLARIS ++ !SANITIZER_NETBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU + static uptr g_tls_size; + + #ifdef __i386__ +@@ -207,7 +207,7 @@ void InitTlsSize() { } + + #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \ + || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \ +- || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID ++ || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + // sizeof(struct pthread) from glibc. + static atomic_uintptr_t kThreadDescriptorSize; + +@@ -391,7 +391,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) { + + #if !SANITIZER_GO + static void GetTls(uptr *addr, uptr *size) { +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + # if defined(__x86_64__) || defined(__i386__) || defined(__s390__) + *addr = ThreadSelf(); + *size = GetTlsSize(); +@@ -432,7 +432,7 @@ static void GetTls(uptr *addr, uptr *size) { + *addr = (uptr)tcb->tcb_dtv[1]; + } + } +-#elif SANITIZER_ANDROID ++#elif SANITIZER_ANDROID || SANITIZER_NONGNU + *addr = 0; + *size = 0; + #elif SANITIZER_SOLARIS +@@ -448,7 +448,7 @@ static void GetTls(uptr *addr, uptr *size) { + #if !SANITIZER_GO + uptr GetTlsSize() { + #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \ +- SANITIZER_SOLARIS ++ SANITIZER_SOLARIS || SANITIZER_NONGNU + uptr addr, size; + GetTls(&addr, &size); + return size; +diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h +index 334903c26..fc2afac2c 100644 +--- a/lib/sanitizer_common/sanitizer_platform.h ++++ b/lib/sanitizer_common/sanitizer_platform.h +@@ -195,6 +195,12 @@ + # define SANITIZER_SOLARIS32 0 + #endif + ++#if defined(__linux__) && !defined(__GLIBC__) ++# define SANITIZER_NONGNU 1 ++#else ++# define SANITIZER_NONGNU 0 ++#endif ++ + // By default we allow to use SizeClassAllocator64 on 64-bit platform. + // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64 + // does not work well and we need to fallback to SizeClassAllocator32. +diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h +index b99ac4480..628d226a1 100644 +--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h ++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h +@@ -38,7 +38,7 @@ + # include "sanitizer_platform_limits_solaris.h" + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + # define SI_LINUX_NOT_ANDROID 1 + #else + # define SI_LINUX_NOT_ANDROID 0 +@@ -291,7 +291,7 @@ + (SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID) + #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID) + #define SANITIZER_INTERCEPT_SHMCTL \ +- (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \ ++ (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \ + SANITIZER_WORDSIZE == 64)) // NOLINT + #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID + #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +index feb7bad6f..4e89ab2a6 100644 +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -14,6 +14,9 @@ + + #include "sanitizer_platform.h" + ++// Workaround musl <--> linux conflicting definition of 'struct sysinfo' ++#define _LINUX_SYSINFO_H ++ + #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC + // Tests in this file assume that off_t-dependent data structures match the + // libc ABI. For example, struct dirent here is what readdir() function (as +@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t; + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + #include +-#include ++# if !SANITIZER_NONGNU ++# include ++# endif + #include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include + #if HAVE_RPC_XDR_H + # include + #elif HAVE_TIRPC_RPC_XDR_H +@@ -251,7 +256,7 @@ namespace __sanitizer { + unsigned struct_itimerspec_sz = sizeof(struct itimerspec); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + // Use pre-computed size of struct ustat to avoid which + // has been removed from glibc 2.28. + #if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ +@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr)); + unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif + +-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU + int glob_nomatch = GLOB_NOMATCH; + int glob_altdirfunc = GLOB_ALTDIRFUNC; + #endif +@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned struct_termios_sz = sizeof(struct termios); + unsigned struct_winsize_sz = sizeof(struct winsize); + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX && !SANITIZER_NONGNU + unsigned struct_arpreq_sz = sizeof(struct arpreq); + unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf); + unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession); +@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned struct_vt_mode_sz = sizeof(struct vt_mode); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); + unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) +@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE; + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; + unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; + unsigned IOCTL_CYGETMON = CYGETMON; +@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr); + CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU + CHECK_TYPE_SIZE(glob_t); + CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc); + CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv); +@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec); + CHECK_SIZE_AND_OFFSET(iovec, iov_base); + CHECK_SIZE_AND_OFFSET(iovec, iov_len); + ++#if !SANITIZER_NONGNU + CHECK_TYPE_SIZE(msghdr); + CHECK_SIZE_AND_OFFSET(msghdr, msg_name); + CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen); +@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr); + CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len); + CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level); + CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type); ++#endif + + COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent)); + CHECK_SIZE_AND_OFFSET(dirent, d_ino); +@@ -1138,7 +1145,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno); + + CHECK_TYPE_SIZE(ether_addr); + +-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU + CHECK_TYPE_SIZE(ipc_perm); + # if SANITIZER_FREEBSD + CHECK_SIZE_AND_OFFSET(ipc_perm, key); +@@ -1199,7 +1206,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr); + CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data); + #endif + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX && !SANITIZER_NONGNU + COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo)); + #endif + +@@ -1249,7 +1256,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE); + COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE); + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE)); + CHECK_SIZE_AND_OFFSET(FILE, _flags); + CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr); +@@ -1268,7 +1275,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain); + CHECK_SIZE_AND_OFFSET(FILE, _fileno); + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk)); + CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit); + CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev); +diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc +index e14d5f575..389a3bc88 100644 +--- a/lib/tsan/rtl/tsan_platform_linux.cc ++++ b/lib/tsan/rtl/tsan_platform_linux.cc +@@ -285,7 +285,7 @@ void InitializePlatform() { + // This is required to properly "close" the fds, because we do not see internal + // closes within glibc. The code is a pure hack. + int ExtractResolvFDs(void *state, int *fds, int nfd) { +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + int cnt = 0; + struct __res_state *statp = (struct __res_state*)state; + for (int i = 0; i < MAXNS && cnt < nfd; i++) { +-- +2.18.0 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3ecd69cc0aa..dacfc95d82c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6381,6 +6381,7 @@ with pkgs; }; }; + clang_7 = llvmPackages_7.clang; clang_6 = llvmPackages_6.clang; clang_5 = llvmPackages_5.clang; clang_4 = llvmPackages_4.clang; @@ -6978,15 +6979,18 @@ with pkgs; lld_4 = llvmPackages_4.lld; lld_5 = llvmPackages_5.lld; lld_6 = llvmPackages_6.lld; + lld_7 = llvmPackages_7.lld; lldb = llvmPackages.lldb; lldb_4 = llvmPackages_4.lldb; lldb_5 = llvmPackages_5.lldb; lldb_6 = llvmPackages_6.lldb; + lldb_7 = llvmPackages_7.lldb; llvm = llvmPackages.llvm; llvm-manpages = llvmPackages.llvm-manpages; + llvm_7 = llvmPackages_7.llvm; llvm_6 = llvmPackages_6.llvm; llvm_5 = llvmPackages_5.llvm; llvm_4 = llvmPackages_4.llvm; @@ -7051,6 +7055,14 @@ with pkgs; stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4' }); + llvmPackages_7 = callPackage ../development/compilers/llvm/7 ({ + inherit (stdenvAdapters) overrideCC; + buildLlvmTools = buildPackages.llvmPackages_7.tools; + targetLlvmLibraries = targetPackages.llvmPackages_7.libraries; + } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { + stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4' + }); + manticore = callPackage ../development/compilers/manticore { }; mentorToolchains = recurseIntoAttrs ( From b7692f5be5ac9d08dbf6575b8e8678037678ca14 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 14:35:21 -0500 Subject: [PATCH 44/87] llvm7: patch test shebang (otherwise test fails) --- pkgs/development/compilers/llvm/7/llvm.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index 327647a7e72..ea0a520dbd6 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -59,6 +59,8 @@ in stdenv.mkDerivation (rec { substituteInPlace unittests/Support/CMakeLists.txt \ --replace "add_subdirectory(DynamicLibrary)" "" rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp + '' + '' + patchShebangs test/BugPoint/compile-custom.ll.py ''; # hacky fix: created binaries need to be run before installation From 38699890d6622debd4a18ab1d557cb162f0edbf7 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 14:45:39 -0500 Subject: [PATCH 45/87] llvm-manpages: fix build by removing references to $lib output --- pkgs/development/compilers/llvm/7/llvm.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index ea0a520dbd6..053d0372507 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -160,6 +160,9 @@ in stdenv.mkDerivation (rec { make -C docs install ''; + postPatch = null; + postInstall = null; + outputs = [ "out" ]; doCheck = false; From ba701ef3297b5af3673df2d4d6a1b187a1e08930 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 14:52:17 -0500 Subject: [PATCH 46/87] comment --- pkgs/development/compilers/llvm/7/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 2526f1ab17e..ba0ad884bbd 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -9,7 +9,7 @@ let version = release_version + "rc3"; # differentiating these is important for rc's fetch = name: sha256: fetchurl { - name = "${name}-${release_version}.src.tar.xz"; + name = "${name}-${release_version}.src.tar.xz"; # Hopefully yields same hash with final release url = "http://prereleases.llvm.org/${release_version}/rc3/${name}-${version}.src.tar.xz"; inherit sha256; }; From 621fd23cb5961ffe2c6b7f2f23ae0f35187c50c5 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 15:00:39 -0500 Subject: [PATCH 47/87] compiler-rt: quickfix codesign patch by dropping hunks 'already applied' Quite possibly this is not right. --- .../llvm/7/compiler-rt-codesign.patch | 122 ------------------ 1 file changed, 122 deletions(-) diff --git a/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch index 8f4c76bca1e..3cc12b94b20 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch +++ b/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch @@ -29,127 +29,5 @@ index bc5fb9ff7..b64eb4246 100644 endif() install(TARGETS ${libname} ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} -diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt -index 8bfc15b5c..f23d0f71a 100644 ---- a/test/asan/CMakeLists.txt -+++ b/test/asan/CMakeLists.txt -@@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH}) - endif() - endforeach() - --# iOS and iOS simulator test suites --# These are not added into "check-all", in order to run these tests, use --# "check-asan-iossim-x86_64" and similar. They also require that an extra env --# variable to select which iOS device or simulator to use, e.g.: --# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" --if(APPLE) -- set(EXCLUDE_FROM_ALL ON) -- -- set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) -- set(ASAN_TEST_IOS "1") -- pythonize_bool(ASAN_TEST_IOS) -- set(ASAN_TEST_DYNAMIC True) -- -- foreach(arch ${DARWIN_iossim_ARCHS}) -- set(ASAN_TEST_IOSSIM "1") -- pythonize_bool(ASAN_TEST_IOSSIM) -- set(ASAN_TEST_TARGET_ARCH ${arch}) -- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") -- get_bits_for_arch(${arch} ASAN_TEST_BITS) -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${ASAN_TEST_DEPS}) -- endforeach() -- -- foreach (arch ${DARWIN_ios_ARCHS}) -- set(ASAN_TEST_IOSSIM "0") -- pythonize_bool(ASAN_TEST_IOSSIM) -- set(ASAN_TEST_TARGET_ARCH ${arch}) -- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios") -- get_bits_for_arch(${arch} ASAN_TEST_BITS) -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${ASAN_TEST_DEPS}) -- endforeach() -- -- set(EXCLUDE_FROM_ALL OFF) --endif() -- - # Add unit tests. - if(COMPILER_RT_INCLUDE_TESTS) - set(ASAN_TEST_DYNAMIC False) -diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt -index a68908612..cde0accb5 100644 ---- a/test/tsan/CMakeLists.txt -+++ b/test/tsan/CMakeLists.txt -@@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH}) - list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) - endforeach() - --# iOS and iOS simulator test suites --# These are not added into "check-all", in order to run these tests, use --# "check-tsan-iossim-x86_64" and similar. They also require an extra environment --# variable to select which iOS device or simulator to use, e.g.: --# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" --if(APPLE) -- set(EXCLUDE_FROM_ALL ON) -- -- set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) -- set(TSAN_TEST_IOS "1") -- pythonize_bool(TSAN_TEST_IOS) -- -- set(arch "x86_64") -- set(TSAN_TEST_IOSSIM "1") -- pythonize_bool(TSAN_TEST_IOSSIM) -- set(TSAN_TEST_TARGET_ARCH ${arch}) -- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${TSAN_TEST_DEPS}) -- -- set(arch "arm64") -- set(TSAN_TEST_IOSSIM "0") -- pythonize_bool(TSAN_TEST_IOSSIM) -- set(TSAN_TEST_TARGET_ARCH ${arch}) -- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios") -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${TSAN_TEST_DEPS}) -- -- set(EXCLUDE_FROM_ALL OFF) --endif() -- - if(COMPILER_RT_INCLUDE_TESTS) - configure_lit_site_cfg( - ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in --- 2.14.1 From 0c459474f97575e9ecb0523903e4838244b424f5 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 15:33:32 -0500 Subject: [PATCH 48/87] tests: add variants for llvm7 --- pkgs/test/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 774077949b2..24255f3f655 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -17,6 +17,8 @@ with pkgs; cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; }; cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; }; cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; }; + cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; }; + cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; }; stdenv-inputs = callPackage ./stdenv-inputs { }; cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; }; From fca31e1a68486089e325175f9177a3d00b3e3974 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 19 Sep 2018 07:43:33 -0500 Subject: [PATCH 49/87] llvm7: use final release tarballs now that they're available --- pkgs/development/compilers/llvm/7/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index ba0ad884bbd..7f98ab70142 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -6,11 +6,11 @@ let release_version = "7.0.0"; - version = release_version + "rc3"; # differentiating these is important for rc's + version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { name = "${name}-${release_version}.src.tar.xz"; # Hopefully yields same hash with final release - url = "http://prereleases.llvm.org/${release_version}/rc3/${name}-${version}.src.tar.xz"; + url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; inherit sha256; }; From 0920652c5c97e1646388d501af2a9a1c16ce9a65 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 19 Sep 2018 08:00:23 -0500 Subject: [PATCH 50/87] llvm7: update hashes, they did change after all. Pretty sure they did last time too :). --- pkgs/development/compilers/llvm/7/clang/default.nix | 2 +- pkgs/development/compilers/llvm/7/compiler-rt.nix | 2 +- pkgs/development/compilers/llvm/7/default.nix | 3 +-- pkgs/development/compilers/llvm/7/libc++/default.nix | 2 +- pkgs/development/compilers/llvm/7/libc++abi.nix | 2 +- pkgs/development/compilers/llvm/7/lld.nix | 2 +- pkgs/development/compilers/llvm/7/lldb.nix | 2 +- pkgs/development/compilers/llvm/7/llvm.nix | 2 +- pkgs/development/compilers/llvm/7/openmp.nix | 2 +- 9 files changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix index 2dbf5bd8a8e..e1f4eb30360 100644 --- a/pkgs/development/compilers/llvm/7/clang/default.nix +++ b/pkgs/development/compilers/llvm/7/clang/default.nix @@ -9,7 +9,7 @@ let name = "clang-${version}"; unpackPhase = '' - unpackFile ${fetch "cfe" "18aapi26lp25g38j1kwmzviagy9l59ach5kzvf80x5dvs2rmhcpc"} + unpackFile ${fetch "cfe" "0mdsbgj3p7mayhzm8hclzl3i46r2lwa8fr1cz399f9km3iqi40jm"} mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix index fe83d867585..ec739d22dd7 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "compiler-rt-${version}"; inherit version; - src = fetch "compiler-rt" "0r4hg8hi60kdjl4arp3s51dbwbwz11s8qvccdkx9v52vc27p2241"; + src = fetch "compiler-rt" "1mkhqvs8cxbfmprkzwyq7lmnzr1sv45znzf0arbgb19crzipzv5x"; nativeBuildInputs = [ cmake python llvm ]; buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 7f98ab70142..9328d830edf 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -9,12 +9,11 @@ let version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { - name = "${name}-${release_version}.src.tar.xz"; # Hopefully yields same hash with final release url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "0rhvlz4g2nd10zrwx37yi5if8wqirh8845pwbgg62r9l2pb6j7n7"; + clang-tools-extra_src = fetch "clang-tools-extra" "1glxl7bnr4k3j16s8xy8r9cl0llyg524f50591g1ig23ij65lz4k"; tools = stdenv.lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix index 01ee8b4c60c..992794f38e5 100644 --- a/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "libc++-${version}"; - src = fetch "libcxx" "1ylw8sdiy7b9siajm88frw95y8ii1kng3xbsqhn8nmhy0yxwd1p5"; + src = fetch "libcxx" "1w1l472p03csgz76p70pn9yk7h0nw5hj1av44ysnakigp8jjcd4v"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix index eb7237598bd..7dbda6c365e 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "libc++abi-${version}"; - src = fetch "libcxxabi" "1ry0v4sd91gg06kqkhqcnbwbd5v1yknbpm0gj39lq8y3d7lwn7np"; + src = fetch "libcxxabi" "0pr4xfx61r5mwmvhg4j9pb6df6vvha1gyf6rwkm14x9rzxcwficv"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; diff --git a/pkgs/development/compilers/llvm/7/lld.nix b/pkgs/development/compilers/llvm/7/lld.nix index db778d2d2a7..f6ce768d648 100644 --- a/pkgs/development/compilers/llvm/7/lld.nix +++ b/pkgs/development/compilers/llvm/7/lld.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { name = "lld-${version}"; - src = fetch "lld" "10p8yqikpsx1hvs524dj6fk7hg267bhs6860xngk33130s9s05id"; + src = fetch "lld" "173z50vx5mlsaiqmbz7asxy2297z4xivrfxrdfncvx23wp2lgkzv"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; diff --git a/pkgs/development/compilers/llvm/7/lldb.nix b/pkgs/development/compilers/llvm/7/lldb.nix index b8206ca3fef..6c3f0699978 100644 --- a/pkgs/development/compilers/llvm/7/lldb.nix +++ b/pkgs/development/compilers/llvm/7/lldb.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { name = "lldb-${version}"; - src = fetch "lldb" "1s2jiaq85nzbab3nj4msfw3zxkdwinq71p1d7h70z26q3caddngp"; + src = fetch "lldb" "0cmah36ybyfws0z2ikq9fqn5k4kvjci7vgk97ddx4xwrwkzdixkz"; postPatch = '' # Fix up various paths that assume llvm and clang are installed in the same place diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index 053d0372507..ef39dd9e918 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -16,7 +16,7 @@ }: let - src = fetch "llvm" "0r28srr8i0qcx8csblzg1g59wv4q8qc9c9msdm2xfsfggj2sknqa"; + src = fetch "llvm" "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb"; # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; diff --git a/pkgs/development/compilers/llvm/7/openmp.nix b/pkgs/development/compilers/llvm/7/openmp.nix index a1d4a72e268..31059b7c4c0 100644 --- a/pkgs/development/compilers/llvm/7/openmp.nix +++ b/pkgs/development/compilers/llvm/7/openmp.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { name = "openmp-${version}"; - src = fetch "openmp" "198iljq5hhm5rxfzslzbi73sq80jlwfr24a3khdk32lghdj2skdw"; + src = fetch "openmp" "1zrqlaxr954sp8lcr7g8m0z0pr8xyq4i6p11x6gcamjm5xijnrih"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; From 167e799d81de43b51bf05d8b8e0a7ddac8e06202 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 19 Sep 2018 08:02:21 -0500 Subject: [PATCH 51/87] llvm*: http -> https, prefer releases.llvm.org --- pkgs/development/compilers/llvm/3.5/default.nix | 2 +- pkgs/development/compilers/llvm/3.7/default.nix | 2 +- pkgs/development/compilers/llvm/3.8/default.nix | 2 +- pkgs/development/compilers/llvm/3.9/default.nix | 2 +- pkgs/development/compilers/llvm/5/default.nix | 2 +- pkgs/development/compilers/llvm/6/default.nix | 2 +- pkgs/development/compilers/llvm/7/default.nix | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/llvm/3.5/default.nix b/pkgs/development/compilers/llvm/3.5/default.nix index f588eb4407b..b87fa747f14 100644 --- a/pkgs/development/compilers/llvm/3.5/default.nix +++ b/pkgs/development/compilers/llvm/3.5/default.nix @@ -6,7 +6,7 @@ let fetch = fetch_v version; fetch_v = ver: name: sha256: fetchurl { - url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz"; + url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix index f176894dedb..3c557711449 100644 --- a/pkgs/development/compilers/llvm/3.7/default.nix +++ b/pkgs/development/compilers/llvm/3.7/default.nix @@ -9,7 +9,7 @@ let fetch = fetch_v version; fetch_v = ver: name: sha256: fetchurl { - url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz"; + url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix index 99869e6e80a..a848c8b9252 100644 --- a/pkgs/development/compilers/llvm/3.8/default.nix +++ b/pkgs/development/compilers/llvm/3.8/default.nix @@ -8,7 +8,7 @@ let fetch = fetch_v version; fetch_v = ver: name: sha256: fetchurl { - url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz"; + url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix index 01c08f4bd20..752790cdd85 100644 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ b/pkgs/development/compilers/llvm/3.9/default.nix @@ -8,7 +8,7 @@ let fetch = fetch_v version; fetch_v = ver: name: sha256: fetchurl { - url = "http://llvm.org/releases/${version}/${name}-${ver}.src.tar.xz"; + url = "https://releases.llvm.org/${version}/${name}-${ver}.src.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index 38d2b0d461d..68ee80fa7a6 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -9,7 +9,7 @@ let version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { - url = "http://llvm.org/releases/${release_version}/${name}-${version}.src.tar.xz"; + url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix index 831e4b65344..5ee551f6b6b 100644 --- a/pkgs/development/compilers/llvm/6/default.nix +++ b/pkgs/development/compilers/llvm/6/default.nix @@ -9,7 +9,7 @@ let version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { - url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; + url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 9328d830edf..5446f1b362a 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -9,7 +9,7 @@ let version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { - url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; + url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; inherit sha256; }; From e3030a2908ca212dd9e6307695effb8bbcaf23af Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 19 Sep 2018 08:36:40 -0500 Subject: [PATCH 52/87] libc++7: prefer 'optional' as suggested by comment --- pkgs/development/compilers/llvm/7/libc++/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix index 992794f38e5..76bfb34975e 100644 --- a/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -10,11 +10,7 @@ stdenv.mkDerivation rec { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - # on next rebuild, this can be replaced with optionals; for now set to null to avoid - # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - patches = if stdenv.hostPlatform.isMusl then [ - ../../libcxx-0001-musl-hacks.patch - ] else null; + patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" From b3645d74d1ec4bd88c521376aca59e9cab0093ef Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Thu, 20 Sep 2018 19:42:44 -0500 Subject: [PATCH 53/87] llvm7: only use 1 number in version suffix, upstream changed See llvm 2a6cf85828509e89e18739e5f4b9a958820d66d4 --- pkgs/development/compilers/llvm/7/llvm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index ef39dd9e918..4f540d23c9e 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -20,7 +20,7 @@ let # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; - concatStringsSep "." (take 2 (splitString "." release_version)); + concatStringsSep "." (take 1 (splitString "." release_version)); in stdenv.mkDerivation (rec { name = "llvm-${version}"; From 9fe245d7e05f44d42156d3f557d257e17d3ac4f0 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Thu, 20 Sep 2018 19:53:59 -0500 Subject: [PATCH 54/87] llvm7: optionally use libpfm (exegesis), default off w/darwin --- pkgs/development/compilers/llvm/7/llvm.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index 4f540d23c9e..67bde813fee 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -4,6 +4,7 @@ , python , libffi , libbfd +, libpfm , libxml2 , ncurses , version @@ -13,6 +14,7 @@ , enableManpages ? false , enableSharedLibraries ? true , enableWasm ? true +, enablePFM ? !stdenv.isDarwin }: let @@ -36,7 +38,8 @@ in stdenv.mkDerivation (rec { nativeBuildInputs = [ cmake python ] ++ stdenv.lib.optional enableManpages python.pkgs.sphinx; - buildInputs = [ libxml2 libffi ]; + buildInputs = [ libxml2 libffi ] + ++ stdenv.lib.optional enablePFM libpfm; # exegesis propagatedBuildInputs = [ ncurses zlib ]; From 6371a6e10b884e9b02b466667a2728aebc41d715 Mon Sep 17 00:00:00 2001 From: Joakim Pettersvold Date: Sun, 23 Sep 2018 20:26:30 +0200 Subject: [PATCH 55/87] quodlibet: add glib-networking dep Added glib-networking as dependency so that quodlibet can securely connect to audio streams --- pkgs/applications/audio/quodlibet/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index f1a22bd839a..baf49ff78e5 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, python3, wrapGAppsHook, gettext, intltool, libsoup, gnome3, gtk3, gdk_pixbuf, - tag ? "", xvfb_run, dbus, glibcLocales, glib, gobjectIntrospection, + tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobjectIntrospection, gst_all_1, withGstPlugins ? true, xineBackend ? false, xineLib, withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false, @@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec { checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ]; - buildInputs = [ gnome3.defaultIconTheme libsoup glib gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ] + buildInputs = [ gnome3.defaultIconTheme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ] ++ (if xineBackend then [ xineLib ] else with gst_all_1; [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]); From 611cc31aa4b7aa4ab40c59a442fc7fe5c173db9d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 23 Sep 2018 00:06:34 -0500 Subject: [PATCH 56/87] kde: add kdoctools to default environment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit khelpcenter needs meinproc5 to work properly. Hopefully doesn’t effect closure sizes too much - kdoctools is rather small. Fixes #46539 /cc @ttuegel --- nixos/modules/services/x11/desktop-managers/plasma5.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index d1cb962f6ff..e759f69db89 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -81,6 +81,7 @@ in kconfig kconfigwidgets kcoreaddons + kdoctools kdbusaddons kdeclarative kded From ff6122c9934712c6c7f2c7e21dba85517967dae7 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Sun, 23 Sep 2018 21:54:25 +0200 Subject: [PATCH 57/87] haskellPackages.Frames: fix build by using vinyl-0.10.0 --- pkgs/development/haskell-modules/configuration-common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 64a82ed42a8..ec0a3cf34e5 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1136,4 +1136,7 @@ self: super: { sha256 = "1qair09xs6vln3vsjz7sy4hhv037146zak4mq3iv6kdhmp606hqv"; }); + # Can be removed once vinyl >= 0.10 is in the LTS. + Frames = super.Frames.override { vinyl = super.vinyl_0_10_0; }; + } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super From 73cf1c26d836f8c453ab3a4c9d33046be8c1a189 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Sun, 23 Sep 2018 21:57:17 +0200 Subject: [PATCH 58/87] haskellPackages.Frames-beam: disable tests because it requires a running PostgreSQL server --- pkgs/development/haskell-modules/configuration-nix.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index c3df7d38bfd..43ba2d000eb 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -517,4 +517,7 @@ self: super: builtins.intersectAttrs super { postPatch = '' sed -i -e 's|"z3"|"${pkgs.z3}/bin/z3"|' Data/SBV/Provers/Z3.hs''; }); + + # The test-suite requires a running PostgreSQL server. + Frames-beam = dontCheck super.Frames-beam; } From 7c74bc002f05898a55662763e4c187eb8974cf8b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 23 Sep 2018 15:18:59 -0500 Subject: [PATCH 59/87] 19.03: fix section id --- nixos/doc/manual/release-notes/rl-1903.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index bfae2d0f597..8c8237e6371 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -46,7 +46,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" - xml:id="sec-release-18.09-incompatibilities"> + xml:id="sec-release-19.03-incompatibilities"> Backward Incompatibilities From 843d056bc5df44761e75dfdd7024737749994e5b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 23 Sep 2018 16:31:54 -0400 Subject: [PATCH 60/87] solargraph: 0.27.1 -> 0.28.1 (#47242) --- pkgs/development/ruby-modules/solargraph/Gemfile.lock | 2 +- pkgs/development/ruby-modules/solargraph/gemset.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock index 436d31830ff..04d274d0562 100644 --- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock +++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock @@ -26,7 +26,7 @@ GEM ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) ruby-progressbar (1.10.0) - solargraph (0.27.1) + solargraph (0.28.1) coderay (~> 1.1) eventmachine (~> 1.2, >= 1.2.5) htmlentities (~> 4.3, >= 4.3.4) diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix index 840cf922419..3319f2a68de 100644 --- a/pkgs/development/ruby-modules/solargraph/gemset.nix +++ b/pkgs/development/ruby-modules/solargraph/gemset.nix @@ -127,10 +127,10 @@ dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wp4k6ayv9gv1rzxqccz6zb1fss7klszqwha9wvs6mj3c1vhghac"; + sha256 = "11l759mrzjla2iqy5wdd20r01196pfxkw0b0gzgskdbfi8y8mvg5"; type = "gem"; }; - version = "0.27.1"; + version = "0.28.1"; }; thor = { source = { From 965836aada6ed0ad2ece172ee7e8a094653484cd Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 23 Sep 2018 13:36:37 -0700 Subject: [PATCH 61/87] mwic: 0.7.5 -> 0.7.6 (#46995) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mwic/versions --- pkgs/applications/misc/mwic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix index 67e6ed3fa9c..15904ab7c0a 100644 --- a/pkgs/applications/misc/mwic/default.nix +++ b/pkgs/applications/misc/mwic/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: stdenv.mkDerivation rec { - version = "0.7.5"; + version = "0.7.6"; name = "mwic-${version}"; src = fetchurl { url = "https://github.com/jwilk/mwic/releases/download/${version}/${name}.tar.gz"; - sha256 = "1b4fz9vs0aihg9nj9aj6d2jmykpa9nxi9rvz06v50wwk515plpmc"; + sha256 = "0dl56979i54hrmz5l27c4q1f7jd1bpkmi7sm86946dagi4l1ns3i"; }; makeFlags=["PREFIX=\${out}"]; From 90a587622bad8ac1c699f2c2fb44881a42eb7bb5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 23 Sep 2018 13:38:33 -0700 Subject: [PATCH 62/87] libmediainfo: 18.08 -> 18.08.1 (#47030) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libmediainfo/versions --- pkgs/development/libraries/libmediainfo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix index c4f41663c84..1ef2c6914ae 100644 --- a/pkgs/development/libraries/libmediainfo/default.nix +++ b/pkgs/development/libraries/libmediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }: stdenv.mkDerivation rec { - version = "18.08"; + version = "18.08.1"; name = "libmediainfo-${version}"; src = fetchurl { url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz"; - sha256 = "0h9fkfkil9y5xjxa7q4gxxihkn9kv9hak6ral2isvks5x3sy0ca8"; + sha256 = "1h6brg98i39xprcl54gvs1scmv8d6f3iw5h2diwz5bbz4lspy8vs"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; From 540e9726b3fad06f73433224d6010cf7734beb80 Mon Sep 17 00:00:00 2001 From: symphorien Date: Sun, 23 Sep 2018 20:38:56 +0000 Subject: [PATCH 63/87] agedu: 20180522.5b12791 -> 20180918.80c7beb (#47231) --- pkgs/tools/misc/agedu/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/agedu/default.nix b/pkgs/tools/misc/agedu/default.nix index 2f9615a1fdb..d0254e9ce9f 100644 --- a/pkgs/tools/misc/agedu/default.nix +++ b/pkgs/tools/misc/agedu/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchgit, autoreconfHook, halibut}: let - date = "20180522"; - rev = "5b12791"; + date = "20180918"; + rev = "80c7beb"; in stdenv.mkDerivation { name = "agedu-${date}.${rev}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { src = fetchgit { url = https://git.tartarus.org/simon/agedu.git; inherit rev; - sha256 = "1zyxif0i3yil4xm8y9aqk6wsdwi7b3jg682lv6ds6a6bl047fz1q"; + sha256 = "0i930izna3s73p2q52qa377ixd14zij5q1n7w3irl7csyy78g0cd"; }; nativeBuildInputs = [autoreconfHook halibut]; From 5ad7aedf63fd7111699b92c2ea5546027e22d35a Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 23 Sep 2018 22:39:21 +0200 Subject: [PATCH 64/87] pythonPackages.pyftgl: fix build (#47232) See https://hydra.nixos.org/build/80705583 Recent `boost` versions with `python` enabled have changed their naming scheme for `boost_python` shared objects which causes issues with the proper linking when building `pyftgl`. Previously the library was named `boost_python3`, no it's named `boost_python36` for current python (3.6.x). The same issue applies for the `python2`. Addresses #45960 --- .../python-modules/pyftgl/default.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix index a8583747225..1163f007b09 100644 --- a/pkgs/development/python-modules/pyftgl/default.nix +++ b/pkgs/development/python-modules/pyftgl/default.nix @@ -1,5 +1,13 @@ -{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k -, boost, freetype, ftgl, libGLU_combined }: +{ lib, buildPythonPackage, fetchFromGitHub, isPy3k +, boost, freetype, ftgl, libGLU_combined +, python +}: + +let + + pythonVersion = with lib.versions; "${major python.version}${minor python.version}"; + +in buildPythonPackage rec { pname = "pyftgl"; @@ -13,13 +21,13 @@ buildPythonPackage rec { sha256 = "12zcjv4cwwjihiaf74kslrdmmk4bs47h7006gyqfwdfchfjdgg4r"; }; - postPatch = stdenv.lib.optional isPy3k '' - sed -i "s,'boost_python','boost_python3',g" setup.py + postPatch = '' + sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py ''; buildInputs = [ boost freetype ftgl libGLU_combined ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Python bindings for FTGL (FreeType for OpenGL)"; license = licenses.gpl2Plus; }; From cd1b9d93e6466d7238d37ee9feb571224cb37fef Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 23 Sep 2018 16:40:29 -0400 Subject: [PATCH 65/87] pyjet: init at 1.3.0 (#47243) --- .../python-modules/pyjet/default.nix | 21 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/python-modules/pyjet/default.nix diff --git a/pkgs/development/python-modules/pyjet/default.nix b/pkgs/development/python-modules/pyjet/default.nix new file mode 100644 index 00000000000..69d20863a77 --- /dev/null +++ b/pkgs/development/python-modules/pyjet/default.nix @@ -0,0 +1,21 @@ +{ lib, buildPythonPackage, fetchPypi, nose, numpy }: + +buildPythonPackage rec { + pname = "pyjet"; + version = "1.3.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1glcwv9ni8i40smfw6m456xjadlkackim5nk33xmas1fa96lpagg"; + }; + + propagatedBuildInputs = [ numpy ]; + checkInputs = [ nose ]; + + meta = with lib; { + homepage = "https://github.com/scikit-hep/pyjet"; + description = "The interface between FastJet and NumPy"; + license = licenses.gpl3; + maintainers = with maintainers; [ veprbl ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index df28860accf..0354bdda6ef 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1841,6 +1841,8 @@ in { pyjade = callPackage ../development/python-modules/pyjade {}; + pyjet = callPackage ../development/python-modules/pyjet {}; + PyLD = callPackage ../development/python-modules/PyLD { }; python-jose = callPackage ../development/python-modules/python-jose {}; From 8346ddd9b63cb4c5a864f8dd272ba4a8dd24ed7a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 23 Sep 2018 13:42:47 -0700 Subject: [PATCH 66/87] mono-addins: 1.2 -> 1.3.3 (#46999) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mono-addins/versions --- pkgs/development/libraries/mono-addins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mono-addins/default.nix b/pkgs/development/libraries/mono-addins/default.nix index 780f68e7d48..345c6e51f0b 100644 --- a/pkgs/development/libraries/mono-addins/default.nix +++ b/pkgs/development/libraries/mono-addins/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "mono-addins-${version}"; - version = "1.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = "mono"; repo = "mono-addins"; rev = "mono-addins-${version}"; - sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y"; + sha256 = "018g3bd8afjc39h22h2j5r6ldsdn08ynx7wg889gdvnxg3hrxgl2"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; From fe744d3fb1d61e6f7f7c2f40217364f9577390ca Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 6 Sep 2018 19:17:44 +0000 Subject: [PATCH 67/87] nixos: doc: rename `manual` to `manualHTML`, cleanup references Because when I see "config.system.build.manual.manual" after I forgot what it means I ask "Why do I need that second `.manual` there again?". Doesn't happen with `config.system.build.manual.manualHTML`. --- nixos/doc/manual/default.nix | 7 ++++++- nixos/doc/manual/development/building-parts.xml | 2 +- .../installer/cd-dvd/installation-cd-graphical-kde.nix | 2 +- nixos/modules/services/misc/nixos-manual.nix | 8 +++----- nixos/release.nix | 3 ++- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index aaa6e0da545..faae4f20544 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -252,7 +252,7 @@ in rec { ''; # */ # Generate the NixOS manual. - manual = runCommand "nixos-manual" + manualHTML = runCommand "nixos-manual-html" { inherit sources; nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; meta.description = "The NixOS manual in HTML format"; @@ -281,6 +281,11 @@ in rec { echo "doc manual $dst" >> $out/nix-support/hydra-build-products ''; # */ + # Alias for backward compatibility. TODO(@oxij): remove eventually. + manual = manualHTML; + + # Index page of the NixOS manual. + manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html"; manualEpub = runCommand "nixos-manual-epub" { inherit sources; diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml index eaffc0ef47c..b4791b72970 100644 --- a/nixos/doc/manual/development/building-parts.xml +++ b/nixos/doc/manual/development/building-parts.xml @@ -34,7 +34,7 @@ $ nix-build -A system - system.build.manual.manual + system.build.manual.manualHTML diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix index f71ed46c7e9..1c3c9cb30b4 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix @@ -30,7 +30,7 @@ with lib; Version=1.0 Type=Application Name=NixOS Manual - Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html + Exec=firefox ${config.system.build.manual.manualHTMLIndex} Icon=text-html ''; diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 993b59590bb..37705e2a889 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -39,8 +39,6 @@ let in scrubbedEval.options; }; - entry = "${manual.manual}/share/doc/nixos/index.html"; - helpScript = pkgs.writeScriptBin "nixos-help" '' #! ${pkgs.runtimeShell} -e @@ -61,7 +59,7 @@ let fi fi fi - exec "$browser" ${entry} + exec "$browser" ${manual.manualHTMLIndex} ''; desktopItem = pkgs.makeDesktopItem { @@ -121,7 +119,7 @@ in environment.systemPackages = [] ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ] ++ optional config.documentation.man.enable manual.manpages - ++ optionals config.documentation.doc.enable [ manual.manual helpScript ]; + ++ optionals config.documentation.doc.enable [ manual.manualHTML helpScript ]; boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"]; @@ -130,7 +128,7 @@ in { description = "NixOS Manual"; wantedBy = [ "multi-user.target" ]; serviceConfig = - { ExecStart = "${cfg.browser} ${entry}"; + { ExecStart = "${cfg.browser} ${manual.manualHTMLIndex}"; StandardInput = "tty"; StandardOutput = "tty"; TTYPath = "/dev/tty${toString cfg.ttyNumber}"; diff --git a/nixos/release.nix b/nixos/release.nix index 14983edb0ce..cce2c54f02b 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -128,7 +128,8 @@ in rec { channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; }; - manual = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manual); + manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML); + manual = manualHTML; # TODO(@oxij): remove eventually manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub)); manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages); manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources); From 9b67908e6799aeb1665f6424f2c3df5352d22aa0 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Sun, 23 Sep 2018 22:48:27 +0200 Subject: [PATCH 68/87] haskellPackages.Euterpea: fix build by using PortMidi == 0.2 --- .../haskell-modules/configuration-common.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ec0a3cf34e5..ef4e6c8b425 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1139,4 +1139,14 @@ self: super: { # Can be removed once vinyl >= 0.10 is in the LTS. Frames = super.Frames.override { vinyl = super.vinyl_0_10_0; }; + # https://github.com/Euterpea/Euterpea2/pull/22 + Euterpea = overrideSrc super.Euterpea { + src = pkgs.fetchFromGitHub { + owner = "Euterpea"; + repo = "Euterpea2"; + rev = "6f49b790adfb8b65d95a758116c20098fb0cd34c"; + sha256 = "0qz1svb96n42nmig16vyphwxas34hypgayvwc91ri7w7xd6yi1ba"; + }; + }; + } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super From 0f3b89bbedc1a33cc1fc3c142e235da2c64614c3 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 6 Sep 2018 19:17:48 +0000 Subject: [PATCH 69/87] nixos: doc: move non-service parts of `service.nixosManual` to `documentation.nixos` --- nixos/lib/build-vms.nix | 2 +- .../cd-dvd/system-tarball-sheevaplug.nix | 2 +- nixos/modules/misc/documentation.nix | 99 +++++++++++++- .../modules/profiles/installation-device.nix | 2 +- nixos/modules/profiles/minimal.nix | 2 +- nixos/modules/rename.nix | 1 + nixos/modules/services/misc/nixos-manual.nix | 125 ++++-------------- nixos/tests/misc.nix | 2 +- 8 files changed, 126 insertions(+), 109 deletions(-) diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 48288cf5962..4f65501f89c 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -28,7 +28,7 @@ rec { modules = configurations ++ [ ../modules/virtualisation/qemu-vm.nix ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs - { key = "no-manual"; services.nixosManual.enable = false; } + { key = "no-manual"; documentation.nixos.enable = false; } { key = "qemu"; system.build.qemu = qemu; } ] ++ optional minimal ../modules/testing/minimal-kernel.nix; extraArgs = { inherit nodes; }; diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 7ec09acd591..90a5128c02a 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -137,7 +137,7 @@ in # Setting vesa, we don't get the nvidia driver, which can't work in arm. services.xserver.videoDrivers = [ "vesa" ]; - services.nixosManual.enable = false; + documentation.nixos.enable = false; # Include the firmware for various wireless cards. networking.enableRalinkFirmware = true; diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index e6ccda5d7f4..6a7105e9cda 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -1,8 +1,72 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, baseModules, ... }: with lib; -let cfg = config.documentation; in +let + + cfg = config.documentation; + + /* For the purpose of generating docs, evaluate options with each derivation + in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}". + It isn't perfect, but it seems to cover a vast majority of use cases. + Caveat: even if the package is reached by a different means, + the path above will be shown and not e.g. `${config.services.foo.package}`. */ + manual = import ../../doc/manual rec { + inherit pkgs config; + version = config.system.nixos.release; + revision = "release-${version}"; + options = + let + scrubbedEval = evalModules { + modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules; + args = (config._module.args) // { modules = [ ]; }; + specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; }; + }; + scrubDerivations = namePrefix: pkgSet: mapAttrs + (name: value: + let wholeName = "${namePrefix}.${name}"; in + if isAttrs value then + scrubDerivations wholeName value + // (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; }) + else value + ) + pkgSet; + in scrubbedEval.options; + }; + + helpScript = pkgs.writeScriptBin "nixos-help" + '' + #! ${pkgs.runtimeShell} -e + # Finds first executable browser in a colon-separated list. + # (see how xdg-open defines BROWSER) + browser="$( + IFS=: ; for b in $BROWSER; do + [ -n "$(type -P "$b" || true)" ] && echo "$b" && break + done + )" + if [ -z "$browser" ]; then + browser="$(type -P xdg-open || true)" + if [ -z "$browser" ]; then + browser="$(type -P w3m || true)" + if [ -z "$browser" ]; then + echo "$0: unable to start a web browser; please set \$BROWSER" + exit 1 + fi + fi + fi + exec "$browser" ${manual.manualHTMLIndex} + ''; + + desktopItem = pkgs.makeDesktopItem { + name = "nixos-manual"; + desktopName = "NixOS Manual"; + genericName = "View NixOS documentation in a web browser"; + icon = "nix-snowflake"; + exec = "${helpScript}/bin/nixos-help"; + categories = "System"; + }; + +in { @@ -66,6 +130,22 @@ let cfg = config.documentation; in ''; }; + nixos.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install NixOS's own documentation. + + This includes man pages like + configuration.nix + 5 if is + set. + This includes the HTML manual and the nixos-help command if + is set. + + ''; + }; + }; }; @@ -99,6 +179,21 @@ let cfg = config.documentation; in environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc"; }) + (mkIf cfg.nixos.enable { + system.build.manual = manual; + + environment.systemPackages = [] + ++ optional cfg.man.enable manual.manpages + ++ optionals cfg.doc.enable ([ manual.manualHTML helpScript ] + ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]); + + services.mingetty.helpLine = mkIf cfg.doc.enable ( + "\nRun `nixos-help` " + + optionalString config.services.nixosManual.showManual "or press " + + "for the NixOS manual." + ); + }) + ]); } diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index ff4a23a18d0..22d1af42694 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -22,7 +22,7 @@ with lib; config = { # Enable in installer, even if the minimal profile disables it. - services.nixosManual.enable = mkForce true; + documentation.nixos.enable = mkForce true; # Show the manual. services.nixosManual.showManual = true; diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index ed04e46c77d..dd81e61460c 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -12,7 +12,7 @@ with lib; i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ]; documentation.enable = mkDefault false; - services.nixosManual.enable = mkDefault false; + documentation.nixos.enable = mkDefault false; sound.enable = mkDefault false; } diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 4a6bdfe83dd..bc9ff9f63dd 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -276,6 +276,7 @@ with lib; (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ]) (mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ]) + (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ]) ] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter" "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter" diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 37705e2a889..023a933fd89 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -1,89 +1,18 @@ -# This module includes the NixOS man-pages in the system environment, -# and optionally starts a browser that shows the NixOS manual on one -# of the virtual consoles. The latter is useful for the installation +# This module optionally starts a browser that shows the NixOS manual +# on one of the virtual consoles which is useful for the installation # CD. -{ config, lib, pkgs, baseModules, ... }: +{ config, lib, pkgs, ... }: with lib; -let - - cfg = config.services.nixosManual; - - /* For the purpose of generating docs, evaluate options with each derivation - in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}". - It isn't perfect, but it seems to cover a vast majority of use cases. - Caveat: even if the package is reached by a different means, - the path above will be shown and not e.g. `${config.services.foo.package}`. */ - manual = import ../../../doc/manual rec { - inherit pkgs config; - version = config.system.nixos.release; - revision = "release-${version}"; - options = - let - scrubbedEval = evalModules { - modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules; - args = (config._module.args) // { modules = [ ]; }; - specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; }; - }; - scrubDerivations = namePrefix: pkgSet: mapAttrs - (name: value: - let wholeName = "${namePrefix}.${name}"; in - if isAttrs value then - scrubDerivations wholeName value - // (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; }) - else value - ) - pkgSet; - in scrubbedEval.options; - }; - - helpScript = pkgs.writeScriptBin "nixos-help" - '' - #! ${pkgs.runtimeShell} -e - # Finds first executable browser in a colon-separated list. - # (see how xdg-open defines BROWSER) - browser="$( - IFS=: ; for b in $BROWSER; do - [ -n "$(type -P "$b" || true)" ] && echo "$b" && break - done - )" - if [ -z "$browser" ]; then - browser="$(type -P xdg-open || true)" - if [ -z "$browser" ]; then - browser="$(type -P w3m || true)" - if [ -z "$browser" ]; then - echo "$0: unable to start a web browser; please set \$BROWSER" - exit 1 - fi - fi - fi - exec "$browser" ${manual.manualHTMLIndex} - ''; - - desktopItem = pkgs.makeDesktopItem { - name = "nixos-manual"; - desktopName = "NixOS Manual"; - genericName = "View NixOS documentation in a web browser"; - icon = "nix-snowflake"; - exec = "${helpScript}/bin/nixos-help"; - categories = "System"; - }; -in +let cfg = config.services.nixosManual; in { options = { - services.nixosManual.enable = mkOption { - type = types.bool; - default = true; - description = '' - Whether to build the NixOS manual pages. - ''; - }; - + # TODO(@oxij): rename this to `.enable` eventually. services.nixosManual.showManual = mkOption { type = types.bool; default = false; @@ -112,36 +41,28 @@ in }; - config = mkIf cfg.enable { + config = mkIf cfg.showManual { - system.build.manual = manual; + assertions = [{ + assertion = config.documentation.nixos.enable; + message = "Can't enable `service.nixosManual.showManual` without `documentation.nixos.enable`"; + }]; - environment.systemPackages = [] - ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ] - ++ optional config.documentation.man.enable manual.manpages - ++ optionals config.documentation.doc.enable [ manual.manualHTML helpScript ]; + boot.extraTTYs = [ "tty${toString cfg.ttyNumber}" ]; - boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"]; - - systemd.services = optionalAttrs cfg.showManual - { "nixos-manual" = - { description = "NixOS Manual"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = - { ExecStart = "${cfg.browser} ${manual.manualHTMLIndex}"; - StandardInput = "tty"; - StandardOutput = "tty"; - TTYPath = "/dev/tty${toString cfg.ttyNumber}"; - TTYReset = true; - TTYVTDisallocate = true; - Restart = "always"; - }; - }; + systemd.services."nixos-manual" = { + description = "NixOS Manual"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${cfg.browser} ${config.system.build.manual.manualHTMLIndex}"; + StandardInput = "tty"; + StandardOutput = "tty"; + TTYPath = "/dev/tty${toString cfg.ttyNumber}"; + TTYReset = true; + TTYVTDisallocate = true; + Restart = "always"; }; - - services.mingetty.helpLine = "\nRun `nixos-help` " - + lib.optionalString cfg.showManual "or press " - + "for the NixOS manual."; + }; }; diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index b0bc1d083b1..6d72ac997f8 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -14,7 +14,7 @@ import ./make-test.nix ({ pkgs, ...} : rec { { swapDevices = mkOverride 0 [ { device = "/root/swapfile"; size = 128; } ]; environment.variables.EDITOR = mkOverride 0 "emacs"; - services.nixosManual.enable = mkOverride 0 true; + documentation.nixos.enable = mkOverride 0 true; systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; fileSystems = mkVMOverride { "/tmp2" = { fsType = "tmpfs"; From 104014c6bad2ea682ec8e9fdbe8ab460a64a6274 Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Sun, 23 Sep 2018 14:56:58 -0700 Subject: [PATCH 70/87] hdf4: fix build on aarch64-linux (#47209) Pull in the Debian patches for AArch64 support, and a bonus patch for reproducible builds while we're at it. --- pkgs/tools/misc/hdf4/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix index d0bbd10d1e5..ef3839f67de 100644 --- a/pkgs/tools/misc/hdf4/default.nix +++ b/pkgs/tools/misc/hdf4/default.nix @@ -1,4 +1,5 @@ { stdenv +, fetchpatch , fetchurl , cmake , libjpeg @@ -14,6 +15,22 @@ stdenv.mkDerivation rec { sha256 = "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l"; }; + patches = let + # The Debian patch revision to fetch from; this may differ from our package + # version, but older patches should still apply. + patchRev = "4.2.13-4"; + getPatch = name: sha256: fetchpatch { + inherit sha256; + url = "https://salsa.debian.org/debian-gis-team/hdf4/raw/debian/${patchRev}/debian/patches/${name}"; + }; + + in [ + (getPatch "64bit" "1xqk9zpch4m6ipa0f3x2cm8rwaz4p0ppp1vqglvz18j6q91p8b5y") + (getPatch "hdfi.h" "01fr9csylnvk9jd9jn9y23bvxy192s07p32pr76mm3gwhgs9h7r4") + (getPatch "hdf-4.2.10-aarch64.patch" "1hl0xw5pd9xhpq49xpwgg7c4z6vv5p19x6qayixw0myvgwj1r4zn") + (getPatch "reproducible-builds.patch" "02j639w26xkxpxx3pdhbi18ywz8w3qmjpqjb83n47gq29y4g13hc") + ]; + buildInputs = [ cmake libjpeg From 7086e1fec3249397ae28c7b53d28c97c031ab6d9 Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Sun, 23 Sep 2018 15:04:07 -0700 Subject: [PATCH 71/87] xloadimage: init at 4.1 (#47198) --- pkgs/tools/X11/xloadimage/default.nix | 88 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 90 insertions(+) create mode 100644 pkgs/tools/X11/xloadimage/default.nix diff --git a/pkgs/tools/X11/xloadimage/default.nix b/pkgs/tools/X11/xloadimage/default.nix new file mode 100644 index 00000000000..a58d16ab82e --- /dev/null +++ b/pkgs/tools/X11/xloadimage/default.nix @@ -0,0 +1,88 @@ +{ stdenv +, fetchurl +, libX11 +, libXt + +, libjpeg ? null +, libpng ? null +, libtiff ? null + +, withJpegSupport ? true +, withPngSupport ? true +, withTiffSupport ? true +}: + +assert withJpegSupport -> libjpeg != null; +assert withPngSupport -> libpng != null; +assert withTiffSupport -> libtiff != null; + +let + deb_patch = "25"; +in +stdenv.mkDerivation rec { + version = "4.1"; + name = "xloadimage-${version}"; + + src = fetchurl { + url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}.orig.tar.gz"; + sha256 = "1i7miyvk5ydhi6yi8593vapavhwxcwciir8wg9d2dcyg9pccf2s0"; + }; + + patches = fetchurl { + url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}-${deb_patch}.debian.tar.xz"; + sha256 = "17k518vrdrya5c9dqhpmm4g0h2vlkq1iy87sg2ngzygypbli1xvn"; + }; + + buildInputs = [ + libX11 libXt + ] ++ stdenv.lib.optionals withJpegSupport [ + libjpeg + ] ++ stdenv.lib.optionals withPngSupport [ + libpng + ] ++ stdenv.lib.optionals withTiffSupport [ + libtiff + ]; + + # NOTE: we patch the build-info script so that it never detects the utilities + # it's trying to find; one of the Debian patches adds support for + # $SOURCE_DATE_EPOCH, but we want to make sure we don't even call these. + preConfigure = '' + substituteInPlace build-info \ + --replace '[ -x /bin/date ]' 'false' \ + --replace '[ -x /bin/id ]' 'false' \ + --replace '[ -x /bin/uname ]' 'false' \ + --replace '[ -x /usr/bin/id ]' 'false' + + chmod +x build-info configure + ''; + + enableParallelBuilding = true; + + # NOTE: we're not installing the `uufilter` binary; if needed, the standard + # `uudecode` tool should work just fine. + installPhase = '' + install -Dm755 xloadimage $out/bin/xloadimage + ln -sv $out/bin/{xloadimage,xsetbg} + + install -D -m644 xloadimagerc $out/etc/xloadimagerc.example + install -D -m644 xloadimage.man $out/share/man/man1/xloadimage.1x + ln -sv $out/share/man/man1/{xloadimage,xsetbg}.1x + ''; + + meta = { + description = "Graphics file viewer under X11"; + + longDescription = '' + Can view png, jpeg, gif, tiff, niff, sunraster, fbm, cmuraster, pbm, + faces, rle, xwd, vff, mcidas, vicar, pcx, gem, macpaint, xpm and xbm + files. Can view images, put them on the root window, or dump them. Does a + variety of processing, including: clipping, dithering, depth reduction, + zoom, brightening/darkening and merging. + ''; + + license = stdenv.lib.licenses.gpl2Plus; + + maintainers = with stdenv.lib.maintainers; [ andrew-d ]; + platforms = stdenv.lib.platforms.linux; # arbitrary choice + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 275b46fb573..84ad4807958 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19616,6 +19616,8 @@ with pkgs; xss-lock = callPackage ../misc/screensavers/xss-lock { }; + xloadimage = callPackage ../tools/X11/xloadimage { }; + xssproxy = callPackage ../misc/screensavers/xssproxy { }; xsynth_dssi = callPackage ../applications/audio/xsynth-dssi { }; From dc401331b33f9a5e305bc23b7bb3fdd7fa85b881 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sun, 23 Sep 2018 19:56:43 -0400 Subject: [PATCH 72/87] linux: 4.19-rc4 -> 4.19-rc5 --- pkgs/os-specific/linux/kernel/linux-testing.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 4bfea7a1098..4b6be255663 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args: buildLinux (args // rec { - version = "4.19-rc4"; - modDirVersion = "4.19.0-rc4"; + version = "4.19-rc5"; + modDirVersion = "4.19.0-rc5"; extraMeta.branch = "4.19"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "083nlh25zddrbg1hzyxfpg9i7h91ij9f299i52r5zwzi85yi8whn"; + sha256 = "0fpv2g6x1hgdrxvh1acjcxmyk2fzqcx1ypi0mqw72swbm587irck"; }; # Should the testing kernels ever be built on Hydra? From 38467261c31a6c35410e376ec7b7f28bb5e107d8 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Mon, 24 Sep 2018 01:50:47 +0200 Subject: [PATCH 73/87] haskellPackages.Frames: use overrideScope instead of override --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ef4e6c8b425..8cdf8908191 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1137,7 +1137,7 @@ self: super: { }); # Can be removed once vinyl >= 0.10 is in the LTS. - Frames = super.Frames.override { vinyl = super.vinyl_0_10_0; }; + Frames = super.Frames.overrideScope (self: super: { vinyl = self.vinyl_0_10_0; }); # https://github.com/Euterpea/Euterpea2/pull/22 Euterpea = overrideSrc super.Euterpea { From 1d7b92223844f4dedc53ef842a46cc66e9739186 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Mon, 24 Sep 2018 01:52:17 +0200 Subject: [PATCH 74/87] haskellPackages.safe-money-*: use overrideScope instead of override --- .../haskell-modules/configuration-common.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 8cdf8908191..cdf7063c3f9 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1124,11 +1124,11 @@ self: super: { xmlhtml = doJailbreak super.xmlhtml; # https://github.com/NixOS/nixpkgs/issues/46467 - safe-money-aeson = super.safe-money-aeson.override { safe-money = self.safe-money_0_7; }; - safe-money-store = super.safe-money-store.override { safe-money = self.safe-money_0_7; }; - safe-money-cereal = super.safe-money-cereal.override { safe-money = self.safe-money_0_7; }; - safe-money-serialise = super.safe-money-serialise.override { safe-money = self.safe-money_0_7; }; - safe-money-xmlbf = super.safe-money-xmlbf.override { safe-money = self.safe-money_0_7; }; + safe-money-aeson = super.safe-money-aeson.overrideScope (self: super: { safe-money = self.safe-money_0_7; }); + safe-money-store = super.safe-money-store.overrideScope (self: super: { safe-money = self.safe-money_0_7; }); + safe-money-cereal = super.safe-money-cereal.overrideScope (self: super: { safe-money = self.safe-money_0_7; }); + safe-money-serialise = super.safe-money-serialise.overrideScope (self: super: { safe-money = self.safe-money_0_7; }); + safe-money-xmlbf = super.safe-money-xmlbf.overrideScope (self: super: { safe-money = self.safe-money_0_7; }); # https://github.com/adinapoli/mandrill/pull/52 mandrill = appendPatch super.mandrill (pkgs.fetchpatch { From e1d51fa9e6db87af72d34544bba707000861c000 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Mon, 24 Sep 2018 01:53:02 +0200 Subject: [PATCH 75/87] haskellPackages.yi-core: use overrideScope instead of override --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index cdf7063c3f9..69ab8139668 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1112,7 +1112,7 @@ self: super: { })) ./patches/sexpr-0.2.1.patch; # Can be removed once yi-language >= 0.18 is in the LTS - yi-core = super.yi-core.override { yi-language = self.yi-language_0_18_0; }; + yi-core = super.yi-core.overrideScope (self: super: { yi-language = self.yi-language_0_18_0; }); # https://github.com/MarcWeber/hasktags/issues/52 hasktags = dontCheck super.hasktags; From 36e8d638d48cb60052febe191407e7ba011d4c68 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Mon, 24 Sep 2018 01:55:50 +0200 Subject: [PATCH 76/87] haskellPackages.haddock-api: fix build Also remove haddock-library == 1.4.4 since it's not needed anymore --- pkgs/development/haskell-modules/configuration-common.nix | 5 +++-- .../haskell-modules/configuration-hackage2nix.yaml | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 69ab8139668..8beca9572e7 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -927,8 +927,9 @@ self: super: { text-icu = dontCheck super.text-icu; # https://github.com/haskell/cabal/issues/4969 - haddock-library_1_4_4 = dontHaddock super.haddock-library_1_4_4; - haddock-api = super.haddock-api.override { haddock-library = self.haddock-library_1_4_4; }; + haddock-api = (super.haddock-api.overrideScope (self: super: { + haddock-library = self.haddock-library_1_6_0; + })).override { hspec = self.hspec_2_4_8; }; # Jailbreak "unix-compat >=0.1.2 && <0.5". # Jailbreak "graphviz >=2999.18.1 && <2999.20". diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 2eefe636ca9..7f9e3143289 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -2400,7 +2400,6 @@ extra-packages: - haddock-api == 2.17.* # required on GHC 8.0.x - haddock-library == 1.2.* # required for haddock-api-2.16.x - haddock-library == 1.4.3 # required for haddock-api-2.17.x - - haddock-library == 1.4.4 # required for haddock-api-2.18.x - haddock-library == 1.5.* # required for stylish-cabal-0.4.0.1 - happy <1.19.6 # newer versions break Agda - haskell-gi-overloading == 0.0 # gi-* packages use this dependency to disable overloading support From 14058e3cbc67cd9492dd8ec380984137240de701 Mon Sep 17 00:00:00 2001 From: Avery Lychee Date: Mon, 24 Sep 2018 13:06:43 +1000 Subject: [PATCH 77/87] treesheets: 2017-03-27 -> 2018-08-18 --- maintainers/maintainer-list.nix | 5 +++++ pkgs/applications/office/treesheets/default.nix | 8 ++++---- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c3b32789382..726cbd74313 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -376,6 +376,11 @@ github = "auntie"; name = "Jonathan Glines"; }; + avery = { + email = "averyl+nixos@protonmail.com"; + github = "AveryLychee"; + name = "Avery Lychee"; + }; avnik = { email = "avn@avnik.info"; github = "avnik"; diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix index d8e6cdd86ea..d0a4953c426 100644 --- a/pkgs/applications/office/treesheets/default.nix +++ b/pkgs/applications/office/treesheets/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "treesheets-${version}"; - version = "2017-03-27"; + version = "2018-08-18"; src = fetchFromGitHub { owner = "aardappel"; repo = "treesheets"; - rev = "1d1d6b214e3ae88445eb1ec0032d5fef14160f32"; - sha256 = "0np91c4skq3yxq76c4zi33w73qb1w2nrcin490kkvrxk53jspklb"; + rev = "3af41d99c8f9f32603a36ab64af3560b6d61dd73"; + sha256 = "147y8ggh3clwjgsi15z8i4jnzlkh8p17mmlg532jym53zzbcva65"; }; buildInputs = [ wxGTK makeWrapper ]; @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { ''; homepage = http://strlen.com/treesheets/; - maintainers = with maintainers; [ obadz ]; + maintainers = with maintainers; [ obadz avery ]; platforms = platforms.linux; license = licenses.zlib; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84ad4807958..803640864c1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19008,7 +19008,7 @@ with pkgs; tree = callPackage ../tools/system/tree {}; - treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK30; }; + treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK31; }; trezor-bridge = callPackage ../applications/networking/browsers/mozilla-plugins/trezor { }; From 55ef56b26012222db06bbdf123b29d11d10d6b34 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 16 Sep 2018 04:24:06 +0000 Subject: [PATCH 78/87] ocamlPackages.doc-ock: init at 1.2.1 --- .../ocaml-modules/doc-ock/default.nix | 27 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/ocaml-modules/doc-ock/default.nix diff --git a/pkgs/development/ocaml-modules/doc-ock/default.nix b/pkgs/development/ocaml-modules/doc-ock/default.nix new file mode 100644 index 00000000000..c158f08b068 --- /dev/null +++ b/pkgs/development/ocaml-modules/doc-ock/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, dune, octavius, cppo }: + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-doc-ock-${version}"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "ocaml-doc"; + repo = "doc-ock"; + rev = "v${version}"; + sha256 = "090vprm12jrl55yllk1hdzbsqyr107yjs2qnc49yahdhvnr4h5b7"; + }; + + buildInputs = [ ocaml findlib dune cppo ]; + + propagatedBuildInputs = [ octavius ]; + + inherit (dune) installPhase; + + meta = { + description = "Extract documentation from OCaml files"; + license = stdenv.lib.licenses.isc; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + inherit (src.meta) homepage; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 6039ef7dcf1..418332c7212 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -220,6 +220,8 @@ let digestif = callPackage ../development/ocaml-modules/digestif { }; + doc-ock = callPackage ../development/ocaml-modules/doc-ock { }; + dolmen = callPackage ../development/ocaml-modules/dolmen { }; dolog = callPackage ../development/ocaml-modules/dolog { }; From 41f06396ccb6fe0c200c888b7558853b39c98a4d Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 16 Sep 2018 04:33:31 +0000 Subject: [PATCH 79/87] ocamlPackages.doc-ock-html: init at 1.2.1 --- .../ocaml-modules/doc-ock-html/default.nix | 27 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/ocaml-modules/doc-ock-html/default.nix diff --git a/pkgs/development/ocaml-modules/doc-ock-html/default.nix b/pkgs/development/ocaml-modules/doc-ock-html/default.nix new file mode 100644 index 00000000000..cb2756b0977 --- /dev/null +++ b/pkgs/development/ocaml-modules/doc-ock-html/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, dune, doc-ock, tyxml, xmlm }: + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-doc-ock-html-${version}"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "ocaml-doc"; + repo = "doc-ock-html"; + rev = "v${version}"; + sha256 = "1y620h48qrplmcm78g7c78zibpkai4j3icwmnx95zb3r8xq8554y"; + }; + + buildInputs = [ ocaml findlib dune ]; + + propagatedBuildInputs = [ doc-ock tyxml xmlm ]; + + inherit (dune) installPhase; + + meta = { + description = "From doc-ock to HTML"; + license = stdenv.lib.licenses.isc; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + inherit (src.meta) homepage; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 418332c7212..a079673f075 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -222,6 +222,8 @@ let doc-ock = callPackage ../development/ocaml-modules/doc-ock { }; + doc-ock-html = callPackage ../development/ocaml-modules/doc-ock-html { }; + dolmen = callPackage ../development/ocaml-modules/dolmen { }; dolog = callPackage ../development/ocaml-modules/dolog { }; From 886acaff116ab3678d267b904ffbdd763c57efb5 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 16 Sep 2018 04:37:08 +0000 Subject: [PATCH 80/87] ocamlPackages.doc-ock-xml: init at 1.2.1 --- .../ocaml-modules/doc-ock-xml/default.nix | 27 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/ocaml-modules/doc-ock-xml/default.nix diff --git a/pkgs/development/ocaml-modules/doc-ock-xml/default.nix b/pkgs/development/ocaml-modules/doc-ock-xml/default.nix new file mode 100644 index 00000000000..72e562cb5f3 --- /dev/null +++ b/pkgs/development/ocaml-modules/doc-ock-xml/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, dune, doc-ock, menhir, xmlm }: + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-doc-ock-xml-${version}"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "ocaml-doc"; + repo = "doc-ock-xml"; + rev = "v${version}"; + sha256 = "1s27ri7vj9ixi5p5ixg6g6invk96807bvxbqjrr1dm8sxgl1nd20"; + }; + + buildInputs = [ ocaml findlib dune ]; + + propagatedBuildInputs = [ doc-ock menhir xmlm ]; + + inherit (dune) installPhase; + + meta = { + description = "XML printer and parser for Doc-Ock"; + license = stdenv.lib.licenses.isc; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + inherit (src.meta) homepage; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index a079673f075..684ab8a1762 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -224,6 +224,8 @@ let doc-ock-html = callPackage ../development/ocaml-modules/doc-ock-html { }; + doc-ock-xml = callPackage ../development/ocaml-modules/doc-ock-xml { }; + dolmen = callPackage ../development/ocaml-modules/dolmen { }; dolog = callPackage ../development/ocaml-modules/dolog { }; From cbc609ca8c1de13ecf300c52e778f2abc74b8d24 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 16 Sep 2018 04:43:10 +0000 Subject: [PATCH 81/87] ocamlPackages.odoc: init at 1.2.0 --- .../ocaml-modules/odoc/default.nix | 28 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/ocaml-modules/odoc/default.nix diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix new file mode 100644 index 00000000000..4c5da695eb6 --- /dev/null +++ b/pkgs/development/ocaml-modules/odoc/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, dune +, bos, cmdliner, doc-ock-html, doc-ock-xml +}: + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-odoc-${version}"; + version = "1.2.0"; + src = fetchFromGitHub { + owner = "ocaml"; + repo = "odoc"; + rev = "v${version}"; + sha256 = "0ixnhfpm1nw4bvjj8qhcyy283pdr5acqpg5wxwq3n1l4mad79cgh"; + }; + + buildInputs = [ ocaml findlib dune cmdliner ]; + + propagatedBuildInputs = [ bos doc-ock-html doc-ock-xml ]; + + inherit (dune) installPhase; + + meta = { + description = "A documentation generator for OCaml"; + license = stdenv.lib.licenses.isc; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + inherit (src.meta) homepage; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 684ab8a1762..779a24352bf 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -539,6 +539,8 @@ let octavius = callPackage ../development/ocaml-modules/octavius { }; + odoc = callPackage ../development/ocaml-modules/odoc { }; + ojquery = callPackage ../development/ocaml-modules/ojquery { }; omd = callPackage ../development/ocaml-modules/omd { }; From 7bcb3305a5ba8721a271a60abbdd081065305fe8 Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Sun, 23 Sep 2018 17:58:30 -0400 Subject: [PATCH 82/87] ycmd: 2018-07-24 -> 2018-09-20 --- pkgs/development/tools/misc/ycmd/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix index c0e12aa22c4..062f90e3389 100644 --- a/pkgs/development/tools/misc/ycmd/default.nix +++ b/pkgs/development/tools/misc/ycmd/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "ycmd-${version}"; - version = "2018-07-24"; + version = "2018-09-20"; src = fetchgit { url = "https://github.com/Valloric/ycmd.git"; - rev = "f8a8b04892b925efeee24298a957cc6d6a69ad06"; - sha256 = "1br2sh6bs0fg1axq2hq9f48fz8klkzydi1mf0j0jdsh3zjzkmxbn"; + rev = "bf658fd78722c517674c0aaf2381e199bca8f163"; + sha256 = "1lwa8xr76vapfpncvp81cn3m9219yw14fl7fzk5gnly60zkphbbl"; }; nativeBuildInputs = [ cmake ]; From 1def63c923fbaa842729bfb012009bcc563a41fc Mon Sep 17 00:00:00 2001 From: Jack Kelly Date: Mon, 3 Sep 2018 16:47:12 +1000 Subject: [PATCH 83/87] ultimate-oldschool-pc-font-pack: init at 1.0 --- .../default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix diff --git a/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix new file mode 100644 index 00000000000..cb68c30a4a2 --- /dev/null +++ b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "ultimate-oldschool-pc-font-pack-${version}"; + version = "1.0"; + + src = fetchurl { + url = "http://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v${version}.zip"; + sha256 = "7666cf23176e34ea03a218b5c1500f4ad729d97150ab7bdb7cf2adf4c99a9a7a"; + }; + + buildInputs = [ unzip ]; + + dontBuild = true; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp 'Px437 (TrueType - DOS charset)'/*.ttf $out/share/fonts/truetype + cp 'PxPlus (TrueType - extended charset)'/*.ttf $out/share/fonts/truetype + ''; + + meta = with stdenv.lib; { + description = "The Ultimate Oldschool PC Font Pack (TTF Fonts)"; + homepage = "http://int10h.org/oldschool-pc-fonts/"; + platforms = platforms.unix; + license = licenses.cc-by-sa-40; + maintainers = [ maintainers.endgame ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 803640864c1..da1a81bdb08 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15336,6 +15336,8 @@ with pkgs; ucs-fonts = callPackage ../data/fonts/ucs-fonts { }; + ultimate-oldschool-pc-font-pack = callPackage ../data/fonts/ultimate-oldschool-pc-font-pack { }; + uni-vga = callPackage ../data/fonts/uni-vga { }; unifont = callPackage ../data/fonts/unifont { }; From e9faf00a904259640edb225ab6558acd564ff673 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 23 Sep 2018 03:04:04 +0200 Subject: [PATCH 84/87] obs-studio: 21.1.2 -> 22.0.2 --- .../applications/video/obs-studio/default.nix | 8 ++--- .../video/obs-studio/find-xcb.patch | 31 ------------------- 2 files changed, 4 insertions(+), 35 deletions(-) delete mode 100644 pkgs/applications/video/obs-studio/find-xcb.patch diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index a07a15177d0..cacad5a3e62 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -18,6 +18,7 @@ , makeWrapper , pkgconfig , vlc +, mbedtls , alsaSupport ? false , alsaLib @@ -29,17 +30,15 @@ let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { name = "obs-studio-${version}"; - version = "21.1.2"; + version = "22.0.2"; src = fetchFromGitHub { owner = "jp9000"; repo = "obs-studio"; rev = "${version}"; - sha256 = "1gl6qibvckczk3yl44h3yshml6sn3izwn58qpxils5837rpkwlc5"; + sha256 = "1bgp2lirpsbp54vvl3p345njlpgv0d78vac2aqwbl34wqx5sqdk0"; }; - patches = [ ./find-xcb.patch ]; - nativeBuildInputs = [ cmake pkgconfig ]; @@ -59,6 +58,7 @@ in stdenv.mkDerivation rec { x264 vlc makeWrapper + mbedtls ] ++ optional alsaSupport alsaLib ++ optional pulseaudioSupport libpulseaudio; diff --git a/pkgs/applications/video/obs-studio/find-xcb.patch b/pkgs/applications/video/obs-studio/find-xcb.patch deleted file mode 100644 index c45aba4ce2f..00000000000 --- a/pkgs/applications/video/obs-studio/find-xcb.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt -index cd2b80e1..7d829cdb 100644 ---- a/libobs/CMakeLists.txt -+++ b/libobs/CMakeLists.txt -@@ -15,6 +15,7 @@ if(UNIX) - find_package(DBus QUIET) - if (NOT APPLE) - find_package(X11_XCB REQUIRED) -+ find_package(XCB REQUIRED) - endif() - else() - set(HAVE_DBUS "0") -@@ -161,12 +162,15 @@ elseif(UNIX) - endif() - - include_directories( -- ${X11_XCB_INCLUDE_DIRS}) -+ ${X11_XCB_INCLUDE_DIRS} -+ ${XCB_INCLUDE_DIRS}) - add_definitions( -- ${X11_XCB_DEFINITIONS}) -+ ${X11_XCB_DEFINITIONS} -+ ${XCB_DEFINITIONS}) - set(libobs_PLATFORM_DEPS - ${libobs_PLATFORM_DEPS} -- ${X11_XCB_LIBRARIES}) -+ ${X11_XCB_LIBRARIES} -+ ${XCB_LIBRARIES}) - - if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - # use the sysinfo compatibility library on bsd From 9c53116d499f930f3b79a11ba1fa696623ebfcab Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 24 Sep 2018 10:42:01 +0200 Subject: [PATCH 85/87] Revert "nixos: set nixos in nixPath" This reverts commit 67c8c4917799496dcf2ad6a500441fbbaeb918c9. 'nix run nixos.firefox' is *not* supposed to work - the Nix 2.x interface attempts to standardize on nixpkgs.*, to get rid of the nixos/nixpkgs confusion that existed with the channels interface. So let's not bring that confusion back. --- nixos/modules/services/misc/nix-daemon.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 2d14e27ffc3..c0eb882c58f 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -347,7 +347,6 @@ in [ "$HOME/.nix-defexpr/channels" "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" - "nixos=/nix/var/nix/profiles/per-user/root/channels/nixos" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; From c841c3e2c6117549c320faba8ac45e1ca1df4602 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Mon, 10 Sep 2018 00:15:51 -0400 Subject: [PATCH 86/87] linux_rpi: add support for Raspberry Pi 3 --- pkgs/os-specific/linux/kernel/linux-rpi.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index d061e41eb2f..26fb595ad59 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -18,6 +18,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec { defconfig = { "armv6l-linux" = "bcmrpi_defconfig"; "armv7l-linux" = "bcm2709_defconfig"; + "aarch64-linux" = "bcmrpi3_defconfig"; }.${stdenv.hostPlatform.system} or (throw "linux_rpi not supported on '${stdenv.hostPlatform.system}'"); features = { @@ -31,9 +32,17 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec { sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' ''; - postFixup = '' - # Make copies of the DTBs named after the upstream names so that U-Boot finds them. - # This is ugly as heck, but I don't know a better solution so far. + # Make copies of the DTBs named after the upstream names so that U-Boot finds them. + # This is ugly as heck, but I don't know a better solution so far. + postFixup = if stdenv.hostPlatform.system == "aarch64-linux" then '' + rm $out/dtbs/broadcom/bcm283*.dtb + copyDTB() { + cp -v "$out/dtbs/broadcom/$1" "$out/dtbs/broadcom/$2" + } + + copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb + copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb + '' else '' rm $out/dtbs/bcm283*.dtb copyDTB() { cp -v "$out/dtbs/$1" "$out/dtbs/$2" From f9197b9f63da8b6d9244c5a8e99507fdd294dcc5 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Thu, 20 Sep 2018 16:41:04 +0300 Subject: [PATCH 87/87] linux_rpi: Extend the logic for not installing unnecessary DTBs Now ARMv6 and ARMv7 builds avoid installing DTBs for boards where the resulting kernel won't run just like the aarch64 builds already do. Also deduplicates the logic a bit. --- pkgs/os-specific/linux/kernel/linux-rpi.nix | 23 ++++++++------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index 26fb595ad59..d95c2caa2cf 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -1,10 +1,10 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: +{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: let modDirVersion = "4.14.62"; tag = "1.20180817"; in -stdenv.lib.overrideDerivation (buildLinux (args // rec { +lib.overrideDerivation (buildLinux (args // rec { version = "${modDirVersion}-${tag}"; inherit modDirVersion; @@ -34,20 +34,13 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec { # Make copies of the DTBs named after the upstream names so that U-Boot finds them. # This is ugly as heck, but I don't know a better solution so far. - postFixup = if stdenv.hostPlatform.system == "aarch64-linux" then '' - rm $out/dtbs/broadcom/bcm283*.dtb + postFixup = '' + dtbDir=${if stdenv.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"} + rm $dtbDir/bcm283*.dtb copyDTB() { - cp -v "$out/dtbs/broadcom/$1" "$out/dtbs/broadcom/$2" + cp -v "$dtbDir/$1" "$dtbDir/$2" } - - copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb - copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb - '' else '' - rm $out/dtbs/bcm283*.dtb - copyDTB() { - cp -v "$out/dtbs/$1" "$out/dtbs/$2" - } - + '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) '' copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb @@ -57,7 +50,9 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec { copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb + '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux"]) '' copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb + '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) '' copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb