diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix index 7dd8ff43974d..3c66456433ac 100644 --- a/pkgs/applications/version-management/gitkraken/default.nix +++ b/pkgs/applications/version-management/gitkraken/default.nix @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { pname = "gitkraken"; - version = "7.5.0"; + version = "7.5.1"; src = fetchzip { url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz"; - sha256 = "1v89aza7iwph7k5phyld5m5856c5wbh8ncgg6lh7558v4xna0x57"; + sha256 = "sha256-7baWXv+SV1LX5p+eH6egp4QfTm1SXK8ITcOEj8yFAXg="; }; dontBuild = true; diff --git a/pkgs/development/compilers/go/1.14.nix b/pkgs/development/compilers/go/1.14.nix index 3060e6d4e563..92c1cbdfc18b 100644 --- a/pkgs/development/compilers/go/1.14.nix +++ b/pkgs/development/compilers/go/1.14.nix @@ -150,6 +150,13 @@ stdenv.mkDerivation rec { ./skip-nohup-tests.patch ./go_no_vendor_checks-1_14.patch + # support TZ environment variable starting with colon + (fetchpatch { + name = "tz-support-colon.patch"; + url = "https://github.com/golang/go/commit/58fe2cd4022c77946ce4b598cf3e30ccc8367143.patch"; + sha256 = "0vphwiqrm0qykfj3rfayr65qzk22fksg7qkamvaz0lmf6fqvbd2f"; + }) + # fix rare TestDontCacheBrokenHTTP2Conn failure (fetchpatch { url = "https://github.com/golang/go/commit/ea1437a8cdf6bb3c2d2447833a5d06dbd75f7ae4.patch"; diff --git a/pkgs/development/compilers/go/1.15.nix b/pkgs/development/compilers/go/1.15.nix index 132631040565..4432b1fe895d 100644 --- a/pkgs/development/compilers/go/1.15.nix +++ b/pkgs/development/compilers/go/1.15.nix @@ -158,6 +158,13 @@ stdenv.mkDerivation rec { ./skip-nohup-tests.patch ./skip-cgo-tests-1.15.patch ./go_no_vendor_checks.patch + + # support TZ environment variable starting with colon + (fetchpatch { + name = "tz-support-colon.patch"; + url = "https://github.com/golang/go/commit/58fe2cd4022c77946ce4b598cf3e30ccc8367143.patch"; + sha256 = "0vphwiqrm0qykfj3rfayr65qzk22fksg7qkamvaz0lmf6fqvbd2f"; + }) ] ++ [ # breaks under load: https://github.com/golang/go/issues/25628 (if stdenv.isAarch32 diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 2426dfebe8a2..f2d4e00d1aad 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,4 +1,6 @@ { lib, stdenv, fetchFromGitHub, cmake, nasm +, openjdk +, enableJava ? false # whether to build the java wrapper , enableStatic ? stdenv.hostPlatform.isStatic , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -26,11 +28,18 @@ stdenv.mkDerivation rec { moveToOutput include/transupp.h $dev_private ''; - nativeBuildInputs = [ cmake nasm ]; + nativeBuildInputs = [ + cmake + nasm + ] ++ lib.optionals enableJava [ + openjdk + ]; cmakeFlags = [ "-DENABLE_STATIC=${if enableStatic then "1" else "0"}" "-DENABLE_SHARED=${if enableShared then "1" else "0"}" + ] ++ lib.optionals enableJava [ + "-DWITH_JAVA=1" ]; doInstallCheck = true; diff --git a/pkgs/development/tools/misc/cvise/default.nix b/pkgs/development/tools/misc/cvise/default.nix new file mode 100644 index 000000000000..357e3e98f081 --- /dev/null +++ b/pkgs/development/tools/misc/cvise/default.nix @@ -0,0 +1,46 @@ +{ lib, buildPythonApplication, fetchFromGitHub, cmake, flex +, clang-unwrapped, llvm, unifdef +, pebble, psutil, pytestCheckHook, pytest-flake8 +}: + +buildPythonApplication rec { + pname = "cvise"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "marxin"; + repo = "cvise"; + rev = "v${version}"; + sha256 = "0ljl0r5jqj6lrddrbxjkcphcz5p4njnn2hqz07jyh30jd9sm7dmj"; + }; + + patches = [ + # Refer to unifdef by absolute path. + ./unifdef.patch + ]; + + nativeBuildInputs = [ cmake flex ]; + buildInputs = [ clang-unwrapped llvm unifdef ]; + propagatedBuildInputs = [ pebble psutil ]; + checkInputs = [ pytestCheckHook pytest-flake8 unifdef ]; + + preCheck = '' + patchShebangs cvise.py + ''; + disabledTests = [ + # Needs gcc, fails when run noninteractively (without tty). + "test_simple_reduction" + ]; + + dontUsePipInstall = true; + dontUseSetuptoolsBuild = true; + dontUseSetuptoolsCheck = true; + + meta = with lib; { + homepage = "https://github.com/marxin/cvise"; + description = "Super-parallel Python port of C-Reduce"; + license = licenses.ncsa; + maintainers = with maintainers; [ orivej ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/cvise/unifdef.patch b/pkgs/development/tools/misc/cvise/unifdef.patch new file mode 100644 index 000000000000..d15ca6dce0bd --- /dev/null +++ b/pkgs/development/tools/misc/cvise/unifdef.patch @@ -0,0 +1,8 @@ +--- a/cvise.py ++++ b/cvise.py +@@ -93,4 +93,5 @@ def find_external_programs(): + # Special case for clang-format + programs['clang-format'] = '@CLANG_FORMAT_PATH@' ++ programs['unifdef'] = '@UNIFDEF@' + + return programs diff --git a/pkgs/tools/admin/turbovnc/default.nix b/pkgs/tools/admin/turbovnc/default.nix new file mode 100644 index 000000000000..df45e6f10b86 --- /dev/null +++ b/pkgs/tools/admin/turbovnc/default.nix @@ -0,0 +1,111 @@ +{ lib +, stdenv +, fetchFromGitHub + +# Dependencies +, cmake +, libjpeg_turbo +, makeWrapper +, mesa # for built-in 3D software rendering using swrast +, openjdk # for the client with Java GUI +, openjdk_headless # for the server +, openssh +, openssl +, pam +, perl +, which +, xkbcomp +, xkeyboard_config +, xorg +}: + +stdenv.mkDerivation rec { + pname = "turbovnc"; + version = "2.2.5"; + + src = fetchFromGitHub { + owner = "TurboVNC"; + repo = "turbovnc"; + rev = version; + sha256 = "0r2lk5lza7a9h02g4z5j59d8qj0x1q1my665d1x1plny4g46vam0"; + }; + + # TODO: + # * Build outputs that are unclear: + # * `-- FONT_ENCODINGS_DIRECTORY = /var/empty/share/X11/fonts/encodings` + # Maybe relevant what the tigervnc and tightvnc derivations + # do with their `fontDirectories`? + # * `SERVER_MISC_CONFIG_PATH = /var/empty/lib64/xorg` + # * The thing about xorg `protocol.txt` + # * Does SSH support require `openssh` on PATH? + # * Add `enableClient ? true` flag that disables the client GUI + # so that the server can be built without openjdk dependency. + # * Perhaps allow to build the client on non-Linux platforms. + + nativeBuildInputs = [ + cmake + makeWrapper + openjdk_headless + ]; + + buildInputs = [ + libjpeg_turbo + openssl + pam + perl + ] ++ (with xorg; [ + libSM + libX11 + libXext + libXi + xorgproto + ]); + + cmakeFlags = [ + # For the 3D software rendering built into TurboVNC, pass the path + # to the swrast dri driver in Mesa. + # Can also be given at runtime to its `Xvnc` as: + # -dridir /nix/store/...-mesa-20.1.10-drivers/lib/dri/ + "-DDRI_DRIVER_PATH=${mesa.drivers}/lib/dri" + # The build system doesn't find these files automatically. + "-DTJPEG_JAR=${libjpeg_turbo.out}/share/java/turbojpeg.jar" + "-DTJPEG_JNILIBRARY=${libjpeg_turbo.out}/lib/libturbojpeg.so" + "-DXKB_BASE_DIRECTORY=${xkeyboard_config}/share/X11/xkb" + "-DXKB_BIN_DIRECTORY=${xkbcomp}/bin" + ]; + + postInstall = '' + # turbovnc dlopen()s libssl.so depending on the requested encryption. + wrapProgram $out/bin/Xvnc \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl ]} + + # `twm` is the default window manager that `vncserver` tries to start, + # and it has minimal dependencies (no non-Xorg). + # (This default is written by `vncserver` to `~/.vnc/xstartup.turbovnc`, + # see https://github.com/TurboVNC/turbovnc/blob/ffdb57d9/unix/vncserver.in#L201.) + # It checks for it using `which twm`. + wrapProgram $out/bin/vncserver \ + --prefix PATH : ${lib.makeBinPath [ which xorg.twm ]} + + # Patch /usr/bin/perl + patchShebangs $out/bin/vncserver + + # vncserver needs `xauth` + wrapProgram $out/bin/vncserver \ + --prefix PATH : ${lib.makeBinPath (with xorg; [ xauth ])} + + # The viewer is in Java and requires `JAVA_HOME`. + # For SSH support, `ssh` is required on `PATH`. + wrapProgram $out/bin/vncviewer \ + --prefix JAVA_HOME : "${lib.makeLibraryPath [ openjdk ]}/openjdk" \ + --prefix PATH : ${lib.makeBinPath [ openssh ]} + ''; + + meta = { + homepage = "https://turbovnc.org/"; + license = lib.licenses.gpl2Plus; + description = "High-speed version of VNC derived from TightVNC"; + maintainers = with lib.maintainers; [ nh2 ]; + platforms = with lib.platforms; linux; + }; +} diff --git a/pkgs/tools/misc/miniserve/default.nix b/pkgs/tools/misc/miniserve/default.nix index 7fb66e22e98d..81437378c327 100644 --- a/pkgs/tools/misc/miniserve/default.nix +++ b/pkgs/tools/misc/miniserve/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , rustPlatform , fetchFromGitHub , pkg-config @@ -8,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "miniserve"; - version = "0.10.4"; + version = "0.11.0"; src = fetchFromGitHub { owner = "svenstaro"; repo = "miniserve"; rev = "v${version}"; - sha256 = "0hskb72gnp66vkyxsqnxhjcqgvjj7wbd2nm5wxp94abc5l1fiigv"; + sha256 = "sha256-/vtiHRHsbF7lfn9tfgfKhm5YwofjSJniNNnKahphHFg="; }; - cargoSha256 = "0s1gdngpf6gxz2lyapblxxmc6aydg2i9kmrfvngkbmqh4as1a2vl"; + cargoSha256 = "sha256-gwy/LeVznZyawliXnkULyyVSXATk0sjSTUZPHO2K+9o="; nativeBuildInputs = [ pkg-config zlib ]; buildInputs = lib.optionals stdenv.isDarwin [ Security ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 167f108cddf0..f8141cfd166c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8967,6 +8967,11 @@ in ttwatch = callPackage ../tools/misc/ttwatch { }; + turbovnc = callPackage ../tools/admin/turbovnc { + # fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc xorg.fontbhlucidatypewriter75dpi ]; + libjpeg_turbo = libjpeg_turbo.override { enableJava = true; }; + }; + udunits = callPackage ../development/libraries/udunits { }; uftp = callPackage ../servers/uftp {}; @@ -12142,6 +12147,10 @@ in csslint = callPackage ../development/web/csslint { }; + cvise = python3Packages.callPackage ../development/tools/misc/cvise { + inherit (llvmPackages_11) llvm clang-unwrapped; + }; + libcxx = llvmPackages.libcxx; libcxxabi = llvmPackages.libcxxabi; @@ -15038,7 +15047,9 @@ in liblscp = callPackage ../development/libraries/liblscp { }; - libe-book = callPackage ../development/libraries/libe-book {}; + libe-book = callPackage ../development/libraries/libe-book { + icu = icu67; + }; libechonest = callPackage ../development/libraries/libechonest { };