diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index a0dccc859883..fdd127e5541f 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -490,8 +490,9 @@ rec { # ARM else if platform.isAarch32 then let - version = platform.parsed.cpu.version or ""; - in if lib.versionOlder version "6" then sheevaplug + version = platform.parsed.cpu.version or null; + in if version == null then pcBase + else if lib.versionOlder version "6" then sheevaplug else if lib.versionOlder version "7" then raspberrypi else armv7l-hf-multiplatform else if platform.isAarch64 then aarch64-multiplatform diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ef99c09d3c48..ce4a83b70a0f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -70,6 +70,12 @@ githubId = 7414843; name = "Nicholas von Klitzing"; }; + _3noch = { + email = "eacameron@gmail.com"; + github = "3noch"; + githubId = 882455; + name = "Elliot Cameron"; + }; a1russell = { email = "adamlr6+pub@gmail.com"; github = "a1russell"; diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 20526c8c6c56..1a29ed8b9785 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchzip, wxGTK30, pkgconfig, file, gettext, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, expat, libid3tag, ffmpeg_3, soundtouch, /*, portaudio - given up fighting their portaudio.patch */ - autoconf, automake, libtool - }: + cmake +}: with stdenv.lib; @@ -15,16 +15,8 @@ stdenv.mkDerivation rec { sha256 = "1xk0piv72d2xd3p7igr916fhcbrm76fhjr418k1rlqdzzg1hfljn"; }; - preConfigure = /* we prefer system-wide libs */ '' - autoreconf -vi # use system libraries - - # we will get a (possibly harmless) warning during configure without this - substituteInPlace configure \ - --replace /usr/bin/file ${file}/bin/file - ''; - - configureFlags = [ - "--with-libsamplerate" + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" ]; # audacity only looks for lame and ffmpeg at runtime, so we need to link them in manually @@ -43,15 +35,13 @@ stdenv.mkDerivation rec { "-lswscale" ]; - nativeBuildInputs = [ pkgconfig autoconf automake libtool ]; + nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = [ file gettext wxGTK30 expat alsaLib libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil wxGTK30.gtk ffmpeg_3 libmad lame libvorbis flac soundtouch ]; #ToDo: detach sbsms - enableParallelBuilding = true; - dontDisableStatic = true; doCheck = false; # Test fails diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix index 6841cd6e75d9..1e2a61a169af 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix @@ -1,23 +1,77 @@ -{ fetchurl, bitwig-studio1, pulseaudio, libjack2, xorg }: +{ stdenv, fetchurl, alsaLib, cairo, dpkg, freetype +, gdk-pixbuf, glib, gtk3, lib, xorg +, libglvnd, libjack2, ffmpeg_3 +, libxkbcommon, xdg_utils, zlib, pulseaudio +, wrapGAppsHook, makeWrapper }: -bitwig-studio1.overrideAttrs (oldAttrs: rec { - name = "bitwig-studio-${version}"; - version = "3.2.8"; +stdenv.mkDerivation rec { + pname = "bitwig-studio"; + version = "3.3.1"; src = fetchurl { - url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; - sha256 = "18ldgmnv7bigb4mch888kjpf4abalpiwmlhwd7rjb9qf6p72fhpj"; + url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; + sha256 = "0f7xysk0cl48q7i28m25hasmrp30grgm3kah0s7xmkjgm33887pi"; }; - buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ]; + nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; - runtimeDependencies = [ pulseaudio libjack2 ]; + unpackCmd = '' + mkdir -p root + dpkg-deb -x $curSrc root + ''; + + dontBuild = true; + dontWrapGApps = true; # we only want $gappsWrapperArgs here + + buildInputs = with xorg; [ + alsaLib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib + ]; + + binPath = lib.makeBinPath [ + xdg_utils ffmpeg_3 + ]; + + ldLibraryPath = lib.strings.makeLibraryPath buildInputs; installPhase = '' - ${oldAttrs.installPhase} - - # recover commercial jre - rm -f $out/libexec/lib/jre - cp -r opt/bitwig-studio/lib/jre $out/libexec/lib + mkdir -p $out/bin + cp -r opt/bitwig-studio $out/libexec + ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio + cp -r usr/share $out/share + substitute usr/share/applications/bitwig-studio.desktop \ + $out/share/applications/bitwig-studio.desktop \ + --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio ''; -}) + + postFixup = '' + # patchelf fails to set rpath on BitwigStudioEngine, so we use + # the LD_LIBRARY_PATH way + + find $out -type f -executable \ + -not -name '*.so.*' \ + -not -name '*.so' \ + -not -name '*.jar' \ + -not -path '*/resources/*' | \ + while IFS= read -r f ; do + patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f + wrapProgram $f \ + "''${gappsWrapperArgs[@]}" \ + --prefix PATH : "${binPath}" \ + --prefix LD_LIBRARY_PATH : "${ldLibraryPath}" + done + + ''; + + meta = with stdenv.lib; { + description = "A digital audio workstation"; + longDescription = '' + Bitwig Studio is a multi-platform music-creation system for + production, performance and DJing, with a focus on flexible + editing tools and a super-fast workflow. + ''; + homepage = "https://www.bitwig.com/"; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ bfortz michalrus mrVanDalo ]; + }; +} diff --git a/pkgs/applications/audio/geonkick/default.nix b/pkgs/applications/audio/geonkick/default.nix index 804aaf75febe..0e6f45194e55 100644 --- a/pkgs/applications/audio/geonkick/default.nix +++ b/pkgs/applications/audio/geonkick/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "geonkick"; - version = "2.5.1"; + version = "2.6.1"; src = fetchFromGitLab { owner = "iurie-sw"; repo = pname; rev = "v${version}"; - sha256 = "14svwrxqw15j6wjy3x8s28yyrafa31bm7d1ns5h6gvpndccwc1kw"; + sha256 = "1l647j11pb9lkknnh4q99mmfcvr644b02lfcdjh98z60vqm1s54c"; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/misc/clipmenu/default.nix b/pkgs/applications/misc/clipmenu/default.nix index 3227792d6a2f..f616e86c5b77 100644 --- a/pkgs/applications/misc/clipmenu/default.nix +++ b/pkgs/applications/misc/clipmenu/default.nix @@ -1,33 +1,43 @@ -{ clipnotify, makeWrapper, xsel, dmenu, util-linux, gawk, stdenv, fetchFromGitHub, fetchpatch, lib }: -let - runtimePath = lib.makeBinPath [ clipnotify xsel dmenu util-linux gawk ]; -in +{ stdenv +, lib +, fetchFromGitHub +, makeWrapper +, clipnotify +, coreutils +, dmenu +, gawk +, util-linux +, xdotool +, xsel +}: stdenv.mkDerivation rec { pname = "clipmenu"; - version = "6.1.0"; + version = "6.2.0"; src = fetchFromGitHub { owner = "cdown"; repo = "clipmenu"; rev = version; - sha256 = "0ddj5xcwrdb2qvrndvhv8j6swcqc8dvv5i00pqk35rfk5mrl4hwv"; + sha256 = "sha256-nvctEwyho6kl4+NXi76jT2kG7nchmI2a7mgxlgjXA5A="; }; - - patches = [ - (fetchpatch { - url = "https://github.com/cdown/clipmenu/commit/443b58583ef216e2405e4a38d401f7c36386d21e.patch"; - sha256 = "12m4rpw7jbr31c919llbsmn8dcf7yh9aijln4iym6h2lylzqzzdz"; - }) - ]; - + + postPatch = '' + sed -i init/clipmenud.service \ + -e "s,/usr/bin,$out/bin," + ''; + makeFlags = [ "PREFIX=$(out)" ]; buildInputs = [ makeWrapper ]; nativeBuildInputs = [ xsel clipnotify ]; - installPhase = '' - for bin in $out/bin/*; do - wrapProgram "$bin" --prefix PATH : "${runtimePath}" - done + postFixup = '' + sed -i "$out/bin/clipctl" -e 's,clipmenud\$,\.clipmenud-wrapped\$,' + + wrapProgram "$out/bin/clipmenu" \ + --prefix PATH : "${lib.makeBinPath [ xsel ]}" + + wrapProgram "$out/bin/clipmenud" \ + --set PATH "${lib.makeBinPath [ clipnotify coreutils gawk util-linux xdotool xsel ]}" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/herbe/default.nix b/pkgs/applications/misc/herbe/default.nix new file mode 100644 index 000000000000..0d05228b63eb --- /dev/null +++ b/pkgs/applications/misc/herbe/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchFromGitHub, libX11, libXft, freetype, patches ? [ ], + extraLibs ? [ ] }: + +stdenv.mkDerivation rec { + pname = "herbe"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "dudik"; + repo = pname; + rev = version; + sha256 = "0358i5jmmlsvy2j85ij7m1k4ar2jr5lsv7y1c58dlf9710h186cv"; + }; + + inherit patches; + + postPatch = '' + sed -i 's_/usr/include/freetype2_${freetype.dev}/include/freetype2_' Makefile + ''; + + buildInputs = [ libX11 libXft freetype ] ++ extraLibs; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "Daemon-less notifications without D-Bus"; + homepage = "https://github.com/dudik/herbe"; + license = licenses.mit; + # NOTE: Could also work on 'unix'. + platforms = platforms.linux; + maintainers = with maintainers; [ wishfort36 ]; + }; +} diff --git a/pkgs/applications/misc/terminal-typeracer/default.nix b/pkgs/applications/misc/terminal-typeracer/default.nix index fa68703e8c0f..bfa84ebbb6c0 100644 --- a/pkgs/applications/misc/terminal-typeracer/default.nix +++ b/pkgs/applications/misc/terminal-typeracer/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "terminal-typeracer"; - version = "2.0.2"; + version = "2.0.4"; src = fetchFromGitLab { owner = "ttyperacer"; repo = pname; rev = "v${version}"; - sha256 = "187xrqxalk2gxa22ki5q092llvliddrsc68cg4dvvy2xzq254jfy"; + sha256 = "RjGHY6KN6thxbg9W5FRwaAmUeD+5/WCeMCvzFHqZ+J4="; }; - cargoSha256 = "0ky8m23fjjbv7fr9776fjczpg0d43jxwnjxjpwz56jpynwnihfkl"; + cargoSha256 = "VSwku0rtQECirCHx2CXe72gCA+p3DdPC4YYwEYu8WfM="; buildInputs = [ openssl sqlite ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/arduino/platformio/default.nix b/pkgs/development/arduino/platformio/default.nix index 248d07adf6e1..194385e79529 100644 --- a/pkgs/development/arduino/platformio/default.nix +++ b/pkgs/development/arduino/platformio/default.nix @@ -4,14 +4,14 @@ let callPackage = newScope self; - version = "5.0.3"; + version = "5.0.4"; # pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964 src = fetchFromGitHub { owner = "platformio"; repo = "platformio-core"; rev = "v${version}"; - sha256 = "0sf5dy0cmhy66rmk0hq1by7nrmf7qz0a99hrk55dpbp6r6vnk3hw"; + sha256 = "15jnhlhkk9z6cyzxw065r3080dqan951klwf65p152vfzg79wf84"; }; self = { diff --git a/pkgs/development/compilers/go/2-dev.nix b/pkgs/development/compilers/go/2-dev.nix new file mode 100644 index 000000000000..44ee67ca8f6a --- /dev/null +++ b/pkgs/development/compilers/go/2-dev.nix @@ -0,0 +1,262 @@ +{ pkgs, stdenv, fetchurl, fetchgit, tzdata, iana-etc, runCommand +, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation +, mailcap, runtimeShell +, buildPackages +, pkgsBuildTarget +, fetchpatch +}: + +let + + inherit (stdenv.lib) optionals optionalString; + + goBootstrap = runCommand "go-bootstrap" {} '' + mkdir $out + cp -rf ${buildPackages.go_bootstrap}/* $out/ + chmod -R u+w $out + find $out -name "*.c" -delete + cp -rf $out/bin/* $out/share/go/bin/ + ''; + + goarch = platform: { + "i686" = "386"; + "x86_64" = "amd64"; + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + "powerpc64le" = "ppc64le"; + }.${platform.parsed.cpu.name} or (throw "Unsupported system"); + + # We need a target compiler which is still runnable at build time, + # to handle the cross-building case where build != host == target + targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; +in + +stdenv.mkDerivation rec { + pname = "go"; + version = "2"; + + src = fetchgit { + url = https://go.googlesource.com/go; + rev = "abe4d3dce12252ed09216eaa67b7dab8c8922537"; + sha256 = "sha256:1d46w8426148q81fvrifx9glgn402jvf29n44i8j8g1pvzkfckh6"; + }; + + # perl is used for testing go vet + nativeBuildInputs = [ perl which pkgconfig patch procps ]; + buildInputs = [ cacert pcre ] + ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] + ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; + + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; + + hardeningDisable = [ "all" ]; + + prePatch = '' + echo '${version}' > VERSION + patchShebangs ./ # replace /bin/bash + + # This source produces shell script at run time, + # and thus it is not corrected by patchShebangs. + substituteInPlace misc/cgo/testcarchive/carchive_test.go \ + --replace '#!/usr/bin/env bash' '#!${runtimeShell}' + + # Patch the mimetype database location which is missing on NixOS. + # but also allow static binaries built with NixOS to run outside nix + sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/net/{listen,parse}_test.go + rm src/syscall/exec_linux_test.go + + # !!! substituteInPlace does not seems to be effective. + # The os test wants to read files in an existing path. Just don't let it be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go + # Fails on aarch64 + sed -i '/TestFallocate/aif true \{ return\; \}' src/cmd/link/internal/ld/fallocate_test.go + # Skip this test since ssl patches mess it up. + sed -i '/TestLoadSystemCertsLoadColonSeparatedDirs/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go + # Disable another PIE test which breaks. + sed -i '/TestTrivialPIE/aif true \{ return\; \}' misc/cgo/testshared/shared_test.go + # Disable the BuildModePie test + sed -i '/TestBuildmodePIE/aif true \{ return\; \}' src/cmd/go/go_test.go + # Disable the unix socket test + sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go + # Disable the hostname test + sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go + # Remove the api check as it never worked + sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go + # Remove the coverage test as we have removed this utility + sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go + # Remove the timezone naming test + sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go + # Remove disable setgid test + sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go + # Remove cert tests that conflict with NixOS's cert resolution + sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go + # TestWritevError hangs sometimes + sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go + # TestVariousDeadlines fails sometimes + sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go + + sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go + sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go + + # Disable cgo lookup tests not works, they depend on resolver + rm src/net/cgo_unix_test.go + + '' + optionalString stdenv.isLinux '' + # prepend the nix path to the zoneinfo files but also leave the original value for static binaries + # that run outside a nix server + sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go + + '' + optionalString stdenv.isAarch32 '' + echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash + '' + optionalString stdenv.isDarwin '' + substituteInPlace src/race.bash --replace \ + "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true + sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go + sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go + sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go + + sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go + sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go + sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go + sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go + + sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go + sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go + + sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go + + sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go + + # TestCurrent fails because Current is not implemented on Darwin + sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go + sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go + + touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd + ''; + + patches = [ + ./remove-tools-1.11.patch + ./ssl-cert-file-2-dev.patch + ./remove-test-pie-1.15.patch + ./creds-test.patch + ./go-1.9-skip-flaky-19608.patch + ./go-1.9-skip-flaky-20072.patch + ./skip-external-network-tests-1.15.patch + ./skip-nohup-tests.patch + ./skip-cgo-tests-1.15.patch + ] ++ [ + # breaks under load: https://github.com/golang/go/issues/25628 + (if stdenv.isAarch32 + then ./skip-test-extra-files-on-aarch32-1.14.patch + else ./skip-test-extra-files-on-386-1.14.patch) + ]; + + postPatch = '' + find . -name '*.orig' -exec rm {} ';' + ''; + + GOOS = stdenv.targetPlatform.parsed.kernel.name; + GOARCH = goarch stdenv.targetPlatform; + # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. + # Go will nevertheless build a for host system that we will copy over in + # the install phase. + GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; + GOHOSTARCH = goarch stdenv.buildPlatform; + + # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those + # to be different from CC/CXX + CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then + "${targetCC}/bin/${targetCC.targetPrefix}cc" + else + null; + CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then + "${targetCC}/bin/${targetCC.targetPrefix}c++" + else + null; + + GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]); + GO386 = 387; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = 1; + # Hopefully avoids test timeouts on Hydra + GO_TEST_TIMEOUT_SCALE = 3; + + # Indicate that we are running on build infrastructure + # Some tests assume things like home directories and users exists + GO_BUILDER_NAME = "nix"; + + GOROOT_BOOTSTRAP="${goBootstrap}/share/go"; + + postConfigure = '' + export GOCACHE=$TMPDIR/go-cache + # this is compiled into the binary + export GOROOT_FINAL=$out/share/go + + export PATH=$(pwd)/bin:$PATH + + ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) '' + # Independent from host/target, CC should produce code for the building system. + # We only set it when cross-compiling. + export CC=${buildPackages.stdenv.cc}/bin/cc + ''} + ulimit -a + ''; + + postBuild = '' + (cd src && ./make.bash) + ''; + + doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin; + + checkPhase = '' + runHook preCheck + (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild) + runHook postCheck + ''; + + preInstall = '' + rm -r pkg/obj + # Contains the wrong perl shebang when cross compiling, + # since it is not used for anything we can deleted as well. + rm src/regexp/syntax/make_perl_groups.pl + '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then '' + mv bin/*_*/* bin + rmdir bin/*_* + ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) '' + rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH} + ''} + '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then '' + rm -rf bin/*_* + ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) '' + rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH} + ''} + '' else ""); + + installPhase = '' + runHook preInstall + mkdir -p $GOROOT_FINAL + cp -a bin pkg src lib misc api doc $GOROOT_FINAL + ln -s $GOROOT_FINAL/bin $out/bin + runHook postInstall + ''; + + disallowedReferences = [ goBootstrap ]; + + meta = with stdenv.lib; { + branch = "dev.go2go"; + homepage = "http://golang.org/"; + description = "The Go Programming language"; + license = licenses.bsd3; + maintainers = teams.golang.members ++ [ maintainers._3noch ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch b/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch new file mode 100644 index 000000000000..6146880f7a03 --- /dev/null +++ b/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch @@ -0,0 +1,45 @@ +diff --git a/src/crypto/x509/root_darwin_amd64.go b/src/crypto/x509/root_darwin_amd64.go +index ce88de025e..258ecc45d1 100644 +--- a/src/crypto/x509/root_darwin_amd64.go ++++ b/src/crypto/x509/root_darwin_amd64.go +@@ -10,6 +10,7 @@ import ( + "bytes" + macOS "crypto/x509/internal/macos" + "fmt" ++ "io/ioutil" + "os" + "strings" + ) +@@ -25,6 +26,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate + var loadSystemRootsWithCgo func() (*CertPool, error) + + func loadSystemRoots() (*CertPool, error) { ++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" { ++ data, err := ioutil.ReadFile(file) ++ if err == nil { ++ roots := NewCertPool() ++ roots.AppendCertsFromPEM(data) ++ return roots, nil ++ } ++ } + var trustedRoots []*Certificate + untrustedRoots := make(map[string]bool) + +diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go +index b48e618a65..195c1ff25a 100644 +--- a/src/crypto/x509/root_unix.go ++++ b/src/crypto/x509/root_unix.go +@@ -42,6 +42,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate + + func loadSystemRoots() (*CertPool, error) { + roots := NewCertPool() ++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" { ++ data, err := ioutil.ReadFile(file) ++ if err == nil { ++ roots.AppendCertsFromPEM(data) ++ return roots, nil ++ } ++ } + + files := certFiles + if f := os.Getenv(certFileEnv); f != "" { diff --git a/pkgs/development/interpreters/self/default.nix b/pkgs/development/interpreters/self/default.nix index cf62399adc64..0d5cc061f591 100644 --- a/pkgs/development/interpreters/self/default.nix +++ b/pkgs/development/interpreters/self/default.nix @@ -1,6 +1,6 @@ -{ fetchgit, stdenv, xorg, makeWrapper, ncurses, cmake }: +{ stdenv, fetchFromGitHub, libX11, libXext, makeWrapper, ncurses, cmake }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { # The Self wrapper stores source in $XDG_DATA_HOME/self or ~/.local/share/self # so that it can be written to when using the Self transposer. Running 'Self' # after installation runs without an image. You can then build a Self image with: @@ -11,16 +11,18 @@ stdenv.mkDerivation { # This image can later be started with: # $ Self -s myimage.snap # - version = "4.5.0"; pname = "self"; + version = "2017.1"; - src = fetchgit { - url = "https://github.com/russellallen/self"; - rev = "d16bcaad3c5092dae81ad0b16d503f2a53b8ef86"; - sha256 = "1dhs6209407j0ll9w9id31vbawdrm9nz1cjak8g8hixrw1nid4i5"; + src = fetchFromGitHub { + owner = "russellallen"; + repo = pname; + rev = version; + sha256 = "C/1Q6yFmoXx2F97xuvkm8DxFmmvuBS7uYZOxq/CRNog="; }; - buildInputs = [ ncurses xorg.libX11 xorg.libXext makeWrapper cmake ]; + nativeBuildInputs = [ cmake makeWrapper ]; + buildInputs = [ ncurses libX11 libXext ]; selfWrapper = ./self; @@ -33,12 +35,11 @@ stdenv.mkDerivation { --set SELF_ROOT "$out" ''; - meta = { + meta = with stdenv.lib; { description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine"; homepage = "https://selflanguage.org/"; - license = stdenv.lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.doublec ]; - platforms = with stdenv.lib.platforms; linux; - broken = true; # segfaults on gcc > 4.4 + license = licenses.bsd3; + maintainers = [ maintainers.doublec ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix index 48c0158531a5..ecff7f7f8215 100644 --- a/pkgs/development/libraries/qtpbfimageplugin/default.nix +++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "qtpbfimageplugin"; - version = "2.2"; + version = "2.3"; src = fetchFromGitHub { owner = "tumic0"; repo = "QtPBFImagePlugin"; rev = version; - sha256 = "1w2d33g13vkjasabmcgvhsmfqv3jmwbxhqxm1jnyc7d4nlk4jwmb"; + sha256 = "063agzcrcihasqqk2yqxqxg9xknjs99y6vx3n1v7md7dqnfv4iva"; }; nativeBuildInputs = [ qmake ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { # Fix plugin dir substituteInPlace pbfplugin.pro \ --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" - + '' + stdenv.lib.optionalString stdenv.isDarwin '' # Fix darwin build substituteInPlace pbfplugin.pro \ --replace '$$PROTOBUF/lib/libprotobuf-lite.a' '${protobuf}/lib/libprotobuf-lite.dylib' @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { vector tiles without (almost) any application modifications. ''; homepage = "https://github.com/tumic0/QtPBFImagePlugin"; - license = licenses.lgpl3; + license = licenses.lgpl3Only; maintainers = with maintainers; [ sikmir ]; platforms = platforms.unix; }; diff --git a/pkgs/development/libraries/redkite/default.nix b/pkgs/development/libraries/redkite/default.nix index af8a1a914e4b..ce3ac37895e0 100644 --- a/pkgs/development/libraries/redkite/default.nix +++ b/pkgs/development/libraries/redkite/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitLab, cmake, cairo }: +{ stdenv, fetchFromGitHub, cmake, cairo }: stdenv.mkDerivation rec { pname = "redkite"; - version = "1.2.0"; + version = "1.3.0"; - src = fetchFromGitLab { + src = fetchFromGitHub { owner = "iurie-sw"; repo = pname; rev = "v${version}"; - sha256 = "0c5k0a6ydb8szdgniqsva8l9j2sishlhsww13b3a9grvr7hb2bpq"; + sha256 = "16j9zp5i7svq3g38rfb6h257qfgnd2brrxi7cjd2pdax9xxwj40y"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix new file mode 100644 index 000000000000..308219865393 --- /dev/null +++ b/pkgs/development/python-modules/aiobotocore/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pythonOlder +, pytestrunner +, typing-extensions +, wrapt +, aioitertools +, aiohttp +, botocore +}: + +buildPythonPackage rec { + pname = "aiobotocore"; + version = "1.1.2"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "1fn9hgcg3qr9f7srjxc21bzkiix4al9308531slwlm99r0x3xcjl"; + }; + + # relax version constraints: aiobotocore works with newer botocore versions + # the pinning used to match some `extras_require` we're not using. + preConfigure = '' + substituteInPlace setup.py --replace 'botocore>=1.17.44,<1.17.45' 'botocore' + ''; + + propagatedBuildInputs = [ wrapt aiohttp aioitertools botocore ]; + + # tests not distributed on pypi + doCheck = false; + pythonImportsCheck = [ "aiobotocore" ]; + + meta = with lib; { + description = "Async client for amazon services using botocore and aiohttp/asyncio."; + license = licenses.asl20; + homepage = "https://github.com/aio-libs/aiobotocore"; + maintainers = with maintainers; [ teh ]; + }; +} diff --git a/pkgs/development/python-modules/aioitertools/default.nix b/pkgs/development/python-modules/aioitertools/default.nix new file mode 100644 index 000000000000..1c5ce1e2faeb --- /dev/null +++ b/pkgs/development/python-modules/aioitertools/default.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pythonOlder +, typing-extensions +, coverage +, python +, toml +}: + +buildPythonPackage rec { + pname = "aioitertools"; + version = "0.7.1"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "18ql6k2j1839jf2rmmmm29v6fb7mr59l75z8nlf0sadmydy6r9al"; + }; + + propagatedBuildInputs = [ typing-extensions ]; + checkInputs = [ coverage toml ]; + + checkPhase = '' + ${python.interpreter} -m coverage run -m aioitertools.tests + ''; + + meta = with lib; { + description = "Implementation of itertools, builtins, and more for AsyncIO and mixed-type iterables."; + license = licenses.mit; + homepage = "https://pypi.org/project/aioitertools/"; + maintainers = with maintainers; [ teh ]; + }; +} diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix index 321c26542d11..d8ccb299fccb 100644 --- a/pkgs/development/python-modules/eyed3/default.nix +++ b/pkgs/development/python-modules/eyed3/default.nix @@ -12,13 +12,13 @@ }: buildPythonPackage rec { - version = "0.9.5"; + version = "0.9.6"; pname = "eyeD3"; disabled = isPyPy; src = fetchPypi { inherit pname version; - sha256 = "faf5806197f2093e82c2830d41f2378f07b3a9da07a16fafb14fc6fbdebac50a"; + sha256 = "4b5064ec0fb3999294cca0020d4a27ffe4f29149e8292fdf7b2de9b9cabb7518"; }; # requires special test data: diff --git a/pkgs/development/python-modules/modeled/default.nix b/pkgs/development/python-modules/modeled/default.nix index e4cdec7766d6..66fe63e3daf1 100644 --- a/pkgs/development/python-modules/modeled/default.nix +++ b/pkgs/development/python-modules/modeled/default.nix @@ -5,7 +5,7 @@ , six , moretools , pathpy -, pytest +, pytestCheckHook }: buildPythonPackage rec { @@ -15,31 +15,19 @@ buildPythonPackage rec { src = fetchPypi { extension = "zip"; inherit pname version; - sha256 = "64934c68cfcdb75ed4a1ccadcfd5d2a46bf1b8e8e81dde89ef0f042c401e94f1"; + sha256 = "1wcl3r02q10gxy4xw7g8x2wg2sx4sbawzbfcl7a5xdydrxl4r4v4"; }; - buildInputs = [ - zetup - ]; + buildInputs = [ zetup ]; - propagatedBuildInputs = [ - six - moretools - pathpy - ]; + propagatedBuildInputs = [ six moretools pathpy ]; - checkInputs = [ - pytest - ]; - - checkPhase = '' - pytest test - ''; + checkInputs = [ pytestCheckHook ]; meta = with lib; { description = "Universal data modeling for Python"; homepage = "https://bitbucket.org/userzimmermann/python-modeled"; - license = licenses.lgpl3; + license = licenses.lgpl3Only; maintainers = [ maintainers.costrouc ]; }; } diff --git a/pkgs/development/python-modules/pyftdi/default.nix b/pkgs/development/python-modules/pyftdi/default.nix index 4cb6138d5ebb..71253a894e76 100644 --- a/pkgs/development/python-modules/pyftdi/default.nix +++ b/pkgs/development/python-modules/pyftdi/default.nix @@ -1,24 +1,39 @@ -{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, pyusb, pyserial }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pyserial +, pythonOlder +, pyusb +}: buildPythonPackage rec { pname = "pyftdi"; - version = "0.51.2"; + version = "0.52.0"; disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "eblot"; repo = pname; rev = "v${version}"; - sha256 = "14mkwk44bgm6s4kqagz7nm6p6gsygmksl2628jaqh7ppblxca9as"; + sha256 = "0nm4z7v9qcb9mxqbl21jgzica4faldnpy5qmbkrc6scnx55pxfm9"; }; propagatedBuildInputs = [ pyusb pyserial ]; + # tests requires access to the serial port + doCheck = false; + pythonImportsCheck = [ "pyftdi" ]; - meta = { + meta = with lib; { description = "User-space driver for modern FTDI devices"; + longDescription = '' + PyFtdi aims at providing a user-space driver for popular FTDI devices. + This includes UART, GPIO and multi-serial protocols (SPI, I2C, JTAG) + bridges. + ''; homepage = "https://github.com/eblot/pyftdi"; - license = lib.licenses.bsd3; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix index 9c900610e031..739b32ec70d1 100644 --- a/pkgs/development/python-modules/s3fs/default.nix +++ b/pkgs/development/python-modules/s3fs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi, docutils, boto3, fsspec }: +{ stdenv, buildPythonPackage, fetchPypi, docutils, aiobotocore, fsspec }: buildPythonPackage rec { pname = "s3fs"; @@ -10,7 +10,7 @@ buildPythonPackage rec { }; buildInputs = [ docutils ]; - propagatedBuildInputs = [ boto3 fsspec ]; + propagatedBuildInputs = [ aiobotocore fsspec ]; # Depends on `moto` which has a long dependency chain with exact # version requirements that can't be made to work with current diff --git a/pkgs/development/python-modules/slixmpp/default.nix b/pkgs/development/python-modules/slixmpp/default.nix index 2fd7d92e3d7c..012a49eb3236 100644 --- a/pkgs/development/python-modules/slixmpp/default.nix +++ b/pkgs/development/python-modules/slixmpp/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "slixmpp"; - version = "1.5.2"; + version = "1.6.0"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "0c5g4r5c6zm5fgvk6dd0dbx9gl3ws2swajc5knlacnpfykwzp5b4"; + sha256 = "0jamly1jv31ragpv8yn52av1m48iwl4i7f9knb67vmk8c22rjdwa"; }; patches = [ diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix index 0d8911e5b213..951e9a0ac2e8 100644 --- a/pkgs/development/tools/metals/default.nix +++ b/pkgs/development/tools/metals/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "metals"; - version = "0.9.7"; + version = "0.9.8"; deps = stdenv.mkDerivation { name = "${pname}-deps-${version}"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { ''; outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "0aky4vbbm5hi6jnd2n1aimqznbbaya05c7vdgaqhy3630ks3w4k9"; + outputHash = "1gn7v1478sqhz4hv53pgvaw2nqziyiavvhn5q152lkzyvghq08wk"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/wire/default.nix b/pkgs/development/tools/wire/default.nix new file mode 100644 index 000000000000..ff6d1e7ac5d0 --- /dev/null +++ b/pkgs/development/tools/wire/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "wire"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "google"; + repo = "wire"; + rev = "v${version}"; + sha256 = "0fYXo/LnxKV/qoaP59XCyEtLLAysZm/WhRdm3RnLdvw="; + }; + + vendorSha256 = "ZFUX4LgPte6oAf94D82Man/P9VMpx+CDNCTMBwiy9Fc="; + + subPackages = [ "cmd/wire" ]; + + meta = with lib; { + homepage = "https://github.com/google/wire"; + description = "A code generation tool that automates connecting components using dependency injection"; + license = licenses.asl20; + maintainers = with maintainers; [ svrana ]; + }; +} diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js index 81feaaf3a659..bd48b84f22d3 100644 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js @@ -7,9 +7,17 @@ const path = require('path') // - https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz // - git+https://github.com/srghma/node-shell-quote.git // - git+https://1234user:1234pass@git.graphile.com/git/users/1234user/postgraphile-supporter.git +// - https://codeload.github.com/Gargron/emoji-mart/tar.gz/934f314fd8322276765066e8a2a6be5bac61b1cf function urlToName(url) { - if (url.startsWith('git+')) { + + // Yarn generates `codeload.github.com` tarball URLs, where the final + // path component (file name) is the git hash. See #111. + // See also https://github.com/yarnpkg/yarn/blob/989a7406/src/resolvers/exotics/github-resolver.js#L24-L26 + let isCodeloadGitTarballUrl = + url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/') + + if (url.startsWith('git+') || isCodeloadGitTarballUrl) { return path.basename(url) } diff --git a/pkgs/servers/wsdd/default.nix b/pkgs/servers/wsdd/default.nix index 1411b6f3adcf..45006cc59e3c 100644 --- a/pkgs/servers/wsdd/default.nix +++ b/pkgs/servers/wsdd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, nixosTests, python3 }: +{ stdenv, fetchFromGitHub, makeWrapper, nixosTests, python3, fetchpatch }: stdenv.mkDerivation rec { pname = "wsdd"; @@ -15,6 +15,15 @@ stdenv.mkDerivation rec { buildInputs = [ python3 ]; + patches = [ + (fetchpatch { + # https://github.com/christgau/wsdd/issues/72 + name = "fix_send_messages_using_correct_socket.patch"; + url = "https://github.com/christgau/wsdd/commit/1ed74fe73a9fe2e2720859e2822116d65e4ffa5b.patch"; + sha256 = "1n9bqvh20nhnvnc5pxvzf9kk8nky6rmbmfryg65lfmr1hmg676zg"; + }) + ]; + installPhase = '' install -Dm0755 src/wsdd.py $out/bin/wsdd wrapProgram $out/bin/wsdd --prefix PYTHONPATH : "$PYTHONPATH" diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix index ffe5d25bd9c1..0a4bf934d805 100644 --- a/pkgs/tools/admin/trivy/default.nix +++ b/pkgs/tools/admin/trivy/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "trivy"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "1ylk6n062n9w2c8179mj0z5acz98b30w6dkpz8gslachsz9sb5ij"; + sha256 = "11fd32qb69g23lxrynsnfy8a783sl60rzknvq4shdg41p2ikigdk"; }; - vendorSha256 = "0kljvy61n72dg99jyc47fzhc8ihyfjk30a1a031gczk3q3z2l7kj"; + vendorSha256 = "09birwc8x90l2y0znf4fwny3phnmq0cz0l2z3xzwg0j3msrdl2np"; subPackages = [ "cmd/trivy" ]; diff --git a/pkgs/tools/misc/microplane/default.nix b/pkgs/tools/misc/microplane/default.nix new file mode 100644 index 000000000000..f50a3c6ad8e2 --- /dev/null +++ b/pkgs/tools/misc/microplane/default.nix @@ -0,0 +1,40 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "microplane"; + version = "0.0.25"; + + src = fetchFromGitHub { + owner = "Clever"; + repo = "microplane"; + rev = "v${version}"; + sha256 = "0vynkv3d70q8d079kgdmwbavyyrjssqnd223dl1rikyy7sd5sli8"; + }; + + goPackagePath = "github.com/Clever/microplane"; + + subPackages = ["."]; + + # Regenerate deps.nix with the following steps: + # git clone git@github.com:Clever/microplane.git + # cd microplane + # git checkout v + # dep2nix + + goDeps = ./deps.nix; + + buildFlagsArray = '' + -ldflags="-s -w -X main.version=v${version}" + ''; + + postInstall = '' + ln -s $out/bin/microplane $out/bin/mp + ''; + + meta = with stdenv.lib; { + description = "A CLI tool to make git changes across many repos"; + homepage = "https://github.com/Clever/microplane"; + license = licenses.asl20; + maintainers = with maintainers; [ dbirks ]; + }; +} diff --git a/pkgs/tools/misc/microplane/deps.nix b/pkgs/tools/misc/microplane/deps.nix new file mode 100644 index 000000000000..f415bae45074 --- /dev/null +++ b/pkgs/tools/misc/microplane/deps.nix @@ -0,0 +1,228 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/cpuguy83/go-md2man"; + fetch = { + type = "git"; + url = "https://github.com/cpuguy83/go-md2man"; + rev = "1d903dcb749992f3741d744c0f8376b4bd7eb3e1"; + sha256 = "1p1ncq4vv244w9v144vplsb2vbl3369wdxn4gc7xbfafkjwn8bxc"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "346938d642f2ec3594ed81d874461961cd0faa76"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + }; + } + { + goPackagePath = "github.com/facebookgo/errgroup"; + fetch = { + type = "git"; + url = "https://github.com/facebookgo/errgroup"; + rev = "779c8d7ef069c522bc72ee5f31a98d89a37f3fb6"; + sha256 = "1kyqrnvr158f5lgb1pbianjd8xnmxxvpgz7qilmp7zvr69gykbas"; + }; + } + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "570b54cabe6b8eb0bc2dfce68d964677d63b5260"; + sha256 = "1hw9hgkfzbzqjhy29pqpk20xggxaqjv45wx8yn69488mw5ph7khh"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "130e6b02ab059e7b717a096f397c5b60111cae74"; + sha256 = "0zk4d7gcykig9ld8f5h86fdxshm2gs93a2xkpf52jd5m4z59q26s"; + }; + } + { + goPackagePath = "github.com/google/go-github"; + fetch = { + type = "git"; + url = "https://github.com/google/go-github"; + rev = "e881974953e6ab6d1a6a1610e98ed6401a3aa1ba"; + sha256 = "0qaxcm2p655r1jd59rv1hd58driadw5hxlfy7h53c7pzcsmf2546"; + }; + } + { + goPackagePath = "github.com/google/go-querystring"; + fetch = { + type = "git"; + url = "https://github.com/google/go-querystring"; + rev = "53e6ce116135b80d037921a7fdd5138cf32d7a8a"; + sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f"; + }; + } + { + goPackagePath = "github.com/inconshreveable/mousetrap"; + fetch = { + type = "git"; + url = "https://github.com/inconshreveable/mousetrap"; + rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; + sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; + }; + } + { + goPackagePath = "github.com/juju/errors"; + fetch = { + type = "git"; + url = "https://github.com/juju/errors"; + rev = "c7d06af17c68cd34c835053720b21f6549d9b0ee"; + sha256 = "1dmj8wkpmkw4z4c7wmnscs4ykrcv7p8lgwb75g5akahwqjaf9zcp"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"; + sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n"; + }; + } + { + goPackagePath = "github.com/nathanleiby/diffparser"; + fetch = { + type = "git"; + url = "https://github.com/nathanleiby/diffparser"; + rev = "936553ce5db1b73e63cbcd7546416d13538e8d85"; + sha256 = "0qlxkbda4l1glwxdy52fhk3bqkyyc55si4xplf54jpi2x9khi2v4"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/russross/blackfriday"; + fetch = { + type = "git"; + url = "https://github.com/russross/blackfriday"; + rev = "4048872b16cc0fc2c5fd9eacf0ed2c2fedaa0c8c"; + sha256 = "17zg26ia43c8axrxp5q2bxh1asiqfhin4ah7h5d8ibil6pv7xbx4"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "7b2c5ac9fc04fc5efafb60700713d4fa609b777b"; + sha256 = "0k4xswdfd2ridj7m48ijb4klq9mxpw03g8h2rvq99yddi8vmlbvn"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "e57e3eeb33f795204c1ca35f56c44f83227c6e66"; + sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "69483b4bd14f5845b5a1e55bca19e954e827f1d0"; + sha256 = "11lzrwkdzdd8yyag92akncc008h2f9d1bpc489mxiwp0jrmz4ivb"; + }; + } + { + goPackagePath = "github.com/xanzy/go-gitlab"; + fetch = { + type = "git"; + url = "https://github.com/xanzy/go-gitlab"; + rev = "ee3313ca5478c4786248d63dd75e4cd8e1fad2db"; + sha256 = "0xbn94rb9ihpw1g698xbz9vdl7393z9zbb0lck52nxs838gkr4mb"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "5c72a883971a4325f8c62bf07b6d38c20ea47a6a"; + sha256 = "1cimmqpajys001x6yq8ycklc4w34y7iwrksv7ayv7m7fgzhcjn3d"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "aabf50738bcdd9b207582cbe796b59ed65d56680"; + sha256 = "0gq60lfzbyc6ggp5v3vbl6li818nmv0n32l9qf80ckpqpqkknkh5"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "bb50c06baba3d0c76f9d125c0719093e315b5b44"; + sha256 = "19fkbykwjhwa0833cqcphv7sfwc1538ad5wlsdkgdwr59qb9d32i"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "6e8e738ad208923de99951fe0b48239bfd864f28"; + sha256 = "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "28a7276518d399b9634904daad79e18b44d481bc"; + sha256 = "0qsj394qyy27iaf8srl7bkbsx7sp4aifrv3z2xllkydya8y18rv8"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "150dc57a1b433e64154302bdc40b6bb8aefa313a"; + sha256 = "0w3knznv39k8bm85ri62f83czcrxknql7dv6p9hk1a5jx3xljgxq"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "eb3733d160e74a9c7e442f435eb3bea458e1d19f"; + sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6"; + }; + } +] \ No newline at end of file diff --git a/pkgs/tools/security/wad/default.nix b/pkgs/tools/security/wad/default.nix new file mode 100644 index 000000000000..ee731798097d --- /dev/null +++ b/pkgs/tools/security/wad/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonApplication +, fetchPypi +, mock +, pytestCheckHook +, six +}: + +buildPythonApplication rec { + pname = "wad"; + version = "0.4.6"; + + src = fetchPypi { + inherit pname; + inherit version; + sha256 = "02jq77h6g9v7n4qqq7qri6wmhggy257983dwgmpjsf4qsagkgwy8"; + }; + + propagatedBuildInputs = [ + six + ]; + + checkInputs = [ + pytestCheckHook + mock + ]; + + pythonImportsCheck = [ "wad" ]; + + meta = with lib; { + description = "Tool for detecting technologies used by web applications"; + longDescription = '' + WAD lets you analyze given URL(s) and detect technologies used by web + application behind that URL, from the OS and web server level, to the + programming platform and frameworks, as well as server- and client-side + applications, tools and libraries. + ''; + homepage = "https://github.com/CERN-CERT/WAD"; + # wad is GPLv3+, wappalyzer source is MIT + license = with licenses; [ gpl3Plus mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index 8192dfe6c14d..3c1fe75b581d 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -15,14 +15,14 @@ with stdenv.lib; let go-d-plugin = callPackage ./go.d.plugin.nix {}; in stdenv.mkDerivation rec { - version = "1.26.0"; + version = "1.28.0"; pname = "netdata"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${version}"; - sha256 = "0pvl1y1qscwp1chrbmk43xf9ddjxgfm0hcslbdbljjis7ng4gacg"; + sha256 = "1266jbfw55r1zh00xi6c90j2fs9hw8hmsb7686rh04l8mffny9f4"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/tools/system/netdata/go.d.plugin.nix b/pkgs/tools/system/netdata/go.d.plugin.nix index 3cf3a1b116bf..3b97747f8793 100644 --- a/pkgs/tools/system/netdata/go.d.plugin.nix +++ b/pkgs/tools/system/netdata/go.d.plugin.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "netdata-go.d.plugin"; - version = "0.25.0"; + version = "0.26.2"; src = fetchFromGitHub { owner = "netdata"; repo = "go.d.plugin"; rev = "v${version}"; - sha256 = "0cp1asw10a8ndndzq8r57mncrm8521aw3x081vrlfqvhp6qahr3j"; + sha256 = "1jy5pc1ihyrg6sqyw0d48bsqa7kr7kqz10k3845g958vgfmfig59"; }; vendorSha256 = "16b6i9cpk8j7292qgjvida70rg7nixi6g94wayzikx01vmdbis5r"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 86bbe15aa647..a6e74f732f35 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5798,6 +5798,8 @@ in microdnf = callPackage ../tools/package-management/microdnf { }; + microplane = callPackage ../tools/misc/microplane { }; + microserver = callPackage ../servers/microserver { }; midisheetmusic = callPackage ../applications/audio/midisheetmusic { }; @@ -8270,6 +8272,8 @@ in wimboot = callPackage ../tools/misc/wimboot { }; + wire = callPackage ../development/tools/wire { }; + wireguard-tools = callPackage ../tools/networking/wireguard-tools { }; woff2 = callPackage ../development/web/woff2 { }; @@ -9615,6 +9619,13 @@ in buildPackages = buildPackages // { stdenv = gcc8Stdenv; }; }); + go_2-dev = callPackage ../development/compilers/go/2-dev.nix ({ + inherit (darwin.apple_sdk.frameworks) Security Foundation; + } // lib.optionalAttrs stdenv.isAarch64 { + stdenv = gcc8Stdenv; + buildPackages = buildPackages // { stdenv = gcc8Stdenv; }; + }); + go = go_1_15; go-repo-root = callPackage ../development/tools/go-repo-root { }; @@ -20693,9 +20704,8 @@ in bitwig-studio2 = callPackage ../applications/audio/bitwig-studio/bitwig-studio2.nix { inherit (pkgs) bitwig-studio1; }; - bitwig-studio3 = callPackage ../applications/audio/bitwig-studio/bitwig-studio3.nix { - inherit (pkgs) bitwig-studio1; - }; + bitwig-studio3 = callPackage ../applications/audio/bitwig-studio/bitwig-studio3.nix { }; + bitwig-studio = bitwig-studio3; bgpdump = callPackage ../tools/networking/bgpdump { }; @@ -22020,6 +22030,8 @@ in heme = callPackage ../applications/editors/heme { }; + herbe = callPackage ../applications/misc/herbe { }; + herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { asciidoc = asciidoc-full; }; @@ -24926,6 +24938,8 @@ in vym = qt5.callPackage ../applications/misc/vym { }; + wad = python3Packages.callPackage ../tools/security/wad { }; + waon = callPackage ../applications/audio/waon { }; w3m = callPackage ../applications/networking/browsers/w3m { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3c16d137233b..43a373a3b4b6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -150,6 +150,20 @@ let buildInputs = [ pkgs.unzip ]; }; + AlgorithmLCSS = buildPerlPackage { + pname = "Algorithm-LCSS"; + version = "0.01"; + src = fetchurl { + url = "mirror://cpan/authors/id/J/JF/JFREEMAN/Algorithm-LCSS-0.01.tar.gz"; + sha256 = "0y0zc3sq283zpv67vy7a3h3dyvjn5svjxwknanmp38a2g36fyz3i"; + }; + propagatedBuildInputs = [ AlgorithmDiff ]; + meta = { + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + maintainers = [ maintainers.sgo ]; + }; + }; + AlgorithmMerge = buildPerlPackage { pname = "Algorithm-Merge"; version = "0.08"; @@ -13612,6 +13626,24 @@ let }; }; + MojoUserAgentCached = buildPerlPackage { + pname = "Mojo-UserAgent-Cached"; + version = "1.12"; + src = fetchurl { + url = "mirror://cpan/authors/id/N/NI/NICOMEN/Mojo-UserAgent-Cached-1.12.tar.gz"; + sha256 = "08pa3sz63sq2y3g3lbhy2msbnx0myb2igmmc28cm3kaznryvsgwm"; + }; + buildInputs = [ ModuleInstall ]; + propagatedBuildInputs = [ AlgorithmLCSS CHI DataSerializer DevelStackTrace Mojolicious Readonly StringTruncate ]; + doCheck = !stdenv.isDarwin; + meta = { + homepage = "https://github.com/nicomen/mojo-useragent-cached"; + description = "Caching, Non-blocking I/O HTTP, Local file and WebSocket user agent"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + maintainers = [ maintainers.sgo ]; + }; + }; + MonitoringPlugin = buildPerlPackage { pname = "Monitoring-Plugin"; version = "0.40"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cb5d8e784e9c..57458230bb11 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -221,6 +221,10 @@ in { aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { }; + aioitertools = callPackage ../development/python-modules/aioitertools { }; + + aiobotocore = callPackage ../development/python-modules/aiobotocore { }; + aiohue = callPackage ../development/python-modules/aiohue { }; aioimaplib = callPackage ../development/python-modules/aioimaplib { };