diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index d495703fc53..e011172ffa7 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -105,13 +105,12 @@ in { description = '' Peers/devices which syncthing should communicate with. ''; - example = [ - { - name = "bigbox"; + example = { + bigbox = { id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; addresses = [ "tcp://192.168.0.10:51820" ]; - } - ]; + }; + }; type = types.attrsOf (types.submodule ({ config, ... }: { options = { @@ -169,6 +168,12 @@ in { description = '' folders which should be shared by syncthing. ''; + example = { + "/home/user/sync" = { + id = "syncme"; + devices = [ "bigbox" ]; + }; + }; type = types.attrsOf (types.submodule ({ config, ... }: { options = { diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix index cafd8d88ec4..11db0a133d6 100644 --- a/nixos/modules/services/x11/compton.nix +++ b/nixos/modules/services/x11/compton.nix @@ -37,7 +37,12 @@ let # opacity active-opacity = ${cfg.activeOpacity}; inactive-opacity = ${cfg.inactiveOpacity}; - menu-opacity = ${cfg.menuOpacity}; + + wintypes: + { + popup_menu = { opacity = ${cfg.menuOpacity}; } + dropdown_menu = { opacity = ${cfg.menuOpacity}; } + }; opacity-rule = [ ${opacityRules} @@ -45,7 +50,7 @@ let # other options backend = ${toJSON cfg.backend}; - vsync = ${toJSON cfg.vSync}; + vsync = ${lib.boolToString cfg.vSync}; refresh-rate = ${toString cfg.refreshRate}; '' + cfg.extraOptions); @@ -189,15 +194,22 @@ in { }; vSync = mkOption { - type = types.enum [ - "none" "drm" "opengl" - "opengl-oml" "opengl-swc" "opengl-mswc" - ]; - default = "none"; - example = "opengl-swc"; + type = with types; either bool + (enum [ "none" "drm" "opengl" "opengl-oml" "opengl-swc" "opengl-mswc" ]); + default = false; + apply = x: + let + res = x != "none"; + msg = "The type of services.compton.vSync has changed to bool:" + + " interpreting ${x} as ${lib.boolToString res}"; + in + if isBool x then x + else warn msg res; + description = '' - Enable vertical synchronization using the specified method. - See compton(1) man page an explanation. + Enable vertical synchronization. Chooses the best method + (drm, opengl, opengl-oml, opengl-swc, opengl-mswc) automatically. + The bool value should be used, the others are just for backwards compatibility. ''; }; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 880b5443f8b..2f90699014c 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,9 +13,9 @@ let sha256Hash = "0y4l9d1yrvv1csx6vl4jnqgqy96y44rl6p8hcxrnbvrg61iqnj30"; }; betaVersion = { - version = "3.5.0.14"; # "Android Studio 3.5 Beta 2" - build = "191.5549111"; - sha256Hash = "1zy2x0m1nsx3yy64cp1jvgb9aqkribwm64mv50g9355sdz7qjhcf"; + version = "3.5.0.15"; # "Android Studio 3.5 Beta 3" + build = "191.5585527"; + sha256Hash = "0b9yj3rf3nk8y9qfmf5kjh8rwn73v7ghym1bhz864r079h7lwr53"; }; latestVersion = { # canary & dev version = "3.6.0.1"; # "Android Studio 3.6 Canary 1" diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 7bc25ceed7f..d4a65e083a6 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -380,12 +380,12 @@ in webstorm = buildWebStorm rec { name = "webstorm-${version}"; - version = "2019.1.2"; /* updated by script */ + version = "2019.1.3"; /* updated by script */ description = "Professional IDE for Web and JavaScript development"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; - sha256 = "198rbvhqjaix6qw36rlfafbv5aj0i6zr93adzgkilrn2l9v1jf07"; /* updated by script */ + sha256 = "1bhx2p40r15zvfr6q10bj5y8jaa3i9x9adchczp0irkd3w2jgvy3"; /* updated by script */ }; wmClass = "jetbrains-webstorm"; update-channel = "WebStorm RELEASE"; diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index 507cee548e0..c08bd52c989 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -1,4 +1,4 @@ -{ mkDerivation, lib, stdenv, fetchurl, cmake, extra-cmake-modules +{ mkDerivation, lib, stdenv, makeWrapper, fetchurl, cmake, extra-cmake-modules , karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons , kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem , kio, kcrash @@ -25,7 +25,7 @@ mkDerivation rec { sha256 = "0h2rplc76r82b8smk61zci1ijj9xkjmf20pdqa8fc2lz4zicjxh4"; }; - nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip ]; + nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ]; buildInputs = [ karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons @@ -44,6 +44,12 @@ mkDerivation rec { "-DCMAKE_BUILD_TYPE=RelWithDebInfo" ]; + postInstall = '' + for i in $out/bin/*; do + wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" + done + ''; + meta = with lib; { description = "A free and open source painting application"; homepage = https://krita.org/; diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix new file mode 100644 index 00000000000..0595ab2963c --- /dev/null +++ b/pkgs/applications/graphics/qview/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchFromGitHub, qmake}: +stdenv.mkDerivation rec { + pname = "qview"; + version = "2.0"; + src = fetchFromGitHub { + owner = "jurplel"; + repo = "qView"; + rev = version; + sha256 = "1s29hz44rb5dwzq8d4i4bfg77dr0v3ywpvidpa6xzg7hnnv3mhi5"; + }; + nativeBuildInputs = [ qmake ]; + patchPhase = '' + sed "s|/usr/|$out/|g" -i qView.pro + ''; + meta = with stdenv.lib; { + description = "Practical and minimal image viewer"; + homepage = "https://interversehq.com/qview/"; + license = licenses.gpl3; + maintainers = with maintainers; [ acowley ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix index f036e8cf632..58eb288f6cc 100644 --- a/pkgs/applications/kde/spectacle.nix +++ b/pkgs/applications/kde/spectacle.nix @@ -4,7 +4,7 @@ ki18n, xcb-util-cursor, kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins, knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi, - qtx11extras, knewstuff + qtx11extras, knewstuff, qttools }: mkDerivation { @@ -16,5 +16,9 @@ mkDerivation { kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor knewstuff ]; + postPatch = '' + substituteInPlace desktop/org.kde.spectacle.desktop \ + --replace "Exec=qdbus" "Exec=${lib.getBin qttools}/bin/qdbus" + ''; propagatedUserEnvPkgs = [ kipi-plugins libkipi ]; } diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix index 5367ef53302..c38a27d55e6 100644 --- a/pkgs/applications/misc/nnn/default.nix +++ b/pkgs/applications/misc/nnn/default.nix @@ -3,14 +3,14 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "nnn-${version}"; - version = "2.4"; + pname = "nnn"; + version = "2.5"; src = fetchFromGitHub { owner = "jarun"; - repo = "nnn"; + repo = pname; rev = "v${version}"; - sha256 = "0y55h5pxd20qw2ajhz8fsk45aynx0xzgr9kfr545hyhmfkg2nc49"; + sha256 = "0hvb0q6jg2nmvb40q43jj7v45afkjgcq6q9ldmmrh5558d0n65cw"; }; configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf); diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 61484478e4d..6982f82a816 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -8,6 +8,7 @@ , google_talk_plugin, fribid, gnome3/*.gnome-shell*/ , esteidfirefoxplugin , browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow +, tridactyl-native , udev , kerberos }: @@ -67,6 +68,7 @@ let ([ ] ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass) ++ lib.optional (cfg.enableBukubrow or false) bukubrow + ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native ++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma-browser-integration diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index 6ef4465cd92..6a7a4a9d8cd 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -1,7 +1,7 @@ { callPackage, stdenv }: let - stableVersion = "2.1.18"; + stableVersion = "2.1.19"; previewVersion = "2.2.0b1"; addVersion = args: let version = if args.stable then stableVersion else previewVersion; @@ -9,8 +9,8 @@ let in args // { inherit version branch; }; mkGui = args: callPackage (import ./gui.nix (addVersion args)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args)) { }; - guiSrcHash = "00hcri32vakz17ywbqd9lycxdai490ds0g1v8znm75ddvszfbv7i"; - serverSrcHash = "0f28f5f4dsr8h4q592dh9i1z0gp836gdgm8clwrkb7i01df0rrlf"; + guiSrcHash = "0bn0qry0djw17zwa16cc69273crnfzppik07f9w20hhr8kjiyvnx"; + serverSrcHash = "1af6pnmr24syx23pqvwchgwy74263k3ccrv7barxi71wsskjlw5a"; in { guiStable = mkGui { stable = true; diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index dcad3027e96..0c57a52ee6b 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -22,10 +22,10 @@ let doCheck = false; }); aiohttp-cors = super.aiohttp-cors.overridePythonAttrs (oldAttrs: rec { - version = "0.5.3"; + version = "0.6.0"; src = oldAttrs.src.override { inherit version; - sha256 = "11b51mhr7wjfiikvj3nc5s8c7miin2zdhl3yrzcga4mbpkj892in"; + sha256 = "1r0mb4dw0dc1lpi54dk5vxqs06nyhvagp76lyrvk7rd94z5mjkd4"; }; propagatedBuildInputs = with self; [ aiohttp ] ++ stdenv.lib.optional (pythonOlder "3.5") typing; @@ -45,8 +45,6 @@ in python.pkgs.buildPythonPackage { }; postPatch = '' - # "typing" is only required for Python 3.4 and breaks Python 3.7: - sed -iE "s/.*typing.*//" requirements.txt # Only 2.x is problematic: sed -iE "s/prompt-toolkit==1.0.15/prompt-toolkit<2.0.0/" requirements.txt ''; diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix index 2e04ce856a8..2870f3158fb 100644 --- a/pkgs/applications/networking/protonmail-bridge/default.nix +++ b/pkgs/applications/networking/protonmail-bridge/default.nix @@ -2,7 +2,7 @@ libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }: let - version = "1.1.4-1"; + version = "1.1.5-1"; description = '' An application that runs on your computer in the background and seamlessly encrypts @@ -25,7 +25,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb"; - sha256 = "16w3l81j10syl2pis08sl752yapbgjy531qs0n1ghmsx2d12n7kl"; + sha256 = "1y5mphrs60zd6km9z64vskk70q9zzw4g6js7qvgl572wv81w2l75"; }; nativeBuildInputs = [ makeWrapper ]; @@ -75,7 +75,7 @@ in stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://www.protonmail.com/bridge; + homepage = "https://www.protonmail.com/bridge"; license = licenses.mit; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ lightdiscord ]; diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix new file mode 100644 index 00000000000..13a16a6e224 --- /dev/null +++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix @@ -0,0 +1,214 @@ +{ stdenv +, lib +, fetchurl +, requireFile +, makeWrapper +, libredirect +, busybox +, file +, makeDesktopItem +, tzdata +, cacert +, glib +, gtk2 +, atk +, gdk_pixbuf +, cairo +, pango +, gnome3 +, xorg +, libpng12 +, freetype +, fontconfig +, gtk_engines +, alsaLib +, libidn +, zlib +, version ? "19.3.0" +}: + +let + # In 56e1bdc7f9c (libidn: 1.34 -> 1.35), libidn.so.11 became libidn.so.12. + # Citrix looks for the former so we build version 1.34 to please the binary + libidn_134 = libidn.overrideDerivation (_: rec { + name = "libidn-1.34"; + src = fetchurl { + url = "mirror://gnu/libidn/${name}.tar.gz"; + sha256 = "0g3fzypp0xjcgr90c5cyj57apx1cmy0c6y9lvw2qdcigbyby469p"; + }; + }); + + versionInfo = let + supportedVersions = { + "19.3.0" = { + major = "19"; + minor = "3"; + patch = "0"; + x64hash = "0mhpp29ca3dw9hx72i0qawdq35wcc7qzgxwzlx4aicwnm1gbil5c"; + x86hash = "1hxgj5lk5ghbpssbqjd404qr84gls967vwrh8ww5hg3pn86kyf8w"; + x64suffix = "5"; + x86suffix = "5"; + homepage = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html; + }; + }; + + # Copied this file largely from the citrix-receiver package + # Leaving this here even though there are no deprecations yet + # for ease of future maintenance + deprecatedVersions = let + versions = [ ]; + in + lib.listToAttrs + (lib.flip map versions + (v: lib.nameValuePair v (throw "Unsupported citrix_workspace version: ${v}"))); + in + deprecatedVersions // supportedVersions; + + citrixWorkspaceForVersion = { major, minor, patch, x64hash, x86hash, x64suffix, x86suffix, homepage }: + stdenv.mkDerivation rec { + name = "citrix-workspace-${version}"; + version = "${major}.${minor}.${patch}"; + inherit homepage; + + prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86"; + + src = requireFile rec { + name = if stdenv.is64bit then "${prefixWithBitness}-${version}.${x64suffix}.tar.gz" else "${prefixWithBitness}-${version}.${x86suffix}.tar.gz"; + sha256 = if stdenv.is64bit then x64hash else x86hash; + message = '' + In order to use Citrix Workspace, you need to comply with the Citrix EULA and download + the ${if stdenv.is64bit then "64-bit" else "32-bit"} binaries, .tar.gz from: + + ${homepage} + + (if you do not find version ${version} there, try at + https://www.citrix.com/downloads/workspace-app/ + + Once you have downloaded the file, please use the following command and re-run the + installation: + + nix-prefetch-url file://\$PWD/${name} + ''; + }; + + dontBuild = true; + + sourceRoot = "."; + + buildInputs = [ + makeWrapper + busybox + file + gtk2 + gdk_pixbuf + ]; + + libPath = stdenv.lib.makeLibraryPath [ + glib + gtk2 + atk + gdk_pixbuf + cairo + pango + gnome3.dconf + xorg.libX11 + xorg.libXext + xorg.libXrender + xorg.libXinerama + xorg.libXfixes + libpng12 + libidn_134 + zlib + gtk_engines + freetype + fontconfig + alsaLib + stdenv.cc.cc # Fixes: Can not load [..]/opt/citrix-icaclient/lib/ctxh264_fb.so:(null) + ]; + + desktopItem = makeDesktopItem { + name = "wfica"; + desktopName = "Citrix Workspace"; + genericName = "Citrix Workspace"; + exec = "wfica"; + icon = "wfica"; + comment = "Connect to remote Citrix server"; + categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;"; + mimeType = "application/x-ica"; + }; + + installPhase = '' + runHook preInstall + + export ICAInstDir="$out/opt/citrix-icaclient" + + sed -i \ + -e 's,^main_install_menu$,install_ICA_client,g' \ + -e 's,^integrate_ICA_client(),alias integrate_ICA_client=true\nintegrate_ICA_client_old(),g' \ + -e 's,^ANSWER=""$,ANSWER="$INSTALLER_YES",' \ + -e 's,/bin/true,true,g' \ + ./${prefixWithBitness}/hinst + + # Run the installer... + bash ./${prefixWithBitness}/hinst CDROM "`pwd`" + + echo "Deleting broken links..." + for link in `find $ICAInstDir -type l ` + do + [ -f "$link" ] || rm -v "$link" + done + + echo "Expanding certificates..." + # As explained in https://wiki.archlinux.org/index.php/Citrix#Security_Certificates + pushd "$ICAInstDir/keystore/cacerts" + awk 'BEGIN {c=0;} /BEGIN CERT/{c++} { print > "cert." c ".pem"}' < ${cacert}/etc/ssl/certs/ca-bundle.crt + popd + + echo "Patching executables..." + find $ICAInstDir -type f -exec file {} \; | + grep 'ELF.*executable' | + cut -f 1 -d : | + grep -vi '\(.dll\|.so\)$' | # added as a workaround to https://github.com/NixOS/nixpkgs/issues/41729 + while read f + do + echo "Patching ELF intrepreter and rpath for $f" + chmod u+w "$f" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath "$ICAInstDir:$libPath" "$f" + done + + echo "Wrapping wfica..." + mkdir "$out/bin" + + makeWrapper "$ICAInstDir/wfica" "$out/bin/wfica" \ + --add-flags "-icaroot $ICAInstDir" \ + --set ICAROOT "$ICAInstDir" \ + --set GTK_PATH "${gtk2.out}/lib/gtk-2.0:${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ + --set LD_LIBRARY_PATH "$libPath" \ + --set NIX_REDIRECTS "/usr/share/zoneinfo=${tzdata}/share/zoneinfo:/etc/zoneinfo=${tzdata}/share/zoneinfo:/etc/timezone=$ICAInstDir/timezone" + + echo "We arbitrarily set the timezone to UTC. No known consequences at this point." + echo UTC > "$ICAInstDir/timezone" + + echo "Installing desktop item..." + mkdir -p $out/share/applications + cp ${desktopItem}/share/applications/* $out/share/applications + + # We introduce a dependency on the source file so that it need not be redownloaded everytime + echo $src >> "$out/share/workspace_dependencies.pin" + + runHook postInstall + ''; + + meta = with stdenv.lib; { + license = stdenv.lib.licenses.unfree; + inherit homepage; + description = "Citrix Workspace"; + platforms = platforms.linux; + }; + }; + +in citrixWorkspaceForVersion (lib.getAttr version versionInfo) diff --git a/pkgs/applications/networking/remote/citrix-workspace/wrapper.nix b/pkgs/applications/networking/remote/citrix-workspace/wrapper.nix new file mode 100644 index 00000000000..ea475ae6dbc --- /dev/null +++ b/pkgs/applications/networking/remote/citrix-workspace/wrapper.nix @@ -0,0 +1,19 @@ +{ citrix_workspace, extraCerts ? [], symlinkJoin }: + +let + + mkCertCopy = certPath: + "cp ${certPath} $out/opt/citrix-icaclient/keystore/cacerts/"; + +in + +if builtins.length extraCerts == 0 then citrix_workspace else symlinkJoin { + name = "citrix-with-extra-certs-${citrix_workspace.version}"; + paths = [ citrix_workspace ]; + + postBuild = '' + ${builtins.concatStringsSep "\n" (map mkCertCopy extraCerts)} + + sed -i -E "s,-icaroot (.+citrix-icaclient),-icaroot $out/opt/citrix-icaclient," $out/bin/wfica + ''; +} diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 35d60497ba8..401e4964801 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -10,7 +10,7 @@ assert withQt -> qt5 != null; with stdenv.lib; let - version = "3.0.1"; + version = "3.0.2"; variant = if withQt then "qt" else "cli"; in stdenv.mkDerivation { @@ -20,7 +20,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; - sha256 = "13605bpnnbqsdr8ybqnscbz9g422zmyymn4q5aci28vc1wylr1l6"; + sha256 = "0fz5lbyiw4a27fqc4ndi1w20bpcb6wi9k7vjv29l9fhd99kca7ky"; }; cmakeFlags = [ diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix index 0e0df9d72fe..4da3a3f3d7b 100644 --- a/pkgs/applications/science/math/qalculate-gtk/default.nix +++ b/pkgs/applications/science/math/qalculate-gtk/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "qalculate-gtk"; - version = "3.1.0"; + version = "3.2.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "qalculate-gtk"; rev = "v${version}"; - sha256 = "1ayhzsxf2qgs4j1j0xl942ysfy3zl2z1fp7l2s5nh5awr41mhnqc"; + sha256 = "1yhhfqcxi1b7dfrl8qh16l9iwgzvw1p0hhl7nnjpxhdwxz880sv0"; }; patchPhase = '' diff --git a/pkgs/applications/window-managers/compton/default.nix b/pkgs/applications/window-managers/compton/default.nix index 2c388c941e6..60607ea89d1 100644 --- a/pkgs/applications/window-managers/compton/default.nix +++ b/pkgs/applications/window-managers/compton/default.nix @@ -3,110 +3,67 @@ , xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev , dbus, libconfig, libdrm, libGL, pcre, libX11, libXcomposite, libXdamage , libXinerama, libXrandr, libXrender, libXext, xwininfo, libxdg_basedir }: +stdenv.mkDerivation rec { + pname = "compton"; + version = "6.2"; -let - common = source: stdenv.mkDerivation (source // rec { - name = "${source.pname}-${source.version}"; + COMPTON_VERSION = "v${version}"; - nativeBuildInputs = (source.nativeBuildInputs or []) ++ [ - pkgconfig - asciidoc - docbook_xml_dtd_45 - docbook_xsl - makeWrapper - ]; - - installFlags = [ "PREFIX=$(out)" ]; - - postInstall = '' - wrapProgram $out/bin/compton-trans \ - --prefix PATH : ${lib.makeBinPath [ xwininfo ]} - ''; - - meta = with lib; { - description = "A fork of XCompMgr, a sample compositing manager for X servers"; - longDescription = '' - A fork of XCompMgr, which is a sample compositing manager for X - servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE - extensions. It enables basic eye-candy effects. This fork adds - additional features, such as additional effects, and a fork at a - well-defined and proper place. - ''; - license = licenses.mit; - maintainers = with maintainers; [ ertes enzime twey ]; - platforms = platforms.linux; - }; - }); - - stableSource = rec { - pname = "compton"; - version = "0.1_beta2.5"; - - COMPTON_VERSION = version; - - buildInputs = [ - dbus libX11 libXcomposite libXdamage libXrender libXrandr libXext - libXinerama libdrm pcre libxml2 libxslt libconfig libGL - ]; - - src = fetchFromGitHub { - owner = "chjj"; - repo = "compton"; - rev = "b7f43ee67a1d2d08239a2eb67b7f50fe51a592a8"; - sha256 = "1p7ayzvm3c63q42na5frznq3rlr1lby2pdgbvzm1zl07wagqss18"; - }; - - meta = { - homepage = https://github.com/chjj/compton/; - }; + src = fetchFromGitHub { + owner = "yshui"; + repo = "compton"; + rev = COMPTON_VERSION; + sha256 = "03fi9q8zw2qrwpkmy1bnavgfh91ci9in5fdi17g4s5s0n2l7yil7"; }; - gitSource = rec { - pname = "compton-git"; - version = "5.1-rc2"; + nativeBuildInputs = [ + meson ninja + pkgconfig + asciidoc + docbook_xml_dtd_45 + docbook_xsl + makeWrapper + ]; - COMPTON_VERSION = "v${version}"; + buildInputs = [ + dbus libX11 libXext + xorgproto + libXinerama libdrm pcre libxml2 libxslt libconfig libGL + libxcb xcbutilrenderutil xcbutilimage + pixman libev + libxdg_basedir + ]; - nativeBuildInputs = [ meson ninja ]; + NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ]; - src = fetchFromGitHub { - owner = "yshui"; - repo = "compton"; - rev = COMPTON_VERSION; - sha256 = "1qpy76kkhz8gfby842ry7lanvxkjxh4ckclkcjk4xi2wsmbhyp08"; - }; + mesonFlags = [ + "-Dbuild_docs=true" + ]; - buildInputs = [ - dbus libX11 libXext - xorgproto - libXinerama libdrm pcre libxml2 libxslt libconfig libGL - # Removed: - # libXcomposite libXdamage libXrender libXrandr + preBuild = '' + git() { echo "v${version}"; } + export -f git + ''; - # New: - libxcb xcbutilrenderutil xcbutilimage - pixman libev - libxdg_basedir - ]; + installFlags = [ "PREFIX=$(out)" ]; - preBuild = '' - git() { echo "v${version}"; } - export -f git + postInstall = '' + wrapProgram $out/bin/compton-trans \ + --prefix PATH : ${lib.makeBinPath [ xwininfo ]} + ''; + + meta = with lib; { + description = "A fork of XCompMgr, a sample compositing manager for X servers"; + longDescription = '' + A fork of XCompMgr, which is a sample compositing manager for X + servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE + extensions. It enables basic eye-candy effects. This fork adds + additional features, such as additional effects, and a fork at a + well-defined and proper place. ''; - - NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ]; - - mesonFlags = [ - "-Dvsync_drm=true" - "-Dnew_backends=true" - "-Dbuild_docs=true" - ]; - - meta = { - homepage = https://github.com/yshui/compton/; - }; + license = licenses.mit; + homepage = "https://github.com/yshui/compton"; + maintainers = with maintainers; [ ertes enzime twey ]; + platforms = platforms.linux; }; -in { - compton = common stableSource; - compton-git = common gitSource; } diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index 29a4bbad703..ae7b42449fb 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -24,6 +24,9 @@ rec { }) '' echo "#! $interpreter" > $out cat "$contentPath" >> $out + ${optionalString (check != "") '' + ${check} $out + ''} chmod +x $out ${optionalString (types.path.check nameOrPath) '' mv $out tmp diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix index 5127bd65c09..49490e1f785 100644 --- a/pkgs/development/libraries/libqalculate/default.nix +++ b/pkgs/development/libraries/libqalculate/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "libqalculate"; - version = "3.1.0"; + version = "3.2.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "libqalculate"; rev = "v${version}"; - sha256 = "1r0l0aik3fiyskpdgw93gxqgw109g6pa27y983rirhl6rricp3wf"; + sha256 = "0f82jss3kjxsk8znvrg1vfh756nnc15sbzr34ww1dvvrxipi7sns"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix index b7dd2c8ae17..c0d1201c165 100644 --- a/pkgs/development/libraries/liburing/default.nix +++ b/pkgs/development/libraries/liburing/default.nix @@ -3,24 +3,25 @@ stdenv.mkDerivation rec { name = "liburing-${version}"; - version = "1.0.0pre118_${builtins.substring 0 7 src.rev}"; + version = "1.0.0pre131_${builtins.substring 0 7 src.rev}"; src = fetchgit { url = "http://git.kernel.dk/liburing"; - rev = "2e719820d47cdb48308265f95547d2c9458bbfe7"; - sha256 = "0sm2k5f15ad9b9wh928kmbb399f5f7frfh96bi865pklavpcckf5"; + rev = "b422aa11cc58e9786fa1e343aa2bfa6d7a394445"; + sha256 = "0afm0kfhi025m5r0bri8if59m85rwg6kxlkx075lbwg9pw1n75w0"; }; enableParallelBuilding = true; outputs = [ "out" "lib" "dev" "man" ]; - installFlags = - [ "prefix=$(out)" - "includedir=$(dev)/include" - "libdir=$(lib)/lib" - "mandir=$(man)/share/man" - ]; + configurePhase = '' + ./configure \ + --prefix=$out \ + --includedir=$dev/include \ + --libdir=$lib/lib \ + --mandir=$man/share/man \ + ''; # Copy the examples into $out. postInstall = '' diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 4090c28ca7e..8ec00f7e2b8 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -7,6 +7,7 @@ # Select a specific optimization target (other than the default) # See https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt , target ? null +, enableStatic ? false }: with stdenv.lib; @@ -124,7 +125,7 @@ stdenv.mkDerivation rec { PREFIX = placeholder "out"; NUM_THREADS = 64; INTERFACE64 = blas64; - NO_STATIC = true; + NO_STATIC = !enableStatic; CROSS = stdenv.hostPlatform != stdenv.buildPlatform; HOSTCC = "cc"; # Makefile.system only checks defined status diff --git a/pkgs/development/mobile/genymotion/default.nix b/pkgs/development/mobile/genymotion/default.nix index 37834eff947..ba498ce0953 100644 --- a/pkgs/development/mobile/genymotion/default.nix +++ b/pkgs/development/mobile/genymotion/default.nix @@ -1,4 +1,4 @@ -{ stdenv, requireFile, makeWrapper, which, zlib, libGL, glib, xorg, libxkbcommon +{ stdenv, fetchurl, makeWrapper, which, zlib, libGL, glib, xorg, libxkbcommon , xdg_utils # For glewinfo , libXmu, libXi, libXext }: @@ -10,10 +10,10 @@ let libPath = "${stdenv.lib.makeLibraryPath packages}"; in stdenv.mkDerivation rec { - name = "genymotion-${version}"; + pname = "genymotion"; version = "2.8.0"; - src = requireFile { - url = https://www.genymotion.com/download/; + src = fetchurl { + url = "https://dl.genymotion.com/releases/genymotion-${version}/genymotion-${version}-linux_x64.bin"; name = "genymotion-${version}-linux_x64.bin"; sha256 = "0lvfdlpmmsyq2i9gs4mf6a8fxkfimdr4rhyihqnfhjij3fzxz4lk"; }; @@ -24,12 +24,12 @@ stdenv.mkDerivation rec { mkdir -p phony-home $out/share/applications export HOME=$TMP/phony-home - mkdir ${name} - echo "y" | sh $src -d ${name} - sourceRoot=${name} + mkdir ${pname} + echo "y" | sh $src -d ${pname} + sourceRoot=${pname} substitute phony-home/.local/share/applications/genymobile-genymotion.desktop \ - $out/share/applications/genymobile-genymotion.desktop --replace "$TMP/${name}" "$out/libexec" + $out/share/applications/genymobile-genymotion.desktop --replace "$TMP/${pname}" "$out/libexec" ''; installPhase = '' diff --git a/pkgs/development/ocaml-modules/earley/default.nix b/pkgs/development/ocaml-modules/earley/default.nix index 576d9b2528f..ab3011361e1 100644 --- a/pkgs/development/ocaml-modules/earley/default.nix +++ b/pkgs/development/ocaml-modules/earley/default.nix @@ -1,28 +1,19 @@ -{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild }: +{ lib, fetchurl, buildDunePackage }: -if !stdenv.lib.versionAtLeast ocaml.version "4.03" -then throw "earley is not available for OCaml ${ocaml.version}" -else - -stdenv.mkDerivation rec { - version = "1.0.2"; - name = "ocaml${ocaml.version}-earley-${version}"; - src = fetchFromGitHub { - owner = "rlepigre"; - repo = "ocaml-earley"; - rev = "ocaml-earley_${version}"; - sha256 = "110njakmx1hyq42hyr6gx6qhaxly860whfhd6r0vks4yfp68qvcx"; +buildDunePackage rec { + version = "2.0.0"; + pname = "earley"; + src = fetchurl { + url = "https://github.com/rlepigre/ocaml-earley/releases/download/${version}/earley-${version}.tbz"; + sha256 = "1kjr0wh3lji7f493kf48rphxnlv3sygj5a8rmx9z3xkpbd7aqyyw"; }; - buildInputs = [ which ocaml findlib ocamlbuild ]; - - createFindlibDestdir = true; + minimumOCamlVersion = "4.03"; meta = { description = "Parser combinators based on Earley Algorithm"; - license = stdenv.lib.licenses.cecill-b; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - inherit (src.meta) homepage; + license = lib.licenses.cecill-b; + maintainers = [ lib.maintainers.vbgl ]; + homepage = "https://github.com/rlepigre/ocaml-earley"; }; } diff --git a/pkgs/development/ocaml-modules/earley_ocaml/default.nix b/pkgs/development/ocaml-modules/earley_ocaml/default.nix deleted file mode 100644 index 92a1eb1e5c8..00000000000 --- a/pkgs/development/ocaml-modules/earley_ocaml/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild, earley }: - -stdenv.mkDerivation rec { - version = "1.0.2"; - name = "ocaml${ocaml.version}-earley_ocaml-${version}"; - src = fetchFromGitHub { - owner = "rlepigre"; - repo = "ocaml-earley-ocaml"; - rev = "ocaml-earley-ocaml_${version}"; - sha256 = "0f8kr49r2xfs7cbzps4r9i92ckhwssaiydam846jrky3z5djn2jc"; - }; - - buildInputs = [ which ocaml findlib ocamlbuild ]; - - propagatedBuildInputs = [ earley ]; - - preBuild = "make"; - - createFindlibDestdir = true; - - installFlags = [ "BINDIR=$(out)/bin" ]; - - meta = { - description = "Extensible OCaml parser to be used with Earley"; - license = stdenv.lib.licenses.cecill-b; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - inherit (src.meta) homepage; - }; -} diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix index e62936a9288..c5d51e56fc6 100644 --- a/pkgs/development/python-modules/boto3/default.nix +++ b/pkgs/development/python-modules/boto3/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "boto3"; - version = "1.9.96"; # N.B: if you change this, change botocore too + version = "1.9.152"; # N.B: if you change this, change botocore too src = fetchPypi { inherit pname version; - sha256 = "c103241394d396ee08548b03d5d1f0f89a7ad1dfa7ccca88a47131f329cca093"; + sha256 = "0qspp97rddshjfqmmnqbvrszr66wq0ag05j8lcfsb9rj6ymz5s5s"; }; propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix index 801977a9620..77b28bc1260 100644 --- a/pkgs/development/python-modules/botocore/default.nix +++ b/pkgs/development/python-modules/botocore/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "botocore"; - version = "1.12.96"; # N.B: if you change this, change boto3 and awscli to a matching version + version = "1.12.152"; # N.B: if you change this, change boto3 and awscli to a matching version src = fetchPypi { inherit pname version; - sha256 = "55c1594041e6716847d5a8b38181e3cc44e245edbf4598ae2b99e3040073b2cf"; + sha256 = "1pj9k3x82f9cgr0flg0m5n6fh8rkxy3c0z1qgx5nqvyidswn793r"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/dynd/default.nix b/pkgs/development/python-modules/dynd/default.nix index 8d8fbf7a7ce..337763afbd4 100644 --- a/pkgs/development/python-modules/dynd/default.nix +++ b/pkgs/development/python-modules/dynd/default.nix @@ -30,7 +30,8 @@ buildPythonPackage rec { # Python 3 works but has a broken import test that I couldn't # figure out. doCheck = !isPy3k; - buildInputs = [ pkgs.cmake pkgs.libdynd.dev cython ]; + nativeBuildInputs = [ pkgs.cmake ]; + buildInputs = [ pkgs.libdynd.dev cython ]; propagatedBuildInputs = [ numpy pkgs.libdynd ]; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix index 4bc1cd0608c..1b00e1264ff 100644 --- a/pkgs/development/python-modules/pyglet/default.nix +++ b/pkgs/development/python-modules/pyglet/default.nix @@ -1,5 +1,14 @@ -{ stdenv, buildPythonPackage, fetchPypi -, libGLU_combined, xorg, freetype, fontconfig, future}: +{ stdenv +, buildPythonPackage +, fetchPypi +, libGLU_combined +, xorg +, future +, pytest +, glibc +, gtk2-x11 +, gdk_pixbuf +}: buildPythonPackage rec { version = "1.3.2"; @@ -10,15 +19,50 @@ buildPythonPackage rec { sha256 = "b00570e7cdf6971af8953b6ece50d83d13272afa5d1f1197c58c0f478dd17743"; }; + # find_library doesn't reliably work with nix (https://github.com/NixOS/nixpkgs/issues/7307). + # Even naively searching `LD_LIBRARY_PATH` won't work since `libc.so` is a linker script and + # ctypes.cdll.LoadLibrary cannot deal with those. Therefore, just hardcode the paths to the + # necessary libraries. postPatch = let - libs = [ libGLU_combined xorg.libX11 freetype fontconfig ]; - paths = builtins.concatStringsSep "," (map (l: "\"${l}/lib\"") libs); - in "sed -i -e 's|directories\.extend.*lib[^]]*|&,${paths}|' pyglet/lib.py"; - - doCheck = false; + ext = stdenv.hostPlatform.extensions.sharedLibrary; + in '' + cat > pyglet/lib.py <