diff options
76 files changed, 1482 insertions, 183 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 184089882ec..b48648dfd4e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7989,6 +7989,12 @@ githubId = 720864; name = "Sébastien Bourdeauducq"; }; + sbond75 = { + name = "sbond75"; + email = "43617712+sbond75@users.noreply.github.com"; + github = "sbond75"; + githubId = 43617712; + }; sboosali = { email = "SamBoosalis@gmail.com"; github = "sboosali"; @@ -10180,6 +10186,16 @@ github = "ymarkus"; githubId = 62380378; }; + ymatsiuk = { + name = "Yurii Matsiuk"; + email = "ymatsiuk@users.noreply.github.com"; + github = "ymatsiuk"; + githubId = 24990891; + keys = [{ + longkeyid = "rsa4096/0x61302290298601AA"; + fingerprint = "7BB8 84B5 74DA FDB1 E194 ED21 6130 2290 2986 01AA"; + }]; + }; ymeister = { name = "Yuri Meister"; email = "47071325+ymeister@users.noreply.github.com"; diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 27d1cef849b..aee7a041d04 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -144,6 +144,7 @@ in "/share/kservicetypes5" "/share/kxmlgui5" "/share/systemd" + "/share/thumbnailers" ]; system.path = pkgs.buildEnv { diff --git a/nixos/modules/programs/appgate-sdp.nix b/nixos/modules/programs/appgate-sdp.nix new file mode 100644 index 00000000000..1dec4ecf9ec --- /dev/null +++ b/nixos/modules/programs/appgate-sdp.nix @@ -0,0 +1,23 @@ +{ config, pkgs, lib, ... }: + +with lib; + +{ + options = { + programs.appgate-sdp = { + enable = mkEnableOption + "AppGate SDP VPN client"; + }; + }; + + config = mkIf config.programs.appgate-sdp.enable { + boot.kernelModules = [ "tun" ]; + environment.systemPackages = [ pkgs.appgate-sdp ]; + services.dbus.packages = [ pkgs.appgate-sdp ]; + systemd = { + packages = [ pkgs.appgate-sdp ]; + # https://github.com/NixOS/nixpkgs/issues/81138 + services.appgatedriver.wantedBy = [ "multi-user.target" ]; + }; + }; +} diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index 6b8853ae390..9628d30e76a 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -4,31 +4,16 @@ with lib; let cfg = config.services.redis; - redisBool = b: if b then "yes" else "no"; - condOption = name: value: if value != null then "${name} ${toString value}" else ""; - - redisConfig = pkgs.writeText "redis.conf" '' - port ${toString cfg.port} - ${condOption "bind" cfg.bind} - ${condOption "unixsocket" cfg.unixSocket} - daemonize no - supervised systemd - loglevel ${cfg.logLevel} - logfile ${cfg.logfile} - syslog-enabled ${redisBool cfg.syslog} - databases ${toString cfg.databases} - ${concatMapStrings (d: "save ${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}\n") cfg.save} - dbfilename dump.rdb - dir /var/lib/redis - ${if cfg.slaveOf != null then "slaveof ${cfg.slaveOf.ip} ${toString cfg.slaveOf.port}" else ""} - ${condOption "masterauth" cfg.masterAuth} - ${condOption "requirepass" cfg.requirePass} - appendOnly ${redisBool cfg.appendOnly} - appendfsync ${cfg.appendFsync} - slowlog-log-slower-than ${toString cfg.slowLogLogSlowerThan} - slowlog-max-len ${toString cfg.slowLogMaxLen} - ${cfg.extraConfig} - ''; + + mkValueString = value: + if value == true then "yes" + else if value == false then "no" + else generators.mkValueStringDefault { } value; + + redisConfig = pkgs.writeText "redis.conf" (generators.toKeyValue { + listsAsDuplicateKeys = true; + mkKeyValue = generators.mkKeyValueDefault { inherit mkValueString; } " "; + } cfg.settings); in { imports = [ @@ -37,6 +22,7 @@ in (mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.") (mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.") (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.") + (mkRemovedOptionModule [ "services" "redis" "extraConfig" ] "Use services.redis.settings instead.") ]; ###### interface @@ -191,10 +177,20 @@ in description = "Maximum number of items to keep in slow log."; }; - extraConfig = mkOption { - type = types.lines; - default = ""; - description = "Extra configuration options for redis.conf."; + settings = mkOption { + type = with types; attrsOf (oneOf [ bool int str (listOf str) ]); + default = {}; + description = '' + Redis configuration. Refer to + <link xlink:href="https://redis.io/topics/config"/> + for details on supported values. + ''; + example = literalExample '' + { + unixsocketperm = "700"; + loadmodule = [ "/path/to/my_module.so" "/path/to/other_module.so" ]; + } + ''; }; }; @@ -225,6 +221,30 @@ in environment.systemPackages = [ cfg.package ]; + services.redis.settings = mkMerge [ + { + port = cfg.port; + daemonize = false; + supervised = "systemd"; + loglevel = cfg.logLevel; + logfile = cfg.logfile; + syslog-enabled = cfg.syslog; + databases = cfg.databases; + save = map (d: "${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}") cfg.save; + dbfilename = "dump.rdb"; + dir = "/var/lib/redis"; + appendOnly = cfg.appendOnly; + appendfsync = cfg.appendFsync; + slowlog-log-slower-than = cfg.slowLogLogSlowerThan; + slowlog-max-len = cfg.slowLogMaxLen; + } + (mkIf (cfg.bind != null) { bind = cfg.bind; }) + (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; }) + (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; }) + (mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; }) + (mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; }) + ]; + systemd.services.redis = { description = "Redis Server"; diff --git a/nixos/modules/services/ttys/getty.nix b/nixos/modules/services/ttys/getty.nix index 68ab8183777..ecfabef5fb1 100644 --- a/nixos/modules/services/ttys/getty.nix +++ b/nixos/modules/services/ttys/getty.nix @@ -3,9 +3,19 @@ with lib; let + cfg = config.services.getty; + + loginArgs = [ + "--login-program" "${pkgs.shadow}/bin/login" + ] ++ optionals (cfg.autologinUser != null) [ + "--autologin" cfg.autologinUser + ] ++ optionals (cfg.loginOptions != null) [ + "--login-options" cfg.loginOptions + ]; - autologinArg = optionalString (config.services.getty.autologinUser != null) "--autologin ${config.services.getty.autologinUser}"; - gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}"; + gettyCmd = extraArgs: + "@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs loginArgs} " + + extraArgs; in @@ -30,6 +40,23 @@ in ''; }; + loginOptions = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Template for arguments to be passed to + <citerefentry><refentrytitle>login</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>. + + See <citerefentry><refentrytitle>agetty</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> for details, + including security considerations. If unspecified, agetty + will not be invoked with a <option>--login-options</option> + option. + ''; + example = "-h darkstar -- \u"; + }; + greetingLine = mkOption { type = types.str; description = '' diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index 3958fc2c1d7..103e689abae 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -100,6 +100,10 @@ in packages = [ cfg.lxcPackage ]; }; + # TODO: remove once LXD gets proper support for cgroupsv2 + # (currently most of the e.g. CPU accounting stuff doesn't work) + systemd.enableUnifiedCgroupHierarchy = false; + systemd.services.lxd = { description = "LXD Container Management Daemon"; diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index 9a432f73d3f..3d5f392205f 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -1,30 +1,117 @@ -{ stdenv, fetchurl, alsaLib, cairo, cmake, libjack2, fftw, fltk13, lash, libjpeg -, libXpm, minixml, ntk, pkgconfig, zlib, liblo +{ lib +, stdenv +, fetchFromGitHub +, callPackage + + # Required build tools +, cmake +, makeWrapper +, pkg-config + + # Required dependencies +, fftw +, liblo +, minixml +, zlib + + # Optional dependencies +, alsaSupport ? true +, alsaLib +, dssiSupport ? false +, dssi +, ladspaH +, jackSupport ? true +, libjack2 +, lashSupport ? false +, lash +, ossSupport ? true +, portaudioSupport ? true +, portaudio + + # Optional GUI dependencies +, guiModule ? "off" +, cairo +, fltk13 +, libGL +, libjpeg +, libX11 +, libXpm +, ntk + + # Test dependencies +, cxxtest }: -stdenv.mkDerivation rec { +assert builtins.any (g: guiModule == g) [ "fltk" "ntk" "zest" "off" ]; + +let + guiName = { + "fltk" = "FLTK"; + "ntk" = "NTK"; + "zest" = "Zyn-Fusion"; + }.${guiModule}; + mruby-zest = callPackage ./mruby-zest { }; +in stdenv.mkDerivation rec { pname = "zynaddsubfx"; version = "3.0.5"; - src = fetchurl { - url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2"; - sha256 = "0qwzg14h043rmyf9jqdylxhyfy4sl0vsr0gjql51wjhid0i34ivl"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "1vh1gszgjxwn8m32rk5222z1j2cnjax0bqpag7b47v6i36p2q4x8"; + fetchSubmodules = true; }; - buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ]; - nativeBuildInputs = [ cmake pkgconfig ]; - - patchPhase = '' + postPatch = '' substituteInPlace src/Misc/Config.cpp --replace /usr $out ''; - hardeningDisable = [ "format" ]; + nativeBuildInputs = [ cmake makeWrapper pkg-config ]; + + buildInputs = [ fftw liblo minixml zlib ] + ++ lib.optionals alsaSupport [ alsaLib ] + ++ lib.optionals dssiSupport [ dssi ladspaH ] + ++ lib.optionals jackSupport [ libjack2 ] + ++ lib.optionals lashSupport [ lash ] + ++ lib.optionals portaudioSupport [ portaudio ] + ++ lib.optionals (guiModule == "fltk") [ fltk13 libjpeg libXpm ] + ++ lib.optionals (guiModule == "ntk") [ ntk cairo libXpm ] + ++ lib.optionals (guiModule == "zest") [ libGL libX11 ]; + + cmakeFlags = [ "-DGuiModule=${guiModule}" ] + # OSS library is included in glibc. + # Must explicitly disable if support is not wanted. + ++ lib.optional (!ossSupport) "-DOssEnable=OFF" + # Find FLTK without requiring an OpenGL library in buildInputs + ++ lib.optional (guiModule == "fltk") "-DFLTK_SKIP_OPENGL=ON"; + + doCheck = true; + checkInputs = [ cxxtest ]; + + # When building with zest GUI, patch plugins + # and standalone executable to properly locate zest + postFixup = lib.optional (guiModule == "zest") '' + patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so")" \ + "$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so" + + patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/vst/ZynAddSubFX.so")" \ + "$out/lib/vst/ZynAddSubFX.so" + + wrapProgram "$out/bin/zynaddsubfx" \ + --prefix PATH : ${mruby-zest} \ + --prefix LD_LIBRARY_PATH : ${mruby-zest} + ''; + + meta = with lib; { + description = "High quality software synthesizer (${guiName} GUI)"; + homepage = + if guiModule == "zest" + then "https://zynaddsubfx.sourceforge.io/zyn-fusion.html" + else "https://zynaddsubfx.sourceforge.io"; - meta = with stdenv.lib; { - description = "High quality software synthesizer"; - homepage = "http://zynaddsubfx.sourceforge.net"; license = licenses.gpl2; + maintainers = with maintainers; [ goibhniu metadark ]; platforms = platforms.linux; - maintainers = [ maintainers.goibhniu maintainers.nico202 ]; }; } diff --git a/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix b/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix new file mode 100644 index 00000000000..0f00e6244d1 --- /dev/null +++ b/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix @@ -0,0 +1,109 @@ +{ stdenv +, fetchFromGitHub +, bison +, git +, python2 +, rake +, ruby +, libGL +, libuv +, libX11 +}: + +let + mgem-list = fetchFromGitHub { + owner = "mruby"; + repo = "mgem-list"; + rev = "2033837203c8a141b1f9d23bb781fe0cbaefbd24"; + sha256 = "0igf2nsx5i6g0yf7sjxxkngyriv213d0sjs3yidrflrabiywpxmm"; + }; + + mruby-dir = fetchFromGitHub { + owner = "iij"; + repo = "mruby-dir"; + rev = "89dceefa1250fb1ae868d4cb52498e9e24293cd1"; + sha256 = "0zrhiy9wmwmc9ls62iyb2z86j2ijqfn7rn4xfmrbrfxygczarsm9"; + }; + + mruby-errno = fetchFromGitHub { + owner = "iij"; + repo = "mruby-errno"; + rev = "b4415207ff6ea62360619c89a1cff83259dc4db0"; + sha256 = "12djcwjjw0fygai5kssxbfs3pzh3cpnq07h9m2h5b51jziw380xj"; + }; + + mruby-file-stat = fetchFromGitHub { + owner = "ksss"; + repo = "mruby-file-stat"; + rev = "aa474589f065c71d9e39ab8ba976f3bea6f9aac2"; + sha256 = "1clarmr67z133ivkbwla1a42wcjgj638j9w0mlv5n21mhim9rid5"; + }; + + mruby-process = fetchFromGitHub { + owner = "iij"; + repo = "mruby-process"; + rev = "fe171fbe2a6cc3c2cf7d713641bddde71024f7c8"; + sha256 = "00yrzc371f90gl5m1gbkw0qq8c394bpifssjr8p1wh5fmzhxqyml"; + }; + + mruby-pack = fetchFromGitHub { + owner = "iij"; + repo = "mruby-pack"; + rev = "383a9c79e191d524a9a2b4107cc5043ecbf6190b"; + sha256 = "003glxgxifk4ixl12sy4gn9bhwvgb79b4wga549ic79isgv81w2d"; + }; +in +stdenv.mkDerivation rec { + pname = "mruby-zest"; + version = "3.0.5"; + + src = fetchFromGitHub { + owner = pname; + repo = "${pname}-build"; + rev = version; + sha256 = "0fxljrgamgz2rm85mclixs00b0f2yf109jc369039n1vf0l5m57d"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ bison git python2 rake ruby ]; + buildInputs = [ libGL libuv libX11 ]; + + patches = [ + ./force-gcc-as-linker.patch + ./system-libuv.patch + ]; + + # Add missing dependencies of deps/mruby-dir-glob/mrbgem.rake + # Should be fixed in next release, see bcadb0a5490bd6d599f1a0e66ce09b46363c9dae + postPatch = '' + mkdir -p mruby/build/mrbgems + ln -s ${mgem-list} mruby/build/mrbgems/mgem-list + ln -s ${mruby-dir} mruby/build/mrbgems/mruby-dir + ln -s ${mruby-errno} mruby/build/mrbgems/mruby-errno + ln -s ${mruby-file-stat} mruby/build/mrbgems/mruby-file-stat + ln -s ${mruby-process} mruby/build/mrbgems/mruby-process + ln -s ${mruby-pack} mruby/build/mrbgems/mruby-pack + ''; + + installTargets = [ "pack" ]; + + postInstall = '' + ln -s "$out/zest" "$out/zyn-fusion" + cp -a package/{font,libzest.so,schema,zest} "$out" + + # mruby-widget-lib/src/api.c requires MainWindow.qml as part of a + # sanity check, even though qml files are compiled into the binary + # https://github.com/mruby-zest/mruby-zest-build/tree/3.0.5/src/mruby-widget-lib/src/api.c#L99-L116 + # https://github.com/mruby-zest/mruby-zest-build/tree/3.0.5/linux-pack.sh#L17-L18 + mkdir -p "$out/qml" + touch "$out/qml/MainWindow.qml" + ''; + + meta = with stdenv.lib; { + description = "The Zest Framework used in ZynAddSubFX's UI"; + homepage = "https://github.com/mruby-zest"; + license = licenses.lgpl21; + maintainers = with maintainers; [ metadark ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/audio/zynaddsubfx/mruby-zest/force-gcc-as-linker.patch b/pkgs/applications/audio/zynaddsubfx/mruby-zest/force-gcc-as-linker.patch new file mode 100644 index 00000000000..c521d240774 --- /dev/null +++ b/pkgs/applications/audio/zynaddsubfx/mruby-zest/force-gcc-as-linker.patch @@ -0,0 +1,13 @@ +diff --git a/mruby/tasks/toolchains/gcc.rake b/mruby/tasks/toolchains/gcc.rake +index f370c0ab..e5ab9f60 100644 +--- a/mruby/tasks/toolchains/gcc.rake ++++ b/mruby/tasks/toolchains/gcc.rake +@@ -22,7 +22,7 @@ MRuby::Toolchain.new(:gcc) do |conf, _params| + end + + conf.linker do |linker| +- linker.command = ENV['LD'] || 'gcc' ++ linker.command = 'gcc' + linker.flags = [ENV['LDFLAGS'] || %w()] + linker.libraries = %w(m) + linker.library_paths = [] diff --git a/pkgs/applications/audio/zynaddsubfx/mruby-zest/system-libuv.patch b/pkgs/applications/audio/zynaddsubfx/mruby-zest/system-libuv.patch new file mode 100644 index 00000000000..b7050abc123 --- /dev/null +++ b/pkgs/applications/audio/zynaddsubfx/mruby-zest/system-libuv.patch @@ -0,0 +1,113 @@ +diff --git a/Makefile b/Makefile +index f3e3be2..2398852 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,8 +1,3 @@ +-UV_DIR = libuv-v1.9.1 +-UV_FILE = $(UV_DIR).tar.gz +-UV_URL = http://dist.libuv.org/dist/v1.9.1/$(UV_FILE) +- +- + all: + ruby ./rebuild-fcache.rb + cd deps/nanovg/src && $(CC) nanovg.c -c -fPIC +@@ -10,12 +5,12 @@ all: + # cd deps/pugl && python2 ./waf configure --no-cairo --static + cd deps/pugl && python2 ./waf configure --no-cairo --static --debug + cd deps/pugl && python2 ./waf +- cd src/osc-bridge && CFLAGS="-I ../../deps/$(UV_DIR)/include " make lib ++ cd src/osc-bridge && make lib + cd mruby && MRUBY_CONFIG=../build_config.rb rake + $(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \ + ./deps/libnanovg.a \ + src/osc-bridge/libosc-bridge.a \ +- ./deps/$(UV_DIR)/.libs/libuv.a -lm -lX11 -lGL -lpthread ++ -luv -lm -lX11 -lGL -lpthread + $(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99 + + osx: +@@ -25,12 +20,12 @@ osx: + cd deps/pugl && python2 ./waf configure --no-cairo --static + # cd deps/pugl && python2 ./waf configure --no-cairo --static --debug + cd deps/pugl && python2 ./waf +- cd src/osc-bridge && CFLAGS="-I ../../deps/$(UV_DIR)/include " make lib ++ cd src/osc-bridge && make lib + cd mruby && MRUBY_CONFIG=../build_config.rb rake + $(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \ + ./deps/libnanovg.a \ + src/osc-bridge/libosc-bridge.a \ +- ./deps/$(UV_DIR)/.libs/libuv.a -lm -framework OpenGL -lpthread ++ -luv -lm -framework OpenGL -lpthread + $(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -framework OpenGL -framework AppKit -lpthread -I deps/pugl -std=gnu99 + + windows: +@@ -38,38 +33,14 @@ windows: + $(AR) rc deps/libnanovg.a deps/nanovg/src/*.o + cd deps/pugl && CFLAGS="-mstackrealign" python2 ./waf configure --no-cairo --static --target=win32 + cd deps/pugl && python2 ./waf +- cd src/osc-bridge && CFLAGS="-mstackrealign -I ../../deps/$(UV_DIR)/include " make lib ++ cd src/osc-bridge && CFLAGS="-mstackrealign" make lib + cd mruby && WINDOWS=1 MRUBY_CONFIG=../build_config.rb rake + $(CC) -mstackrealign -shared -o libzest.dll -static-libgcc `find mruby/build/w64 -type f | grep -e "\.o$$" | grep -v bin` \ + ./deps/libnanovg.a \ + src/osc-bridge/libosc-bridge.a \ +- ./deps/libuv-win.a \ +- -lm -lpthread -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32 ++ -luv -lm -lpthread -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32 + $(CC) -mstackrealign -DWIN32 test-libversion.c deps/pugl/build/libpugl-0.a -o zest.exe -lpthread -I deps/pugl -std=c99 -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32 + +- +-builddep: deps/libuv.a +-deps/libuv.a: +- cd deps/$(UV_DIR) && ./autogen.sh +- cd deps/$(UV_DIR) && CFLAGS=-fPIC ./configure +- cd deps/$(UV_DIR) && CFLAGS=-fPIC make +- cp deps/$(UV_DIR)/.libs/libuv.a deps/ +- +-builddepwin: deps/libuv-win.a +-deps/libuv-win.a: +- cd deps/$(UV_DIR) && ./autogen.sh +- cd deps/$(UV_DIR) && CFLAGS="-mstackrealign" ./configure --host=x86_64-w64-mingw32 +- cd deps/$(UV_DIR) && LD=x86_64-w64-mingw32-gcc make +- cp deps/$(UV_DIR)/.libs/libuv.a deps/libuv-win.a +- +-deps/$(UV_DIR): +- cd deps && wget -4 $(UV_URL) && tar xvf $(UV_FILE) +-setup: deps/$(UV_DIR) +- +-setupwin: +- cd deps && wget -4 $(UV_URL) +- cd deps && tar xvf $(UV_FILE) +- + push: + cd src/osc-bridge && git push + cd src/mruby-qml-parse && git push +diff --git a/build_config.rb b/build_config.rb +index 00f1f69..11ac15b 100644 +--- a/build_config.rb ++++ b/build_config.rb +@@ -96,7 +96,6 @@ build_type.new(build_name) do |conf| + conf.cc do |cc| + cc.include_paths << "#{`pwd`.strip}/../deps/nanovg/src" + cc.include_paths << "#{`pwd`.strip}/../deps/pugl/" +- cc.include_paths << "#{`pwd`.strip}/../deps/libuv-v1.9.1/include/" + cc.include_paths << "/usr/share/mingw-w64/include/" if windows + cc.include_paths << "/usr/x86_64-w64-mingw32/include/" if windows + cc.flags << "-DLDBL_EPSILON=1e-6" if windows +@@ -117,14 +116,14 @@ build_type.new(build_name) do |conf| + linker.flags_after_libraries << "#{`pwd`.strip}/../deps/pugl/build/libpugl-0.a" + linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libnanovg.a" + if(!windows) +- linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv.a" ++ linker.flags_after_libraries << "-luv" + if(ENV['OS'] != "Mac") + linker.libraries << 'GL' + linker.libraries << 'X11' + end + linker.flags_after_libraries << "-lpthread -ldl -lm" + else +- linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv-win.a" ++ linker.flags_after_libraries << "-luv" + linker.flags_after_libraries << "-lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi" + linker.flags_after_libraries << "-lglu32 -lgdi32 -lopengl32" + end diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix index 8c1b95a1d26..aa67124c114 100644 --- a/pkgs/applications/editors/ghostwriter/default.nix +++ b/pkgs/applications/editors/ghostwriter/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "ghostwriter"; - version = "1.8.1"; + version = "2.0.0-rc3"; src = fetchFromGitHub { owner = "wereturtle"; repo = pname; - rev = "v${version}"; - sha256 = "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6"; + rev = version; + sha256 = "sha256-Ag97iE++f3nG2zlwqn0qxSL9RpF8O3XWH9NtQ5kFuWg="; }; nativeBuildInputs = [ qmake pkgconfig qttools ]; @@ -20,6 +20,7 @@ mkDerivation rec { homepage = src.meta.homepage; license = licenses.gpl3Plus; platforms = platforms.unix; - maintainers = with maintainers; [ dotlambda ]; + maintainers = with maintainers; [ dotlambda erictapen ]; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/graphics/nufraw/default.nix b/pkgs/applications/graphics/nufraw/default.nix new file mode 100644 index 00000000000..678bc12278d --- /dev/null +++ b/pkgs/applications/graphics/nufraw/default.nix @@ -0,0 +1,71 @@ +{ stdenv +, fetchurl +, lib + +, autoreconfHook +, bzip2 +, cfitsio +, exiv2 +, gettext +, gtk2 +, gtkimageview +, lcms2 +, lensfun +, libjpeg +, libtiff +, perl +, pkg-config +, zlib + +, addThumbnailer ? false +}: + +stdenv.mkDerivation rec { + pname = "nufraw"; + version = "0.43-3"; + + src = fetchurl { + url = "mirror://sourceforge/nufraw/nufraw-${version}.tar.gz"; + sha256 = "0b63qvw9r8kaqw36bk3a9zwxc41h8fr6498indkw4glrj0awqz9c"; + }; + + nativeBuildInputs = [ autoreconfHook gettext perl pkg-config ]; + + buildInputs = [ + bzip2 + cfitsio + exiv2 + gtk2 + gtkimageview + lcms2 + lensfun + libjpeg + libtiff + zlib + ]; + + configureFlags = [ + "--enable-contrast" + "--enable-dst-correction" + ]; + + postInstall = lib.optionalString addThumbnailer '' + mkdir -p $out/share/thumbnailers + substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer + ''; + + meta = with stdenv.lib; { + homepage = "https://nufraw.sourceforge.io/"; + description = "Utility to read and manipulate raw images from digital cameras"; + longDescription = + '' + A new version of the popular raw digital images manipulator ufraw. + Forks from the version 0.23 of ufraw (that's why the first nufraw version is the 0.24). + Nufraw offers the same features (gimp plugin, batch, ecc) and the same quality of + ufraw in a brand new improved user interface. + ''; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ asbachb ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/applications/graphics/nufraw/nufraw.thumbnailer b/pkgs/applications/graphics/nufraw/nufraw.thumbnailer new file mode 100644 index 00000000000..34b2adc43ae --- /dev/null +++ b/pkgs/applications/graphics/nufraw/nufraw.thumbnailer @@ -0,0 +1,4 @@ +[Thumbnailer Entry] +TryExec=@out@/bin/nufraw-batch +Exec=@out@/bin/nufraw-batch --silent --size %s --out-type=png --noexif --output=%o --embedded-image %i +MimeType=image/x-canon-cr2;image/x-canon-crw;image/x-minolta-mrw;image/x-nikon-nef;image/x-pentax-pef;image/x-panasonic-rw2;image/x-panasonic-raw2;image/x-samsung-srw;image/x-olympus-orf;image/x-sony-arw diff --git a/pkgs/applications/misc/rootbar/default.nix b/pkgs/applications/misc/rootbar/default.nix new file mode 100644 index 00000000000..2eb3170b88c --- /dev/null +++ b/pkgs/applications/misc/rootbar/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, fetchhg +, pkg-config +, meson +, ninja +, gtk3 +, json_c +, libpulseaudio +, wayland +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "rootbar"; + version = "unstable-2020-11-13"; + + src = fetchhg { + url = "https://hg.sr.ht/~scoopta/rootbar"; + rev = "a018e10cfc5e"; + sha256 = "sha256-t6oDIYCVaCxaYy4bS1vxESaFDNxsx5JQLQK77eVuafE="; + }; + + nativeBuildInputs = [ + meson ninja pkg-config wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + json_c + libpulseaudio + wayland + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/alexays/waybar"; + description = "A bar for Wayland WMs"; + longDescription = '' + Root Bar is a bar for wlroots based wayland compositors such as sway and + was designed to address the lack of good bars for wayland. + ''; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix new file mode 100644 index 00000000000..c56a6eb6582 --- /dev/null +++ b/pkgs/applications/networking/appgate-sdp/default.nix @@ -0,0 +1,169 @@ +{ alsaLib +, at-spi2-atk +, at-spi2-core +, atk +, bash +, cairo +, coreutils +, cups +, curl +, dbus +, dnsmasq +, dpkg +, e2fsprogs +, expat +, fetchurl +, gdk-pixbuf +, glib +, gtk3 +, icu +, iproute +, krb5 +, lib +, libX11 +, libXScrnSaver +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXrandr +, libXrender +, libXtst +, libsecret +, libuuid +, libxcb +, lttng-ust +, makeWrapper +, networkmanager +, nspr +, nss +, openssl +, pango +, procps +, python37 +, python37Packages +, stdenv +, systemd +, zlib +}: +with stdenv.lib; +let + deps = [ + alsaLib + at-spi2-atk + at-spi2-core + atk + cairo + cups + curl + dbus + expat + gdk-pixbuf + glib + gtk3 + icu + krb5 + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libsecret + libuuid + libxcb + lttng-ust + nspr + nss + openssl + pango + stdenv.cc.cc + systemd + zlib + ]; + rpath = stdenv.lib.makeLibraryPath deps ; +in +stdenv.mkDerivation rec { + pname = "appgate-sdp"; + version = "5.1.2"; + + src = fetchurl { + url = "https://bin.appgate-sdp.com/5.1/client/appgate-sdp_${version}_amd64.deb"; + sha256 = "0v4vfibg1giml3vfz2w7qypqzymvfchi5qm6vfagah2vfbkw7xc2"; + }; + + dontConfigure = true; + dontBuild = true; + enableParallelBuilding = true; + + buildInputs = [ + python37 + python37Packages.dbus-python + ]; + + nativeBuildInputs = [ + makeWrapper + dpkg + ]; + + unpackPhase = '' + dpkg-deb -x $src $out + ''; + + installPhase = '' + mkdir -p $out/bin + ln -s "$out/opt/appgate/appgate" "$out/bin/appgate" + cp -r $out/usr/share $out/share + + for file in $out/opt/appgate/linux/appgate-resolver.pre \ + $out/opt/appgate/linux/appgate-dumb-resolver.pre \ + $out/lib/systemd/system/appgatedriver.service \ + $out/lib/systemd/system/appgate-dumb-resolver.service \ + $out/lib/systemd/system/appgate-resolver.service + do + substituteInPlace $file \ + --replace "/bin/sh" "${bash}/bin/sh" \ + --replace "/opt/" "$out/opt/" \ + --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" \ + --replace "InaccessiblePaths=/mnt /srv /boot /media" "InaccessiblePaths=-/mnt -/srv -/boot -/media" \ + --replace "cat" "${coreutils}/bin/cat" \ + --replace "chattr" "${e2fsprogs}/bin/chattr" \ + --replace "mv" "${coreutils}/bin/mv" \ + --replace "pkill" "${procps}/bin/pkill" + done + + substituteInPlace $out/opt/appgate/linux/nm.py --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" + substituteInPlace $out/opt/appgate/linux/set_dns \ + --replace "service appgate-resolver stop" "${systemd.out}/bin/systemctl stop appgate-resolver" \ + --replace "/etc/appgate.conf" "$out/etc/appgate.conf" + + ''; + + postFixup = '' + find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \; + for binary in $out/opt/appgate/appgate-driver \ + $out/opt/appgate/appgate \ + $out/opt/appgate/service/createdump \ + $out/opt/appgate/service/appgateservice.bin + do + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "$ORIGIN:$out/opt/appgate/service/:$out/opt/appgate/:${rpath}" $binary + done + + wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${stdenv.lib.makeBinPath [ iproute networkmanager dnsmasq ]} + wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH + ''; + meta = with stdenv.lib; { + description = "Appgate SDP (Software Defined Perimeter) desktop client"; + homepage = https://www.appgate.com/support/software-defined-perimeter-support; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ ymatsiuk ]; + }; +} diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index f4387ebe640..660682e17a7 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -18,9 +18,9 @@ } }, "beta": { - "version": "88.0.4324.50", - "sha256": "17v0qp05785xc4whsbw6fmf0x5ccjx2mk6n4qy6z2mx2yjjjfv8q", - "sha256bin64": "01cphbd56l7g3cdmrvwynkzrpx9h3v7pz6ac76sxlp6irjzhbnva", + "version": "88.0.4324.79", + "sha256": "1xmssngzg370gazvqngw5mzhfq476fan5y3sp4ggs8fx5anh6jlz", + "sha256bin64": "16m2k4kr92236yvfnl276cy77d5324b7ca3grsw990c0b2kgizq7", "deps": { "gn": { "version": "2020-11-05", diff --git a/pkgs/applications/networking/cluster/starboard/default.nix b/pkgs/applications/networking/cluster/starboard/default.nix index e8ffa353539..3850eb75638 100644 --- a/pkgs/applications/networking/cluster/starboard/default.nix +++ b/pkgs/applications/networking/cluster/starboard/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "starboard"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "0p0c459xih580ix3279fr45mm3q9w887rs7w1yrikh09xpcisdfr"; + sha256 = "sha256-KRVMgrJ7xtv2SYa249sSDV8PObStAe+UGEgZWv43sk4="; }; - vendorSha256 = "07cz4p8k927ash5ncw1r56bcn592imgywbyzkvhnn50pap91m0q0"; + vendorSha256 = "sha256-AIMa0lUXFGvhnt8v7l+NIhXLlik5cGYL1OqINNElnx0="; subPackages = [ "cmd/starboard" ]; diff --git a/pkgs/applications/science/biology/fastp/default.nix b/pkgs/applications/science/biology/fastp/default.nix new file mode 100644 index 00000000000..c68486dbcd6 --- /dev/null +++ b/pkgs/applications/science/biology/fastp/default.nix @@ -0,0 +1,30 @@ +{ stdenv +, fetchFromGitHub +, zlib +}: + +stdenv.mkDerivation rec { + pname = "fastp"; + version = "0.20.1"; + + src = fetchFromGitHub { + owner = "OpenGene"; + repo = "fastp"; + rev = "v${version}"; + sha256 = "sha256-pANwppkO9pfV9vctB7HmNCzYRtf+Xt+5HMKzvFuvyFM="; + }; + + buildInputs = [ zlib ]; + + installPhase = '' + install -D fastp $out/bin/fastp + ''; + + meta = with stdenv.lib; { + description = "Ultra-fast all-in-one FASTQ preprocessor"; + license = licenses.mit; + homepage = "https://github.com/OpenGene/fastp"; + maintainers = with maintainers; [ jbedo ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/applications/science/electronics/kicad/update.sh b/pkgs/applications/science/electronics/kicad/update.sh index cfd78323b77..099440956ae 100755 --- a/pkgs/applications/science/electronics/kicad/update.sh +++ b/pkgs/applications/science/electronics/kicad/update.sh @@ -144,7 +144,7 @@ for version in "${all_versions[@]}"; do for lib in "${libs[@]}"; do echo "Checking ${lib}" >&2 url="${gitlab}/libraries/kicad-${lib}.git" - lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | head -n1)" + lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | tail -n1)" has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)" has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)" if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then @@ -173,8 +173,8 @@ printf "}\n" } > "${tmp}" if grep '""' "${tmp}"; then - echo "empty value detected, out of space?" >&2 - exit "1" + echo "empty value detected, out of space?" >&2 + exit "1" fi mv "${tmp}" "${file}" diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix index 9f00f3fa8ba..8a5e5d8f5f5 100644 --- a/pkgs/applications/science/electronics/kicad/versions.nix +++ b/pkgs/applications/science/electronics/kicad/versions.nix @@ -3,19 +3,19 @@ { "kicad" = { kicadVersion = { - version = "5.1.8"; + version = "5.1.9"; src = { - rev = "db9833491010954bc27fac92c83d2864bd95c23c"; - sha256 = "08ni9j2lw2hjc1csk6rkydcxwdal6da17ch60zkjij5vfsif2hix"; + rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5"; + sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky"; }; }; libVersion = { - version = "5.1.8"; + version = "5.1.9"; libSources = { - i18n.rev = "78adcd19e7ed53f4889d6db65a33dd8ec2d323e9"; - i18n.sha256 = "0x0w2m6d3xfm22y4anp5j2j67iwzby149ynj6qjlw2kcsi8kwk1j"; - symbols.rev = "bf475af94877e8fd9cf80e667578ff61835e02bb"; - symbols.sha256 = "1ii3r813653ng2ycggnknqx4g3ja7dbm4qyxrf9aq48ws0xkvhx3"; + i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5"; + i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f"; + symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726"; + symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad"; templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7"; templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs"; footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b"; @@ -27,25 +27,25 @@ }; "kicad-unstable" = { kicadVersion = { - version = "2020-12-01"; + version = "2020-12-23"; src = { - rev = "3c521942ed52e83482c82d426170b4fbf327f846"; - sha256 = "sha256:09qab69sy3n44kjlzxxx7gbksyr1kg8n14kz0zf8n71zfcqagci4"; + rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3"; + sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah"; }; }; libVersion = { - version = "2020-12-01"; + version = "2020-12-23"; libSources = { i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0"; - i18n.sha256 = "sha256:04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl"; + i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl"; symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb"; - symbols.sha256 = "sha256:117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi"; + symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi"; templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954"; - templates.sha256 = "sha256:13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk"; + templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk"; footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe"; - footprints.sha256 = "sha256:1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw"; + footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw"; packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f"; - packages3d.sha256 = "sha256:0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd"; + packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd"; }; }; }; diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix index 09ead07dc09..ba7ac5505e4 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.15.0"; + version = "3.16.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "qalculate-gtk"; rev = "v${version}"; - sha256 = "1w0r9vv1h3zbfdvk8965g5plfkz5clf81riil5b394ms9vsw0bx5"; + sha256 = "1vqzrh5zxwfvih6c3lak0wkkw6bajl88xzl1zk84gxsk9wdymrk4"; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix index 35b2500c7c9..a30afa1ce68 100644 --- a/pkgs/applications/terminal-emulators/wezterm/default.nix +++ b/pkgs/applications/terminal-emulators/wezterm/default.nix @@ -1,4 +1,5 @@ -{ rustPlatform +{ stdenv +, rustPlatform , lib , fetchFromGitHub @@ -8,6 +9,11 @@ , openssl , perl +# Apple frameworks +, CoreGraphics +, Cocoa +, Foundation + , dbus , libX11 , xcbutil @@ -25,6 +31,10 @@ }: let runtimeDeps = [ + zlib + fontconfig + freetype + ] ++ stdenv.lib.optionals (stdenv.isLinux) [ libX11 xcbutil libxcb @@ -33,13 +43,14 @@ let libxkbcommon dbus libglvnd - zlib egl-wayland wayland libGLU libGL - fontconfig - freetype + ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ + Foundation + CoreGraphics + Cocoa ]; pname = "wezterm"; in @@ -67,10 +78,21 @@ rustPlatform.buildRustPackage { buildInputs = runtimeDeps; installPhase = '' + '' + stdenv.lib.optionalString stdenv.isLinux '' for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact install -D $releaseDir/$artifact -t $out/bin done + '' + stdenv.lib.optionalString stdenv.isDarwin '' + mkdir -p "$out/Applications" + OUT_APP="$out/Applications/WezTerm.app" + cp -r assets/macos/WezTerm.app "$OUT_APP" + rm $OUT_APP/*.dylib + cp -r assets/shell-integration/* "$OUT_APP" + cp $releaseDir/wezterm "$OUT_APP" + cp $releaseDir/wezterm-mux-server "$OUT_APP" + cp $releaseDir/wezterm-gui "$OUT_APP" + cp $releaseDir/strip-ansi-escapes "$OUT_APP" ''; # prevent further changes to the RPATH diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix index 2743d4f827f..6c97d153661 100644 --- a/pkgs/applications/version-management/tortoisehg/default.nix +++ b/pkgs/applications/version-management/tortoisehg/default.nix @@ -4,16 +4,16 @@ let tortoisehgSrc = fetchurl rec { meta.name = "tortoisehg-${meta.version}"; - meta.version = "5.2.1"; - url = "https://bitbucket.org/tortoisehg/thg/get/14221e991a5b623e0072d3bd340b759dbe9072ca.tar.gz"; - sha256 = "01rpzf5z99izcdda1ps9bhqvhw6qghagd8c1y7x19rv223zi05dv"; + meta.version = "5.6"; + url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${meta.version}.tar.gz"; + sha256 = "031bafj88wggpvw0lgvl0djhlbhs9nls9vzwvni8yn0m0bgzc9gr"; }; tortoiseMercurial = mercurial.overridePythonAttrs (old: rec { inherit (tortoisehgSrc.meta) version; src = fetchurl { url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz"; - sha256 = "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q"; + sha256 = "1hk2y30zzdnlv8f71kabvh0xi9c7qhp28ksh20vpd0r712sv79yz"; }; }); diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix index 9245bdf03e4..ede47ad061f 100644 --- a/pkgs/applications/video/openshot-qt/default.nix +++ b/pkgs/applications/video/openshot-qt/default.nix @@ -55,8 +55,5 @@ mkDerivationWith python3Packages.buildPythonApplication rec { license = with licenses; gpl3Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = with platforms; unix; - # Cannot use a newer Qt (5.15) version because it requires qtwebkit - # and our qtwebkit fails to build with 5.15. 01bcfd3579219d60e5d07df309a000f96b2b658b - broken = true; }; } diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix index 1b6084a1d2f..1ab7a5266a2 100644 --- a/pkgs/applications/video/openshot-qt/libopenshot.nix +++ b/pkgs/applications/video/openshot-qt/libopenshot.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, fetchpatch , pkgconfig, cmake, doxygen , libopenshot-audio, imagemagick, ffmpeg_3 , swig, python3 @@ -19,7 +19,15 @@ stdenv.mkDerivation rec { sha256 = "1mxjkgjmjzgf628y3rscc6rqf55hxgjpmvwxlncfk1216i5xskwp"; }; - patchPhase = '' + patches = [ + (fetchpatch { + name = "fix-build-with-gcc-10.patch"; + url = "https://github.com/OpenShot/libopenshot/commit/13290364e7bea54164ab83d973951f2898ad9e23.diff"; + sha256 = "0i7rpdsr8y9dphil8yq75qbh20vfqjc2hp5ahv0ws58z9wj6ngnz"; + }) + ]; + + postPatch = '' sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt sed -i 's/{_REL_PYTHON_MODULE_PATH}/ENV{_REL_PYTHON_MODULE_PATH}/g' src/bindings/python/CMakeLists.txt export _REL_PYTHON_MODULE_PATH=$(toPythonPath $out) diff --git a/pkgs/applications/virtualization/nvidia-docker/default.nix b/pkgs/applications/virtualization/nvidia-docker/default.nix index 6dfe3fb874e..3f75e36ccae 100644 --- a/pkgs/applications/virtualization/nvidia-docker/default.nix +++ b/pkgs/applications/virtualization/nvidia-docker/default.nix @@ -62,7 +62,10 @@ stdenv.mkDerivation rec { buildPhase = '' mkdir bin + cp nvidia-docker bin + substituteInPlace bin/nvidia-docker --subst-var-by VERSION ${version} + cp ${libnvidia-container}/bin/nvidia-container-cli bin cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 276c7cd1bdb..ae97d569133 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -35,7 +35,6 @@ system, # Note: This is the cross system we're compiling for }: -# WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future. let mkDbExtraCommand = contents: let diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index a3136839122..ddd15065663 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -203,10 +203,6 @@ runCommand --subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \ --subst-var-by prog "$emacs/Applications/Emacs.app/Contents/MacOS/Emacs" chmod +x $out/Applications/Emacs.app/Contents/MacOS/Emacs - - makeWrapper $emacs/Applications/Emacs.app/Contents/MacOS/Emacs $out/Applications/Emacs.app/Contents/MacOS/Emacs \ - --suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:" \ - --suffix EMACSNATIVELOADPATH ":" "$deps/share/emacs/native-lisp:" fi mkdir -p $out/share diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix index 7f0c7c4f621..bf19768ad22 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix @@ -44,7 +44,6 @@ , libsecret , libcap_ng , numactl -, xen , libapparmor , json-glib , webkitgtk @@ -117,7 +116,6 @@ stdenv.mkDerivation rec { tracker-miners vte webkitgtk - xen yajl ]; diff --git a/pkgs/development/compilers/cakelisp/default.nix b/pkgs/development/compilers/cakelisp/default.nix new file mode 100644 index 00000000000..500c15a2aaa --- /dev/null +++ b/pkgs/development/compilers/cakelisp/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, gcc }: + +stdenv.mkDerivation rec { + pname = "cakelisp"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "makuto"; + repo = "cakelisp"; + rev = "v${version}"; + sha256 = "126va59jy7rvy6c2wrf8j44m307f2d8jixqkc49s9wllxprj1dmg"; + }; + + buildInputs = [ gcc ]; + + postPatch = '' + substituteInPlace runtime/HotReloading.cake \ + --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' + substituteInPlace src/ModuleManager.cpp \ + --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' + '' + stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace Build.sh --replace '--export-dynamic' '-export_dynamic' + substituteInPlace runtime/HotReloading.cake --replace '--export-dynamic' '-export_dynamic' + substituteInPlace Bootstrap.cake --replace '--export-dynamic' '-export_dynamic' + ''; + + buildPhase = '' + ./Build.sh + ''; + + installPhase = '' + install -Dm755 bin/cakelisp -t $out/bin + ''; + + meta = with stdenv.lib; { + description = "A performance-oriented Lisp-like language"; + homepage = "https://github.com/makuto/cakelisp"; + license = licenses.gpl3Plus; + platforms = platforms.darwin ++ platforms.linux; + maintainers = [ maintainers.sbond75 ]; + }; +} diff --git a/pkgs/development/compilers/computecpp/default.nix b/pkgs/development/compilers/computecpp/default.nix index 7cfc60f050e..acdcc2014f8 100644 --- a/pkgs/development/compilers/computecpp/default.nix +++ b/pkgs/development/compilers/computecpp/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "computecpp"; - version = "2.2.1"; + version = "2.3.0"; src = fetchzip { url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/x86_64-linux-gnu.tar.gz"; - hash = "sha256-niXNWbkXjd35col6dS66HdxFurXfJw/Xb2c5njukxcg="; + hash = "sha256-AUHSls4BOX20PVKzDAp3RqpeRDwgbgYzz6CRvRN+kdk="; stripRoot = true; }; diff --git a/pkgs/development/libraries/doctest/default.nix b/pkgs/development/libraries/doctest/default.nix index d647d5f3888..43ca46ce551 100644 --- a/pkgs/development/libraries/doctest/default.nix +++ b/pkgs/development/libraries/doctest/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "doctest"; - version = "2.4.1"; + version = "2.4.4"; src = fetchFromGitHub { owner = "onqtam"; repo = "doctest"; rev = version; - sha256 = "17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w"; + hash = "sha256-NqXC5948prTCi4gsaR8bJPBTrmH+rJbHsGvwkJlpjXY="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 067d62a11a2..6f1626a0abe 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -34,7 +34,9 @@ stdenv.mkDerivation rec { sha256 = "00d4sxq63601lzdp2ha1i8fvybh7dzih4531jh8bx07fab3sw65g"; }) # Disable python tests on Darwin as they use gpg (see configureFlags below) - ] ++ lib.optional stdenv.isDarwin ./disable-python-tests.patch; + ] ++ lib.optional stdenv.isDarwin ./disable-python-tests.patch + # Fix _AC_UNDECLARED_WARNING for autoconf≥2.70. See https://lists.gnupg.org/pipermail/gnupg-devel/2020-November/034643.html + ++ lib.optional stdenv.cc.isClang ./fix-clang-autoconf-undeclared-warning.patch; outputs = [ "out" "dev" "info" ]; outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool diff --git a/pkgs/development/libraries/gpgme/fix-clang-autoconf-undeclared-warning.patch b/pkgs/development/libraries/gpgme/fix-clang-autoconf-undeclared-warning.patch new file mode 100644 index 00000000000..2d08f982ce6 --- /dev/null +++ b/pkgs/development/libraries/gpgme/fix-clang-autoconf-undeclared-warning.patch @@ -0,0 +1,36 @@ +diff -Naur gpgme.old/configure.ac gpgme.new/configure.ac +--- gpgme.old/configure.ac 2020-11-12 04:19:50.000000000 -0500 ++++ gpgme.new/configure.ac 2021-01-08 03:04:38.000000000 -0500 +@@ -166,6 +166,16 @@ + mym4_minor mym4_micro) + AC_SUBST(VERSION_NUMBER) + ++# Try to find a thread-safe version of ttyname(). ++gnupg_REPLACE_TTYNAME_R ++if test "$ac_cv_func_ttyname_r" != yes; then ++ AC_MSG_WARN([ ++*** ++*** ttyname() is not thread-safe and ttyname_r() does not exist ++***]) ++fi ++ ++ + # We need to compile and run a program on the build machine. A + # comment in libgpg-error says that the AC_PROG_CC_FOR_BUILD macro in + # the AC archive is broken for autoconf 2.57. Given that there is no +@@ -658,15 +668,6 @@ + + AC_FUNC_FSEEKO + +-# Try to find a thread-safe version of ttyname(). +-gnupg_REPLACE_TTYNAME_R +-if test "$ac_cv_func_ttyname_r" != yes; then +- AC_MSG_WARN([ +-*** +-*** ttyname() is not thread-safe and ttyname_r() does not exist +-***]) +-fi +- + # Try to find a thread-safe version of getenv(). + have_thread_safe_getenv=no + jm_GLIBC21 diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix index 4984d95ffa4..11051f70e44 100644 --- a/pkgs/development/libraries/libfprint/default.nix +++ b/pkgs/development/libraries/libfprint/default.nix @@ -44,6 +44,8 @@ stdenv.mkDerivation rec { nss ]; + NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds"; + mesonFlags = [ "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d" ]; diff --git a/pkgs/development/libraries/libplacebo/default.nix b/pkgs/development/libraries/libplacebo/default.nix index ac8552fa9ef..7d120f604d8 100644 --- a/pkgs/development/libraries/libplacebo/default.nix +++ b/pkgs/development/libraries/libplacebo/default.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation rec { pname = "libplacebo"; version = "2.72.2"; + patches = [ + ./glsl-import.patch + ]; + src = fetchFromGitLab { domain = "code.videolan.org"; owner = "videolan"; diff --git a/pkgs/development/libraries/libplacebo/glsl-import.patch b/pkgs/development/libraries/libplacebo/glsl-import.patch new file mode 100644 index 00000000000..f2ef362c65b --- /dev/null +++ b/pkgs/development/libraries/libplacebo/glsl-import.patch @@ -0,0 +1,13 @@ +diff --git a/src/glsl/glslang.cc b/src/glsl/glslang.cc +index f701acc..c64cbf5 100644 +--- a/src/glsl/glslang.cc ++++ b/src/glsl/glslang.cc +@@ -26,7 +26,7 @@ extern "C" { + + #include <glslang/Include/ResourceLimits.h> + #include <glslang/Public/ShaderLang.h> +-#include <SPIRV/GlslangToSpv.h> ++#include <glslang/SPIRV/GlslangToSpv.h> + + #include "glslang.h" + diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix index bc142b0a57c..b61bcd03027 100644 --- a/pkgs/development/libraries/libqalculate/default.nix +++ b/pkgs/development/libraries/libqalculate/default.nix @@ -3,19 +3,20 @@ stdenv.mkDerivation rec { pname = "libqalculate"; - version = "3.14.0"; + version = "3.16.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "libqalculate"; rev = "v${version}"; - sha256 = "1j4sr9s7152xmci677pnz64spv8s3ia26fbp5cqx8ydv7swlivh2"; + sha256 = "0nrf03q3qrsvxf6kjpv69l49yfal79834a3jv75mzi6y674ach9g"; }; outputs = [ "out" "dev" "doc" ]; nativeBuildInputs = [ intltool pkgconfig autoreconfHook doxygen ]; buildInputs = [ curl gettext libiconv readline ]; + configureFlags = ["--with-readline=${readline.dev}"]; propagatedBuildInputs = [ libxml2 mpfr icu ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libschrift/default.nix b/pkgs/development/libraries/libschrift/default.nix new file mode 100644 index 00000000000..a06f6c50d66 --- /dev/null +++ b/pkgs/development/libraries/libschrift/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "libschrift"; + version = "0.9.1"; + + src = fetchFromGitHub { + owner = "tomolt"; + repo = pname; + rev = "c6d20460d6e602e8829d3a227fd7be4c4c3cda86"; + hash = "sha256-BuTmWaWFZ0DXujlbhbmK3Woit8fR9F4DWmKszHX6gOI="; + }; + + postPatch = '' + substituteInPlace config.mk \ + --replace "PREFIX = /usr/local" "PREFIX = $out" + ''; + + makeFlags = [ "libschrift.a" ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/tomolt/libschrift"; + description = "A lightweight TrueType font rendering library"; + license = licenses.isc; + platforms = platforms.all; + maintainers = [ maintainers.sternenseemann ]; + }; +} diff --git a/pkgs/development/libraries/qmltermwidget/default.nix b/pkgs/development/libraries/qmltermwidget/default.nix index ac258457311..53e83182c2b 100644 --- a/pkgs/development/libraries/qmltermwidget/default.nix +++ b/pkgs/development/libraries/qmltermwidget/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmake, qtmultimedia, utmp }: +{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmake, qtmultimedia, utmp, fetchpatch }: stdenv.mkDerivation { version = "2018-11-24"; @@ -15,7 +15,15 @@ stdenv.mkDerivation { ++ stdenv.lib.optional stdenv.isDarwin utmp; nativeBuildInputs = [ qmake ]; - patchPhase = '' + patches = [ + (fetchpatch { + name = "fix-missing-includes.patch"; + url = "https://github.com/Swordfish90/qmltermwidget/pull/27/commits/485f8d6d841b607ba49e55a791f7f587e4e193bc.diff"; + sha256 = "186s8pv3642vr4lxsds919h0y2vrkl61r7wqq9mc4a5zk5vprinj"; + }) + ]; + + postPatch = '' substituteInPlace qmltermwidget.pro \ --replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/" ''; diff --git a/pkgs/development/ocaml-modules/csexp/default.nix b/pkgs/development/ocaml-modules/csexp/default.nix index 0ca09438222..26c064d6ff5 100644 --- a/pkgs/development/ocaml-modules/csexp/default.nix +++ b/pkgs/development/ocaml-modules/csexp/default.nix @@ -4,6 +4,8 @@ buildDunePackage rec { pname = "csexp"; version = "1.3.2"; + useDune2 = true; + minimumOCamlVersion = "4.02.3"; src = fetchurl { diff --git a/pkgs/development/python-modules/advantage-air/default.nix b/pkgs/development/python-modules/advantage-air/default.nix new file mode 100644 index 00000000000..4d6d91c5716 --- /dev/null +++ b/pkgs/development/python-modules/advantage-air/default.nix @@ -0,0 +1,26 @@ +{ aiohttp, buildPythonPackage, fetchPypi, lib, pythonOlder }: + +buildPythonPackage rec { + pname = "advantage_air"; + version = "0.2.2"; + + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit version pname; + sha256 = "04q2sjw9r50c00m4sfv98w9cwmmr970830c97m32p5j8ijb10j5x"; + }; + + propagatedBuildInputs = [ aiohttp ]; + + # No tests + doCheck = false; + pythonImportsCheck = [ "advantage_air" ]; + + meta = with lib; { + description = "API helper for Advantage Air's MyAir and e-zone API"; + homepage = "https://github.com/Bre77/advantage_air"; + license = licenses.mit; + maintainers = with maintainers; [ jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix index de2095bd728..d4bcb9381e8 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.16.50"; # N.B: if you change this, change botocore too + version = "1.16.51"; # N.B: if you change this, change botocore too src = fetchPypi { inherit pname version; - sha256 = "sha256-TVAqhCuB/axLlQ07iKW5BnzhGCE7Eisg9BkgA8sGeYY="; + sha256 = "sha256-EdxJJoLPKk+P85ewoQmDc0Dvk+d8ouZXFc4k7PBDcXw="; }; 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 04690e86f5e..8e4812e868e 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.19.50"; # N.B: if you change this, change boto3 and awscli to a matching version + version = "1.19.51"; # N.B: if you change this, change boto3 and awscli to a matching version src = fetchPypi { inherit pname version; - sha256 = "sha256-cJCQumG7p9+oMbQ31hy0aahSmNjzzluOEs30G9KyvGE="; + sha256 = "sha256-sgTFtHewQ8f2HLpdtHnGsl9oT3QJtxqOzbWms/V7XLQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix index e0ea0e332af..f064c34e158 100644 --- a/pkgs/development/python-modules/libcst/default.nix +++ b/pkgs/development/python-modules/libcst/default.nix @@ -1,5 +1,5 @@ { lib, buildPythonPackage, fetchFromGitHub, pythonOlder, black, isort -, pytestCheckHook, pyyaml, typing-extensions, typing-inspect }: +, pytestCheckHook, pyyaml, typing-extensions, typing-inspect, dataclasses }: buildPythonPackage rec { pname = "libcst"; @@ -16,7 +16,8 @@ buildPythonPackage rec { disabled = pythonOlder "3.6"; - propagatedBuildInputs = [ pyyaml typing-inspect ]; + propagatedBuildInputs = [ pyyaml typing-inspect ] + ++ lib.optional (pythonOlder "3.7") dataclasses; checkInputs = [ black isort pytestCheckHook ]; diff --git a/pkgs/development/python-modules/pydexcom/default.nix b/pkgs/development/python-modules/pydexcom/default.nix new file mode 100644 index 00000000000..f83d3cbf110 --- /dev/null +++ b/pkgs/development/python-modules/pydexcom/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, requests +}: + +buildPythonPackage rec { + pname = "pydexcom"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "gagebenne"; + repo = pname; + rev = version; + sha256 = "19h7r0qbsqd6k6g4nz6z3k9kdmk0sx5zpsrgxwnhsff5fqi0y2ls"; + }; + + propagatedBuildInputs = [ requests ]; + + # tests are interacting with the Dexcom API + doCheck = false; + pythonImportsCheck = [ "pydexcom" ]; + + meta = with lib; { + description = "Python API to interact with Dexcom Share service"; + homepage = "https://github.com/gagebenne/pydexcom"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pylacrosse/default.nix b/pkgs/development/python-modules/pylacrosse/default.nix new file mode 100644 index 00000000000..74b244f5296 --- /dev/null +++ b/pkgs/development/python-modules/pylacrosse/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, mock +, nose +, pyserial +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pylacrosse"; + version = "0.4"; + + src = fetchFromGitHub { + owner = "hthiery"; + repo = "python-lacrosse"; + rev = version; + sha256 = "0g5hqm8lq0gsnvhcydjk54rjf7lpxzph8k7w1nnvnqfbhf31xfcf"; + }; + + propagatedBuildInputs = [ pyserial ]; + + checkInputs = [ + mock + nose + pytestCheckHook + ]; + + pythonImportsCheck = [ "pylacrosse" ]; + + meta = with lib; { + description = "Python library for Jeelink LaCrosse"; + homepage = "https://github.com/hthiery/python-lacrosse"; + license = with licenses; [ lgpl2Plus ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix b/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix index b53b03d26e3..d50491692ef 100644 --- a/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix +++ b/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix @@ -4,13 +4,13 @@ with lib; buildGoModule rec { pname = "fcct"; - version = "0.8.0"; + version = "0.9.0"; src = fetchFromGitHub { owner = "coreos"; repo = "fcct"; rev = "v${version}"; - sha256 = "0w3vhfjpmpahb08fp6czixhlqhk6izglmwdpj2l19ksz8fc8aq54"; + sha256 = "0kdsnsp9nzkkfwakcx64md66yz2k7cpw8bkhdv798yirbrqprgp6"; }; vendorSha256 = null; diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix index 1b59045c6fd..ba3930642b1 100644 --- a/pkgs/development/tools/misc/lttng-ust/default.nix +++ b/pkgs/development/tools/misc/lttng-ust/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, liburcu, python }: +{ stdenv, fetchurl, liburcu, python3 }: # NOTE: # ./configure ... @@ -20,12 +20,12 @@ stdenv.mkDerivation rec { sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86"; }; - buildInputs = [ python ]; + buildInputs = [ python3 ]; preConfigure = '' patchShebangs . ''; - + propagatedBuildInputs = [ liburcu ]; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/nimlsp/default.nix b/pkgs/development/tools/misc/nimlsp/default.nix new file mode 100644 index 00000000000..5795fca457d --- /dev/null +++ b/pkgs/development/tools/misc/nimlsp/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, srcOnly, nim }: +let + astpatternmatching = fetchFromGitHub { + owner = "krux02"; + repo = "ast-pattern-matching"; + rev = "87f7d163421af5a4f5e5cb6da7b93278e6897e96"; + sha256 = "19mb5bb6riia8380p5dpc3q0vwgrj958dd6p7vw8vkvwiqrzg6zq"; + }; + + jsonschema = fetchFromGitHub { + owner = "PMunch"; + repo = "jsonschema"; + rev = "7b41c03e3e1a487d5a8f6b940ca8e764dc2cbabf"; + sha256 = "1js64jqd854yjladxvnylij4rsz7212k31ks541pqrdzm6hpblbz"; + }; +in +stdenv.mkDerivation rec { + pname = "nimlsp"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "PMunch"; + repo = "nimlsp"; + rev = "v${version}"; + sha256 = "13kw3zjh0iqymwqxwhyj8jz6hgswwahf1rjd6iad7c6gcwrrg6yl"; + }; + + nativeBuildInputs = [ nim ]; + + buildPhase = '' + export HOME=$TMPDIR + nim -d:release -p:${astpatternmatching}/src -p:${jsonschema}/src \ + c --threads:on -d:nimcore -d:nimsuggest -d:debugCommunication \ + -d:debugLogging -d:explicitSourcePath=${srcOnly nim.unwrapped} -d:tempDir=/tmp src/nimlsp + ''; + + installPhase = '' + install -Dt $out/bin src/nimlsp + ''; + + meta = with stdenv.lib; { + description = "Language Server Protocol implementation for Nim"; + homepage = "https://github.com/PMunch/nimlsp"; + license = licenses.mit; + platforms = nim.meta.platforms; + maintainers = [ maintainers.marsam ]; + }; +} diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock index 6b6a3a99591..74ae51427a9 100644 --- a/pkgs/development/tools/rubocop/Gemfile.lock +++ b/pkgs/development/tools/rubocop/Gemfile.lock @@ -2,25 +2,25 @@ GEM remote: https://rubygems.org/ specs: ast (2.4.1) - parallel (1.19.2) - parser (2.7.2.0) + parallel (1.20.1) + parser (3.0.0.0) ast (~> 2.4.1) rainbow (3.0.0) - regexp_parser (1.8.2) + regexp_parser (2.0.3) rexml (3.2.4) - rubocop (1.1.0) + rubocop (1.8.0) parallel (~> 1.10) - parser (>= 2.7.1.5) + parser (>= 3.0.0.0) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8) + regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 1.0.1) + rubocop-ast (>= 1.2.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.1.0) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.4.0) parser (>= 2.7.1.5) - ruby-progressbar (1.10.1) - unicode-display_width (1.7.0) + ruby-progressbar (1.11.0) + unicode-display_width (2.0.0) PLATFORMS ruby diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix index c1f55f7aca2..e22424c1ae6 100644 --- a/pkgs/development/tools/rubocop/gemset.nix +++ b/pkgs/development/tools/rubocop/gemset.nix @@ -14,10 +14,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l"; + sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd"; type = "gem"; }; - version = "1.19.2"; + version = "1.20.1"; }; parser = { dependencies = ["ast"]; @@ -25,10 +25,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z"; + sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml"; type = "gem"; }; - version = "2.7.2.0"; + version = "3.0.0.0"; }; rainbow = { groups = ["default"]; @@ -45,10 +45,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm"; + sha256 = "0zm86k9q8m5jkcnpb1f93wsvc57saldfj8czxkx1aw031i95inip"; type = "gem"; }; - version = "1.8.2"; + version = "2.0.3"; }; rexml = { groups = ["default"]; @@ -66,10 +66,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nw87ngw4a9r3dpgykb872zcm640m7k0nk17qv537fmss2hl8shl"; + sha256 = "12arfnsj32126ps6mxbn7dwrw43cy70sq45rm0ib7qfrmhp5qyid"; type = "gem"; }; - version = "1.1.0"; + version = "1.8.0"; }; rubocop-ast = { dependencies = ["parser"]; @@ -77,29 +77,29 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ami6n3vnpm9y5z6wd4c6y2infijajizjjwv8fq0wrcjvr3zivzz"; + sha256 = "1qvfp567aprjgcwj757p55ynj0dx2b3c3hd76za9z3c43sphprcj"; type = "gem"; }; - version = "1.1.0"; + version = "1.4.0"; }; ruby-progressbar = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf"; + sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc"; type = "gem"; }; - version = "1.10.1"; + version = "1.11.0"; }; unicode-display_width = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; + sha256 = "1bilbnc8j6jkb59lrf177i3p1pdyxll0n8400hzqr35vl3r3kv2m"; type = "gem"; }; - version = "1.7.0"; + version = "2.0.0"; }; } \ No newline at end of file diff --git a/pkgs/games/enyo-doom/default.nix b/pkgs/games/enyo-doom/default.nix index 0158dc2b531..7b6655d6464 100644 --- a/pkgs/games/enyo-doom/default.nix +++ b/pkgs/games/enyo-doom/default.nix @@ -20,7 +20,7 @@ mkDerivation rec { meta = { homepage = "https://gitlab.com/sdcofer70/enyo-doom"; description = "Frontend for Doom engines"; - license = stdenv.lib.licenses.gpl2; + license = stdenv.lib.licenses.gpl3Plus; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.tadfisher ]; }; diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 4f24e88ca9e..19122a150d1 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -4453,6 +4453,18 @@ let meta.homepage = "https://github.com/qpkorr/vim-bufkill/"; }; + vim-capslock = buildVimPluginFrom2Nix { + pname = "vim-capslock"; + version = "2021-01-07"; + src = fetchFromGitHub { + owner = "tpope"; + repo = "vim-capslock"; + rev = "84c9e467a7b8e5aabf33674ed17c6356cf98777c"; + sha256 = "1c2fr8s9im3vxrszsrzm6wvad6disbdslmq6lqdp4603ialy4kja"; + }; + meta.homepage = "https://github.com/tpope/vim-capslock/"; + }; + vim-carbon-now-sh = buildVimPluginFrom2Nix { pname = "vim-carbon-now-sh"; version = "2020-10-28"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 237f7faacf3..b1d8b4c1b6a 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -550,6 +550,7 @@ tommcdo/vim-ninja-feet tomtom/tcomment_vim tomtom/tlib_vim tpope/vim-abolish +tpope/vim-capslock tpope/vim-commentary tpope/vim-dadbod tpope/vim-dispatch diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index e51b8c4bb2f..72849c58db8 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -1,25 +1,30 @@ { "4.14": { + "extra": "", "name": "linux-hardened-4.14.213.a.patch", "sha256": "0lkjgg6cbsaiypxij7p00q3y094qf0h172hc2p7wgy39777b45a7", "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.213.a/linux-hardened-4.14.213.a.patch" }, "4.19": { + "extra": ".a", "name": "linux-hardened-4.19.165.a.patch", "sha256": "06v34jaj4jg6f3v05wbkkfnr69ahxqyyq0gam4ma3wgm74x6cf3s", "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.165.a/linux-hardened-4.19.165.a.patch" }, "5.10": { + "extra": ".a", "name": "linux-hardened-5.10.5.a.patch", "sha256": "1fq2n60brhi6wjazkdgj2aqc4maskvlymbznl03hvj0x5kahjxvx", "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.5.a/linux-hardened-5.10.5.a.patch" }, "5.4": { + "extra": ".a", "name": "linux-hardened-5.4.87.a.patch", "sha256": "01hpww6lm00iry8z4z86hh86x66h3xbmxknxhmmhh2zwz6ahkmfd", "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.87.a/linux-hardened-5.4.87.a.patch" }, "5.9": { + "extra": "", "name": "linux-hardened-5.9.16.a.patch", "sha256": "024wdzc9bwgr4nd4z0l6bazcl35jczhsmdl2lb26bvffjwg207rw", "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.9.16.a/linux-hardened-5.9.16.a.patch" diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index d6443d2e751..b831c649109 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -31,7 +31,7 @@ VersionComponent = Union[int, str] Version = List[VersionComponent] -Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str}) +Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str, "extra": str}) @dataclass @@ -99,7 +99,10 @@ def verify_openpgp_signature( return False -def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]: +def fetch_patch(*, name: str, release_info: ReleaseInfo) -> Optional[Patch]: + release = release_info.release + extra = f'.{release_info.version[-1]}' + def find_asset(filename: str) -> str: try: it: Iterator[str] = ( @@ -130,7 +133,7 @@ def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]: if not sig_ok: return None - return Patch(name=patch_filename, url=patch_url, sha256=sha256) + return Patch(name=patch_filename, url=patch_url, sha256=sha256, extra=extra) def parse_version(version_str: str) -> Version: @@ -252,7 +255,7 @@ for kernel_key in sorted(releases.keys()): update = True if update: - patch = fetch_patch(name=name, release=release) + patch = fetch_patch(name=name, release_info=release_info) if patch is None: failures = True else: diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index b0eb2be2a4c..a1a69000710 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -41,7 +41,8 @@ hardened = let mkPatch = kernelVersion: src: { name = lib.removeSuffix ".patch" src.name; - patch = fetchurl src; + patch = fetchurl (lib.filterAttrs (k: v: k != "extra") src); + extra = src.extra; }; patches = builtins.fromJSON (builtins.readFile ./hardened/patches.json); in lib.mapAttrs mkPatch patches; diff --git a/pkgs/os-specific/linux/pcimem/default.nix b/pkgs/os-specific/linux/pcimem/default.nix new file mode 100644 index 00000000000..b559bd98b9c --- /dev/null +++ b/pkgs/os-specific/linux/pcimem/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "pcimem"; + version = "unstable-2018-08-29"; + + src = fetchFromGitHub { + owner = "billfarrow"; + repo = pname; + rev = "09724edb1783a98da2b7ae53c5aaa87493aabc9b"; + sha256 = "0zlbvcl5q4hgna11p3w00px1p8qgn8ga79lh6a2m7d597g86kbq3"; + }; + + outputs = [ "out" "doc" ]; + + makeFlags = [ "CFLAGS=-Wno-maybe-uninitialized" ]; + + installPhase = '' + install -D pcimem "$out/bin/pcimem" + install -D README "$doc/doc/README" + ''; + + meta = with stdenv.lib; { + description = "Simple method of reading and writing to memory registers on a PCI card"; + homepage = "https://github.com/billfarrow/pcimem"; + license = licenses.gpl2Only; + platforms = platforms.linux; + maintainers = with maintainers; [ mafo ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 220645a0b10..5429fa79925 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -11,7 +11,7 @@ "actiontec" = ps: with ps; [ ]; "adguard" = ps: with ps; [ adguardhome ]; "ads" = ps: with ps; [ pyads ]; - "advantage_air" = ps: with ps; [ ]; # missing inputs: advantage_air + "advantage_air" = ps: with ps; [ advantage_air ]; "aftership" = ps: with ps; [ pyaftership ]; "agent_dvr" = ps: with ps; [ ]; # missing inputs: agent-py "air_quality" = ps: with ps; [ ]; @@ -165,7 +165,7 @@ "device_sun_light_trigger" = ps: with ps; [ aiohttp-cors pillow ]; "device_tracker" = ps: with ps; [ ]; "devolo_home_control" = ps: with ps; [ aiohttp-cors zeroconf ]; # missing inputs: devolo-home-control-api - "dexcom" = ps: with ps; [ ]; # missing inputs: pydexcom + "dexcom" = ps: with ps; [ pydexcom ]; "dht" = ps: with ps; [ ]; # missing inputs: Adafruit-DHT "dialogflow" = ps: with ps; [ aiohttp-cors ]; "digital_ocean" = ps: with ps; [ digital-ocean ]; @@ -423,7 +423,7 @@ "konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected "kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky "kwb" = ps: with ps; [ ]; # missing inputs: pykwb - "lacrosse" = ps: with ps; [ ]; # missing inputs: pylacrosse + "lacrosse" = ps: with ps; [ pylacrosse ]; "lametric" = ps: with ps; [ ]; # missing inputs: lmnotify "lannouncer" = ps: with ps; [ ]; "lastfm" = ps: with ps; [ pylast ]; diff --git a/pkgs/servers/misc/oven-media-engine/default.nix b/pkgs/servers/misc/oven-media-engine/default.nix index 7faf8a9cfee..d6bdef68732 100644 --- a/pkgs/servers/misc/oven-media-engine/default.nix +++ b/pkgs/servers/misc/oven-media-engine/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitHub +, fetchpatch , srt , ffmpeg_3_4 , bc @@ -12,6 +13,7 @@ , libopus , srtp , jemalloc +, pcre2 }: let @@ -27,21 +29,30 @@ let in stdenv.mkDerivation rec { pname = "oven-media-engine"; - version = "0.10.8"; + version = "0.10.9-hotfix"; src = fetchFromGitHub { owner = "AirenSoft"; repo = "OvenMediaEngine"; rev = "v${version}"; - sha256 = "ec4yvS+4/rTBHGEx2OP0yoNGDtzPucFOcZJ0o0cCAHg="; + sha256 = "1fhria0vwqsgmsglv5gn858li33vfy2dwy1f1qdd2jwikskb53am"; }; + patches = [ + (fetchpatch { + # Needed to fix compilation under GCC 10. + url = "https://github.com/AirenSoft/OvenMediaEngine/commit/ad83e1d2226445d649e4b7e0c75106e31af4940d.patch"; + sha256 = "1zk1rgi1wsjl6gdx3hdmgxlgindv6a3lsnkwcgi87ga9abw4vafw"; + stripLen = 1; + }) + ]; + sourceRoot = "source/src"; makeFlags = "release CONFIG_LIBRARY_PATHS= CONFIG_PKG_PATHS= GLOBAL_CC=$(CC) GLOBAL_CXX=$(CXX) GLOBAL_LD=$(CXX) SHELL=${stdenv.shell}"; enableParallelBuilding = true; nativeBuildInputs = [ bc pkgconfig perl ]; - buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc ]; + buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 ]; preBuild = '' patchShebangs core/colorg++ @@ -62,7 +73,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Open-source streaming video service with sub-second latency"; homepage = "https://ovenmediaengine.com"; - license = licenses.gpl2; + license = licenses.gpl2Only; maintainers = with maintainers; [ lukegb ]; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/servers/web-apps/jirafeau/default.nix b/pkgs/servers/web-apps/jirafeau/default.nix index 33cde2c5922..b9e31c6d094 100644 --- a/pkgs/servers/web-apps/jirafeau/default.nix +++ b/pkgs/servers/web-apps/jirafeau/default.nix @@ -1,5 +1,4 @@ { stdenv, fetchFromGitLab, writeText }: - let localConfig = writeText "config.local.php" '' <?php @@ -9,13 +8,13 @@ let in stdenv.mkDerivation rec { pname = "jirafeau"; - version = "4.1.1"; + version = "4.3.0"; src = fetchFromGitLab { owner = "mojo42"; repo = "Jirafeau"; rev = version; - sha256 = "09gq5zhynygpqj0skq7ifnn9yjjg7qnc6kjvaas7f53av2707z4c"; + hash = "sha256-9v6rtxViXsolx5AKSp2HxcFyU1XJWFSiqzTBl+dQBD4="; }; installPhase = '' diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 2d13bf8e925..429d1c55c8b 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -5,15 +5,15 @@ , nix, nixfmt, jq, coreutils, gnused, curl, cacert }: stdenv.mkDerivation rec { - version = "2021-01-05"; + version = "2021-01-07"; pname = "oh-my-zsh"; - rev = "86f805280f6a8cf65d8d0a9380489aae4b72f767"; + rev = "c9bf8b4a84d4ae392cf1bdd6a4a7c7c4f7710b92"; src = fetchFromGitHub { inherit rev; owner = "ohmyzsh"; repo = "ohmyzsh"; - sha256 = "1wf4g1z7fvravsp020xdqvczf4kcw1nh3b22djlsgd97n8qgziaz"; + sha256 = "13i4r2bhffdjcln5cml29m9gzw9m39yxcln49h3shpp7s1gl3z4a"; }; installPhase = '' diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index 2a0e5959b91..772c4a2f3b9 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -28,11 +28,11 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli"; - version = "1.18.210"; # N.B: if you change this, change botocore to a matching version too + version = "1.18.211"; # N.B: if you change this, change botocore to a matching version too src = fetchPypi { inherit pname version; - sha256 = "sha256-kt12Dc58UpsdlMen3IeTvRzcZ0HnwArs2q3ojqUBEPw="; + sha256 = "sha256-dkPdr0Q05CjeNg1FKbye4Ndtfakido0wKR22Afls3Mk="; }; postPatch = '' diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix new file mode 100644 index 00000000000..b768e016643 --- /dev/null +++ b/pkgs/tools/audio/mpris-scrobbler/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitHub +, nix-update-script +, curl +, dbus +, libevent +, m4 +, meson +, ninja +, pkg-config +, scdoc +, json_c +, xdg_utils +}: + +stdenv.mkDerivation rec { + pname = "mpris-scrobbler"; + version = "0.4.0.1"; + + src = fetchFromGitHub { + owner = "mariusor"; + repo = "mpris-scrobbler"; + rev = "v${version}"; + sha256 = "0jzmgcb9a19hl8y7iwy8l3cc2vgzi0scw7r5q72kszfyxn0yk2gs"; + }; + + postPatch = '' + substituteInPlace src/signon.c \ + --replace "/usr/bin/xdg-open" "${xdg_utils}/bin/xdg-open" + ''; + + nativeBuildInputs = [ + m4 + meson + ninja + pkg-config + scdoc + ]; + + buildInputs = [ + curl + dbus + json_c + libevent + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with stdenv.lib; { + description = "Minimalistic scrobbler for libre.fm & last.fm"; + homepage = "https://github.com/mariusor/mpris-scrobbler"; + license = licenses.mit; + maintainers = with maintainers; [ emantor ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/misc/bibtex2html/default.nix b/pkgs/tools/misc/bibtex2html/default.nix index ddda4ef4445..6ca528e2b1a 100644 --- a/pkgs/tools/misc/bibtex2html/default.nix +++ b/pkgs/tools/misc/bibtex2html/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ocaml }: +{ stdenv, fetchurl, ocaml, perl }: stdenv.mkDerivation { pname = "bibtex2html"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j"; }; - buildInputs = [ ocaml ]; + buildInputs = [ ocaml perl ]; meta = with stdenv.lib; { description = "A collection of tools for translating from BibTeX to HTML"; diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index d0e032b7c10..1a0c9b2e10c 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -76,8 +76,7 @@ stdenv.mkDerivation (rec { outputs = [ "out" "info" ]; nativeBuildInputs = [ perl xz.bin ] - ++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ] # due to patch - ++ optionals stdenv.hostPlatform.isMusl [ autoreconfHook bison ]; # due to patch + ++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ]; # due to patch configureFlags = [ "--with-packager=https://NixOS.org" ] ++ optional (singleBinary != false) ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}") diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix index a1aff857527..b5269a15867 100644 --- a/pkgs/tools/misc/hdf4/default.nix +++ b/pkgs/tools/misc/hdf4/default.nix @@ -8,7 +8,8 @@ , zlib , szip ? null }: - +let uselibtirpc = stdenv.isLinux; +in stdenv.mkDerivation rec { pname = "hdf"; version = "4.2.15"; @@ -49,12 +50,13 @@ stdenv.mkDerivation rec { buildInputs = [ libjpeg - libtirpc szip zlib + ] ++ stdenv.lib.optionals uselibtirpc [ + libtirpc ]; - preConfigure = '' + preConfigure = stdenv.lib.optionalString uselibtirpc '' # Make tirpc discovery work with CMAKE_PREFIX_PATH substituteInPlace config/cmake/FindXDR.cmake \ --replace 'find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATHS "/usr/include" "/usr/include/tirpc")' \ diff --git a/pkgs/tools/misc/mcrypt/default.nix b/pkgs/tools/misc/mcrypt/default.nix index afbe811e7f2..b2237ce0483 100644 --- a/pkgs/tools/misc/mcrypt/default.nix +++ b/pkgs/tools/misc/mcrypt/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { ./overflow_CVE-2012-4409.patch ./segv.patch ./sprintf_CVE-2012-4527.patch + ./malloc_to_stdlib.patch ]; buildInputs = [ libmcrypt libmhash ]; @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { ever-wider range of algorithms and modes. ''; homepage = "http://mcrypt.sourceforge.net"; - license = stdenv.lib.licenses.gpl2; + license = stdenv.lib.licenses.gpl3Only; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.qknight ]; }; diff --git a/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch b/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch new file mode 100755 index 00000000000..e92f5a46ae7 --- /dev/null +++ b/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch @@ -0,0 +1,26 @@ +From e295844e8ef5c13487996ab700e5f12a7fadb1a6 Mon Sep 17 00:00:00 2001 +From: Nima Vasseghi <nmv@fb.com> +Date: Wed, 30 Dec 2020 16:06:46 -0800 +Subject: [PATCH] malloc.h to stdlib.h in rfc2440.c + +The malloc.h is deprecated and should not be used +--- + src/rfc2440.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rfc2440.c b/src/rfc2440.c +index 5a1f296..4d6a5db 100644 +--- a/src/rfc2440.c ++++ b/src/rfc2440.c +@@ -23,7 +23,7 @@ + #include <zlib.h> + #endif + #include <stdio.h> +-#include <malloc.h> ++#include <stdlib.h> + + #include "xmalloc.h" + #include "keys.h" +-- +2.13.5 + diff --git a/pkgs/tools/misc/tab-rs/default.nix b/pkgs/tools/misc/tab-rs/default.nix new file mode 100644 index 00000000000..e3bd9792c45 --- /dev/null +++ b/pkgs/tools/misc/tab-rs/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, rustPlatform, IOKit }: + +rustPlatform.buildRustPackage rec { + pname = "tab-rs"; + version = "0.5.5"; + + src = fetchFromGitHub { + owner = "austinjones"; + repo = pname; + rev = "v${version}"; + sha256 = "06nip7g5y7jslqj8anvn2z7w1c8yr0gl32bpnzv26xschan4gc2h"; + }; + + cargoSha256 = "1clpl9fi07lms0din8f9m4y6br5jg8k5xsklsqmvgdwf83wyn321"; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; + + # many tests are failing + doCheck = false; + + meta = with stdenv.lib; { + description = "Intuitive, config-driven terminal multiplexer designed for software & systems engineers"; + homepage = "https://github.com/austinjones/tab-rs"; + license = licenses.mit; + maintainers = with maintainers; [ bbigras ]; + }; +} diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 5821bcbe786..eb75ed2d6ba 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -18,11 +18,11 @@ buildPythonPackage rec { # The websites youtube-dl deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2021.01.03"; + version = "2021.01.08"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "0qqixcr748nfhnihkjzayzdja26kgrsds45q5s8krmfm3b79ipli"; + sha256 = "1k870v9xc7g16nvixa272sdjnmc7pl49ymmnn6rdz0mcj2548h3k"; }; nativeBuildInputs = [ installShellFiles makeWrapper ]; diff --git a/pkgs/tools/networking/dsniff/default.nix b/pkgs/tools/networking/dsniff/default.nix index db9c608e931..3a8eab862cb 100644 --- a/pkgs/tools/networking/dsniff/default.nix +++ b/pkgs/tools/networking/dsniff/default.nix @@ -1,6 +1,10 @@ -{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl +{ gcc9Stdenv, lib, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl , rpcsvc-proto, libtirpc, libnsl }: + +# We compile with GCC 9 since GCC 10 segfaults on the code +# (see https://bugzilla.redhat.com/show_bug.cgi?id=1862809). + let /* dsniff's build system unconditionnaly wants static libraries and does not @@ -38,7 +42,7 @@ let inherit (openssl) name; paths = with openssl.override { static = true; }; [ out dev ]; }; -in stdenv.mkDerivation rec { +in gcc9Stdenv.mkDerivation rec { pname = "dsniff"; version = "2.4b1"; # upstream is so old that nearly every distribution packages the beta version. @@ -71,7 +75,7 @@ in stdenv.mkDerivation rec { "--with-openssl=${ssl}" ]; - meta = with stdenv.lib; { + meta = with lib; { description = "collection of tools for network auditing and penetration testing"; longDescription = '' dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a network for interesting data (passwords, e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the interception of network traffic normally unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm implement active monkey-in-the-middle attacks against redirected SSH and HTTPS sessions by exploiting weak bindings in ad-hoc PKI. diff --git a/pkgs/tools/security/subjs/default.nix b/pkgs/tools/security/subjs/default.nix new file mode 100644 index 00000000000..ad10ef5eaf2 --- /dev/null +++ b/pkgs/tools/security/subjs/default.nix @@ -0,0 +1,32 @@ +{ buildGoModule +, fetchFromGitHub +, stdenv +}: + +buildGoModule rec { + pname = "subjs"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "lc"; + repo = pname; + rev = "v${version}"; + sha256 = "01cip5rf35dnh3l325p03y6axyqdpf48ry4zcwiyd7hlfsglbk3j"; + }; + + vendorSha256 = "1y01k8pvv7y9zb15wbk068cvkx0g83484jak2dvcvghqcf5j1fr1"; + + buildFlagsArray = [ "-ldflags=-s -w -X main.AppVersion=${version}" ]; + + meta = with stdenv.lib; { + description = "Fetcher for Javascript files"; + longDescription = '' + subjs fetches Javascript files from a list of URLs or subdomains. + Analyzing Javascript files can help you find undocumented endpoints, + secrets and more. + ''; + homepage = "https://github.com/lc/subjs"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f39e097ec08..fa9f0fe1de5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -813,7 +813,9 @@ in wayst = callPackage ../applications/terminal-emulators/wayst { }; - wezterm = callPackage ../applications/terminal-emulators/wezterm { }; + wezterm = callPackage ../applications/terminal-emulators/wezterm { + inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation; + }; x3270 = callPackage ../applications/terminal-emulators/x3270 { }; @@ -2510,6 +2512,8 @@ in mpd-mpris = callPackage ../tools/audio/mpd-mpris { }; + mpris-scrobbler = callPackage ../tools/audio/mpris-scrobbler { }; + mq-cli = callPackage ../tools/system/mq-cli { }; nextdns = callPackage ../applications/networking/nextdns { }; @@ -4963,7 +4967,9 @@ in ipfs = callPackage ../applications/networking/ipfs { }; ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { }; - ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { }; + ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { + buildGoModule = buildGo114Module; + }; ipget = callPackage ../applications/networking/ipget { }; @@ -6597,6 +6603,8 @@ in pbzip2 = callPackage ../tools/compression/pbzip2 { }; + pcimem = callPackage ../os-specific/linux/pcimem { }; + pciutils = callPackage ../tools/system/pciutils { }; pcsclite = callPackage ../tools/security/pcsclite { @@ -7709,6 +7717,8 @@ in su = shadow.su; + subjs = callPackage ../tools/security/subjs { }; + subsonic = callPackage ../servers/misc/subsonic { }; subfinder = callPackage ../tools/networking/subfinder { }; @@ -7760,6 +7770,10 @@ in tabnine = callPackage ../development/tools/tabnine { }; + tab-rs = callPackage ../tools/misc/tab-rs { + inherit (darwin.apple_sdk.frameworks) IOKit; + }; + t1utils = callPackage ../tools/misc/t1utils { }; talkfilters = callPackage ../misc/talkfilters {}; @@ -9035,6 +9049,8 @@ in gmp-static = gmp.override { withStatic = true; }; }; + cakelisp = callPackage ../development/compilers/cakelisp { }; + ciao = callPackage ../development/compilers/ciao { }; colm = callPackage ../development/compilers/colm { }; @@ -10108,6 +10124,8 @@ in nrpl = callPackage ../development/tools/nrpl { }; + nimlsp = callPackage ../development/tools/misc/nimlsp { }; + neko = callPackage ../development/compilers/neko { }; nextpnr = callPackage ../development/compilers/nextpnr { }; @@ -14815,6 +14833,8 @@ in libs3 = callPackage ../development/libraries/libs3 { }; + libschrift = callPackage ../development/libraries/libschrift { }; + libsearpc = callPackage ../development/libraries/libsearpc { }; libsigcxx = callPackage ../development/libraries/libsigcxx { }; @@ -18998,7 +19018,7 @@ in kernelPatches.tag_hardened kernelPatches.hardened.${kernel.meta.branch} ]; - modDirVersionArg = kernel.modDirVersion + "-hardened"; + modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra + "-hardened"; isHardened = true; }); @@ -20628,6 +20648,8 @@ in appeditor = callPackage ../applications/misc/appeditor { }; + appgate-sdp = callPackage ../applications/networking/appgate-sdp { }; + apostrophe = callPackage ../applications/editors/apostrophe { pythonPackages = python3Packages; }; @@ -21549,7 +21571,7 @@ in geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { }; - ghostwriter = libsForQt514.callPackage ../applications/editors/ghostwriter { }; + ghostwriter = libsForQt5.callPackage ../applications/editors/ghostwriter { }; gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { }; @@ -22284,6 +22306,8 @@ in tiramisu = callPackage ../applications/misc/tiramisu { }; + rootbar = callPackage ../applications/misc/rootbar {}; + waybar = callPackage ../applications/misc/waybar {}; hikari = callPackage ../applications/window-managers/hikari { }; @@ -23520,6 +23544,12 @@ in muchsync = callPackage ../applications/networking/mailreaders/notmuch/muchsync.nix { }; + nufraw = callPackage ../applications/graphics/nufraw/default.nix { }; + + nufraw-thumbnailer = callPackage ../applications/graphics/nufraw/default.nix { + addThumbnailer = true; + }; + notmuch-addrlookup = callPackage ../applications/networking/mailreaders/notmuch-addrlookup { }; nova-filters = callPackage ../applications/audio/nova-filters { }; @@ -25650,7 +25680,19 @@ in zscroll = callPackage ../applications/misc/zscroll {}; - zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; + zynaddsubfx = zyn-fusion; + + zynaddsubfx-fltk = callPackage ../applications/audio/zynaddsubfx { + guiModule = "fltk"; + }; + + zynaddsubfx-ntk = callPackage ../applications/audio/zynaddsubfx { + guiModule = "ntk"; + }; + + zyn-fusion = callPackage ../applications/audio/zynaddsubfx { + guiModule = "zest"; + }; ### BLOCKCHAINS / CRYPTOCURRENCIES / WALLETS @@ -26999,6 +27041,8 @@ in exonerate = callPackage ../applications/science/biology/exonerate { }; + fastp = callPackage ../applications/science/biology/fastp { }; + hisat2 = callPackage ../applications/science/biology/hisat2 { }; htslib = callPackage ../development/libraries/science/biology/htslib { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a1b7f33c626..5ae237047c9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -173,7 +173,9 @@ in { addic7ed-cli = callPackage ../development/python-modules/addic7ed-cli { }; - adguardhome= callPackage ../development/python-modules/adguardhome { }; + adguardhome = callPackage ../development/python-modules/adguardhome { }; + + advantage-air = callPackage ../development/python-modules/advantage-air { }; aenum = callPackage ../development/python-modules/aenum { }; @@ -5155,6 +5157,8 @@ in { pydenticon = callPackage ../development/python-modules/pydenticon { }; + pydexcom = callPackage ../development/python-modules/pydexcom { }; + pydicom = callPackage ../development/python-modules/pydicom { }; pydispatcher = callPackage ../development/python-modules/pydispatcher { }; @@ -5363,6 +5367,8 @@ in { pykwalify = callPackage ../development/python-modules/pykwalify { }; + pylacrosse = callPackage ../development/python-modules/pylacrosse { }; + pylama = callPackage ../development/python-modules/pylama { }; pylast = callPackage ../development/python-modules/pylast { }; |