<del> { pkgs , buildPythonPackage , fetchPypi , python , azure-mgmt-common }: buildPythonPackage rec { version = "0.20.0"; pname = "azure-mgmt-storage"; src = fetchPypi { inherit pname version; extension = "zip"; sha256 = "16iw7hqhq97vlzfwixarfnirc60l5mz951p57brpcwyylphl3yim"; }; preConfigure = '' # Patch to make this package work on requests >= 2.11.x # CAN BE REMOVED ON NEXT PACKAGE UPDATE sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/storage/storagemanagement.py ''; postInstall = '' echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py ''; propagatedBuildInputs = [ azure-mgmt-common ]; meta = with pkgs.lib; { description = "Microsoft Azure SDK for Python"; homepage = "https://azure.microsoft.com/en-us/develop/python/"; license = licenses.asl20; maintainers = with maintainers; [ olcai ]; }; } </del>


<del> { pkgs , buildPythonPackage , fetchPypi , python , azure-common , futures , python-dateutil , requests , isPy3k }: buildPythonPackage rec { version = "0.20.3"; pname = "azure-storage"; src = fetchPypi { inherit pname version; extension = "zip"; sha256 = "06bmw6k2000kln5jwk5r9bgcalqbyvqirmdh9gq4s6nb4fv3c0jb"; }; propagatedBuildInputs = [ azure-common python-dateutil requests ] ++ pkgs.lib.optionals (!isPy3k) [ futures ]; postInstall = '' echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py ''; meta = with pkgs.lib; { description = "Microsoft Azure SDK for Python"; homepage = "https://azure.microsoft.com/en-us/develop/python/"; license = licenses.asl20; maintainers = with maintainers; [ olcai ]; }; } </del>


enable = mkEnableOption "Plymouth boot splash screen"; <ins> font = mkOption { default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf"; type = types.path; description = '' Font file made available for displaying text on the splash screen. ''; }; </ins> themePackages = mkOption { default = [ nixosBreezePlymouth ]; type = types.listOf types.package;


mkdir -p $out/lib/plymouth/renderers # module might come from a theme <del> cp ${themesEnv}/lib/plymouth/{text,details,$moduleName}.so $out/lib/plymouth </del> <ins> cp ${themesEnv}/lib/plymouth/{text,details,label,$moduleName}.so $out/lib/plymouth </ins> cp ${plymouth}/lib/plymouth/renderers/{drm,frame-buffer}.so $out/lib/plymouth/renderers mkdir -p $out/share/plymouth/themes


cp -r themes/* $out/share/plymouth/themes cp ${cfg.logo} $out/share/plymouth/logo.png <ins> mkdir -p $out/share/fonts cp ${cfg.font} $out/share/fonts mkdir -p $out/etc/fonts cat > $out/etc/fonts/fonts.conf <<EOF <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> <fontconfig> <dir>$out/share/fonts</dir> </fontconfig> EOF </ins> ''; boot.initrd.extraUtilsCommandsTest = ''


ln -s $extraUtils/share/plymouth/logo.png /etc/plymouth/logo.png ln -s $extraUtils/share/plymouth/themes /etc/plymouth/themes ln -s $extraUtils/lib/plymouth /etc/plymouth/plugins <ins> ln -s $extraUtils/etc/fonts /etc/fonts </ins> plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session plymouth show-splash


, completeDeps , crateAuthors , crateDescription <ins> , crateHomepage </ins> , crateFeatures , crateName , crateVersion


export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0} export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1} export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2} <ins> export CARGO_PKG_VERSION_PRE="${versionPre}" export CARGO_PKG_HOMEPAGE="${crateHomepage}" </ins> export NUM_JOBS=1 export RUSTC="rustc" export RUSTDOC="rustdoc" <del> if [[ -n "${versionPre}" ]]; then export CARGO_PKG_VERSION_PRE="${versionPre}" fi </del> BUILD="" if [[ ! -z "${build}" ]] ; then


crateVersion = crate.version; crateDescription = crate.description or ""; crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else []; <ins> crateHomepage = crate.homepage or ""; </ins> crateType = if lib.attrByPath ["procMacro"] false crate then ["proc-macro"] else if lib.attrByPath ["plugin"] false crate then ["dylib"] else


inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription crateFeatures libName build workspace_member release libPath crateVersion extraLinkFlags extraRustcOpts <del> crateAuthors verbose colors target_os; </del> <ins> crateAuthors crateHomepage verbose colors target_os; </ins> }; buildPhase = buildCrate { inherit crateName dependencies


<del> { stdenv, buildPythonPackage, fetchPypi, pytest }: </del> <ins> { stdenv, buildPythonPackage, fetchPypi, fetchpatch, pytest }: </ins> buildPythonPackage rec { version = "0.4.0";


sha256 = "bda0ef48e6a44c091399b12ab4a7e580d2dd8294c222b301f88d7d57f47ba142"; }; <ins> patches = [ # Fix tests for pytest>=4.2.0. Remove with the next release (fetchpatch { url = "https://github.com/RKrahl/pytest-dependency/commit/089395bf77e629ee789666361ee12395d840252c.patch"; sha256 = "1nkha2gndrr3mx11kx2ipxhphqd6wr25hvkrfwzyrispqfhgl0wm"; excludes = [ "doc/src/changelog.rst" ]; }) ]; </ins> propagatedBuildInputs = [ pytest ]; <ins> checkInputs = [ pytest ]; </ins> checkPhase = '' pytest '';


"--enable-fixed-path=${gnupg}/bin" "--with-libgpg-error-prefix=${libgpgerror.dev}" "--with-libassuan-prefix=${libassuan.dev}" <del> ] ++ lib.optional pythonSupport "--enable-languages=python"; </del> <ins> ] ++ lib.optional pythonSupport "--enable-languages=python" # Tests will try to communicate with gpg-agent instance via a UNIX socket # which has a path length limit. Nix on darwin is using a build directory # that already has quite a long path and the resulting socket path doesn't # fit in the limit. https://github.com/NixOS/nix/pull/1085 ++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ]; </ins> NIX_CFLAGS_COMPILE = # qgpgme uses Q_ASSERT which retains build inputs at runtime unless


{ lib , stdenv <ins> , fetchFromGitHub </ins> , fetchurl , fetchpatch , aqbanking


# raw source code doesn't work out of box; fetchFromGitHub not usable src = fetchurl { # Upstream uploaded a -1 tarball on the same release, remove on next release <del> url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}-1.tar.bz2"; </del> <ins> url = "https://github.com/Gnucash/gnucash/releases/download/${version}/gnucash-${version}-1.tar.bz2"; </ins> hash = "sha256-d0EWXW1lLqe0oehJjPQ5pWuBpcyLZTKRpZBU8jYqv8w="; };


enableParallelChecking = true; checkTarget = "check"; <ins> passthru.docs = stdenv.mkDerivation { pname = "gnucash-docs"; inherit version; src = fetchFromGitHub { owner = "Gnucash"; repo = "gnucash-docs"; rev = version; hash = "sha256-aPxQEcpo8SPv8lPQbxMl1wg8ijH9Rz0oo4K5lp3C/bw="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ libxml2 libxslt ]; }; </ins> preFixup = '' gappsWrapperArgs+=( <ins> # documentation --prefix XDG_DATA_DIRS : ${passthru.docs}/share </ins> # db drivers location --set GNC_DBD_DIR ${libdbiDrivers}/lib/dbd # gsettings schema location on Nix <del> --set GSETTINGS_SCHEMA_DIR ${glib.makeSchemaPath "$out" "${pname}-${version}"} </del> <ins> --set GSETTINGS_SCHEMA_DIR ${glib.makeSchemaPath "$out" "gnucash-${version}"} </ins> ) '';


sha256 = "1z66m16n4r16zqmnv84a5jndr5x6mdqdq4b1wq929sablwqd2rl4"; }; <del> cargoSha256 = "1xdx0gjqd4zyhnp72hz88rdmgry1m7rcw2j73lh67vp08z74y54y"; </del> <ins> cargoSha256 = "0hp68w5mvk725gzbmlgl8j6wa1dv2fydil7jvq0f09mzxxaqrwcs"; </ins> nativeBuildInputs = [ pkgconfig ];


<ins> --- crypto++/GNUmakefile 2013-02-20 10:30:52.000000000 -0500 +++ crypto++/GNUmakefile 2015-05-07 18:34:25.000000000 -0500 @@ -87,8 +87,8 @@ endif ifeq ($(UNAME),Darwin) -AR = libtool -ARFLAGS = -static -o +AR = ar +ARFLAGS = cru CXX = c++ IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932) ifeq ($(IS_GCC2),1) </ins>


sha256 = "0x1mqpz1v071cfrw4grbw7z734cxnpry1qh2b6rsmcx6nkyd5gsw"; }; <del> patches = stdenv.lib.optional (stdenv.system != "i686-cygwin") ./dll.patch; </del> <ins> patches = (stdenv.lib.optional (stdenv.system != "i686-cygwin") ./dll.patch) ++ (stdenv.lib.optional stdenv.isDarwin ./GNUmakefile.patch); </ins> buildInputs = [ unzip libtool ];


<del> { stdenv, fetchurl, perlPackages, iproute }: </del> <ins> { stdenv, fetchurl, perlPackages, iproute, perl }: </ins> perlPackages.buildPerlPackage rec { name = "ddclient-${version}";


substituteInPlace ddclient  --replace 'in the output of ifconfig' 'in the output of ip addr show'  --replace 'ifconfig -a'               '${iproute}/sbin/ip addr show'  <del> --replace 'ifconfig $arg'             '${iproute}/sbin/ip addr show $arg' </del> <ins> --replace 'ifconfig $arg'             '${iproute}/sbin/ip addr show $arg'  # Until we get the patchShebangs fixed (issue #55786) we need to patch this manually --replace '/usr/bin/perl'		    '${perl}/bin/perl' </ins> ''; installPhase = ''


''; }; <ins> generatePeerUnit = { interfaceName, interfaceCfg, peer }: let keyToUnitName = replaceChars [ "/" "-"    " "     "+"     "="      ] [ "-" "x2d" "x20" "x2b" "x3d" ]; unitName = keyToUnitName peer.publicKey; psk = if peer.presharedKey != null then pkgs.writeText "wg-psk" peer.presharedKey else peer.presharedKeyFile; in nameValuePair "wireguard-${interfaceName}-peer-${unitName}" { description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}"; requires = [ "wireguard-${interfaceName}.service" ]; after = [ "wireguard-${interfaceName}.service" ]; wantedBy = [ "multi-user.target" ]; environment.DEVICE = interfaceName; environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity"; path = with pkgs; [ iproute wireguard-tools ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; }; script = let wg_setup = "wg set ${interfaceName} peer ${peer.publicKey}" + optionalString (psk != null) " preshared-key ${psk}" + optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" + optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" + optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}"; route_setup = optionalString (interfaceCfg.allowedIPsAsRoutes != false) (concatMapStringsSep "n" (allowedIP: "ip route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" ) peer.allowedIPs); in '' ${wg_setup} ${route_setup} ''; </ins> <del> generateSetupServiceUnit = name: values: </del> <ins> postStop = let route_destroy = optionalString (interfaceCfg.allowedIPsAsRoutes != false) (concatMapStringsSep "n" (allowedIP: "ip route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" ) peer.allowedIPs); in '' wg set ${interfaceName} peer ${peer.publicKey} remove ${route_destroy} ''; }; generateInterfaceUnit = name: values: </ins> # exactly one way to specify the private key must be set #assert (values.privateKey != null) != (values.privateKeyFile != null); let privKey = if values.privateKeyFile != null then values.privateKeyFile else pkgs.writeText "wg-key" values.privateKey;


path = with pkgs; [ kmod iproute wireguard-tools ]; serviceConfig = { <del> Type = "simple"; Restart = "on-failure"; RestartSec = "5s"; </del> <ins> Type = "oneshot"; </ins> RemainAfterExit = true; };


wg set ${name} private-key ${privKey} ${ optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"} <del> ${concatMapStringsSep "n" (peer: assert (peer.presharedKeyFile == null) || (peer.presharedKey == null); # at most one of the two must be set let psk = if peer.presharedKey != null then pkgs.writeText "wg-psk" peer.presharedKey else peer.presharedKeyFile; in "wg set ${name} peer ${peer.publicKey}" + optionalString (psk != null) " preshared-key ${psk}" + optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" + optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" + optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}" ) values.peers} </del> ip link set up dev ${name} <del> ${optionalString (values.allowedIPsAsRoutes != false) (concatStringsSep "n" (concatMap (peer: (map (allowedIP: "ip route replace ${allowedIP} dev ${name} table ${values.table}" ) peer.allowedIPs) ) values.peers))} </del> ${values.postSetup} '';


###### implementation <del> config = mkIf cfg.enable { </del> <ins> config = mkIf cfg.enable (let all_peers = flatten (mapAttrsToList (interfaceName: interfaceCfg: map (peer: { inherit interfaceName interfaceCfg peer;}) interfaceCfg.peers ) cfg.interfaces); in { </ins> assertions = (attrValues ( mapAttrs (name: value: {


mapAttrs (name: value: { assertion = value.generatePrivateKeyFile -> (value.privateKey == null); message = "networking.wireguard.interfaces.${name}.generatePrivateKey must not be set if networking.wireguard.interfaces.${name}.privateKey is set."; <del> }) cfg.interfaces)); </del> <ins> }) cfg.interfaces)) ++ map ({ interfaceName, peer, ... }: { assertion = (peer.presharedKey == null) || (peer.presharedKeyFile == null); message = "networking.wireguard.interfaces.${interfaceName} peer «${peer.publicKey}» has both presharedKey and presharedKeyFile set, but only one can be used."; }) all_peers; </ins> boot.extraModulePackages = [ kernel.wireguard ]; environment.systemPackages = [ pkgs.wireguard-tools ]; <del> systemd.services = (mapAttrs' generateSetupServiceUnit cfg.interfaces) </del> <ins> systemd.services = (mapAttrs' generateInterfaceUnit cfg.interfaces) // (listToAttrs (map generatePeerUnit all_peers)) </ins> // (mapAttrs' generateKeyServiceUnit (filterAttrs (name: value: value.generatePrivateKeyFile) cfg.interfaces)); systemd.paths = mapAttrs' generatePathUnit (filterAttrs (name: value: value.privateKeyFile != null) cfg.interfaces); <del> }; </del> <ins> }); </ins> }


stdenv.mkDerivation rec { name = "wireguard-tools-${version}"; <del> version = "0.0.20190406"; </del> <ins> version = "0.0.20190531"; </ins> src = fetchzip { url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz"; <del> sha256 = "1rqyyyx7j41vpp4jigagqs2qdyfngh15y48ghdqfrkv7v93vwdak"; </del> <ins> sha256 = "0caw6kc0lqsvzvdjpdbdn3r9ff93vdl46616pwlig0rsdjrqnklj"; </ins> }; sourceRoot = "source/src/tools";


, glib , gnome2 , gnome3 <ins> , gsettings-desktop-schemas </ins> , gtk3 , libuuid , libX11


, wrapGAppsHook }: <del> let rpath = lib.makeLibraryPath [ alsaLib at-spi2-atk at-spi2-core atk cairo cups dbus expat fontconfig freetype gdk_pixbuf glib gnome2.GConf gtk3 libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender libXtst libuuid nspr nss pango udev xdg_utils xorg.libxcb zlib </del> <ins> let rpath = lib.makeLibraryPath [ alsaLib at-spi2-atk at-spi2-core atk cairo cups dbus expat fontconfig freetype gdk_pixbuf glib gnome2.GConf gtk3 libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender libXtst libuuid nspr nss pango udev xdg_utils xorg.libxcb zlib </ins> ]; <ins> in </ins> <del> in stdenv.mkDerivation rec { pname = "brave"; version = "0.61.50"; </del> <ins> stdenv.mkDerivation rec { pname = "brave"; version = "0.65.118"; </ins> <del> src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; sha256 = "1lbajxnxqkd422rckfjm65pwwzl66v7anq4jrzxi29d5x7abl3c1"; }; </del> <ins> src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; sha256 = "13bihzf4yfgn01nrw780swhmcdh8gq71jqilhbi04jn1h1pbm3wg"; }; </ins> <del> dontConfigure = true; dontBuild = true; dontPatchELF = true; </del> <ins> dontConfigure = true; dontBuild = true; dontPatchELF = true; </ins> <del> nativeBuildInputs = [ dpkg wrapGAppsHook ]; </del> <ins> nativeBuildInputs = [ dpkg wrapGAppsHook ]; </ins> <del> buildInputs = [ glib gnome3.gsettings_desktop_schemas gnome3.adwaita-icon-theme ]; </del> <ins> buildInputs = [ glib gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; </ins> <del> unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner"; </del> <ins> unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner"; </ins> <del> installPhase = '' mkdir -p $out $out/bin </del> <ins> installPhase = '' mkdir -p $out $out/bin </ins> <del> cp -R usr/share $out cp -R opt/ $out/opt </del> <ins> cp -R usr/share $out cp -R opt/ $out/opt </ins> <del> export BINARYWRAPPER=$out/opt/brave.com/brave/brave-browser </del> <ins> export BINARYWRAPPER=$out/opt/brave.com/brave/brave-browser </ins> <del> # Fix path to bash in $BINARYWRAPPER substituteInPlace $BINARYWRAPPER  --replace /bin/bash ${stdenv.shell} </del> <ins> # Fix path to bash in $BINARYWRAPPER substituteInPlace $BINARYWRAPPER  --replace /bin/bash ${stdenv.shell} </ins> <del> ln -sf $BINARYWRAPPER $out/bin/brave </del> <ins> ln -sf $BINARYWRAPPER $out/bin/brave </ins> <del> patchelf  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)"  --set-rpath "${rpath}" $out/opt/brave.com/brave/brave </del> <ins> patchelf  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)"  --set-rpath "${rpath}" $out/opt/brave.com/brave/brave </ins> <del> # Fix paths substituteInPlace $out/share/applications/brave-browser.desktop  --replace /usr/bin/brave-browser $out/bin/brave substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml  --replace /opt/brave.com $out/opt/brave.com substituteInPlace $out/share/menu/brave-browser.menu  --replace /opt/brave.com $out/opt/brave.com substituteInPlace $out/opt/brave.com/brave/default-app-block  --replace /opt/brave.com $out/opt/brave.com </del> <ins> # Fix paths substituteInPlace $out/share/applications/brave-browser.desktop  --replace /usr/bin/brave-browser $out/bin/brave substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml  --replace /opt/brave.com $out/opt/brave.com substituteInPlace $out/share/menu/brave-browser.menu  --replace /opt/brave.com $out/opt/brave.com substituteInPlace $out/opt/brave.com/brave/default-app-block  --replace /opt/brave.com $out/opt/brave.com </ins> <del> # Correct icons location icon_sizes=("16" "22" "24" "32" "48" "64" "128" "256") </del> <ins> # Correct icons location icon_sizes=("16" "22" "24" "32" "48" "64" "128" "256") </ins> <del> for icon in ''${icon_sizes[*]} do mkdir -p $out/share/icons/hicolor/$iconx$icon/apps ln -s $out/opt/brave.com/brave/product_logo_$icon.png $out/share/icons/hicolor/$iconx$icon/apps/brave-browser.png done </del> <ins> for icon in ''${icon_sizes[*]} do mkdir -p $out/share/icons/hicolor/$iconx$icon/apps ln -s $out/opt/brave.com/brave/product_logo_$icon.png $out/share/icons/hicolor/$iconx$icon/apps/brave-browser.png done </ins> <del> # Replace xdg-settings and xdg-mime ln -sf ${xdg_utils}/bin/xdg-settings $out/opt/brave.com/brave/xdg-settings ln -sf ${xdg_utils}/bin/xdg-mime $out/opt/brave.com/brave/xdg-mime ''; </del> <ins> # Replace xdg-settings and xdg-mime ln -sf ${xdg_utils}/bin/xdg-settings $out/opt/brave.com/brave/xdg-settings ln -sf ${xdg_utils}/bin/xdg-mime $out/opt/brave.com/brave/xdg-mime ''; </ins> <del> meta = with stdenv.lib; { homepage = "https://brave.com/"; description = "Privacy-oriented browser for Desktop and Laptop computers"; longDescription = '' Brave browser blocks the ads and trackers that slow you down, chew up your bandwidth, and invade your privacy. Brave lets you contribute to your favorite creators automatically. ''; license = licenses.mpl20; maintainers = [ maintainers.uskudnik ]; platforms = [ "x86_64-linux" ]; }; </del> <ins> meta = with stdenv.lib; { homepage = "https://brave.com/"; description = "Privacy-oriented browser for Desktop and Laptop computers"; changelog = "https://github.com/brave/brave-browser/blob/v${version}/CHANGELOG.md"; longDescription = '' Brave browser blocks the ads and trackers that slow you down, chew up your bandwidth, and invade your privacy. Brave lets you contribute to your favorite creators automatically. ''; license = licenses.mpl20; maintainers = [ maintainers.uskudnik ]; platforms = [ "x86_64-linux" ]; }; </ins> }


{ stdenv, lib, fetchurl, fetchzip, python3Packages <del> , makeWrapper, wrapGAppsHook, qtbase, glib-networking </del> <ins> , mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking </ins> , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2 , libxslt, gst_all_1 ? null , withPdfReader        ? true


let pdfjs = let <del> version = "1.10.100"; </del> <ins> version = "2.1.266"; </ins> in fetchzip rec { name = "pdfjs-${version}"; url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; <del> sha256 = "04df4cf6i6chnggfjn6m1z9vb89f01a0l9fj5rk21yr9iirq9rkq"; </del> <ins> sha256 = "1ybbnpz2jcdikzwr7r13lq528vxj3bpms1fqmg3n1zgs30cqpkby"; </ins> stripRoot = false; }; <del> in python3Packages.buildPythonApplication rec { </del> <ins> in mkDerivationWith python3Packages.buildPythonApplication rec { </ins> pname = "qutebrowser"; <del> version = "1.6.3"; </del> <ins> version = "1.7.0"; </ins> # the release tarballs are different from the git checkout! src = fetchurl { url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; <del> sha256 = "0z9an14vlv0r48x7fk0mk7465gnhh19dx1w63lyhsgnfqy5pzlhy"; </del> <ins> sha256 = "0wyjmb2qvnw3gn0ypgckwblmn7kasi12dfwp343hi6wscqripw7i"; </ins> }; # Needs tox


]); nativeBuildInputs = [ <del> makeWrapper wrapGAppsHook asciidoc </del> <ins> wrapQtAppsHook wrapGAppsHook asciidoc </ins> docbook_xml_dtd_45 docbook_xsl libxml2 libxslt ];


./fix-restart.patch ]; <ins> dontWrapGApps = true; dontWrapQtApps = true; </ins> postPatch = '' substituteInPlace qutebrowser/app.py --subst-var-by qutebrowser "$out/bin/qutebrowser"


postInstall = '' install -Dm644 doc/qutebrowser.1 "$out/share/man/man1/qutebrowser.1" <del> install -Dm644 misc/qutebrowser.desktop  "$out/share/applications/qutebrowser.desktop" </del> <ins> install -Dm644 misc/org.qutebrowser.qutebrowser.desktop  "$out/share/applications/org.qutebrowser.qutebrowser.desktop" </ins> # Install icons for i in 16 24 32 48 64 128 256 512; do


done ''; <ins> postFixup = '' wrapProgram $out/bin/qutebrowser  "''${gappsWrapperArgs[@]}"  "''${qtWrapperArgs[@]}" ''; </ins> meta = with stdenv.lib; { homepage    = https://github.com/The-Compiler/qutebrowser; description = "Keyboard-focused browser with a minimal GUI";


stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "clingo"; <del> version = "5.2.2"; </del> <ins> version = "5.3.0"; </ins> src = fetchzip { url = "https://github.com/potassco/clingo/archive/v${version}.tar.gz"; <del> sha256 = "04rjwpna37gzm8vxr09z3z6ay8y8cxbjd8lga7xvqfpn2l178zjm"; </del> <ins> sha256 = "01czx26p8gv81ahrh650x208hjhd8bx1kb688fmk1m4pw4yg5bfv"; </ins> }; buildInputs = [];


{ stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }: stdenv.mkDerivation rec { <del> version = "1.19.1"; </del> <ins> version = "1.22.0"; </ins> name = "grpc-${version}"; src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; <del> sha256 = "0c0jra4qnd86gyr4rlblic3igb5dpgrldac35myk5i5ia547fdhj"; </del> <ins> sha256 = "10wf9sakkxpcvc09n1h91x6slwwhxblghs4zn95klyc4m6py1gfg"; </ins> }; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];


"-DgRPC_PROTOBUF_PROVIDER=package" "-DgRPC_GFLAGS_PROVIDER=package" "-DBUILD_SHARED_LIBS=ON" <ins> "-DCMAKE_SKIP_BUILD_RPATH=OFF" </ins> ]; # CMake creates a build directory by default, this conflicts with the


<del> { stdenv, buildPythonPackage, fetchPypi, lib, grpcio}: </del> <ins> { stdenv, buildPythonPackage, fetchPypi, protobuf, grpcio }: </ins> buildPythonPackage rec { pname = "grpcio-tools"; <del> version = "1.18.0"; </del> <ins> version = "1.22.0"; </ins> src = fetchPypi { inherit pname version; <del> sha256 = "77ec4d3c92ccbbe3de37c457e3c72962e519c36cafb96abe5842bced8eb926fa"; </del> <ins> sha256 = "b5c0fe51a155625c9d1132ab8deb56b3015e111a6961e48aeb9dd89bd7c670ab"; </ins> }; enableParallelBuilding = true; <del> propagatedBuildInputs = [ grpcio ]; </del> <ins> propagatedBuildInputs = [ protobuf grpcio ]; </ins> # no tests in the package doCheck = false; meta = with stdenv.lib; { description = "Protobuf code generator for gRPC"; <del> license = lib.licenses.asl20; </del> <ins> license = licenses.asl20; </ins> homepage = "https://grpc.io/grpc/python/"; maintainers = with maintainers; [ vanschelven ]; };


<del> { stdenv, buildPythonPackage, fetchFromGitHub, lib, darwin , six, protobuf, enum34, futures, isPy27, isPy34, pkgconfig </del> <ins> { stdenv, buildPythonPackage, fetchFromGitHub, darwin , six, protobuf, enum34, futures, isPy27, pkgconfig </ins> , cython}: <del> with stdenv.lib; </del> buildPythonPackage rec { pname = "grpcio"; <del> version = "1.18.0"; </del> <ins> version = "1.22.0"; </ins> src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; fetchSubmodules = true; <del> sha256 = "0cilbhk35gv46mk40jl5f3iqa94x14qyxbavpfq0kh0rld82nx4m"; </del> <ins> sha256 = "093w8mgvl8ylqlqnfz06ijkmlnkxcjszf9zg6k5ybjw7dwal0jhz"; </ins> }; nativeBuildInputs = [ cython pkgconfig ] <del> ++ optional stdenv.isDarwin darwin.cctools; </del> <ins> ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools; </ins> propagatedBuildInputs = [ six protobuf ] <del> ++ lib.optionals (isPy27 || isPy34) [ enum34 ] ++ lib.optionals (isPy27) [ futures ]; </del> <ins> ++ stdenv.lib.optionals (isPy27) [ enum34 futures ]; </ins> <del> preBuild = optionalString stdenv.isDarwin "unset AR"; </del> <ins> preBuild = stdenv.lib.optionalString stdenv.isDarwin "unset AR"; </ins> meta = with stdenv.lib; { description = "HTTP/2-based RPC framework"; <del> license = lib.licenses.asl20; </del> <ins> license = licenses.asl20; </ins> homepage = "https://grpc.io/grpc/python/"; maintainers = with maintainers; [ vanschelven ]; };


|---------------------------+--------------------------------------------| | Model                     | Path                                       | |---------------------------+--------------------------------------------| <del> | Acer Aspire 4810T         | ~<nixos-hardware/acer/aspire/4810t>~       | </del> <ins> | [[file:acer/aspire/4810t][Acer Aspire 4810T]]         | ~<nixos-hardware/acer/aspire/4810t>~       | </ins> | Airis N990                | ~<nixos-hardware/airis/n990>~              | <del> | Apple MacBook Pro 10,1    | ~<nixos-hardware/apple/macbook-pro/10-1>~  | </del> <ins> | Apple MacBook Air 4,X     | ~<nixos-hardware/apple/macbook-air/4>~     | | Apple MacBook Air 6,X     | ~<nixos-hardware/apple/macbook-air/6>~     | | [[file:apple/macbook-pro/10-1][Apple MacBook Pro 10,1]]    | ~<nixos-hardware/apple/macbook-pro/10-1>~  | </ins> | Apple MacBook Pro 12,1    | ~<nixos-hardware/apple/macbook-pro/12-1>~  | <del> | Dell XPS 15 9550          | ~<nixos-hardware/dell/xps/15-9550>~        | | Inverse Path USB armory   | ~<nixos-hardware/inversepath/usbarmory>~   | </del> <ins> | [[file:dell/xps/15-9550][Dell XPS 15 9550]]          | ~<nixos-hardware/dell/xps/15-9550>~        | | [[file:inversepath/usbarmory][Inverse Path USB armory]]   | ~<nixos-hardware/inversepath/usbarmory>~   | </ins> | Lenovo IdeaPad Z510       | ~<nixos-hardware/lenovo/ideapad/z510>~     | | Lenovo ThinkPad T410      | ~<nixos-hardware/lenovo/thinkpad/t410>~    | | Lenovo ThinkPad T440p     | ~<nixos-hardware/lenovo/thinkpad/t440p>~   | | Lenovo ThinkPad T460s     | ~<nixos-hardware/lenovo/thinkpad/t460s>~   | | Lenovo ThinkPad X140e     | ~<nixos-hardware/lenovo/thinkpad/x140e>~   | | Lenovo ThinkPad X220      | ~<nixos-hardware/lenovo/thinkpad/x220>~    | <del> | Microsoft Surface Pro 3   | ~<nixos-hardware/microsoft/surface-pro/3>~ | | Raspberry Pi 2            | ~<nixos-hardware/raspberry-pi/2>~          | | Samsung Series 9 NP900X3C | ~<nixos-hardware/samsung/np900x3c>~        | </del> <ins> | Lenovo ThinkPad X250      | ~<nixos-hardware/lenovo/thinkpad/x250>~    | | [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]]   | ~<nixos-hardware/microsoft/surface-pro/3>~ | | [[file:raspberry-pi/2][Raspberry Pi 2]]            | ~<nixos-hardware/raspberry-pi/2>~          | | [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~<nixos-hardware/samsung/np900x3c>~        | </ins> | Supermicro A1SRi-2758F    | ~<nixos-hardware/supermicro/a1sri-2758f>~  | | Supermicro X10SLL-F       | ~<nixos-hardware/supermicro/x10sll-f>~     | |---------------------------+--------------------------------------------|


<del> { lib, ... }: </del> <ins> { config, lib, ... }: </ins> { <ins> boot.kernelParams = [ "hid_apple.iso_layout=0" ]; hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false); </ins> services.mbpfan.enable = lib.mkDefault true; }


<ins> { lib, ... }: { imports = [ ../. ]; boot.kernelParams = [ "acpi_backlight=vendor" ]; services.xserver.deviceSection = lib.mkDefault '' Option "TearFree" "true" ''; } </ins>


"vm.laptop_mode" = lib.mkDefault 5; }; <ins> # TODO: fix in NixOS/nixpkgs # Disable governor set in hardware-configuration.nix, # required when services.tlp.enable is true: powerManagement.cpuFreqGovernor = lib.mkForce null; </ins> services.tlp.enable = lib.mkDefault true; }


<ins> { config, lib, pkgs, ... }: { imports = [ ../. ../../../common/cpu/intel ]; # Thinkfan is enabled by thinkpad profile. # However it requires to set a different `sensor` for this hardware, since there is no /proc/acpi/ibm/thermal # Regulation also works fine without thinkfan daemon though. services.thinkfan.enable = lib.mkOverride 900 false; # maintainers: Mic92 } </ins>


<ins> ** Status The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. There are still some drawbacks: NixOS does not provide a /boot/config.txt (the FAT32 partition). Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net). ** Download If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs): magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80 Then you should be able to nixos-rebuild any configuration.nix changes. The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel. In fact I (viric) created the FS into a NBD, not a real SD, to create this image. </ins>


<del> imported from https://nixos.org/wiki/Raspberry_Pi_2 ** # Status The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. There are still some drawbacks: NixOS does not provide a /boot/config.txt (the FAT32 partition). Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net). # Download If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs): magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80 Then you should be able to nixos-rebuild any configuration.nix changes. The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel. In fact I (viric) created the FS into a NBD, not a real SD, to create this image. </del>


{ lib, stdenv <del> , fetchurl, fetchFromGitHub </del> <ins> , fetchurl, fetchFromGitHub, fetchpatch </ins> , cmake, pkgconfig, unzip, zlib, pcre, hdf5 , glog, boost, gflags, protobuf , config


cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib" ''; <ins> patches = [ (fetchpatch { url = "https://github.com/opencv/opencv/commit/5691d998ead1d9b0542bcfced36c2dceb3a59023.patch"; name = "CVE-2019-14493.patch"; sha256 = "14qva9f5z10apz5q0skdyiclr9sgkhab4fzksy1w3b6j6hg4wm7m"; }) ]; </ins> # This prevents cmake from using libraries in impure paths (which # causes build failure on non NixOS) # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with


<ins> { stdenv , cmake , fetchFromGitHub , wrapQtAppsHook , qtmultimedia , qttools , qtscript , qtdeclarative , qtbase , autogen , automake , makeWrapper , catch2 , nodejs , libpulseaudio , openssl , rsync , typescript }: stdenv.mkDerivation rec { name = "imgbrd-grabber"; version = "7.3.2"; src = fetchFromGitHub { owner = "Bionus"; repo = "imgbrd-grabber"; rev = "v${version}"; sha256 = "053rwvcr88fcba0447a6r115cgnqsm9rl066z8d5jacqnhdij58k"; fetchSubmodules = true; }; buildInputs = [ openssl makeWrapper libpulseaudio typescript ]; nativeBuildInputs = [ qtmultimedia qtbase qtdeclarative qttools nodejs cmake wrapQtAppsHook ]; extraOutputsToLink = [ "doc" ]; postPatch = '' # the package.sh script provides some install helpers # using this might make it easier to maintain/less likely for the # install phase to fail across version bumps patchShebangs ./scripts/package.sh # ensure the script uses the rsync package from nixpkgs substituteInPlace ../scripts/package.sh --replace "rsync" "${rsync}/bin/rsync" # the npm build step only runs typescript # run this step directly so it doesn't try and fail to download the unnecessary node_modules, etc. substituteInPlace ./sites/CMakeLists.txt --replace "npm install" "npm run build" # remove the vendored catch2 rm -rf tests/src/vendor/catch # link the catch2 sources from nixpkgs ln -sf ${catch2.src} tests/src/vendor/catch ''; postInstall = '' # move the binaries to the share/Grabber folder so # some relative links can be resolved (e.g. settings.ini) mv $out/bin/* $out/share/Grabber/ cd ../.. # run the package.sh with $out/share/Grabber as the $APP_DIR sh ./scripts/package.sh $out/share/Grabber # add symlinks for the binaries to $out/bin ln -s $out/share/Grabber/Grabber $out/bin/Grabber ln -s $out/share/Grabber/Grabber-cli $out/bin/Grabber-cli ''; sourceRoot = "source/src"; } </ins>


img2pdf = with python3Packages; toPythonApplication img2pdf; <ins> imgbrd-grabber = qt5.callPackage ../applications/graphics/imgbrd-grabber/default.nix { typescript = nodePackages.typescript; }; </ins> imgcat = callPackage ../applications/graphics/imgcat { }; imgp = python3Packages.callPackage ../applications/graphics/imgp { };


{ config, stdenv, fetchurl, fetchFromGitHub, makeWrapper <del> , docutils, perl, pkgconfig, python3, which, ffmpeg_4 , freefont_ttf, freetype, libass, libpthreadstubs, mujs </del> <ins> , addOpenGLRunpath, docutils, perl, pkgconfig, python3, which , ffmpeg_4, freefont_ttf, freetype, libass, libpthreadstubs, mujs </ins> , nv-codec-headers, lua, libuchardet, libiconv ? null, darwin , waylandSupport ? stdenv.isLinux


''; nativeBuildInputs = [ <del> docutils makeWrapper perl pkgconfig python3 which </del> <ins> addOpenGLRunpath docutils makeWrapper perl pkgconfig python3 which </ins> ]; buildInputs = [


${wrapperFlags} ''; <ins> # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found. # See the explanation in addOpenGLRunpath. postFixup = optionalString stdenv.isLinux '' addOpenGLRunpath $out/bin/.mpv-wrapped ''; </ins> meta = with stdenv.lib; { description = "A media player that supports many video formats (MPlayer and mplayer2 fork)"; homepage = https://mpv.io; license = licenses.gpl2Plus; <del> maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ]; </del> <ins> maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ivan ]; </ins> platforms = platforms.darwin ++ platforms.linux; longDescription = ''


<del> { stdenv, fetchurl, pkgconfig, perl, texinfo, yasm </del> <ins> { stdenv, fetchurl, pkgconfig, addOpenGLRunpath, perl, texinfo, yasm </ins> , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d


let inherit (stdenv) isDarwin isFreeBSD isLinux isAarch32; <del> inherit (stdenv.lib) optional optionals enableFeature; </del> <ins> inherit (stdenv.lib) optional optionals optionalString enableFeature; </ins> cmpVer = builtins.compareVersions; reqMin = requiredVersion: (cmpVer requiredVersion branch != 1);


"--enable-cross-compile" ] ++ optional stdenv.cc.isClang "--cc=clang"; <del> nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; </del> <ins> nativeBuildInputs = [ addOpenGLRunpath perl pkgconfig texinfo yasm ]; </ins> buildInputs = [ bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora


substituteInPlace $pc  --replace "includedir=$out" "includedir=''${!outputInclude}" done <ins> '' + optionalString stdenv.isLinux '' # Set RUNPATH so that libnvcuvid in /run/opengl-driver(-32)/lib can be found. # See the explanation in addOpenGLRunpath. addOpenGLRunpath $out/lib/libavcodec.so* </ins> ''; installFlags = [ "install-man" ];


maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; <ins> propagatedUserEnvPkgs = [ baloo ]; </ins> propagatedBuildInputs = [ baloo baloo-widgets kactivities kbookmarks kcmutils kcompletion kconfig kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes


# Media support MEDIA_CAMERA_SUPPORT? y MEDIA_RC_SUPPORT? y <ins> MEDIA_USB_SUPPORT y </ins> ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} ${extraConfig}


, lib , buildPythonPackage , fetchPypi <ins> , fetchpatch </ins> , gfortran, glibcLocales , numpy, scipy, pytest, pillow , cython


]; checkInputs = [ pytest ]; <ins> patches = [ # Fixes tests by changing threshold of a test-case that broke # with numpy versions >= 1.17. This should be removed for versions > 0.21.2. ( fetchpatch { url = "https://github.com/scikit-learn/scikit-learn/commit/b730befc821caec5b984d9ff3aa7bc4bd7f4d9bb.patch"; sha256 = "0z36m05mv6d494qwq0688rgwa7c4bbnm5s2rcjlrp29fwn3fy1bv"; }) ]; </ins> LC_ALL="en_US.UTF-8"; doCheck = !stdenv.isAarch64;


{ fetchFromGitHub, stdenv, cmake, openssl, zlib, libuv }: <del> stdenv.mkDerivation rec { pname = "libwebsockets"; version = "3.2.0"; src = fetchFromGitHub { owner = "warmcat"; repo = "libwebsockets"; rev = "v${version}"; sha256 = "0ac5755h3w1pl6cznqbvg63dwkqy544fqlhvqyp7s11hgs7jx6l8"; </del> <ins> let generic = { version, sha256 }: stdenv.mkDerivation rec { pname = "libwebsockets"; inherit version; src = fetchFromGitHub { owner = "warmcat"; repo = "libwebsockets"; rev = "v${version}"; inherit sha256; }; buildInputs = [ openssl zlib libuv ]; nativeBuildInputs = [ cmake ]; cmakeFlags = [ "-DLWS_WITH_PLUGINS=ON" ]; meta = with stdenv.lib; { description = "Light, portable C library for websockets"; longDescription = '' Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions. ''; homepage = "https://libwebsockets.org/"; license = licenses.lgpl21; platforms = platforms.all; }; </ins> }; <del> buildInputs = [ cmake openssl zlib libuv ]; cmakeFlags = [ "-DLWS_WITH_PLUGINS=ON" ]; meta = { description = "Light, portable C library for websockets"; longDescription = '' Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions. ''; homepage = https://github.com/warmcat/libwebsockets; license = stdenv.lib.licenses.lgpl21; platforms = stdenv.lib.platforms.all; </del> <ins> in rec { libwebsockets_3_1 = generic { sha256 = "1w1wz6snf3cmcpa3f4dci2nz9za2f5rrylxl109id7bcb36xhbdl"; version = "3.1.0"; </ins> }; <ins> libwebsockets_3_2 = generic { version = "3.2.0"; sha256 = "0ac5755h3w1pl6cznqbvg63dwkqy544fqlhvqyp7s11hgs7jx6l8"; }; libwebsockets = libwebsockets_3_2; </ins> }


{ stdenv, lib, fetchFromGitHub, cmake, docbook_xsl, libxslt <del> , openssl, libuuid, libwebsockets, c-ares, libuv </del> <ins> , openssl, libuuid, libwebsockets_3_1, c-ares, libuv </ins> , systemd ? null, withSystemd ? stdenv.isLinux }: stdenv.mkDerivation rec { pname = "mosquitto"; <del> version = "1.6.4"; </del> <ins> version = "1.6.5"; </ins> src = fetchFromGitHub { owner  = "eclipse"; repo   = "mosquitto"; rev    = "v${version}"; <del> sha256 = "1kr1dgc4nzhyg3rzymbv4rka3rpb30rwsy6binb7apnw3n3ff58l"; </del> <ins> sha256 = "0scgsi3rvs9s8vxv4r7d5d9ixbsfg4dwnjcy6zxwdz9dfn8qnngj"; </ins> }; postPatch = ''


''; buildInputs = [ <del> openssl libuuid libwebsockets c-ares libuv </del> <ins> openssl libuuid libwebsockets_3_1 c-ares libuv </ins> ] ++ lib.optional withSystemd systemd; nativeBuildInputs = [ cmake docbook_xsl libxslt ];


meta = with stdenv.lib; { description = "An open source MQTT v3.1/3.1.1 broker"; <del> homepage = http://mosquitto.org/; </del> <ins> homepage = "https://mosquitto.org/"; </ins> license = licenses.epl10; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.unix;


librest = callPackage ../development/libraries/librest { }; <del> libwebsockets = callPackage ../development/libraries/libwebsockets { }; </del> <ins> inherit (callPackages ../development/libraries/libwebsockets { }) libwebsockets_3_1 libwebsockets_3_2 libwebsockets; </ins> lidarr = callPackage ../servers/lidarr { };


, glibcLocales , nose , jsonschema <ins> , setuptools </ins> , send2trash , CoreAudio # This little flag adds a huge number of dependencies, but we assume that


propagatedBuildInputs = [ pyqtwebengine sqlalchemy beautifulsoup4 send2trash pyaudio requests decorator <del> markdown jsonschema </del> <ins> markdown jsonschema setuptools </ins> ] ++ lib.optional plotsSupport matplotlib ++ lib.optional stdenv.isDarwin [ CoreAudio ]


, xkeyboard_config , udisks2 <ins> , waylandSupport ? false, wayland-protocols, xwayland </ins> , bluetoothSupport ? true, bluez5 , pulseSupport ? !stdenv.isDarwin, libpulseaudio }:


] ++ lib.optional bluetoothSupport bluez5 # for bluetooth configuration and control ++ lib.optional pulseSupport libpulseaudio # for proper audio device control and redirection <ins> ++ lib.optionals waylandSupport [ wayland-protocols xwayland ] </ins> ; patches = [


mesonFlags = [ "-D systemdunitdir=lib/systemd/user" <del> ]; </del> <ins> ] ++ lib.optional waylandSupport "-Dwl=true"; </ins> passthru.providedSessions = [ "enlightenment" ];


postgresql_10 postgresql_11 ; <del> postgresql = postgresql_9_6.override { this = postgresql; }; </del> <ins> postgresql = postgresql_11.override { this = postgresql; }; </ins> postgresqlPackages = recurseIntoAttrs postgresql.pkgs; <del> postgresql11Packages = recurseIntoAttrs postgresql_11.pkgs; </del> <ins> postgresql11Packages = pkgs.postgresqlPackages; </ins> postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };


do [ -d "$targetDir" ] || continue <del> find "$targetDir" -type f -executable -print0 | while IFS= read -r -d '' file </del> <ins> find "$targetDir" ! -type d -executable -print0 | while IFS= read -r -d '' file </ins> do patchelf --print-interpreter "$file" >/dev/null 2>&1 || continue


assertions = [ { assertion = !config.services.xserver.libinput.enable; <del> message = "cmt and libinput are incompatible, you cannot enable both (in services.xserver)."; </del> <ins> message = '' cmt and libinput are incompatible, meaning you cannot enable them both. To use cmt you need to disable libinput with `services.xserver.libinput.enable = false` If you haven't enabled it in configuration.nix, it's enabled by default on a different xserver module. ''; </ins> } ]; };


<ins> diff --git a/configure.py b/configure.py index 25ca951ac..454140420 100755 --- a/configure.py +++ b/configure.py @@ -36,13 +36,16 @@ tempfile.tempdir = "./build/tmp" configure_args = str.join(' ', [shlex.quote(x) for x in sys.argv[1:]]) -for line in open('/etc/os-release'): -    key, _, value = line.partition('=') -    value = value.strip().strip('"') -    if key == 'ID': -        os_ids = [value] -    if key == 'ID_LIKE': -        os_ids += value.split(' ') +try: +    for line in open('/etc/os-release'): +        key, _, value = line.partition('=') +        value = value.strip().strip('"') +        if key == 'ID': +            os_ids = [value] +        if key == 'ID_LIKE': +            os_ids += value.split(' ') +except FileNotFoundError: +    os_ids = ["linux"] # distribution "internationalization", converting package names. </ins>


fetchSubmodules = true; }; <del> patches = [ ./seastar-configure-script-paths.patch ]; </del> <ins> patches = [ ./seastar-configure-script-paths.patch ./configure-etc-osrelease.patch ]; </ins> nativeBuildInputs = [ pkgconfig


postPatch = '' patchShebangs ./configure.py <ins> patchShebangs seastar/json/json2code.py </ins> ''; configurePhase = '' ./configure.py --mode=release ''; installPhase = '' mkdir $out cp -r * $out/ ''; meta = with stdenv.lib; { description = "NoSQL data store using the seastar framework, compatible with Apache Cassandra"; homepage = "https://scylladb.com";


, doCheck ? config.doCheckByDefault or false , coreutils, dbus, libxml2, tzdata , desktop-file-utils, shared-mime-info <del> , darwin </del> <ins> , darwin, fetchpatch </ins> }: with stdenv.lib;


sha256 = "046sqfmr84blxh4vkipmh8ff7wd19fxmh6lnr5ibchx3l02p49bc"; }; <del> patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch ++ optionals stdenv.hostPlatform.isMusl [ ./quark_init_on_demand.patch ./gobject_init_on_demand.patch ] ++ [ ./schema-override-variable.patch # Require substituteInPlace in postPatch ./fix-gio-launch-desktop-path.patch # GLib contains many binaries used for different purposes; # we will install them to different outputs: # 1. Tools for desktop environment ($bin) #    * gapplication (non-darwin) #    * gdbus #    * gio #    * gio-launch-desktop (symlink to $out) #    * gsettings # 2. Development/build tools ($dev) #    * gdbus-codegen #    * gio-querymodules #    * glib-compile-resources #    * glib-compile-schemas #    * glib-genmarshal #    * glib-gettextize #    * glib-mkenums #    * gobject-query #    * gresource #    * gtester #    * gtester-report # 3. Tools for desktop environment that cannot go to $bin due to $out depending on them ($out) #    * gio-launch-desktop ./split-dev-programs.patch ]; </del> <ins> patches = optionals stdenv.isDarwin [ ./darwin-compilation.patch # fix loading dylibs on darwin # Remove on 2.62.1 (fetchpatch { url = "https://gitlab.gnome.org/GNOME/glib/commit/e2409e5e180f1fa369d0e87e38e4d646d9f68791.patch"; sha256 = "1dhjwlsqdgnn8fr8pzfrnd63m7pdgf7mizdyn8lwg17ggvq6qsqf"; }) ] ++ optionals stdenv.hostPlatform.isMusl [ ./quark_init_on_demand.patch ./gobject_init_on_demand.patch ] ++ [ ./schema-override-variable.patch # Require substituteInPlace in postPatch ./fix-gio-launch-desktop-path.patch # GLib contains many binaries used for different purposes; # we will install them to different outputs: # 1. Tools for desktop environment ($bin) #    * gapplication (non-darwin) #    * gdbus #    * gio #    * gio-launch-desktop (symlink to $out) #    * gsettings # 2. Development/build tools ($dev) #    * gdbus-codegen #    * gio-querymodules #    * glib-compile-resources #    * glib-compile-schemas #    * glib-genmarshal #    * glib-gettextize #    * glib-mkenums #    * gobject-query #    * gresource #    * gtester #    * gtester-report # 3. Tools for desktop environment that cannot go to $bin due to $out depending on them ($out) #    * gio-launch-desktop ./split-dev-programs.patch ] ++ optional doCheck ./skip-timer-test.patch; </ins> outputs = [ "bin" "out" "dev" "devdoc" ];


stdenv.mkDerivation rec { pname = "igraph"; <del> version = "0.7.1"; </del> <ins> version = "0.8.2"; </ins> src = fetchFromGitHub { owner = "igraph"; repo = pname; rev = version; <del> sha256 = "1wsy0r511gk069il6iqjs27q8cjvqz20gf0a7inybx1bw84845z8"; </del> <ins> sha256 = "015yh9s19lmxm7l1ld8adlsqh1lrmzicl801saixdwl9w05hfva4"; </ins> }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ flex yacc zlib libxml2 ]; <del> # This file is normally generated by igraph's bootstrap.sh, but we can do it # ourselves. ~ C. </del> <ins> # Normally, igraph wants us to call bootstrap.sh, which will call # tools/getversion.sh. Instead, we're going to put the version directly # where igraph wants, and then let autoreconfHook do the rest of the # bootstrap. ~ C. </ins> postPatch = '' <del> echo "${version}" > VERSION </del> <ins> echo "${version}" > IGRAPH_VERSION </ins> ''; <ins> doCheck = true; </ins> meta = { description = "The network analysis package"; homepage = "https://igraph.org/"; license = lib.licenses.gpl2; <ins> # NB: Known to fail tests on aarch64. platforms = [ "x86_64-linux" ]; </ins> maintainers = [ lib.maintainers.MostAwesomeDude ]; }; }


{ buildPythonPackage, fetchPypi, lib, isPy3k <del> , pkgconfig, igraph }: </del> <ins> , pkgconfig, igraph , texttable }: </ins> buildPythonPackage rec { pname = "python-igraph";


nativeBuildInputs = [ pkgconfig ]; buildInputs = [ igraph ]; <ins> propagatedBuildInputs = [ texttable ]; </ins> src = fetchPypi { inherit pname version; sha256 = "4601638d7d22eae7608cdf793efac75e6c039770ec4bd2cecf76378c84ce7d72"; }; <ins> # NB: We want to use our igraph, not vendored igraph, but even with # pkg-config on the PATH, their custom setup.py still needs to be explicitly # told to do it. ~ C. setupPyGlobalFlags = [ "--use-pkg-config" ]; </ins> doCheck = !isPy3k; meta = {


sha256 = "1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2"; }; buildInputs = [ pkgs.gtk2 Cairo ExtUtilsDepends ExtUtilsPkgConfig Glib Pango ]; <del> doCheck = !stdenv.isDarwin; </del> <ins> # https://rt.cpan.org/Public/Bug/Display.html?id=130742 # doCheck = !stdenv.isDarwin; doCheck = false; </ins> meta = { homepage = http://gtk2-perl.sourceforge.net/; description = "Perl interface to the 2.x series of the Gimp Toolkit library";


substituteInPlace $out/lib/libsane.la  --replace "-ljpeg" "-L${libjpeg.out}/lib -ljpeg" <ins> # net.conf conflicts with the file generated by the nixos module rm -f $out/etc/sane.d/net.conf </ins> '' + stdenv.lib.concatStrings (builtins.map installFirmware compatFirmware); meta = with stdenv.lib; {


# gfortran readline bzip2 lzma pcre.dev curl ed ## WIP: fastr dependencies ]; postUnpack = '' <del> cp ${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/stdlib.h  </del> <ins> cp ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/stdlib.h  </ins> $sourceRoot/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include cp ${truffleMake} $TMP && mv *truffle.make truffle.make rm $sourceRoot/truffle/src/libffi/patches/others/0001-Add-mx-bootstrap-Makefile.patch


--replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";' # prevent cyclical imports caused by identical <include> names substituteInPlace sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include/stdlib.h  <del> --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/cstdlib"' </del> <ins> --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/cstdlib"' </ins> # dragonegg can't seem to compile on nix, so let's not require it substituteInPlace sulong/mx.sulong/suite.py  --replace '"requireDragonegg" : True,' '"requireDragonegg" : False,'


<del> { lib, stdenv, pixie, fetchFromGitHub }: </del> <ins> { lib, stdenv, fetchFromGitHub , pixie, rlwrap }: </ins> stdenv.mkDerivation rec { pname = "dust";


patches = [ ./make-paths-configurable.patch ]; configurePhase = '' <del> pixiePath="${pixie}/bin/pixie-vm"  </del> <ins> pixiePath="${pixie}/bin/pixie"  </ins> basePath="$out/share/dust"  <ins> rlwrapPath="${rlwrap}/bin/rlwrap"  </ins> substituteAll dust.in dust chmod +x dust '';


index 0000000..44a7fbd --- /dev/null +++ b/dust.in <del> @@ -0,0 +1,43 @@ </del> <ins> @@ -0,0 +1,40 @@ </ins> +#!/usr/bin/env bash + +base_path=@basePath@ +pixie_path=@pixiePath@ <ins> +rlwrap_cmd=@rlwrapPath@ </ins> + +function set_load_path() { +    load_path=""


+ +case $1 in +    ""|"repl") <del> +        rlwrap_cmd="" +        if [ -n "`which rlwrap`" ]; then +            rlwrap_cmd="rlwrap -aignored -n" +        fi +        $rlwrap_cmd $pixie_path $load_path </del> <ins> +        $rlwrap_cmd -aignored -n $pixie_path $load_path </ins> +        ;; +    "run") +        shift


kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice kxmlgui qtbase qttools solid ]; <ins> outputs = [ "out" "dev" ]; </ins> patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series)); }


}; } // (listToAttrs (flip map interfaces (i: let <del> deviceDependency = if config.boot.isContainer </del> <ins> deviceDependency = if (config.boot.isContainer || i.name == "lo") </ins> then [] else [ (subsystemDevice i.name) ]; in


cl-lib = null; # builtin tle = null; # builtin advice = null; # builtin <ins> seq = if lib.versionAtLeast self.emacs.version "27" then null else super.seq; </ins> }; elpaPackages = super // overrides;


stdenv.mkDerivation { pname = "libvterm-neovim"; <del> version = "2019-08-28"; </del> <ins> version = "2019-10-08"; </ins> src = fetchFromGitHub { owner = "neovim"; repo = "libvterm"; <del> rev = "1aa95e24d8f07a396aa80b7cd52f93e2b5bcca79"; sha256 = "0vjd397lqrfv4kc79i5izva4bynbymx3gllkg281fnk0b15vxfif"; </del> <ins> rev = "7c72294d84ce20da4c27362dbd7fa4b08cfc91da"; sha256 = "111qyxq33x74dwdnqcnzlv9j0n8hxyribd6ppwcsxmyrniyw9qrk"; </ins> }; buildInputs = [ perl ];


<ins> { atomEnv , autoPatchelfHook , dpkg , fetchurl , makeDesktopItem , makeWrapper , stdenv , udev , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "termius"; version = "5.10.1"; src = fetchurl { url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb"; sha256 = "04zh0zzyp906lf6mz3xzxybn2a55rv3vvrj0m12gnrb8kjb3pk5s"; }; desktopItem = makeDesktopItem { categories = "Network;"; comment = "The SSH client that works on Desktop and Mobile"; desktopName = "Termius"; exec = "termius-app"; genericName = "Cross-platform SSH client"; icon = "termius-app"; name = "termius-app"; }; dontBuild = true; dontConfigure = true; dontPatchELF = true; dontWrapGApps = true; nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapGAppsHook ]; buildInputs = atomEnv.packages; unpackPhase = "dpkg-deb -x $src ."; installPhase = '' mkdir -p "$out/bin" cp -R "opt" "$out" cp -R "usr/share" "$out/share" chmod -R g-w "$out" # Desktop file mkdir -p "$out/share/applications" cp "${desktopItem}/share/applications/"* "$out/share/applications" ''; runtimeDependencies = [ udev.lib ]; postFixup = '' makeWrapper $out/opt/Termius/termius-app $out/bin/termius-app  "''${gappsWrapperArgs[@]}" ''; meta = with stdenv.lib; { description = "A cross-platform SSH client with cloud data sync and more"; homepage = "https://termius.com/"; downloadPage = "https://termius.com/linux/"; license = licenses.unfree; maintainers = with maintainers; [ filalex77 ]; platforms = [ "x86_64-linux" ]; }; } </ins>


pythonPackages = python3Packages; }; <ins> termius = callPackage ../applications/networking/termius { }; </ins> termplay = callPackage ../tools/misc/termplay { }; tewisay = callPackage ../tools/misc/tewisay { };


inherit (common) src; <ins> patches = [ # Fix for ghostscript>=9.27 # Backport of # https://github.com/mgieseki/dvisvgm/commit/bc51951bc90b700c28ea018993bdb058e5271e9b ./dvisvgm-fix.patch # Needed for ghostscript>=9.50 (fetchpatch { url = "https://github.com/mgieseki/dvisvgm/commit/7b93a9197b69305429183affd24fa40ee04a663a.patch"; sha256 = "1gmj76ja9xng39wxckhs9q140abixgb8rkrcfv2cdgq786wm3vag"; stripLen = 1; extraPrefix = "texk/dvisvgm/dvisvgm-src/"; }) ]; </ins> nativeBuildInputs = [ pkgconfig ]; # TODO: dvisvgm still uses vendored dependencies <del> buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype potrace xxHash ]; </del> <ins> buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype /*potrace xxHash*/ ]; </ins> preConfigure = "cd texk/dvisvgm";


<ins> diff a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp --- a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp +++ b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp @@ -107,8 +107,7 @@ const char *PSInterpreter::PSDEFS = "dmode sysexec<</Normal 0/Compatible 0/Multiply 1/Screen 2/Overlay 3/SoftLight " "4/HardLight 5/ColorDodge 6/ColorBurn 7/Darken 8/Lighten 9/Difference 10/Exclus" "ion 11/Hue 12/Saturation 13/Color 14/Luminosity 15/CompatibleOverprint 16>>exc" -"h get 1(setblendmode)prcmd}def/@pdfpagecount{GS_PDF_ProcSet begin pdfdict begi" -"n(r)file pdfopen begin pdfpagecount currentdict pdfclose end end end}def/@pdfp" -"agebox{GS_PDF_ProcSet begin pdfdict begin(r)file pdfopen begin dup dup 1 lt ex" -"ch pdfpagecount gt or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse curre" -"ntdict pdfclose end end end}def DELAYBIND{.bindnow}if "; +"h get 1(setblendmode)prcmd}def/@pdfpagecount{(r)file runpdfbegin pdfpagecount " +"runpdfend}def/@pdfpagebox{(r)file runpdfbegin dup dup 1 lt exch pdfpagecount g" +"t or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse runpdfend}def DELAYBIN" +"D{.bindnow}if "; </ins>


"ValidHTTPCodes" = "404"; } ''; <ins> description = "Extra configuration to be appendend to awstats.${name}.conf."; </ins> }; webService = {


<ins> { stdenv , lib , rustPlatform , fetchpatch , fetchFromGitHub , pkg-config , dbus , openssl }: rustPlatform.buildRustPackage rec { pname = "tiny"; version = "0.5.1"; src = fetchFromGitHub { owner = "osa1"; repo = pname; rev = "v${version}"; sha256 = "1m57xsrc7lzkrm8k1wh3yx3in5bhd0qjzygxdwr8lvigpsiy5caa"; }; cargoSha256 = "1vj6whnx8gd5r66zric9163ddlqc4al4azj0dvhv5sq0r33871kv"; RUSTC_BOOTSTRAP = 1; nativeBuildInputs = lib.optional stdenv.isLinux pkg-config; buildInputs = lib.optionals stdenv.isLinux [ dbus openssl ]; meta = with lib; { description = "A console IRC client"; homepage = "https://github.com/osa1/tiny"; license = licenses.mit; maintainers = with maintainers; [ filalex77 ]; }; } </ins>


tint2 = callPackage ../applications/misc/tint2 { }; <ins> tiny = callPackage ../applications/networking/irc/tiny { }; </ins> tixati = callPackage ../applications/networking/p2p/tixati { }; tkcvs = callPackage ../applications/version-management/tkcvs { };


, lib , buildGoPackage , fetchFromGitHub <del> , openssl_1_0_2 </del> <ins> , openssl </ins> , pkgconfig , libpcap }:


}; nativeBuildInputs = [ pkgconfig ]; <del> buildInputs = [ openssl_1_0_2 libpcap ]; </del> <ins> buildInputs = [ openssl libpcap ]; </ins> # Mongodb incorrectly names all of their binaries main # Let's work around this with our own installer


<del> { stdenv, fetchFromGitHub, cmake, boost, openssl, asio }: </del> <ins> { stdenv, fetchFromGitHub, cmake, boost, openssl }: </ins> stdenv.mkDerivation rec { pname = "cpp-netlib";


buildInputs = [ cmake boost openssl ]; <del> # This can be removed when updating to 0.13, see https://github.com/cpp-netlib/cpp-netlib/issues/629 propagatedBuildInputs = [ asio ]; </del> cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" ]; enableParallelBuilding = true; <ins> # The test driver binary lacks an RPath to the library's libs preCheck = '' export LD_LIBRARY_PATH=$PWD/libs/network/src ''; # Most tests make network GET requests to various websites doCheck = false; </ins> meta = with stdenv.lib; { <del> description = "Collection of open-source libraries for high level network programming"; </del> <ins> description = "Collection of open-source libraries for high level network programming"; </ins> homepage    = https://cpp-netlib.org; license     = licenses.boost; platforms   = platforms.all;


cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { }; <del> cpp-netlib = callPackage ../development/libraries/cpp-netlib { openssl = openssl_1_0_2; }; </del> <ins> cpp-netlib = callPackage ../development/libraries/cpp-netlib {}; </ins> uri = callPackage ../development/libraries/uri { }; cppcms = callPackage ../development/libraries/cppcms { };


, python , mkDerivation , stdenv <del> , isPy3k </del> }: let compyte = import ./compyte.nix {


sha256 = "ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a"; }; <del> preConfigure = '' </del> <ins> preConfigure = with stdenv.lib.versions; '' </ins> ${python.interpreter} configure.py --boost-inc-dir=${boost.dev}/include  --boost-lib-dir=${boost}/lib  --no-use-shipped-boost  <del> --boost-python-libname=boost_python${stdenv.lib.optionalString isPy3k "3"} </del> <ins> --boost-python-libname=boost_python${major python.version}${minor python.version}  --cuda-root=${cudatoolkit} </ins> ''; postInstall = ''


pycares = callPackage ../development/python-modules/pycares { }; pycuda = callPackage ../development/python-modules/pycuda { <del> cudatoolkit = pkgs.cudatoolkit_7_5; </del> <ins> cudatoolkit = pkgs.cudatoolkit; </ins> inherit (pkgs.stdenv) mkDerivation; };


githubId = 18535642; name = "Emily"; }; <ins> enderger = { email = "endergeryt@gmail.com"; github = "enderger"; githubId = 36283171; name = "Daniel"; }; </ins> endocrimes = { email = "dani@builds.terrible.systems"; github = "endocrimes";


<ins> { lib, fetchurl, appimageTools}: let pname = "lbry-desktop"; version = "0.50.2"; in appimageTools.wrapAppImage rec { name = "${pname}-${version}"; # Fetch from GitHub Releases and extract src = appimageTools.extract { inherit name; src = fetchurl { url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage"; # Gotten from latest-linux.yml sha512 = "br6HvVRz+ybmAhmQh3vOC5wgLmOCVrGHDn59ueWk6rFoKOCbm8WdmdadOZvHeN1ld2nlvPzEy+KXMOEfF1LeQg=="; }; }; # At runtime, Lbry likes to have access to Ffmpeg extraPkgs = pkgs: with pkgs; [ ffmpeg ]; # General fixup extraInstallCommands = '' # Firstly, rename the executable to lbry for convinence mv $out/bin/${name} $out/bin/lbry # Now, install assets such as the desktop file and icons install -m 444 -D ${src}/lbry.desktop -t $out/share/applications substituteInPlace $out/share/applications/lbry.desktop  --replace 'AppRun' '$out/bin/lbry' cp -r ${src}/usr/share/icons $out/share ''; meta = with lib; { description = "A browser and wallet for LBRY, the decentralized, user-controlled content marketplace"; longDescription = '' The LBRY app is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with a UI using Electron. ''; license = licenses.mit; homepage = "https://lbry.com/"; downloadPage = "https://lbry.com/get/"; changelog = "https://github.com/lbryio/lbry-desktop/blob/master/CHANGELOG.md"; maintainers = with maintainers; [ enderger ]; platforms = [ "x86_64-linux" ]; }; } </ins>


lbdb = callPackage ../tools/misc/lbdb { abook = null; gnupg = null; goobook = null; khard = null; mu = null; }; <ins> lbry = callPackage ../applications/video/lbry { }; </ins> lbzip2 = callPackage ../tools/compression/lbzip2 { }; lci = callPackage ../applications/science/logic/lci {};


{ stdenv, fetchurl, autoPatchelfHook, makeWrapper <del> , alsaLib, xorg </del> <ins> , alsaLib, xorg, libjack2 </ins> , gtk3, pango, gdk-pixbuf, cairo, glib, freetype , libpulseaudio, xdg_utils }: stdenv.mkDerivation rec { pname = "reaper"; <del> version = "5.987"; </del> <ins> version = "6.10"; </ins> src = fetchurl { url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz"; <del> sha256 = "040k5inzj7mmi75fc6hr0ym18y5xss1675bl5rmhn4sq535m289k"; </del> <ins> sha256 = "1p54phmsa6xbqxb5cpgwnz7ny4famb8zi25y3cmxwgr4pfy94b2p"; </ins> }; nativeBuildInputs = [ autoPatchelfHook makeWrapper ];


rm $out/opt/REAPER/uninstall-reaper.sh wrapProgram $out/opt/REAPER/reaper  <del> --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib </del> <ins> --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libpulseaudio libjack2 ]}" </ins> mkdir $out/bin ln -s $out/opt/REAPER/reaper $out/bin/


<ins> From 715c5f461b4992dac066601202a673bc551a5e33 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> Date: Sun, 16 Feb 2020 14:23:31 -0600 Subject: [PATCH 1/4] kinit-libpath --- src/kdeinit/kinit.cpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp index 8fff17a..0801b75 100644 --- a/src/kdeinit/kinit.cpp +++ b/src/kdeinit/kinit.cpp @@ -622,19 +622,15 @@ static pid_t launch(int argc, const char *_name, const char *args, if (!libpath.isEmpty()) { if (libpath_relative) { -                // NB: Because Qt makes the actual dlopen() call, the -                //     RUNPATH of kdeinit is *not* respected - see -                //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945 -                //     - so we try hacking it in ourselves -                QString install_lib_dir = QFile::decodeName( -                        CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/"); -                QString orig_libpath = libpath; -                libpath = install_lib_dir + libpath; -                l.setFileName(libpath); -                if (!l.load()) { -                    libpath = orig_libpath; -                    l.setFileName(libpath); -                    l.load(); +                // Try to load the library relative to the active profiles. +                QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); +                // Reverse the profile list. +                std::reverse(profiles.begin(), profiles.end()); +                for (const QByteArray &profile: profiles) { +                    if (!profile.isEmpty()) { +                        l.setFileName(QFile::decodeName(profile) + QStringLiteral("/lib/") + libpath); +                        if (l.load()) break; +                    } } } else { l.load(); -- 2.23.1 </ins>


<ins> From 129cd0ae1e983adc10dbe84e87bcc6f31cb13db8 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> Date: Sun, 16 Feb 2020 14:23:44 -0600 Subject: [PATCH 2/4] start_kdeinit-path --- src/start_kdeinit/start_kdeinit_wrapper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/start_kdeinit/start_kdeinit_wrapper.c b/src/start_kdeinit/start_kdeinit_wrapper.c index 891f50c..ef664ad 100644 --- a/src/start_kdeinit/start_kdeinit_wrapper.c +++ b/src/start_kdeinit/start_kdeinit_wrapper.c @@ -23,7 +23,7 @@ #include <string.h> #include <unistd.h> -#define EXECUTE CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit" +#define EXECUTE "/run/wrappers/bin/start_kdeinit" #if KDEINIT_OOM_PROTECT -- 2.23.1 </ins>


<ins> From 4f5d0de7e35744cdbfa9e280ee7e15a54cf21abb Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> Date: Sun, 16 Feb 2020 14:24:07 -0600 Subject: [PATCH 3/4] kdeinit-extra-libs --- src/kdeinit/kinit.cpp | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp index 0801b75..622dd5f 100644 --- a/src/kdeinit/kinit.cpp +++ b/src/kdeinit/kinit.cpp @@ -96,9 +96,9 @@ static const char *extra_libs[] = { "libKF5Parts.5.dylib", "libKF5Plasma.5.dylib" #else -    "libKF5KIOCore.so.5", -    "libKF5Parts.so.5", -    "libKF5Plasma.so.5" +    NIXPKGS_KF5_KIOCORE, +    NIXPKGS_KF5_PARTS, +    NIXPKGS_KF5_PLASMA #endif }; #endif @@ -1524,20 +1524,6 @@ static int initXconnection() } #endif -#ifndef Q_OS_OSX -// Find a shared lib in the lib dir, e.g. libkio.so. -// Completely unrelated to plugins. -static QString findSharedLib(const QString &lib) -{ -    QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/") + lib; -    if (QFile::exists(path)) { -        return path; -    } -    // We could also look in LD_LIBRARY_PATH, but really, who installs the main libs in different prefixes? -    return QString(); -} -#endif - extern "C" { static void secondary_child_handler(int) @@ -1679,7 +1665,7 @@ int main(int argc, char **argv) #if defined(Q_OS_UNIX) && !defined(Q_OS_OSX) if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) { for (const char *extra_lib : extra_libs) { -            const QString extra = findSharedLib(QString::fromLatin1(extra_lib)); +            const QString extra = QString::fromLatin1(extra_lib); if (!extra.isEmpty()) { QLibrary l(extra); l.setLoadHints(QLibrary::ExportExternalSymbolsHint); -- 2.23.1 </ins>


<ins> From 41e94983dcfbc1667f1b18c5b566aa5c5975edcb Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> Date: Mon, 17 Feb 2020 04:45:03 -0600 Subject: [PATCH 4/4] start_kdeinit-environ-hard-limit --- src/start_kdeinit/start_kdeinit.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/start_kdeinit/start_kdeinit.c b/src/start_kdeinit/start_kdeinit.c index f2db3e9..4ff2602 100644 --- a/src/start_kdeinit/start_kdeinit.c +++ b/src/start_kdeinit/start_kdeinit.c @@ -148,7 +148,11 @@ int main(int argc, char **argv) ++i) { unsigned len; if (read(0, &len, sizeof(unsigned)) == sizeof(unsigned) -                            && len && len < (1 << 12)) { +                            && len) { +                        if (len >= (1 << 14)) { +                            fprintf(stderr, "%s: exceeded environment length limit", argv[0]); +                            return 1; +                        } env[ i ] = malloc(len + 1); if ((unsigned) read(0, env[ i ], len) == len) { env[ i ][ len ] = '0'; -- 2.23.1 </ins>


buildInputs = [ kconfig kcrash ki18n kio kservice kwindowsystem ]; <del> patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); </del> <ins> patches = [ ./0001-kinit-libpath.patch ./0002-start_kdeinit-path.patch ./0003-kdeinit-extra-libs.patch ./0004-start_kdeinit-environ-hard-limit.patch ]; </ins> CXXFLAGS = [ ''-DNIXPKGS_KF5_KIOCORE="${getLib kio}/lib/libKF5KIOCore.so.5"'' ''-DNIXPKGS_KF5_PARTS="${getLib kparts}/lib/libKF5Parts.so.5"''


<del> Index: kinit-5.32.0/src/kdeinit/kinit.cpp =================================================================== --- kinit-5.32.0.orig/src/kdeinit/kinit.cpp +++ kinit-5.32.0/src/kdeinit/kinit.cpp @@ -96,9 +96,9 @@ static const char *extra_libs[] = { "libKF5Parts.5.dylib", "libKF5Plasma.5.dylib" #else -    "libKF5KIOCore.so.5", -    "libKF5Parts.so.5", -    "libKF5Plasma.so.5" +    NIXPKGS_KF5_KIOCORE, +    NIXPKGS_KF5_PARTS, +    NIXPKGS_KF5_PLASMA #endif }; #endif @@ -1533,20 +1531,6 @@ static int initXconnection() } #endif -#ifndef Q_OS_OSX -// Find a shared lib in the lib dir, e.g. libkio.so. -// Completely unrelated to plugins. -static QString findSharedLib(const QString &lib) -{ -    QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/") + lib; -    if (QFile::exists(path)) { -        return path; -    } -    // We could also look in LD_LIBRARY_PATH, but really, who installs the main libs in different prefixes? -    return QString(); -} -#endif - extern "C" { static void secondary_child_handler(int) @@ -1692,7 +1676,7 @@ int main(int argc, char **argv) if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) { for (const char *extra_lib : extra_libs) { -            const QString extra = findSharedLib(QString::fromLatin1(extra_lib)); +            const QString extra = QString::fromLatin1(extra_lib); if (!extra.isEmpty()) { QLibrary l(extra); l.setLoadHints(QLibrary::ExportExternalSymbolsHint); </del>


<del> Index: kinit-5.32.0/src/kdeinit/kinit.cpp =================================================================== --- kinit-5.32.0.orig/src/kdeinit/kinit.cpp +++ kinit-5.32.0/src/kdeinit/kinit.cpp @@ -623,19 +623,15 @@ static pid_t launch(int argc, const char if (!libpath.isEmpty()) { if (libpath_relative) { -                // NB: Because Qt makes the actual dlopen() call, the -                //     RUNPATH of kdeinit is *not* respected - see -                //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945 -                //     - so we try hacking it in ourselves -                QString install_lib_dir = QFile::decodeName( -                        CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/"); -                QString orig_libpath = libpath; -                libpath = install_lib_dir + libpath; -                l.setFileName(libpath); -                if (!l.load()) { -                    libpath = orig_libpath; -                    l.setFileName(libpath); -                    l.load(); +                // Try to load the library relative to the active profiles. +                QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); +                // Reverse the profile list. +                std::reverse(profiles.begin(), profiles.end()); +                for (const QByteArray &profile: profiles) { +                    if (!profile.isEmpty()) { +                        l.setFileName(QFile::decodeName(profile) + QStringLiteral("/lib/") + libpath); +                        if (l.load()) break; +                    } } } else { l.load(); </del>


<del> Index: kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c =================================================================== --- kinit-5.24.0.orig/src/start_kdeinit/start_kdeinit_wrapper.c +++ kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c @@ -23,7 +23,7 @@ #include <string.h> #include <unistd.h> -#define EXECUTE CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit" +#define EXECUTE "/run/wrappers/bin/start_kdeinit" #if KDEINIT_OOM_PROTECT </del>


postPatch = let darwinPatches = '' <ins> bazelLinkFlags () { eval set -- "$NIX_LDFLAGS" local flag for flag in "$@"; do printf ' -Wl,%s' "$flag" done } </ins> # Disable Bazel's Xcode toolchain detection which would configure compilers # and linkers from Xcode instead of from PATH export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1


# Framework search paths aren't added by bintools hook # https://github.com/NixOS/nixpkgs/pull/41914 <del> export NIX_LDFLAGS="$NIX_LDFLAGS -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" </del> <ins> export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" </ins> # libcxx includes aren't added by libcxx hook # https://github.com/NixOS/nixpkgs/pull/41589 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1" # don't use system installed Xcode to run clang, use Nix clang instead <del> sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g"  </del> <ins> sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g"  </ins> scripts/bootstrap/compile.sh  src/tools/xcode/realpath/BUILD  src/tools/xcode/stdredirect/BUILD


{ stdenv, file, fetchurl, makeWrapper, autoPatchelfHook, jsoncpp, libpulseaudio }: let <del> versionMajor = "6.9"; versionMinor = "2"; </del> <ins> versionMajor = "6.10"; versionMinor = "12"; </ins> versionBuild_x86_64 = "1"; versionBuild_i686 = "1"; in stdenv.mkDerivation rec { pname = "nomachine-client"; version = "${versionMajor}.${versionMinor}"; src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"; <del> sha256 = "1z2pcfkzicjma4lxrj4qx43xyml993v7qyjd7k8xy8hw85fwnzii"; </del> <ins> sha256 = "17yb377ry7i7cmkb72xmhyqkfggv1ygqlz55ymvmrs7psbh7ql01"; </ins> } else if stdenv.hostPlatform.system == "i686-linux" then fetchurl { url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"; <del> sha256 = "03421s0k91c02ga9k6bdvixw71brlgi13q82cinnfayg3fhb0rb6"; </del> <ins> sha256 = "0k6dspmwdkm0zf0c2zqlqy0jya8qgsg90wwv9wa12fn4chp66gqg"; </ins> } else throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}"; postUnpack = '' mv $(find . -type f -name nxclient.tar.gz) . mv $(find . -type f -name nxplayer.tar.gz) .


tar xf nxplayer.tar.gz rm $(find . -maxdepth 1 -type f) ''; nativeBuildInputs = [ file makeWrapper autoPatchelfHook ]; buildInputs = [ jsoncpp libpulseaudio ];


cp "$i"/* "$out/share/icons/hicolor/$(basename $i)/apps/" fi done mkdir $out/share/applications cp share/applnk/player/xdg/*.desktop $out/share/applications/ cp share/applnk/client/xdg-mime/*.desktop $out/share/applications/


substituteInPlace "$i" --replace /usr/NX/bin $out/bin done ''; postFixup = '' makeWrapper $out/bin/nxplayer.bin $out/bin/nxplayer --set NX_SYSTEM $out/NX makeWrapper $out/bin/nxclient.bin $out/bin/nxclient --set NX_SYSTEM $out/NX


# have a DT_NEEDED entry for it. patchelf --add-needed libpulse.so.0 $out/NX/lib/libnxcau.so ''; dontBuild = true; dontStrip = true;


platforms = [ "x86_64-linux" "i686-linux" ]; }; }


{ stdenv, fetchFromGitHub }: <ins> /* This derivation is impure: it relies on an Xcode toolchain being installed and available in the expected place. The values of sandboxProfile are copied pretty directly from the MacVim derivation, which is also impure. In order to build you at least need the `sandbox` option set to `relaxed` or `false`. */ </ins> stdenv.mkDerivation rec { pname = "iterm2"; <del> version = "3.0.14"; </del> <ins> version = "3.3.9"; </ins> src = fetchFromGitHub { owner = "gnachman"; repo = "iTerm2"; rev = "v${version}"; <del> sha256 = "03m0ja11w9910z96yi8fzq3436y8xl14q031rdb2w3sapjd54qrj"; </del> <ins> sha256 = "06mq3gfjgy8jw2f3fzdsi3pbfkdijfzzlhlw6ixa5bfb4hbcgn5j"; </ins> }; patches = [ ./disable_updates.patch ]; postPatch = '' sed -i -e 's/CODE_SIGN_IDENTITY = "Developer ID Application"/CODE_SIGN_IDENTITY = ""/g' ./iTerm2.xcodeproj/project.pbxproj ''; preConfigure = "LD=$CC"; <del> makeFlagsArray = ["Deployment"]; </del> <ins> makeFlagsArray = ["Nix"]; </ins> installPhase = '' <del> mkdir -p "$out/Applications" mv "build/Deployment/iTerm2.app" "$out/Applications/iTerm.app" </del> <ins> mkdir -p $out/Applications mv Build/Products/Deployment/iTerm2.app $out/Applications/iTerm.app ''; sandboxProfile = '' (allow file-read* file-write* process-exec mach-lookup) ; block homebrew dependencies (deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log)) </ins> ''; <del> meta = { </del> <ins> meta = with stdenv.lib; { </ins> description = "A replacement for Terminal and the successor to iTerm"; homepage = https://www.iterm2.com/; <del> license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.darwin; </del> <ins> license = licenses.gpl2; maintainers = with maintainers; [ tricktron ]; platforms = platforms.darwin; hydraPlatforms = []; </ins> }; }


1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/certbot/setup.py b/certbot/setup.py <del> index c1bf914..7456bf2 100644 </del> <ins> index d19327e5e..ac1524793 100644 </ins> --- a/certbot/setup.py +++ b/certbot/setup.py <del> @@ -3,7 +3,6 @@ import os </del> <ins> @@ -1,5 +1,4 @@ import codecs -from distutils.version import StrictVersion import os </ins> import re import sys <del> -from distutils.version import StrictVersion from setuptools import find_packages, setup, __version__ as setuptools_version from setuptools.command.test import test as TestCommand @@ -56,20 +55,8 @@ install_requires = [ </del> <ins> @@ -58,20 +57,8 @@ install_requires = [ </ins> # Add pywin32 on Windows platforms to handle low-level system calls. # This dependency needs to be added using environment markers to avoid its installation on Linux.


+install_requires.append(pywin32_req + " ; sys_platform == 'win32'") dev_extras = [ <del> 'astroid==1.6.5', </del> <ins> 'coverage', </ins> -- 2.24.1


<del> { stdenv, python37Packages, fetchFromGitHub, fetchurl, dialog, autoPatchelfHook }: </del> <ins> { lib , buildPythonApplication , fetchFromGitHub , ConfigArgParse, acme, configobj, cryptography, distro, josepy, parsedatetime, pyRFC3339, pyopenssl, pytz, requests, six, zope_component, zope_interface , dialog, mock, gnureadline , pytest_xdist, pytest, dateutil }: </ins> <del> python37Packages.buildPythonApplication rec { </del> <ins> buildPythonApplication rec { </ins> pname = "certbot"; <del> version = "1.0.0"; </del> <ins> version = "1.3.0"; </ins> src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; <del> sha256 = "180x7gcpfbrzw8k654s7b5nxdy2yg61lq513dykyn3wz4gssw465"; </del> <ins> sha256 = "1nzp1l63f64qqp89y1vyd4lgfhykfp5dkr6iwfiyf273y7sjwpsa"; </ins> }; patches = [ ./0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch ]; <del> propagatedBuildInputs = with python37Packages; [ </del> <ins> propagatedBuildInputs = [ </ins> ConfigArgParse acme configobj


distro josepy parsedatetime <del> psutil </del> pyRFC3339 pyopenssl pytz <ins> requests </ins> six zope_component zope_interface ]; <del> buildInputs = [ dialog ] ++ (with python37Packages; [ mock gnureadline ]); </del> <ins> buildInputs = [ dialog mock gnureadline ]; </ins> <del> checkInputs = with python37Packages; [ pytest_xdist pytest dateutil ]; </del> <ins> checkInputs = [ pytest_xdist pytest dateutil ]; </ins> <del> postPatch = '' </del> <ins> preBuild = '' </ins> cd certbot <del> substituteInPlace certbot/_internal/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail" </del> ''; postInstall = ''


doCheck = true; <del> meta = with stdenv.lib; { </del> <ins> meta = with lib; { </ins> homepage = src.meta.homepage; description = "ACME client that can obtain certs and extensibly update server configurations"; platforms = platforms.unix; <del> maintainers = [ maintainers.domenkozar ]; license = licenses.asl20; </del> <ins> maintainers = with maintainers; [ domenkozar ]; license = with licenses; [ asl20 ]; </ins> }; }


ogre = ogre1_10; }; <del> certbot = callPackage ../tools/admin/certbot { }; </del> <ins> certbot = python3Packages.callPackage ../tools/admin/certbot { }; </ins> caf = callPackage ../development/libraries/caf {};


evalModules) and the less declarative the module set is. */ evalModules = { modules , prefix ? [] <ins> , # This should only be used for special arguments that need to be evaluated # when resolving module structure (like in imports). For everything else, # there's _module.args. specialArgs ? {} </ins> , # This would be remove in the future, Prefer _module.args option instead. args ? {} , # This would be remove in the future, Prefer _module.check option instead.


}; }; <del> closed = closeModules (modules ++ [ internalModule ]) { inherit config options; lib = import ./.; }; </del> <ins> closed = closeModules (modules ++ [ internalModule ]) (specialArgs // { inherit config options; lib = import ./.; }); </ins> # Note: the list of modules is reversed to maintain backward # compatibility with the old module system.  Not sure if this is


config = removeAttrs m ["key" "_file" "require" "imports"]; }; <del> applyIfFunction = f: arg@{ config, options, lib }: if isFunction f then </del> <ins> applyIfFunction = f: arg@{ config, options, lib, ... }: if isFunction f then </ins> let # Module arguments are resolved in a strict manner when attribute set # deconstruction is used.  As the arguments are now defined with the


inherit prefix check; modules = modules ++ extraModules ++ baseModules ++ [ pkgsModule ]; args = extraArgs; <ins> specialArgs = { modulesPath = ../modules; }; </ins> }) config options; # These are the extra arguments passed to every module.  In


{ _module.args = { <del> modulesPath = ../.; </del> pkgs_i686 = import ../../lib/nixpkgs.nix { system = "i686-linux"; config.allowUnfree = true;


Path to the unix socket file on which to accept FastCGI requests. <note><para>This option is read-only and managed by NixOS.</para></note> ''; <ins> example = "${runtimeDir}/<name>.sock"; </ins> }; listen = mkOption {


install_name_tool -change "$oldPath" "$newPath" "$out/bin/biblex" install_name_tool -change "$oldPath" "$newPath" "$out/bin/bibparse" install_name_tool -change "$oldPath" "$newPath" "$out/bin/dumpnames" <del> install_name_tool -change "$oldPath" "$newPath" "$out/${perl.libPrefix}/${perl.version}/darwin-2level/auto/Text/BibTeX/BibTeX.bundle" </del> <ins> install_name_tool -change "$oldPath" "$newPath" "$out/${perl.libPrefix}/${perl.version}/darwin"*"-2level/auto/Text/BibTeX/BibTeX.bundle" </ins> ''; meta = { description = "Interface to read and parse BibTeX files";


</listitem> <listitem> <para> <ins> Haskell <varname>env</varname> and <varname>shellFor</varname> dev shell environments now organized dependencies the same way as regular builds. In particular, rather than receiving all the different lists of dependencies master together as one big lists, and then partitioning into Haskell and non-Hakell dependencies, they work from the original many different dependency parameters and don't need to algorithmically partition anything. </para> <para> This means that if you incorrectly categorize a dependency, e.g. non-Haskell library dependency as a <varname>buildDepends</varname> or run-time Haskell dependency as a <varname>setupDepends</varname>, whereas things would have worked before they may not work now. </para> </listitem> <listitem> <para> </ins> The <package>gcc-snapshot</package>-package has been removed. It's marked as broken for >2 years and used to point to a fairly old snapshot  from the <package>gcc7</package>-branch. </para>


<ins> { stdenv, pkgs, lib , libXNVCtrl }: let mangohud_64 = pkgs.callPackage ./default.nix { inherit libXNVCtrl; }; mangohud_32 = pkgs.pkgsi686Linux.callPackage ./default.nix { inherit libXNVCtrl; }; in pkgs.buildEnv rec { name = "mangohud-${mangohud_64.version}"; paths = [ mangohud_32 ] ++ lib.optionals stdenv.is64bit [ mangohud_64 ]; meta = mangohud_64.meta; } </ins>


<ins> { stdenv , lib , fetchFromGitHub , fetchpatch , meson , ninja , pkg-config , python3Packages , dbus , glslang , libglvnd , libXNVCtrl , mesa , vulkan-headers , vulkan-loader , xorg }: stdenv.mkDerivation rec { pname = "mangohud${lib.optionalString stdenv.is32bit "_32"}"; version = "0.4.1"; src = fetchFromGitHub { owner = "flightlessmango"; repo = "MangoHud"; rev = "v${version}"; sha256 = "04v2ps8n15ph2smjgnssax5hq88bszw2kbcff37cnd5c8yysvfi6"; fetchSubmodules = true; }; patches = [ (fetchpatch { # FIXME obsolete in >=0.5.0 url = "https://patch-diff.githubusercontent.com/raw/flightlessmango/MangoHud/pull/208.patch"; sha256 = "1i6x6sr4az1zv0p6vpw99n947c7awgbbv087fghjlczhry676nmh"; }) ]; mesonFlags = [ "-Dappend_libdir_mangohud=false" "-Duse_system_vulkan=enabled" "--libdir=lib${lib.optionalString stdenv.is32bit "32"}" ]; buildInputs = [ dbus glslang libglvnd libXNVCtrl mesa python3Packages.Mako vulkan-headers vulkan-loader xorg.libX11 ]; nativeBuildInputs = [ meson ninja pkg-config python3Packages.Mako python3Packages.python ]; preConfigure = '' mkdir -p "$out/share/vulkan/" ln -sf "${vulkan-headers}/share/vulkan/registry/" $out/share/vulkan/ ln -sf "${vulkan-headers}/include" $out ''; meta = with lib; { description = "A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more"; homepage = "https://github.com/flightlessmango/MangoHud"; platforms = platforms.linux; license = licenses.mit; maintainers = with maintainers; [ zeratax ]; }; } </ins>


mandoc = callPackage ../tools/misc/mandoc { }; <ins> mangohud = callPackage ../tools/graphics/mangohud/combined.nix { libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl; }; </ins> manix = callPackage ../tools/nix/manix { inherit (darwin.apple_sdk.frameworks) Security; };


User = data.user; Group = data.group; PrivateTmp = true; <del> StateDirectory = "acme/.lego/${cert} ${lpath}"; </del> <ins> StateDirectory = "acme/.lego/${cert} acme/.lego/accounts ${lpath}"; </ins> StateDirectoryMode = if data.allowKeysForGroup then "750" else "700"; WorkingDirectory = spath; # Only try loading the credentialsFile if the dns challenge is enabled EnvironmentFile = if data.dnsProvider != null then data.credentialsFile else null; ExecStart = pkgs.writeScript "acme-start" '' #!${pkgs.runtimeShell} -e <ins> test -L ${spath}/accounts -o -d ${spath}/accounts || ln -s ../accounts ${spath}/accounts </ins> ${pkgs.lego}/bin/lego ${renewOpts} || ${pkgs.lego}/bin/lego ${runOpts} ''; ExecStartPost =


systemd.additionalUpstreamSystemUnits = [ "systemd-resolved.service" <ins> "dbus-org.freedesktop.resolve1.service" </ins> ]; systemd.services.systemd-resolved = {


users.users.systemd-network.group = "systemd-network"; systemd.additionalUpstreamSystemUnits = [ <del> "systemd-networkd.service" "systemd-networkd-wait-online.service" </del> <ins> "systemd-networkd-wait-online.service" "systemd-networkd.service" "systemd-networkd.socket" </ins> ]; systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.netdev" (netdevToUnit n v)) cfg.netdevs // mapAttrs' (n: v: nameValuePair "${n}.network" (networkToUnit n v)) cfg.networks; <ins> # systemd-networkd is socket-activated by kernel netlink route change # messages. It is important to have systemd buffer those on behalf of # networkd. systemd.sockets.systemd-networkd.wantedBy = [ "sockets.target" ]; </ins> systemd.services.systemd-networkd = { wantedBy = [ "multi-user.target" ]; <ins> aliases = [ "dbus-org.freedesktop.network1.service" ]; </ins> restartTriggers = map (x: x.source) (attrValues unitFiles); # prevent race condition with interface renaming (#39069) requires = [ "systemd-udev-settle.service" ];


systemd.services.systemd-resolved = { wantedBy = [ "multi-user.target" ]; <ins> aliases = [ "dbus-org.freedesktop.resolve1.service" ]; </ins> restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ]; };


systemd.services.systemd-timesyncd = { wantedBy = [ "sysinit.target" ]; <ins> aliases = [ "dbus-org.freedesktop.timesync1.service" ]; </ins> restartTriggers = [ config.environment.etc."systemd/timesyncd.conf".source ]; };


"19.09".ap-east-1.hvm-ebs = "ami-055b2348db2827ff1"; "19.09".sa-east-1.hvm-ebs = "ami-018aab68377227e06"; <del> latest = self."19.09"; </del> <ins> # 20.03.1554.94e39623a49 "20.03".eu-west-1.hvm-ebs = "ami-02c34db5766cc7013"; "20.03".eu-west-2.hvm-ebs = "ami-0e32bd8c7853883f1"; "20.03".eu-west-3.hvm-ebs = "ami-061edb1356c1d69fd"; "20.03".eu-central-1.hvm-ebs = "ami-0a1a94722dcbff94c"; "20.03".eu-north-1.hvm-ebs = "ami-02699abfacbb6464b"; "20.03".us-east-1.hvm-ebs = "ami-0c5e7760748b74e85"; "20.03".us-east-2.hvm-ebs = "ami-030296bb256764655"; "20.03".us-west-1.hvm-ebs = "ami-050be818e0266b741"; "20.03".us-west-2.hvm-ebs = "ami-06562f78dca68eda2"; "20.03".ca-central-1.hvm-ebs = "ami-02365684a173255c7"; "20.03".ap-southeast-1.hvm-ebs = "ami-0dbf353e168d155f7"; "20.03".ap-southeast-2.hvm-ebs = "ami-04c0f3a75f63daddd"; "20.03".ap-northeast-1.hvm-ebs = "ami-093d9cc49c191eb6c"; "20.03".ap-northeast-2.hvm-ebs = "ami-0087df91a7b6ebd45"; "20.03".ap-south-1.hvm-ebs = "ami-0a1a6b569af04af9d"; "20.03".ap-east-1.hvm-ebs = "ami-0d18fdd309cdefa86"; "20.03".sa-east-1.hvm-ebs = "ami-09859378158ae971d"; latest = self."20.03"; </ins> }; in self


<ins> diff --git a/configure.ac b/configure.ac index 3ad983d..ff8ff96 100644 --- a/configure.ac +++ b/configure.ac @@ -476,13 +476,7 @@ AS_IF([echo "$protobuf_LIBS" | grep -q -- -pthread], # Bash completion needs to ask where it goes if >= 2.0 is installed. AS_IF([test "$install_completion" != no], -  [PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], -     [if test "$prefix" = "NONE"; then -        completions="`pkg-config --variable=completionsdir bash-completion`" -      else -        completions="`pkg-config --define-variable=prefix=$prefix --variable=completionsdir bash-completion`" -      fi], -     [completions="${sysconfdir}/bash_completion.d"]) +   [completions="`pkg-config --define-variable=datadir=$datadir --variable=completionsdir bash-completion`"] AC_SUBST([completions])]) AC_CONFIG_FILES([ </ins>


url = "https://github.com/mobile-shell/mosh/commit/e5f8a826ef9ff5da4cfce3bb8151f9526ec19db0.patch"; sha256 = "15518rb0r5w1zn4s6981bf1sz6ins6gpn2saizfzhmr13hw4gmhm"; }) <ins> # Fix build with bash-completion 2.10 ./bash_completion_datadir.patch </ins> ]; postPatch = '' substituteInPlace scripts/mosh.pl


ENV["BUNDLE_GEMFILE"] = #{gemfile.dump} ENV.delete 'BUNDLE_PATH' ENV['BUNDLE_FROZEN'] = '1' <ins> ENV['BUNDLE_IGNORE_CONFIG'] = '1' </ins> Gem.paths = { 'GEM_HOME' => #{bundle_path.dump} }


<del> { lib, stdenv, fetchFromGitHub </del> <ins> { lib, stdenv, fetchFromGitHub, fetchpatch </ins> , doxygen, fontconfig, graphviz-nox, libxml2, pkg-config, which , systemd }: <del> let version = "2019-12-08"; in stdenv.mkDerivation { </del> <ins> stdenv.mkDerivation rec { </ins> pname = "openzwave"; <del> inherit version; </del> <ins> version = "1.6"; </ins> <del> # Use fork by Home Assistant because this package is mainly used for python.pkgs.homeassistant-pyozw. # See https://github.com/OpenZWave/open-zwave/compare/master...home-assistant:hass for the difference. </del> src = fetchFromGitHub { <del> owner = "home-assistant"; </del> <ins> owner = "OpenZWave"; </ins> repo = "open-zwave"; <del> rev = "2cd2137025c529835e4893a7b87c3d56605b2681"; sha256 = "04g8fb4f4ihakvvsmzcnncgfdd2ikmki7s22i9c6layzdwavbwf1"; </del> <ins> rev = "v${version}"; sha256 = "0xgs4mmr0480c269wx9xkk67ikjzxkh8xcssrdx0f5xcl1lyd333"; </ins> }; <ins> patches = [ (fetchpatch { name = "fix-strncat-build-failure.patch"; url = "https://github.com/OpenZWave/open-zwave/commit/601e5fb16232a7984885e67fdddaf5b9c9dd8105.patch"; sha256 = "1n1k5arwk1dyc12xz6xl4n8yw28vghzhv27j65z1nca4zqsxgza1"; }) (fetchpatch { name = "fix-text-uninitialized.patch"; url = "https://github.com/OpenZWave/open-zwave/commit/3b029a467e83bc7f0054e4dbba1e77e6eac7bc7f.patch"; sha256 = "183mrzjh1zx2b2wzkj4jisiw8br7g7bbs167afls4li0fm01d638"; }) ]; outputs = [ "out" "doc" ]; </ins> nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkg-config which ]; buildInputs = [ systemd ];


enableParallelBuilding = true; <del> installPhase = '' runHook preInstall DESTDIR=$out PREFIX= pkgconfigdir=lib/pkgconfig make install $installFlags runHook postInstall ''; </del> <ins> makeFlags = [ "PREFIX=${placeholder "out"}" ]; </ins> FONTCONFIG_FILE="${fontconfig.out}/etc/fonts/fonts.conf"; FONTCONFIG_PATH="${fontconfig.out}/etc/fonts/";


--replace /etc/openzwave $out/etc/openzwave ''; <del> fixupPhase = '' substituteInPlace $out/lib/pkgconfig/libopenzwave.pc  --replace prefix= prefix=$out  --replace dir=    dir=$out substituteInPlace $out/bin/ozw_config  --replace pcfile=${pkg-config} pcfile=$out ''; </del> meta = with lib; { description = "C++ library to control Z-Wave Networks via a USB Z-Wave Controller"; homepage = "http://www.openzwave.net/";


<del> { python_openzwave, fetchPypi }: </del> <ins> { python_openzwave, fetchPypi, openzwave, fetchFromGitHub }: </ins> <del> python_openzwave.overridePythonAttrs (oldAttrs: rec { </del> <ins> (python_openzwave.override { openzwave = openzwave.overrideAttrs (oldAttrs: { version = "unstable-2020-03-24"; src = fetchFromGitHub { owner = "home-assistant"; repo = "open-zwave"; rev = "94267fa298c1882f0dc73c0fd08f1f755ba83e83"; sha256 = "0p2869fwidz1wcqzfm52cwm9ab96pmwkna3d4yvvh21nh09cvmwk"; }; patches = [ ]; }); }).overridePythonAttrs (oldAttrs: rec { </ins> pname = "homeassistant_pyozw"; version = "0.1.10";


cp -r $releaseDir/osx/Alacritty.app $out/Applications/Alacritty.app '' else '' install -D extra/linux/Alacritty.desktop -t $out/share/applications/ <del> install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg </del> <ins> install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg </ins> # patchelf generates an ELF that binutils' "strip" doesn't like: #    strip: not enough room for program headers, try linking with -N


SYSVIPC            = yes;  # System-V IPC <ins> AIO                = yes;  # POSIX asynchronous I/O </ins> UNIX               = yes;  # Unix domain sockets. MD                 = yes;     # Device mapper (RAID, LVM, etc.)


{ lib, fetchFromGitHub , makeWrapper, makeDesktopItem, mkYarnPackage , electron, element-web <ins> , callPackage </ins> }: # Notes for maintainers: # * versions of `element-web` and `element-desktop` should be kept in sync.


nativeBuildInputs = [ makeWrapper ]; <ins> seshat = callPackage ./seshat {}; keytar = callPackage ./keytar {}; </ins> buildPhase = '' runHook preBuild export HOME=$(mktemp -d)


yarn run i18n node ./scripts/copy-res.js popd <ins> rm -rf node_modules/matrix-seshat node_modules/keytar ln -s $keytar node_modules/keytar ln -s $seshat node_modules/matrix-seshat </ins> runHook postBuild '';


<ins> { stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage, fixup_yarn_lock, yarn, pkg-config, libsecret }: stdenv.mkDerivation rec { pname = "keytar"; version = "7.7.0"; src = fetchFromGitHub { owner = "atom"; repo = "node-keytar"; rev = "v${version}"; sha256 = "0ajvr4kjbyw2shb1y14c0dsghdlnq30f19hk2sbzj6n9y3xa3pmi"; }; nativeBuildInputs = [ nodejs-14_x python3 yarn pkg-config]; buildInputs = [ libsecret ]; npm_config_nodedir = nodejs-14_x; yarnOfflineCache = (callPackage ./yarn.nix {}).offline_cache; buildPhase = '' cp ${./yarn.lock} ./yarn.lock chmod u+w . ./yarn.lock export HOME=/tmp yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive patchShebangs node_modules/ node_modules/.bin/node-gyp rebuild ''; doCheck = false; installPhase = '' shopt -s extglob rm -rf node_modules mkdir -p $out cp -r ./!(build) $out install -D -t $out/build/Release build/Release/keytar.node ''; } </ins>


<ins> #!/usr/bin/env nix-shell #!nix-shell -I nixpkgs=../ -i bash -p wget yarn2nix yarn set -euo pipefail if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then echo "Regenerates the Yarn dependency lock files." echo "Usage: $0 <git release tag>" exit 1 fi SRC="https://raw.githubusercontent.com/atom/node-keytar/$1" wget "$SRC/package-lock.json" wget "$SRC/package.json" rm -f yarn.lock yarn import yarn2nix > yarn.nix rm -rf node_modules package.json package-lock.json </ins>