diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 41018c41728..43c1b669f2c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5261,6 +5261,16 @@ githubId = 938744; name = "John Chadwick"; }; + jcouyang = { + email = "oyanglulu@gmail.com"; + github = "jcouyang"; + githubId = 1235045; + name = "Jichao Ouyang"; + keys = [{ + longkeyid = "rsa2048/0xDA8B833B52604E63"; + fingerprint = "A506 C38D 5CC8 47D0 DF01 134A DA8B 833B 5260 4E63"; + }]; + }; jcumming = { email = "jack@mudshark.org"; github = "jcumming"; diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 7bc55e67134..fe8c4fb1a6b 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -91,6 +91,11 @@ sub hasCPUFeature { } +sub cpuManufacturer { + my $id = shift; + return $cpuinfo =~ /^vendor_id\s*:.* $id$/m; +} + # Determine CPU governor to use if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { @@ -111,6 +116,9 @@ if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { push @kernelModules, "kvm-intel" if hasCPUFeature "vmx"; push @kernelModules, "kvm-amd" if hasCPUFeature "svm"; +push @attrs, "hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;" if cpuManufacturer "AuthenticAMD"; +push @attrs, "hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;" if cpuManufacturer "GenuineIntel"; + # Look at the PCI devices and add necessary modules. Note that most # modules are auto-detected so we don't need to list them here. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5d075d1aa29..9eca0b8d65f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -684,6 +684,7 @@ ./services/network-filesystems/tahoe.nix ./services/network-filesystems/diod.nix ./services/network-filesystems/u9fs.nix + ./services/network-filesystems/webdav.nix ./services/network-filesystems/yandex-disk.nix ./services/network-filesystems/xtreemfs.nix ./services/network-filesystems/ceph.nix diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix index 5ee8c346be1..3cdd7866bd4 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix @@ -47,7 +47,7 @@ in ExecStart = '' ${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \ --nginx.scrape-uri '${cfg.scrapeUri}' \ - --nginx.ssl-verify ${toString cfg.sslVerify} \ + --nginx.ssl-verify ${boolToString cfg.sslVerify} \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ --web.telemetry-path ${cfg.telemetryPath} \ --prometheus.const-labels ${concatStringsSep "," cfg.constLabels} \ diff --git a/nixos/modules/services/network-filesystems/webdav.nix b/nixos/modules/services/network-filesystems/webdav.nix new file mode 100644 index 00000000000..4086a0f5d56 --- /dev/null +++ b/nixos/modules/services/network-filesystems/webdav.nix @@ -0,0 +1,107 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.webdav; + format = pkgs.formats.yaml { }; +in +{ + options = { + services.webdav = { + enable = mkEnableOption "WebDAV server"; + + user = mkOption { + type = types.str; + default = "webdav"; + description = "User account under which WebDAV runs."; + }; + + group = mkOption { + type = types.str; + default = "webdav"; + description = "Group under which WebDAV runs."; + }; + + settings = mkOption { + type = format.type; + default = { }; + description = '' + Attrset that is converted and passed as config file. Available options + can be found at + here. + + This program supports reading username and password configuration + from environment variables, so it's strongly recommended to store + username and password in a separate + EnvironmentFile. + This prevents adding secrets to the world-readable Nix store. + ''; + example = literalExpression '' + { + address = "0.0.0.0"; + port = 8080; + scope = "/srv/public"; + modify = true; + auth = true; + users = [ + { + username = "{env}ENV_USERNAME"; + password = "{env}ENV_PASSWORD"; + } + ]; + } + ''; + }; + + configFile = mkOption { + type = types.path; + default = format.generate "webdav.yaml" cfg.settings; + defaultText = "Config file generated from services.webdav.settings"; + description = '' + Path to config file. If this option is set, it will override any + configuration done in options.services.webdav.settings. + ''; + example = "/etc/webdav/config.yaml"; + }; + + environmentFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Environment file as defined in + systemd.exec5 + . + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.users = mkIf (cfg.user == "webdav") { + webdav = { + description = "WebDAV daemon user"; + isSystemUser = true; + group = cfg.group; + }; + }; + + users.groups = mkIf (cfg.group == "webdav") { + webdav = { }; + }; + + systemd.services.webdav = { + description = "WebDAV server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.webdav}/bin/webdav -c ${cfg.configFile}"; + Restart = "on-failure"; + User = cfg.user; + Group = cfg.group; + EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ]; + }; + }; + }; + + meta.maintainers = with maintainers; [ pengmeiyu ]; +} diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix index 6cd46cdf964..a48566ae068 100644 --- a/nixos/modules/services/x11/display-managers/startx.nix +++ b/nixos/modules/services/x11/display-managers/startx.nix @@ -35,10 +35,7 @@ in config = mkIf cfg.enable { services.xserver = { exportConfiguration = true; - displayManager.job.execCmd = ""; - displayManager.lightdm.enable = lib.mkForce false; }; - systemd.services.display-manager.enable = false; # Other displayManagers log to /dev/null because they're services and put # Xorg's stdout in the journal diff --git a/nixos/modules/services/x11/display-managers/sx.nix b/nixos/modules/services/x11/display-managers/sx.nix index 73d27390a58..e3097736430 100644 --- a/nixos/modules/services/x11/display-managers/sx.nix +++ b/nixos/modules/services/x11/display-managers/sx.nix @@ -26,13 +26,8 @@ in { environment.systemPackages = [ pkgs.sx ]; services.xserver = { exportConfiguration = true; - displayManager = { - job.execCmd = ""; - lightdm.enable = mkForce false; - }; logFile = mkDefault null; }; - systemd.services.display-manager.enable = false; }; meta.maintainers = with maintainers; [ figsoda ]; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index cb620f10b13..24d92573442 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -588,11 +588,22 @@ in config = mkIf cfg.enable { services.xserver.displayManager.lightdm.enable = - let dmconf = cfg.displayManager; - default = !(dmconf.gdm.enable - || dmconf.sddm.enable - || dmconf.xpra.enable ); - in mkIf (default) true; + let dmConf = cfg.displayManager; + default = !(dmConf.gdm.enable + || dmConf.sddm.enable + || dmConf.xpra.enable + || dmConf.sx.enable + || dmConf.startx.enable); + in mkIf (default) (mkDefault true); + + # so that the service won't be enabled when only startx is used + systemd.services.display-manager.enable = + let dmConf = cfg.displayManager; + noDmUsed = !(dmConf.gdm.enable + || dmConf.sddm.enable + || dmConf.xpra.enable + || dmConf.lightdm.enable); + in mkIf (noDmUsed) (mkDefault false); hardware.opengl.enable = mkDefault true; @@ -702,7 +713,8 @@ in rm -f /tmp/.X0-lock ''; - script = "${cfg.displayManager.job.execCmd}"; + # TODO: move declaring the systemd service to its own mkIf + script = mkIf (config.systemd.services.display-manager.enable == true) "${cfg.displayManager.job.execCmd}"; # Stop restarting if the display manager stops (crashes) 2 times # in one minute. Starting X typically takes 3-4s. diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a74792d3d2e..cd13183ed0a 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -230,6 +230,7 @@ in leaps = handleTest ./leaps.nix {}; libinput = handleTest ./libinput.nix {}; libreddit = handleTest ./libreddit.nix {}; + libresprite = handleTest ./libresprite.nix {}; libreswan = handleTest ./libreswan.nix {}; lidarr = handleTest ./lidarr.nix {}; lightdm = handleTest ./lightdm.nix {}; diff --git a/nixos/tests/libresprite.nix b/nixos/tests/libresprite.nix new file mode 100644 index 00000000000..1a6210e3671 --- /dev/null +++ b/nixos/tests/libresprite.nix @@ -0,0 +1,30 @@ +import ./make-test-python.nix ({ pkgs, ... }: { + name = "libresprite"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; + + machine = { config, pkgs, ... }: { + imports = [ + ./common/x11.nix + ]; + + services.xserver.enable = true; + environment.systemPackages = [ + pkgs.imagemagick + pkgs.libresprite + ]; + }; + + enableOCR = true; + + testScript = + '' + machine.wait_for_x() + machine.succeed("convert -font DejaVu-Sans +antialias label:'IT WORKS' image.png") + machine.execute("libresprite image.png >&2 &") + machine.wait_for_window("LibreSprite v${pkgs.libresprite.version}") + machine.wait_for_text("IT WORKS") + machine.screenshot("screen") + ''; +}) diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix index 62bf32eb71d..72f13bdb09b 100644 --- a/pkgs/applications/audio/cadence/default.nix +++ b/pkgs/applications/audio/cadence/default.nix @@ -3,7 +3,7 @@ , coreutils , libjack2 , fetchpatch -, fetchzip +, fetchFromGitHub , jack_capture , pkg-config , pulseaudioFull @@ -20,9 +20,11 @@ mkDerivation rec { version = "0.9.1"; pname = "cadence"; - src = fetchzip { - url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz"; - sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20"; + src = fetchFromGitHub { + owner = "falkTX"; + repo = "Cadence"; + rev = "v${version}"; + sha256 = "sha256-QFC4wiVF8wphhrammxtc+VMZJpXY5OGHs6DNa21+6B8="; }; patches = [ @@ -39,11 +41,11 @@ mkDerivation rec { ]; postPatch = '' - libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0); - substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso - substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \ - "${lib.makeBinPath[pulseaudioFull]}/pulseaudio" - substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso + libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0); + substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso + substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \ + "${lib.makeBinPath[pulseaudioFull]}/pulseaudio" + substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso ''; nativeBuildInputs = [ @@ -54,10 +56,12 @@ mkDerivation rec { qtbase jack_capture pulseaudioFull - ((python3.withPackages (ps: with ps; [ - pyqt5 - dbus-python - ]))) + ( + (python3.withPackages (ps: with ps; [ + pyqt5 + dbus-python + ])) + ) ]; makeFlags = [ @@ -68,31 +72,37 @@ mkDerivation rec { dontWrapQtApps = true; # Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise. - preFixup = let - outRef = placeholder "out"; - prefix = "${outRef}/share/cadence/src"; - scriptAndSource = lib.mapAttrs' (script: source: - lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source) - ) { - "cadence" = "cadence.py"; - "claudia" = "claudia.py"; - "catarina" = "catarina.py"; - "catia" = "catia.py"; - "cadence-jacksettings" = "jacksettings.py"; - "cadence-aloop-daemon" = "cadence_aloop_daemon.py"; - "cadence-logs" = "logs.py"; - "cadence-render" = "render.py"; - "claudia-launcher" = "claudia_launcher.py"; - "cadence-session-start" = "cadence_session_start.py"; - }; - in lib.mapAttrsToList (script: source: '' - rm -f ${script} - makeQtWrapper ${source} ${script} \ - --prefix PATH : "${lib.makeBinPath [ - jack_capture # cadence-render - pulseaudioFull # cadence, cadence-session-start - ]}" - '') scriptAndSource; + preFixup = + let + outRef = placeholder "out"; + prefix = "${outRef}/share/cadence/src"; + scriptAndSource = lib.mapAttrs' + (script: source: + lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source) + ) + { + "cadence" = "cadence.py"; + "claudia" = "claudia.py"; + "catarina" = "catarina.py"; + "catia" = "catia.py"; + "cadence-jacksettings" = "jacksettings.py"; + "cadence-aloop-daemon" = "cadence_aloop_daemon.py"; + "cadence-logs" = "logs.py"; + "cadence-render" = "render.py"; + "claudia-launcher" = "claudia_launcher.py"; + "cadence-session-start" = "cadence_session_start.py"; + }; + in + lib.mapAttrsToList + (script: source: '' + rm -f ${script} + makeQtWrapper ${source} ${script} \ + --prefix PATH : "${lib.makeBinPath [ + jack_capture # cadence-render + pulseaudioFull # cadence, cadence-session-start + ]}" + '') + scriptAndSource; meta = { homepage = "https://github.com/falkTX/Cadence/"; diff --git a/pkgs/applications/audio/hybridreverb2/default.nix b/pkgs/applications/audio/hybridreverb2/default.nix index 3254a94ef10..b83eb591d81 100644 --- a/pkgs/applications/audio/hybridreverb2/default.nix +++ b/pkgs/applications/audio/hybridreverb2/default.nix @@ -1,6 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, fetchzip, cmake, pkg-config, lv2, alsa-lib, libjack2, - freetype, libX11, gtk3, pcre, libpthreadstubs, libXdmcp, libxkbcommon, - libepoxy, at-spi2-core, dbus, curl, fftwFloat }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, lv2 +, alsa-lib +, libjack2 +, freetype +, libX11 +, gtk3 +, pcre +, libpthreadstubs +, libXdmcp +, libxkbcommon +, epoxy +, at-spi2-core +, dbus +, curl +, fftwFloat +}: let pname = "HybridReverb2"; @@ -10,11 +28,13 @@ let in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + inherit pname version; - impulseDB = fetchzip { - url = "https://github.com/${owner}/${pname}-impulse-response-database/archive/v${DBversion}.zip"; - sha256 = "1hlfxbbkahm1k2sk3c3n2mjaz7k80ky3r55xil8nfbvbv0qan89z"; + impulseDB = fetchFromGitHub { + inherit owner; + repo = "HybridReverb2-impulse-response-database"; + rev = "v${DBversion}"; + sha256 = "sha256-PyGrMNhrL2cRjb2UPPwEaJ6vZBV2sDG1mKFCNdfqjsI="; }; src = fetchFromGitHub { @@ -26,8 +46,23 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ lv2 alsa-lib libjack2 freetype libX11 gtk3 pcre - libpthreadstubs libXdmcp libxkbcommon libepoxy at-spi2-core dbus curl fftwFloat ]; + buildInputs = [ + lv2 + alsa-lib + libjack2 + freetype + libX11 + gtk3 + pcre + libpthreadstubs + libXdmcp + libxkbcommon + epoxy + at-spi2-core + dbus + curl + fftwFloat + ]; cmakeFlags = [ "-DHybridReverb2_AdvancedJackStandalone=ON" diff --git a/pkgs/applications/audio/hydrogen/0.nix b/pkgs/applications/audio/hydrogen/0.nix index ad3566571b0..aa182165786 100644 --- a/pkgs/applications/audio/hydrogen/0.nix +++ b/pkgs/applications/audio/hydrogen/0.nix @@ -1,19 +1,41 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake -, alsa-lib, boost, glib, lash, libjack2, libarchive, libsndfile, lrdf, qt4 +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, cmake +, alsa-lib +, boost +, glib +, lash +, libjack2 +, libarchive +, libsndfile +, lrdf +, qt4 }: stdenv.mkDerivation rec { version = "0.9.7"; pname = "hydrogen"; - src = fetchurl { - url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz"; - sha256 = "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy"; + src = fetchFromGitHub { + owner = "hydrogen-music"; + repo = "hydrogen"; + rev = version; + sha256 = "sha256-6ycNUcumtAEl/6XbIpW6JglGv4nNOdMrOJ1nvJg3z/c="; }; nativeBuildInputs = [ pkg-config cmake ]; buildInputs = [ - alsa-lib boost glib lash libjack2 libarchive libsndfile lrdf qt4 + alsa-lib + boost + glib + lash + libjack2 + libarchive + libsndfile + lrdf + qt4 ]; meta = with lib; { diff --git a/pkgs/applications/audio/ladspa-plugins/default.nix b/pkgs/applications/audio/ladspa-plugins/default.nix index fe8e9f323a5..491a18bba3e 100644 --- a/pkgs/applications/audio/ladspa-plugins/default.nix +++ b/pkgs/applications/audio/ladspa-plugins/default.nix @@ -1,18 +1,28 @@ -{ lib, stdenv, fetchurl, autoreconfHook, automake, fftw, ladspaH, libxml2, pkg-config -, perlPackages }: +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, automake +, fftw +, ladspaH +, libxml2 +, pkg-config +, perlPackages +}: stdenv.mkDerivation rec { pname = "swh-plugins"; version = "0.4.17"; - - src = fetchurl { - url = "https://github.com/swh/ladspa/archive/v${version}.tar.gz"; - sha256 = "1rqwh8xrw6hnp69dg4gy336bfbfpmbx4fjrk0nb8ypjcxkz91c6i"; + src = fetchFromGitHub { + owner = "swh"; + repo = "ladspa"; + rev = "v${version}"; + sha256 = "sha256-eOtIhNcuItREUShI8JRlBVKfMfovpdfIYu+m37v4KLE="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ fftw ladspaH libxml2 perlPackages.perl perlPackages.XMLParser ]; + buildInputs = [ fftw ladspaH libxml2 perlPackages.perl perlPackages.XMLParser ]; patchPhase = '' patchShebangs . diff --git a/pkgs/applications/audio/swh-lv2/default.nix b/pkgs/applications/audio/swh-lv2/default.nix index f2b71c1ce29..338877d2be2 100644 --- a/pkgs/applications/audio/swh-lv2/default.nix +++ b/pkgs/applications/audio/swh-lv2/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, fftwSinglePrec, libxslt, lv2, pkg-config }: +{ lib, stdenv, fetchFromGitHub, fftwSinglePrec, libxslt, lv2, pkg-config }: stdenv.mkDerivation rec { pname = "swh-lv2"; version = "1.0.16"; - src = fetchurl { - url = "https://github.com/swh/lv2/archive/v${version}.tar.gz"; - sha256 = "0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w"; + src = fetchFromGitHub { + owner = "swh"; + repo = "lv2"; + rev = "v${version}"; + sha256 = "sha256-v6aJUWDbBZEmz0v6+cSCi/KhOYNUeK/MJLUSgzi39ng="; }; patchPhase = '' diff --git a/pkgs/applications/blockchains/alfis/default.nix b/pkgs/applications/blockchains/alfis/default.nix index e1fd262eb77..ee64b7907aa 100644 --- a/pkgs/applications/blockchains/alfis/default.nix +++ b/pkgs/applications/blockchains/alfis/default.nix @@ -1,18 +1,29 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, withGui ? true -, webkitgtk, Cocoa, WebKit, zenity, makeWrapper }: +{ stdenv +, lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, makeWrapper +, webkitgtk +, zenity +, Cocoa +, Security +, WebKit +, withGui ? true +}: rustPlatform.buildRustPackage rec { pname = "alfis"; - version = "0.6.5"; + version = "0.6.9"; src = fetchFromGitHub { owner = "Revertron"; repo = "Alfis"; rev = "v${version}"; - sha256 = "1g95yvkvlj78bqrk3p2xbhrmg1hrlgbyr1a4s7vg45y60zys2c2j"; + sha256 = "1nnzy46hp1q9kcxzjx24d60frjhn3x46nksbqvdfcfrfn5pqrabh"; }; - cargoSha256 = "1n7kb1lyghpkgdgd58pw8ldvfps30rnv5niwx35pkdg74h59hqgj"; + cargoSha256 = "02liz8sqnqla77bqxfa8hj93qfj2x482q2bijz66rmazfig3b045"; checkFlags = [ # these want internet access, disable them @@ -21,11 +32,14 @@ rustPlatform.buildRustPackage rec { ]; nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = lib.optional (withGui && stdenv.isLinux) webkitgtk + buildInputs = lib.optional stdenv.isDarwin Security + ++ lib.optional (withGui && stdenv.isLinux) webkitgtk ++ lib.optionals (withGui && stdenv.isDarwin) [ Cocoa WebKit ]; buildNoDefaultFeatures = true; - buildFeatures = lib.optional withGui "webgui"; + buildFeatures = [ + "doh" + ] ++ lib.optional withGui "webgui"; postInstall = lib.optionalString (withGui && stdenv.isLinux) '' wrapProgram $out/bin/alfis \ diff --git a/pkgs/applications/blockchains/particl-core/default.nix b/pkgs/applications/blockchains/particl-core/default.nix index d5838a4f4f2..c9fb1a45869 100644 --- a/pkgs/applications/blockchains/particl-core/default.nix +++ b/pkgs/applications/blockchains/particl-core/default.nix @@ -1,8 +1,9 @@ -{ lib, stdenv +{ lib +, stdenv , autoreconfHook , boost , db48 -, fetchurl +, fetchFromGitHub , libevent , miniupnpc , openssl @@ -19,9 +20,11 @@ stdenv.mkDerivation rec { pname = "particl-core"; version = "0.19.2.14"; - src = fetchurl { - url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz"; - sha256 = "sha256-UMU3384r4RGVl0/7OPwdDva09vhQr+9Lqb1oD/PTva8="; + src = fetchFromGitHub { + owner = "particl"; + repo = "particl-core"; + rev = "v${version}"; + sha256 = "sha256-gJLEMfEvQ35xjKt8iN/FXi2T/GBMSS7eUqOC8XHKPBg="; }; nativeBuildInputs = [ pkg-config autoreconfHook ]; @@ -41,7 +44,7 @@ stdenv.mkDerivation rec { meta = { description = "Privacy-Focused Marketplace & Decentralized Application Platform"; - longDescription= '' + longDescription = '' An open source, decentralized privacy platform built for global person to person eCommerce. RPC daemon and CLI client only. ''; diff --git a/pkgs/applications/editors/libresprite/default.nix b/pkgs/applications/editors/libresprite/default.nix new file mode 100644 index 00000000000..18fbf566876 --- /dev/null +++ b/pkgs/applications/editors/libresprite/default.nix @@ -0,0 +1,111 @@ +{ lib +, stdenv +, fetchFromGitHub + +, cmake +, pkg-config +, ninja +, gtest + +, curl +, freetype +, giflib +, libjpeg +, libpng +, libwebp +, pixman +, tinyxml +, zlib +, SDL2 +, SDL2_image +, lua +, AppKit +, Cocoa +, Foundation + +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "libresprite"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "LibreSprite"; + repo = "LibreSprite"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "sha256-d8GmVHYomDb74iSeEhJEVTHvbiVXggXg7xSqIKCUSzY="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ninja + gtest + ]; + + buildInputs = [ + curl + freetype + giflib + libjpeg + libpng + libwebp + pixman + tinyxml + zlib + SDL2 + SDL2_image + lua + # no v8 due to missing libplatform and libbase + ] ++ lib.optionals stdenv.isDarwin [ + AppKit + Cocoa + Foundation + ]; + + cmakeFlags = [ + "-DWITH_DESKTOP_INTEGRATION=ON" + "-DWITH_WEBP_SUPPORT=ON" + ]; + + hardeningDisable = lib.optional stdenv.isDarwin "format"; + + # Install mime icons. Note that the mimetype is still "x-aseprite" + postInstall = '' + src="$out/share/libresprite/data/icons" + for size in 16 32 48 64; do + dst="$out"/share/icons/hicolor/"$size"x"$size" + install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/aseprite.png + done + ''; + + passthru.tests = { + libresprite-can-open-png = nixosTests.libresprite; + }; + + meta = with lib; { + homepage = "https://libresprite.github.io/"; + description = "Animated sprite editor & pixel art tool, fork of Aseprite"; + license = licenses.gpl2Only; + longDescription = + ''LibreSprite is a program to create animated sprites. Its main features are: + + - Sprites are composed by layers & frames (as separated concepts). + - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. + - Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA). + - Export/import animations to/from Sprite Sheets. + - Tiled drawing mode, useful to draw patterns and textures. + - Undo/Redo for every operation. + - Real-time animation preview. + - Multiple editors support. + - Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. + - Onion skinning. + ''; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + # https://github.com/LibreSprite/LibreSprite/issues/308 + broken = stdenv.isDarwin && stdenv.isAarch64; + }; +} diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index d1447b864ef..082979605f7 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -57,7 +57,7 @@ in homepage = "https://code.visualstudio.com/"; downloadPage = "https://code.visualstudio.com/Updates"; license = licenses.unfree; - maintainers = with maintainers; [ eadwu synthetica maxeaubrey ]; + maintainers = with maintainers; [ eadwu synthetica maxeaubrey bobby285271 ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "armv7l-linux" ]; }; } diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index 11623945c72..75ac5f160ea 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -13,10 +13,10 @@ let archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "19r4883qa73b23xw0fz21bnp9vcvsbn1q77n6pcm1achwpxscrg6"; - x86_64-darwin = "0gv4208vcr75wyp6vji1cg6644f5yfwgkgkiav37218v1wjzb4r0"; - aarch64-linux = "00jzjapyj96bqqq6pz4mdlihwa5g1izkqcp4lqml7hqvmcqrjyrs"; - armv7l-linux = "0daji52lfbgz0by11idai55ip0m859s35vbyvgv655s21aakrs50"; + x86_64-linux = "0g1c88i0nkg4hys00vhqp0i2n3kjl395fd2rimi2p49y042b5c9g"; + x86_64-darwin = "1521aqrv9zx2r5cy8h2011iz3v5lvayizlgv8j7j8qi272mmvx5k"; + aarch64-linux = "1kk0jrhqx6q325zmfg553pqmk6v9cx3a99bsh9rzvdlca94nmpj0"; + armv7l-linux = "08hy61a9pp18b1x7lnsc7b9y3bvnjmavazz7qkhp5qxl2gs802wm"; }.${system}; sourceRoot = { @@ -31,7 +31,7 @@ in # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.62.2"; + version = "1.62.3"; pname = "vscodium"; executableName = "codium"; @@ -62,7 +62,7 @@ in homepage = "https://github.com/VSCodium/vscodium"; downloadPage = "https://github.com/VSCodium/vscodium/releases"; license = licenses.mit; - maintainers = with maintainers; [ synthetica turion ]; + maintainers = with maintainers; [ synthetica turion bobby285271 ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "armv7l-linux" ]; }; } diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix index 0dbc2d5d4e1..4af139b0844 100644 --- a/pkgs/applications/graphics/imagej/default.nix +++ b/pkgs/applications/graphics/imagej/default.nix @@ -1,11 +1,13 @@ { lib , stdenv , fetchurl +, glib , jre , unzip , makeWrapper , makeDesktopItem , copyDesktopItems +, wrapGAppsHook }: let @@ -21,7 +23,10 @@ in stdenv.mkDerivation rec { url = "https://wsr.imagej.net/distros/cross-platform/ij${version}.zip"; sha256 = "sha256-MGuUdUDuW3s/yGC68rHr6xxzmYScUjdXRawDpc1UQqw="; }; - nativeBuildInputs = [ copyDesktopItems makeWrapper unzip ]; + nativeBuildInputs = [ copyDesktopItems makeWrapper unzip wrapGAppsHook ]; + buildInputs = [ glib ]; + dontWrapGApps = true; + desktopItems = lib.optionals stdenv.isLinux [ (makeDesktopItem { name = "ImageJ"; @@ -47,13 +52,15 @@ in stdenv.mkDerivation rec { # Simple cp shall clear suid bits, if any. cp ij.jar $out/share/java cp -dR luts macros plugins $out/share - makeWrapper ${jre}/bin/java $out/bin/imagej \ - --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share" runHook postInstall ''; postFixup = lib.optionalString stdenv.isLinux '' + makeWrapper ${jre}/bin/java $out/bin/imagej \ + ''${gappsWrapperArgs[@]} \ + --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share" + install -Dm644 ${icon} $out/share/icons/hicolor/128x128/apps/imagej.png substituteInPlace $out/share/applications/ImageJ.desktop \ --replace Exec=imagej Exec=$out/bin/imagej diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix index d8c94c88383..870d3cceb0b 100644 --- a/pkgs/applications/misc/dasel/default.nix +++ b/pkgs/applications/misc/dasel/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "dasel"; - version = "1.21.2"; + version = "1.22.1"; src = fetchFromGitHub { owner = "TomWright"; - repo = pname; + repo = "dasel"; rev = "v${version}"; - sha256 = "sha256-HHeO8mbvD+PLMKjeacjIBNEVeOYjeHjXJHhTkbMMOG4="; + sha256 = "091s3hyz9p892garanm9zmkbsn6hn3bnnrz7h3dqsyi58806d5yr"; }; - vendorSha256 = "sha256-yP4iF3403WWgWAmBHiuOpDsIAUx4+KR8uKPfjy3qXt8="; + vendorSha256 = "1psyx8nqzpx3p1ya9y3q9h0hhfx4iqmix089b2h6bp9lgqbj5zn8"; ldflags = [ "-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}" @@ -38,6 +38,7 @@ buildGoModule rec { Comparable to jq / yq, but supports JSON, YAML, TOML and XML with zero runtime dependencies. ''; homepage = "https://github.com/TomWright/dasel"; + changelog = "https://github.com/TomWright/dasel/blob/v${version}/CHANGELOG.md"; license = licenses.mit; platforms = platforms.unix; maintainers = with maintainers; [ _0x4A6F ]; diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix index 6f6a143ae8e..03a9f875a79 100644 --- a/pkgs/applications/misc/fme/default.nix +++ b/pkgs/applications/misc/fme/default.nix @@ -1,6 +1,6 @@ { lib , stdenv -, fetchurl +, fetchFromGitHub , autoconf , automake , bc @@ -17,9 +17,11 @@ stdenv.mkDerivation rec { pname = "fme"; version = "1.1.3"; - src = fetchurl { - url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz"; - hash = "sha256-0cgaajjA+q0ClDrWXW0DFL0gXG3oQWaaLv5D5MUD5j0="; + src = fetchFromGitHub { + owner = "rdehouss"; + repo = "fme"; + rev = "v${version}"; + sha256 = "sha256-P67OmExBdWM6NZhDyYceVJOZiy8RC+njk/QvgQcWZeQ="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 8b72647574e..af7e9888c17 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, perlPackages, gettext, makeWrapper, ImageMagick, which, highlight +{ lib, stdenv, fetchurl, fetchpatch, perlPackages, gettext, makeWrapper, ImageMagick, which, highlight , gitSupport ? false, git , docutilsSupport ? false, python, docutils , monotoneSupport ? false, monotone @@ -23,7 +23,10 @@ stdenv.mkDerivation rec { TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext RpcXML XMLSimple ImageMagick YAML YAMLLibYAML HTMLTree AuthenPassphrase NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ]) - ++ lib.optionals docutilsSupport [python docutils] + ++ lib.optionals docutilsSupport [ + (python.withPackages (pp: with pp; [ pygments ])) + docutils + ] ++ lib.optionals gitSupport [git] ++ lib.optionals monotoneSupport [monotone] ++ lib.optionals bazaarSupport [breezy] @@ -31,9 +34,17 @@ stdenv.mkDerivation rec { ++ lib.optionals subversionSupport [subversion] ++ lib.optionals mercurialSupport [mercurial]; - # A few markdown tests fail, but this is expected when using Text::Markdown - # instead of Text::Markdown::Discount. - patches = [ ./remove-markdown-tests.patch ]; + patches = [ + # A few markdown tests fail, but this is expected when using Text::Markdown + # instead of Text::Markdown::Discount. + ./remove-markdown-tests.patch + + (fetchpatch { + name = "Catch-up-to-highlight-4.0-API-change"; + url = "http://source.ikiwiki.branchable.com/?p=source.git;a=patch;h=9ea3f9dfe7c0341f4e002b48728b8139293e19d0"; + sha256 = "16s4wvsfclx0a5cm2awr69dvw2vsi8lpm0d7kyl5w0kjlmzfc7h9"; + }) + ]; postPatch = '' sed -i s@/usr/bin/perl@${perlPackages.perl}/bin/perl@ pm_filter mdwn2man @@ -42,6 +53,9 @@ stdenv.mkDerivation rec { # State the gcc dependency, and make the cgi use our wrapper sed -i -e 's@$0@"'$out/bin/ikiwiki'"@' \ -e "s@'cc'@'${stdenv.cc}/bin/gcc'@" IkiWiki/Wrapper.pm + # Without patched plugin shebangs, some tests like t/rst.t fail + # (with docutilsSupport enabled) + patchShebangs plugins/* ''; configurePhase = "perl Makefile.PL PREFIX=$out"; @@ -74,5 +88,6 @@ stdenv.mkDerivation rec { homepage = "http://ikiwiki.info/"; license = licenses.gpl2Plus; platforms = platforms.linux; + maintainers = [ maintainers.wentasah ]; }; } diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix index c98d40ab2e1..1e71493e5fe 100644 --- a/pkgs/applications/misc/marktext/default.nix +++ b/pkgs/applications/misc/marktext/default.nix @@ -2,16 +2,21 @@ let pname = "marktext"; - version = "v0.16.2"; -in -appimageTools.wrapType2 rec { + version = "v0.16.3"; name = "${pname}-${version}-binary"; src = fetchurl { url = "https://github.com/marktext/marktext/releases/download/${version}/marktext-x86_64.AppImage"; - sha256 = "0ivf9lvv2jk7dvxmqprzcsxgya3617xmx5bppjvik44z14b5x8r7"; + sha256 = "0s93c79vy2vsi7b6xq4hvsvjjad8bdkhl1q135vp98zmbf7bvm9b"; }; + appimageContents = appimageTools.extractType2 { + inherit name src; + }; +in +appimageTools.wrapType2 rec { + inherit name src; + profile = '' export LC_ALL=C.UTF-8 '' @@ -28,8 +33,16 @@ appimageTools.wrapType2 rec { p.xorg.libxkbfile ]; - # Strip version from binary name. - extraInstallCommands = "mv $out/bin/${name} $out/bin/${pname}"; + extraInstallCommands = '' + # Strip version from binary name. + mv $out/bin/${name} $out/bin/${pname} + + install -m 444 -D ${appimageContents}/marktext.desktop $out/share/applications/marktext.desktop + substituteInPlace $out/share/applications/marktext.desktop \ + --replace "Exec=AppRun" "Exec=${pname} --" + + cp -r ${appimageContents}/usr/share/icons $out/share + ''; meta = with lib; { description = "A simple and elegant markdown editor, available for Linux, macOS and Windows"; diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix index fb4570f2064..cfb105943ef 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/applications/networking/flexget/default.nix @@ -2,14 +2,14 @@ python3Packages.buildPythonApplication rec { pname = "flexget"; - version = "3.1.152"; + version = "3.1.153"; # Fetch from GitHub in order to use `requirements.in` src = fetchFromGitHub { owner = "flexget"; repo = "flexget"; rev = "v${version}"; - sha256 = "0xm6aib22frq8bq0ihjgihiw8dj6ymjxszklbz59yrz5rgzlaw81"; + sha256 = "sha256-xGGSm6IXTh89wSt0/DNgbe1mFBNuG9x3YLerJcBYMmI="; }; postPatch = '' diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix index ffd04fd829e..2a2c25e5593 100644 --- a/pkgs/applications/networking/instant-messengers/nheko/default.nix +++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix @@ -21,6 +21,9 @@ , olm , pkg-config , nlohmann_json +, coeurl +, libevent +, curl , voipSupport ? true , gst_all_1 , libnice @@ -28,13 +31,13 @@ mkDerivation rec { pname = "nheko"; - version = "0.8.2"; + version = "0.9.0"; src = fetchFromGitHub { owner = "Nheko-Reborn"; repo = "nheko"; rev = "v${version}"; - sha256 = "sha256-w4l91/W6F1FL+Q37qWSjYRHv4vad/10fxdKwfNeEwgw="; + sha256 = "1akhnngxkxbjwjkg5ispl6j5s2ylbcj92r3zxqqry4gbfxbjpx8k"; }; nativeBuildInputs = [ @@ -58,6 +61,9 @@ mkDerivation rec { qtquickcontrols2 qtgraphicaleffects qtkeychain + coeurl + libevent + curl ] ++ lib.optional stdenv.isDarwin qtmacextras ++ lib.optionals voipSupport (with gst_all_1; [ gstreamer diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix index 9b15e12d66f..42671f5d974 100644 --- a/pkgs/applications/networking/instant-messengers/profanity/default.nix +++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , autoconf-archive , autoreconfHook , cmocka @@ -46,6 +47,23 @@ stdenv.mkDerivation rec { patches = [ ./patches/packages-osx.patch + + # pullupstream fixes for ncurses-6.3 + (fetchpatch { + name = "ncurses-6.3-p1.patch"; + url = "https://github.com/profanity-im/profanity/commit/e5b6258c997d4faf36e2ffb8a47b386c5629b4eb.patch"; + sha256 = "sha256-4rwpvsgfIQ60GcLS0O7Hyn7ZidREjYT+dVND54z0zrw="; + }) + (fetchpatch { + name = "ncurses-6.3-p2.patch"; + url = "https://github.com/profanity-im/profanity/commit/fd9ccec8dc604902bbb1d444dba4223ccee0a092.patch"; + sha256 = "sha256-4gZaXoDNulBIR+e6y/9bJKXVactCHWS8H8lPJaJwVwE="; + }) + (fetchpatch { + name = "ncurses-6.3-p3.patch"; + url = "https://github.com/profanity-im/profanity/commit/242696f09a49c8446ba6aef8bdad65fb58a77715.patch"; + sha256 = "sha256-BOYHkae9aIA7HaVM23Yu25TTK9e3SuV+u0FEi7Sn62I="; + }) ]; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/instant-messengers/ricochet/default.nix b/pkgs/applications/networking/instant-messengers/ricochet/default.nix index 97d8d39f656..0aa2d4cc677 100644 --- a/pkgs/applications/networking/instant-messengers/ricochet/default.nix +++ b/pkgs/applications/networking/instant-messengers/ricochet/default.nix @@ -1,15 +1,27 @@ -{ mkDerivation, lib, fetchurl, pkg-config, makeDesktopItem -, qtbase, qttools, qtmultimedia, qtquick1, qtquickcontrols -, openssl, protobuf, qmake +{ mkDerivation +, lib +, fetchFromGitHub +, pkg-config +, makeDesktopItem +, qtbase +, qttools +, qtmultimedia +, qtquick1 +, qtquickcontrols +, openssl +, protobuf +, qmake }: mkDerivation rec { pname = "ricochet"; version = "1.1.4"; - src = fetchurl { - url = "https://github.com/ricochet-im/ricochet/archive/v${version}.tar.gz"; - sha256 = "1kfj42ksvj7axc809lb8siqzj5hck2pib427b63a3ipnqc5h1faf"; + src = fetchFromGitHub { + owner = "ricochet-im"; + repo = "ricochet"; + rev = "v${version}"; + sha256 = "sha256-CGVTHa0Hqj90WvB6ZbA156DVgzv/R7blsU550y2Ai9c="; }; desktopItem = makeDesktopItem { @@ -23,8 +35,13 @@ mkDerivation rec { }; buildInputs = [ - qtbase qttools qtmultimedia qtquick1 qtquickcontrols - openssl protobuf + qtbase + qttools + qtmultimedia + qtquick1 + qtquickcontrols + openssl + protobuf ]; nativeBuildInputs = [ pkg-config qmake ]; diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix index 29d4c3600c3..76e6dc0f3d0 100644 --- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix +++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix @@ -1,12 +1,14 @@ -{ lib, fetchurl, python3Packages }: +{ lib, fetchFromGitHub, python3Packages }: -let version = "1.63"; -in python3Packages.buildPythonPackage { - name = "scudcloud-${version}"; +python3Packages.buildPythonPackage rec { + pname = "scudcloud"; + version = "1.63"; - src = fetchurl { - url = "https://github.com/raelgc/scudcloud/archive/v${version}.tar.gz"; - sha256 = "e0d1cb72115d0fda17db92d28be51558ad8fe250972683fac3086dbe8d350d22"; + src = fetchFromGitHub { + owner = "raelgc"; + repo = "scudcloud"; + rev = "v${version}"; + sha256 = "sha256-b8+MVjYKbSpnfM2ow2MNVY6MiT+urpNYDkFR/yUC7ik="; }; propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit dbus-python jsmin ]; diff --git a/pkgs/applications/networking/sniffers/sngrep/default.nix b/pkgs/applications/networking/sniffers/sngrep/default.nix index 3b5742ec247..5bcbac74ca7 100644 --- a/pkgs/applications/networking/sniffers/sngrep/default.nix +++ b/pkgs/applications/networking/sniffers/sngrep/default.nix @@ -3,6 +3,7 @@ , autoconf , automake , fetchFromGitHub +, fetchpatch , libpcap , ncurses , openssl @@ -20,6 +21,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-92wPRDFSoIOYFv3XKdsuYH8j3D8kXyg++q6VpIIMGDg="; }; + patches = [ + # Pull fix pending upstream inclusion for ncurses-6.3 support: + # https://github.com/irontec/sngrep/pull/382 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/irontec/sngrep/commit/d09e1c323dbd7fc899e8985899baec568f045601.patch"; + sha256 = "sha256-nY5i3WQh/oKboEAh4wvxF5Imf2BHYEKdFj+WF1M3SSA="; + }) + ]; + nativeBuildInputs = [ autoconf automake diff --git a/pkgs/applications/networking/synology-drive-client/default.nix b/pkgs/applications/networking/synology-drive-client/default.nix new file mode 100644 index 00000000000..990e9691516 --- /dev/null +++ b/pkgs/applications/networking/synology-drive-client/default.nix @@ -0,0 +1,68 @@ +{ stdenv, lib, qt5, fetchurl, autoPatchelfHook, dpkg, glibc, cpio, xar, undmg, gtk3, pango }: +let + pname = "synology-drive-client"; + buildNumber = "12682"; + version = "3.0.2"; + baseUrl = "https://global.download.synology.com/download/Utility/SynologyDriveClient"; + meta = with lib; { + description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server."; + homepage = "https://www.synology.com/en-global/dsm/feature/drive"; + license = licenses.unfree; + maintainers = with maintainers; [ jcouyang ]; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + }; + + linux = qt5.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "${baseUrl}/${version}-${buildNumber}/Ubuntu/Installer/x86_64/synology-drive-client-${buildNumber}.x86_64.deb"; + sha256 = "19fd2r39lb7bb6vkxfxyq0gp3l7pk5wy9fl0r7qwhym2jpi8yv6l"; + }; + + nativeBuildInputs = [ autoPatchelfHook dpkg ]; + + buildInputs = [ glibc gtk3 pango ]; + + unpackPhase = '' + mkdir -p $out + dpkg -x $src $out + rm -rf $out/usr/lib/nautilus + rm -rf $out/opt/Synology/SynologyDrive/package/cloudstation/icon-overlay + ''; + + installPhase = '' + cp -av $out/usr/* $out + rm -rf $out/usr + runHook postInstall + ''; + + postInstall = '' + substituteInPlace $out/bin/synology-drive --replace /opt $out/opt + ''; + }; + + darwin = stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "${baseUrl}/${version}-${buildNumber}/Mac/Installer/synology-drive-client-${buildNumber}.dmg"; + sha256 = "1mlv8gxzivgxm59mw1pd63yq9d7as79ihm7166qyy0h0b0m04q2m"; + }; + + nativeBuildInputs = [ cpio xar undmg ]; + + postUnpack = '' + xar -xf 'Install Synology Drive Client.pkg' + cd synology-drive.installer.pkg + gunzip -dc Payload | cpio -i + ''; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/Applications/ + cp -R 'Synology Drive Client.app' $out/Applications/ + ''; + }; +in if stdenv.isDarwin then darwin else linux diff --git a/pkgs/applications/office/ib/controller/default.nix b/pkgs/applications/office/ib/controller/default.nix index 8d241ea8303..db0e3c55737 100644 --- a/pkgs/applications/office/ib/controller/default.nix +++ b/pkgs/applications/office/ib/controller/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, unzip, jdk, ib-tws, xpra }: +{ lib, stdenv, fetchFromGitHub, unzip, jdk, ib-tws, xpra }: stdenv.mkDerivation rec { version = "2.14.0"; pname = "ib-controller"; - src = fetchurl { - url = "https://github.com/ib-controller/ib-controller/archive/${version}.tar.gz"; - sha256 = "17a8bcgg9z3b4y38k035hm2lgvhmf8srlz59c7n2q3fdw2i95i68"; + src = fetchFromGitHub { + owner = "ib-controller"; + repo = "ib-controller"; + rev = version; + sha256 = "sha256-R175CKb3uErjBNe73HEFMI+bNmmuH2nWGraCSh5bXwc="; }; nativeBuildInputs = [ unzip ]; @@ -148,7 +150,7 @@ stdenv.mkDerivation rec { fi EOF chmod u+x $out/bin/ib-gw-c - ''; + ''; meta = with lib; { diff --git a/pkgs/applications/office/kitsas/default.nix b/pkgs/applications/office/kitsas/default.nix index e8d010aee22..e7580f1dc53 100644 --- a/pkgs/applications/office/kitsas/default.nix +++ b/pkgs/applications/office/kitsas/default.nix @@ -1,44 +1,39 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, qtcreator, poppler, libzip, pkg-config }: +{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qtsvg, poppler, libzip, pkg-config, wrapQtAppsHook }: -mkDerivation rec { +stdenv.mkDerivation rec { pname = "kitsas"; - version = "3.0"; + version = "3.1.1"; src = fetchFromGitHub { owner = "artoh"; repo = "kitupiikki"; rev = "v${version}"; - sha256 = "sha256-UH2bFJZd83APRjlv6JR+Uy+ng4DWnnLmavAgjgSOiRo="; + sha256 = "sha256-nmlGLrVsTQawYHNgaax9EiutL4xgFdOD34Q4/rnB/D0="; }; - nativeBuildInputs = [ pkg-config ]; + # QList::swapItemsAt was introduced in Qt 5.13 + patches = lib.optional (lib.versionOlder qtbase.version "5.13") ./qt-512.patch; - buildInputs = [ qmake qtsvg poppler libzip ]; + nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ]; + + buildInputs = [ qtsvg poppler libzip ]; # We use a separate build-dir as otherwise ld seems to get confused between # directory and executable name on buildPhase. preConfigure = '' - mkdir build-linux - cd build-linux + mkdir build && cd build ''; - qmakeFlags = [ - "../kitsas/kitsas.pro" - "-spec" - "linux-g++" - "CONFIG+=release" - ]; + qmakeFlags = [ "../kitsas/kitsas.pro" ]; - preFixup = '' - make clean - rm Makefile - ''; - - installPhase = '' - mkdir -p $out/bin $out/share/applications - cp kitsas $out/bin - cp $src/kitsas.png $out/share/applications - cp $src/kitsas.desktop $out/share/applications + installPhase = if stdenv.isDarwin then '' + mkdir -p $out/Applications + mv kitsas.app $out/Applications + '' else '' + install -Dm755 kitsas -t $out/bin + install -Dm644 ../kitsas.svg -t $out/share/icons/hicolor/scalable/apps + install -Dm644 ../kitsas.png -t $out/share/icons/hicolor/256x256/apps + install -Dm644 ../kitsas.desktop -t $out/share/applications ''; meta = with lib; { @@ -46,6 +41,6 @@ mkDerivation rec { description = "An accounting tool suitable for Finnish associations and small business"; maintainers = with maintainers; [ gspia ]; license = licenses.gpl3Plus; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/office/kitsas/qt-512.patch b/pkgs/applications/office/kitsas/qt-512.patch new file mode 100644 index 00000000000..b225b933104 --- /dev/null +++ b/pkgs/applications/office/kitsas/qt-512.patch @@ -0,0 +1,24 @@ +diff --git i/kitsas/apuri/siirtoapuri.cpp w/kitsas/apuri/siirtoapuri.cpp +index 9a2c51f3..9565200f 100644 +--- i/kitsas/apuri/siirtoapuri.cpp ++++ w/kitsas/apuri/siirtoapuri.cpp +@@ -25,6 +25,7 @@ + #include "db/tositetyyppimodel.h" + #include "tiliote/tiliotekirjaaja.h" + ++#include + #include + + SiirtoApuri::SiirtoApuri(QWidget *parent, Tosite *tosite) : +@@ -361,8 +362,9 @@ void SiirtoApuri::laskunmaksu() + TositeVienti eka = lista.at(0).toMap(); + tosite()->asetaPvm(eka.pvm()); + tosite()->asetaOtsikko( eka.selite() ); +- if( eka.kreditEuro() ) +- lista.swapItemsAt(0,1); ++ if( eka.kreditEuro() ) { ++ qSwap(lista.begin()[0], lista.begin()[1]); ++ } + tosite()->viennit()->asetaViennit(lista); + reset(); + diff --git a/pkgs/applications/office/mytetra/default.nix b/pkgs/applications/office/mytetra/default.nix index cb90af5244c..5ffd178b055 100644 --- a/pkgs/applications/office/mytetra/default.nix +++ b/pkgs/applications/office/mytetra/default.nix @@ -1,13 +1,14 @@ -{ lib, mkDerivation, fetchurl, qmake, qtsvg, makeWrapper, xdg-utils }: +{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, makeWrapper, xdg-utils }: -let - version = "1.44.55"; -in mkDerivation { +mkDerivation rec { pname = "mytetra"; - inherit version; - src = fetchurl { - url = "https://github.com/xintrea/mytetra_dev/archive/v.${version}.tar.gz"; - sha256 = "13lmfvschm1xwr0ys2ykhs0bb83m2f39rk1jdd7zf8yxlqki4i6l"; + version = "1.44.55"; + + src = fetchFromGitHub { + owner = "xintrea"; + repo = "mytetra_dev"; + rev = "v.${version}"; + sha256 = "sha256-jQXnDoLkqbDZxfsYKPDsTOE7p/BFeA8wEznpbkRVGdw="; }; nativeBuildInputs = [ qmake makeWrapper ]; diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix index 2c6b5dfe3b3..2ba594a64aa 100644 --- a/pkgs/applications/office/vnote/default.nix +++ b/pkgs/applications/office/vnote/default.nix @@ -8,18 +8,24 @@ mkDerivation rec { pname = "vnote"; - version = "3.8.1"; + version = "3.10.1"; src = fetchFromGitHub { owner = "vnotex"; repo = pname; fetchSubmodules = true; rev = "v${version}"; - sha256 = "sha256-GgSVBVcT0rfgglyjCmkEMbKCEltesC3eSsN38psrkS4="; + sha256 = "sha256-juLyKAq21qNCWTpyMJSMw86U/DMbw/QJCr8QwyqVclA="; }; - nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtwebengine ]; + nativeBuildInputs = [ + qmake + ]; + + buildInputs = [ + qtbase + qtwebengine + ]; meta = with lib; { homepage = "https://vnotex.github.io/vnote"; diff --git a/pkgs/applications/terminal-emulators/sakura/default.nix b/pkgs/applications/terminal-emulators/sakura/default.nix index 44c34d76f46..8434c233ad4 100644 --- a/pkgs/applications/terminal-emulators/sakura/default.nix +++ b/pkgs/applications/terminal-emulators/sakura/default.nix @@ -1,6 +1,6 @@ { lib , stdenv -, fetchurl +, fetchFromGitHub , cmake , glib , gtk3 @@ -13,11 +13,13 @@ stdenv.mkDerivation rec { pname = "sakura"; - version = "3.8.3"; + version = "3.8.4"; - src = fetchurl { - url = "https://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2"; - sha256 = "sha256-UEDc3TjoqjLNZtWGlIZB3VTVQC+31AP0ASQH0fu+U+Q="; + src = fetchFromGitHub { + owner = "dabisu"; + repo = pname; + rev = "SAKURA_${lib.replaceStrings [ "." ] [ "_" ] version}"; + hash = "sha256-Sqo1gyCvCMlEv1rYqw6P3Dmu10osi/KqB7/WlgTTNAc="; }; nativeBuildInputs = [ @@ -36,7 +38,7 @@ stdenv.mkDerivation rec { # Set path to gsettings-schemata so sakura knows where to find colorchooser, # fontchooser etc. - postInstall = '' + postFixup = '' wrapProgram $out/bin/sakura \ --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ ''; diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix index 74f10a14288..562658a6e99 100644 --- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix @@ -1,15 +1,14 @@ -{ lib, stdenv, fetchurl, ruby, makeWrapper, git }: +{ lib, stdenv, fetchFromGitHub, ruby, makeWrapper, git }: -let - version = "2.4.0"; -in -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "svn2git"; - inherit version; + version = "2.4.0"; - src = fetchurl { - url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz"; - sha256 = "0ly2vrv6q31n0xhciwb7a1ilr5c6ndyi3bg81yfp4axiypps7l41"; + src = fetchFromGitHub { + owner = "nirvdrum"; + repo = "svn2git"; + rev = "v${version}"; + sha256 = "sha256-w649l/WO68vYYxZOBKzI8XhGFkaSwWx/O3oVOtnGg6w="; }; nativeBuildInputs = [ ruby makeWrapper ]; diff --git a/pkgs/applications/version-management/gitinspector/default.nix b/pkgs/applications/version-management/gitinspector/default.nix index 384f5d0f01f..63ceb6e3868 100644 --- a/pkgs/applications/version-management/gitinspector/default.nix +++ b/pkgs/applications/version-management/gitinspector/default.nix @@ -1,14 +1,15 @@ -{ lib, fetchzip, python2Packages}: +{ lib, fetchFromGitHub, python2Packages }: python2Packages.buildPythonApplication rec { pname = "gitinspector"; version = "0.4.4"; namePrefix = ""; - src = fetchzip { - url = "https://github.com/ejwa/gitinspector/archive/v${version}.tar.gz"; - sha256 = "1pfsw6xldm6jigs3nhysvqaxk8a0zf8zczgfkrp920as9sya3c7m"; - name = "${pname}-${version}" + "-src"; + src = fetchFromGitHub { + owner = "ejwa"; + repo = "gitinspector"; + rev = "v${version}"; + sha256 = "sha256-9bChvE5aAZFunu599pH7QKHZFd7aQzv0i9LURrvh2t0="; }; checkInputs = with python2Packages; [ diff --git a/pkgs/applications/version-management/gitstats/default.nix b/pkgs/applications/version-management/gitstats/default.nix index b987a3f5512..6cfcb007742 100644 --- a/pkgs/applications/version-management/gitstats/default.nix +++ b/pkgs/applications/version-management/gitstats/default.nix @@ -1,14 +1,15 @@ -{ lib, stdenv, fetchzip, perl, python2, gnuplot, coreutils, gnugrep }: +{ lib, stdenv, fetchFromGitHub, perl, python2, gnuplot, coreutils, gnugrep }: stdenv.mkDerivation rec { pname = "gitstats"; version = "2016-01-08"; # upstream does not make releases - src = fetchzip { - url = "https://github.com/hoxu/gitstats/archive/55c5c285558c410bb35ebf421245d320ab9ee9fa.zip"; - sha256 = "1bfcwhksylrpm88vyp33qjby4js31zcxy7w368dzjv4il3fh2i59"; - name = "${pname}-${version}" + "-src"; + src = fetchFromGitHub { + owner = "hoxu"; + repo = "gitstats"; + rev = "55c5c285558c410bb35ebf421245d320ab9ee9fa"; + sha256 = "sha256-qUQB3aCRbPkbMoMf39kPQ0vil8RjXL8RqjdTryfkzK0="; }; nativeBuildInputs = [ perl ]; diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix index c7ae9482840..7e79d963fc2 100644 --- a/pkgs/applications/virtualization/x11docker/default.nix +++ b/pkgs/applications/virtualization/x11docker/default.nix @@ -1,12 +1,12 @@ { lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute2 }: stdenv.mkDerivation rec { pname = "x11docker"; - version = "6.9.0"; + version = "6.10.0"; src = fetchFromGitHub { owner = "mviereck"; repo = "x11docker"; rev = "v${version}"; - sha256 = "sha256-O+lab3K7J2Zz9t+yB/kYWtBOvQGOQMDFNDUVXzTj/h4="; + sha256 = "sha256-cPCtxfLzg1RDh3vKFfxAkcCMytu0mDsGp9CLJQmXATA="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/window-managers/e16/default.nix b/pkgs/applications/window-managers/e16/default.nix index 7028dcfc09d..37a4f7c9436 100644 --- a/pkgs/applications/window-managers/e16/default.nix +++ b/pkgs/applications/window-managers/e16/default.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { pname = "e16"; - version = "1.0.23"; + version = "1.0.24"; src = fetchurl { url = "mirror://sourceforge/enlightenment/e16-${version}.tar.xz"; - sha256 = "028rn1plggacsvdd035qnnph4xw8nya34mmjvvl7d4gqj9pj293f"; + sha256 = "1anmwfjyynwl0ylkyksa7bnsqzf58l1yccjzp3kbwq6nw1gs7dbv"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix index 3e592b60f14..db6c50f07de 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix @@ -8,11 +8,11 @@ in stdenv.mkDerivation rec { pname = "xfce4-sensors-plugin"; - version = "1.4.1"; + version = "1.4.2"; src = fetchurl { url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-N9DcVp5zXkgqGFRcJOsc4CKdaRDjpNTB3uBoCZkjS+I="; + sha256 = "sha256-2pDxLmrplbzRyBvjVHmnqdMjCMZezWTlaLqMlZLTn8s="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix index 8291687a0d1..be59429fe1b 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -3,10 +3,10 @@ mkXfceDerivation { category = "panel-plugins"; pname = "xfce4-whiskermenu-plugin"; - version = "2.6.1"; + version = "2.6.2"; rev-prefix = "v"; odd-unstable = false; - sha256 = "sha256-LdvrGpgy96IbL4t4jSJk2d5DBpSPBATHZO1SkpdtjC4="; + sha256 = "sha256-Tg6jK2yvODvNykTRePmHWu3safgyKAd3tCMWGXuMhPM="; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix b/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix index 0ae0c352336..5b97bb3066f 100644 --- a/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix +++ b/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix @@ -13,6 +13,7 @@ mkXfceDerivation { category = "thunar-plugins"; pname = "thunar-media-tags-plugin"; version = "0.3.0"; + odd-unstable = false; sha256 = "sha256-jtgcHH5U5GOvzDVUwPEreMtTdk5DT6sXvFPDbzbF684="; diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix index 6ff1afa9757..85daec0d2ac 100644 --- a/pkgs/development/interpreters/clojure/babashka.nix +++ b/pkgs/development/interpreters/clojure/babashka.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "babashka"; - version = "0.6.4"; + version = "0.6.5"; src = fetchurl { url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; - sha256 = "sha256-/ULBnC10lAYHYD0P0HGWEcCAqkX8IRcQ7W5ulho+JUM="; + sha256 = "sha256-72D/HzDIxkGD4zTPE9gHf/uFtboLbNnT7CTslSlAqjc="; }; dontUnpack = true; diff --git a/pkgs/development/libraries/coeurl/default.nix b/pkgs/development/libraries/coeurl/default.nix new file mode 100644 index 00000000000..df87210bb79 --- /dev/null +++ b/pkgs/development/libraries/coeurl/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchFromGitLab +, ninja +, pkg-config +, meson +, libevent +, curl +, spdlog +}: + +stdenv.mkDerivation rec { + pname = "coeurl"; + version = "0.1.0"; + + src = fetchFromGitLab { + domain = "nheko.im"; + owner = "nheko-reborn"; + repo = pname; + rev = "v${version}"; + sha256 = "10a5klr44m2xy6law8s3s5rynk1q268fa4pkhilbn52yyv0fwajq"; + }; + + nativeBuildInputs = [ ninja pkg-config meson ]; + buildInputs = [ libevent curl spdlog ]; + + meta = with lib; { + description = "A simple async wrapper around CURL for C++"; + homepage = "https://nheko.im/nheko-reborn/coeurl"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ rnhmjoj ]; + }; +} diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 8cd26ab3105..c00e5a4e0d3 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "grpc"; - version = "1.41.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too + version = "1.42.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; - sha256 = "1mcgnzwc2mcdpcfhc1b37vff0biwyd3v0a2ack58wgf4336pzlsb"; + sha256 = "sha256-9/ywbnvd8hqeblFe+X9SM6PkRPB/yqE8Iw9TNmLMSOE="; fetchSubmodules = true; }; diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 040ba8eb850..4606b1dc60d 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -60,6 +60,8 @@ , ceph , enableGlusterfs ? false , glusterfs +, Carbon +, AppKit }: with lib; @@ -152,6 +154,8 @@ stdenv.mkDerivation rec { ] ++ optionals stdenv.isDarwin [ libiconv gmp + Carbon + AppKit ]; preConfigure = diff --git a/pkgs/development/libraries/mtxclient/default.nix b/pkgs/development/libraries/mtxclient/default.nix index 0c373604e46..48f860c672c 100644 --- a/pkgs/development/libraries/mtxclient/default.nix +++ b/pkgs/development/libraries/mtxclient/default.nix @@ -3,36 +3,36 @@ , fetchpatch , cmake , pkg-config -, boost17x , openssl , olm , spdlog , nlohmann_json +, coeurl +, libevent +, curl }: stdenv.mkDerivation rec { pname = "mtxclient"; - version = "0.5.1"; + version = "0.6.0"; src = fetchFromGitHub { owner = "Nheko-Reborn"; repo = "mtxclient"; rev = "v${version}"; - sha256 = "sha256-UKroV1p7jYuNzCAFMsuUsYC/C9AZ1D4rhwpwuER39vc="; + sha256 = "0sxx7vj6a1n2d95c118pjq52707qwf16154fdvz5f4z1pq7c8dsi"; }; - # This patch should be obsolete and should stop applying the in next release. - patches = [ ./fix-compilation-with-olm-3.2.5.patch ]; + postPatch = '' + # See https://github.com/gabime/spdlog/issues/1897 + sed -i '1a add_compile_definitions(SPDLOG_FMT_EXTERNAL)' CMakeLists.txt + ''; cmakeFlags = [ # Network requiring tests can't be disabled individually: # https://github.com/Nheko-Reborn/mtxclient/issues/22 "-DBUILD_LIB_TESTS=OFF" "-DBUILD_LIB_EXAMPLES=OFF" - "-Dnlohmann_json_DIR=${nlohmann_json}/lib/cmake/nlohmann_json" - # Can be removed once either https://github.com/NixOS/nixpkgs/pull/85254 or - # https://github.com/NixOS/nixpkgs/pull/73940 are merged - "-DBoost_NO_BOOST_CMAKE=TRUE" ]; nativeBuildInputs = [ @@ -41,13 +41,16 @@ stdenv.mkDerivation rec { ]; buildInputs = [ spdlog - boost17x + nlohmann_json openssl olm + coeurl + libevent + curl ]; meta = with lib; { - description = "Client API library for Matrix, built on top of Boost.Asio"; + description = "Client API library for the Matrix protocol."; homepage = "https://github.com/Nheko-Reborn/mtxclient"; license = licenses.mit; maintainers = with maintainers; [ fpletz pstn ]; diff --git a/pkgs/development/libraries/wxSVG/default.nix b/pkgs/development/libraries/wxSVG/default.nix index f83f7e40897..05a4655b800 100644 --- a/pkgs/development/libraries/wxSVG/default.nix +++ b/pkgs/development/libraries/wxSVG/default.nix @@ -11,16 +11,17 @@ stdenv.mkDerivation rec { pname = "wxSVG"; - version = "1.5.22"; + version = "1.5.23"; src = fetchurl { url = "mirror://sourceforge/project/wxsvg/wxsvg/${version}/wxsvg-${version}.tar.bz2"; - hash = "sha256-DeFozZ8MzTCbhkDBtuifKpBpg7wS7+dbDFzTDx6v9Sk="; + hash = "sha256-Pwc2H6zH0YzBmpQN1zx4FC7V7sOMFNmTqFvwwGHcq7k="; }; nativeBuildInputs = [ pkg-config ]; + buildInputs = [ cairo ffmpeg @@ -39,5 +40,6 @@ stdenv.mkDerivation rec { license = with licenses; gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = wxGTK.meta.platforms; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index 690e4e8141e..64874e31448 100644 --- a/pkgs/development/python-modules/grpcio-tools/default.nix +++ b/pkgs/development/python-modules/grpcio-tools/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "grpcio-tools"; - version = "1.41.0"; + version = "1.42.0"; src = fetchPypi { inherit pname version; - sha256 = "3891b1df82369acbc8451d4952cd20755f49a82398dce62437511ad17b47290e"; + sha256 = "d0a0daa82eb2c2fb8e12b82a458d1b7c5516fe1135551da92b1a02e2cba93422"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix index d538c01acc6..8e446d6b990 100644 --- a/pkgs/development/python-modules/python-openstackclient/default.nix +++ b/pkgs/development/python-modules/python-openstackclient/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "python-openstackclient"; - version = "5.6.0"; + version = "5.7.0"; src = fetchPypi { inherit pname version; - sha256 = "0abc6666378c5a7db83ec83515a8524fb6246a919236110169cc5c216ac997ea"; + sha256 = "c65e3d51018f193cce2daf3d0fd69daa36003bdb2b85df6b07b973e4c39e2f92"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix index 5a64bc5e9f9..78fc11f150e 100644 --- a/pkgs/development/python-modules/qcs-api-client/default.nix +++ b/pkgs/development/python-modules/qcs-api-client/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "qcs-api-client"; - version = "0.18.0"; + version = "0.19.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-7qrE+XqXOCmfauD772epIbZ1Lzv+5pXrA7tgD8qCVSE="; + sha256 = "sha256-OfhOYvGcBzbirsD05D206b+mAOVvDVAwBvDgCKfXxSw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index 126226205d6..d27dac79b7b 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -17,15 +17,15 @@ rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.15.3"; + version = "1.16.2"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IFEo2F3gayR2LmAAJXezZPXpRfZf4re3YPZRcXpqx6o="; + sha256 = "sha256-Qf1eDQ6ZbBGOQIDh2q8hKjsKB0Ri9Hjqq1AMOTanML0="; }; - cargoSha256 = "sha256-9ZpPiqlqP01B9ETpVqVreivNuSMB1td4LinxXdH7PsM="; + cargoSha256 = "sha256-ZA9pR8yQV5v/Xa/B7M01PIqrkBe1DVIXC5VURoE1EtI="; # Install completions post-install nativeBuildInputs = [ installShellFiles ]; @@ -35,20 +35,9 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ libiconv libobjc Security CoreServices Metal Foundation QuartzCore ]; - # The rusty_v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem - # To avoid this we pre-download the file and place it in the locations it will require it in advance - preBuild = - let arch = rust.toRustTarget stdenv.hostPlatform; in - '' - _librusty_v8_setup() { - for v in "$@"; do - install -D ${librusty_v8} "target/$v/gn_out/obj/librusty_v8.a" - done - } - - # Copy over the `librusty_v8.a` file inside target/XYZ/gn_out/obj, symlink not allowed - _librusty_v8_setup "debug" "release" "${arch}/release" - ''; + # The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem + # To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE + RUSTY_V8_ARCHIVE = librusty_v8; # Tests have some inconsistencies between runs with output integration tests # Skipping until resolved diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix index 6e63681f66b..7539f41e3af 100644 --- a/pkgs/development/web/deno/librusty_v8.nix +++ b/pkgs/development/web/deno/librusty_v8.nix @@ -11,11 +11,11 @@ let }; in fetch_librusty_v8 { - version = "0.32.0"; + version = "0.34.0"; shas = { - x86_64-linux = "sha256-35Rm4j4BJNCfl3MQJIpKw1altzm9fgvZ6WeC2cF4Qzc="; - aarch64-linux = "sha256-w1ljFwao/YMO27QSaEyVl7HEVnfzZyVOXZK4xN0205Y="; - x86_64-darwin = "sha256-oNrF9lFkgMgphDElKQRXMq9uYua75e2HrfflNO+CyPk="; - aarch64-darwin = "sha256-Bz9C1AChvGJYamnIg1XtYyTzmIisL0Oe/yDjB7ZebMw="; + x86_64-linux = "sha256-Ly5bEfC993JH3/1VNpFu72Dv8kJYOFu+HIlEUJJcHps="; + aarch64-linux = "sha256-zazlvm4uyHD6Z+2JmeHS7gQ84C83KTWOGqNjSNPgoT0="; + x86_64-darwin = "sha256-RTgbtkCAuIj/ceJNbdA0yfKtFG8hSZgurEHEuUfJ7fk="; + aarch64-darwin = "sha256-xrOUPEZ4tj2BK6pDeoTpTKDx4E1KUEQ+lGMyduKDvBE="; }; } diff --git a/pkgs/development/web/deno/update/librusty_v8.ts b/pkgs/development/web/deno/update/librusty_v8.ts index dee3277c581..91244cd9d6a 100644 --- a/pkgs/development/web/deno/update/librusty_v8.ts +++ b/pkgs/development/web/deno/update/librusty_v8.ts @@ -25,9 +25,7 @@ const getLibrustyV8Version = async ( ) => fetch(`https://github.com/${owner}/${repo}/raw/${version}/core/Cargo.toml`) .then((res) => res.text()) - .then((txt) => - txt.match(genValueRegExp("rusty_v8", versionRegExp))?.shift() - ); + .then((txt) => txt.match(genValueRegExp("v8", versionRegExp))?.shift()); const fetchArchShaTasks = (version: string, arches: Architecture[]) => arches.map( diff --git a/pkgs/games/gimx/conf.patch b/pkgs/games/gimx/conf.patch new file mode 100644 index 00000000000..875cc68824a --- /dev/null +++ b/pkgs/games/gimx/conf.patch @@ -0,0 +1,26 @@ +diff --git a/core/config_reader.c b/core/config_reader.c +index 451fc48..ed45f4d 100644 +--- a/core/config_reader.c ++++ b/core/config_reader.c +@@ -1355,7 +1355,7 @@ int read_config_file(const char* file) + char file_path[PATH_MAX]; + + snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file); +- ++ if(getenv("GIMXCONF")) { snprintf(file_path, sizeof(file_path), "%s", file); } + if(read_file(file_path) == -1) + { + gerror("read_file failed\n"); +diff --git a/core/gimx.c b/core/gimx.c +index 700cae9..9143d8b 100755 +--- a/core/gimx.c ++++ b/core/gimx.c +@@ -192,7 +192,7 @@ void show_config() + char file_path[PATH_MAX]; + + snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file); +- ++ if(getenv("GIMXCONF")) { snprintf(file_path, sizeof(file_path), "%s", gimx_params.config_file); } + FILE * fp = gfile_fopen(file_path, "r"); + if (fp == NULL) + { diff --git a/pkgs/games/gimx/custom/Dualshock4.xml b/pkgs/games/gimx/custom/Dualshock4.xml new file mode 100644 index 00000000000..45ee5ed7c1c --- /dev/null +++ b/pkgs/games/gimx/custom/Dualshock4.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pkgs/games/gimx/default.nix b/pkgs/games/gimx/default.nix index 0ae5a791709..132169b711d 100644 --- a/pkgs/games/gimx/default.nix +++ b/pkgs/games/gimx/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, xorg, libxml2 -, ncurses5, bluez, libmhash, gimxAuth ? "" }: +, ncurses5, bluez, libmhash, gimxPDP ? false }: let gimx-config = fetchFromGitHub { @@ -21,15 +21,21 @@ in stdenv.mkDerivation rec { sha256 = "0265gg6q7ymg76fb4pjrfdwjd280b3zzry96qy92w0h411slph85"; }; + patches = [ ./conf.patch ]; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ curl libusb1 bluez libxml2 ncurses5 libmhash xorg.libX11 xorg.libXi xorg.libXext ]; - patches = [ ./env.patch ]; - prePatch = (if gimxAuth == "afterglow" then (import ./variant.nix).afterglow - else ""); + postPatch = lib.optionals gimxPDP '' + substituteInPlace ./shared/gimxcontroller/include/x360.h \ + --replace "0x045e" "0x0e6f" --replace "0x028e" "0x0213" + substituteInPlace ./loader/firmware/EMU360.hex \ + --replace "1B210001" "1B211001" \ + --replace "09210001" "09211001" \ + --replace "5E048E021001" "6F0E13020001" + ''; makeFlags = "build-core"; installPhase = '' @@ -51,19 +57,19 @@ in stdenv.mkDerivation rec { mkdir -p $out/share cp -r ./loader/firmware $out/share/firmware cp -r ${gimx-config}/Linux $out/share/config + cp -r ${./custom} $out/share/custom - makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \ - --set GIMXCONF $out/share/config + makeWrapper $out/bin/gimx $out/bin/gimx-dualshock4 \ + --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \ + --add-flags "-c $out/share/config/Dualshock4.xml" - makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \ - --set GIMXCONF $out/share/config \ - --add-flags "--nograb" --add-flags "--curses" \ - --add-flags "-p /dev/ttyUSB0" --add-flags "-c Dualshock4.xml" + makeWrapper $out/bin/gimx $out/bin/gimx-dualshock4-noff \ + --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \ + --add-flags "-c $out/share/custom/Dualshock4.xml" - makeWrapper $out/bin/gimx $out/bin/gimx-test-xone \ - --set GIMXCONF $out/share/config \ - --add-flags "--nograb" --add-flags "--curses" \ - --add-flags "-p /dev/ttyUSB0" --add-flags "-c XOnePadUsb.xml" + makeWrapper $out/bin/gimx $out/bin/gimx-xboxonepad \ + --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \ + --add-flags "-c $out/share/config/XOnePadUsb.xml" ''; meta = with lib; { diff --git a/pkgs/games/gimx/env.patch b/pkgs/games/gimx/env.patch deleted file mode 100644 index e1f8ed8bb6f..00000000000 --- a/pkgs/games/gimx/env.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/core/config_reader.c -+++ b/core/config_reader.c -@@ -1353,8 +1353,10 @@ static int read_file(char* file_path) - int read_config_file(const char* file) - { - char file_path[PATH_MAX]; -- -- snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file); -+ char* e = getenv("GIMXCONF"); if (e) { snprintf(file_path, sizeof(file_path), "%s/%s", e, file); } -+ else { -+ snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file); -+ } - - if(read_file(file_path) == -1) - { ---- a/core/gimx.c -+++ b/core/gimx.c -@@ -190,8 +190,10 @@ void show_config() - } - - char file_path[PATH_MAX]; -- -- snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file); -+ char* e = getenv("GIMXCONF"); if (e) { snprintf(file_path, sizeof(file_path), "%s/%s", e, gimx_params.config_file); } -+ else { -+ snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file); -+ } - - FILE * fp = gfile_fopen(file_path, "r"); - if (fp == NULL) diff --git a/pkgs/games/gimx/variant.nix b/pkgs/games/gimx/variant.nix deleted file mode 100644 index 8396f72b4e7..00000000000 --- a/pkgs/games/gimx/variant.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - afterglow = '' - substituteInPlace ./shared/gimxcontroller/include/x360.h \ - --replace "0x045e" "0x0e6f" --replace "0x028e" "0x0213" - - HEX="./loader/firmware/EMU360.hex" - sed -i '34s|1B2100|1B2110|' "$HEX" - sed -i '38s|092100|092110|' "$HEX" - sed -i '40s|5E048E021001|6F0E13020001|' "$HEX" - sed -i '34s|1C\r|0C\r|' "$HEX" - sed -i '38s|FE\r|EE\r|' "$HEX" - sed -i '40s|6D\r|DD\r|' "$HEX" - ''; -} diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix index 73e5990e112..212c0669046 100644 --- a/pkgs/misc/emulators/stella/default.nix +++ b/pkgs/misc/emulators/stella/default.nix @@ -7,19 +7,22 @@ stdenv.mkDerivation rec { pname = "stella"; - version = "6.5.3"; + version = "6.6"; src = fetchFromGitHub { owner = "stella-emu"; repo = pname; rev = version; - hash = "sha256-Y9rEh9PZalQNj+d7OXN/8z5P8Hti4R3c2RL1BY+J1y4="; + hash = "sha256-+ZvSCnnoKGyToSFqUQOArolFdgUcBBFNjFw8aoVDkYI="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL2 ]; + nativeBuildInputs = [ + pkg-config + ]; - enableParallelBuilding = true; + buildInputs = [ + SDL2 + ]; meta = with lib;{ homepage = "https://stella-emu.github.io/"; diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index 1c05b7b77d2..e7541e04049 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -22,41 +22,41 @@ "5.10": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.10.78-hardened1.patch", - "sha256": "06jbxx6vcd6xa0f8y80im14cdwb8dsk21kx18q7c77gjw628b1i1", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.78-hardened1/linux-hardened-5.10.78-hardened1.patch" + "name": "linux-hardened-5.10.80-hardened1.patch", + "sha256": "1srm1kwh1fhc1rm7hwwyki48x1b4nq2zishscamsb82drnwl5pbs", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.80-hardened1/linux-hardened-5.10.80-hardened1.patch" }, - "sha256": "03q5lrv8gr9hnm7984pxi9kwsvxrn21qwykj60amisi2wac6r05y", - "version": "5.10.78" + "sha256": "0ffvgxaq2ipylzavvgnnqk56pw2a6gy5zhhgdhsf8qs2cbvyhz27", + "version": "5.10.80" }, "5.14": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.14.18-hardened1.patch", - "sha256": "1mk159nwkdd1kwsp9l7328x8mk7i5k3sw4nk858zr8izgllqijlp", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.14.18-hardened1/linux-hardened-5.14.18-hardened1.patch" + "name": "linux-hardened-5.14.20-hardened1.patch", + "sha256": "0bnbwcayfcijgchnhyig9g9q334f4x1hwqns1zwg0wnsi3kxvcsb", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.14.20-hardened1/linux-hardened-5.14.20-hardened1.patch" }, - "sha256": "1pr7qh2wjw7h6r3fixg9ia5r3na7vdb6b4sp9wnbifnqckahzwis", - "version": "5.14.18" + "sha256": "0icb14xmwijcamqbnj3v16cl1awmjzhg9cniw5gwwk6la1d7aiwj", + "version": "5.14.20" }, "5.15": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.15.2-hardened1.patch", - "sha256": "15r7vkflcrj1hxfvhycqfflb3625br10qvn1ixhsv14xxdf3h39c", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.2-hardened1/linux-hardened-5.15.2-hardened1.patch" + "name": "linux-hardened-5.15.3-hardened1.patch", + "sha256": "13d78f159bhd6f1fikrnf5madrfg9zrgg4zcmnjzmb1db1irh53n", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.3-hardened1/linux-hardened-5.15.3-hardened1.patch" }, - "sha256": "0xdi799k15l7l9kxlq4qbp79mp1c38vxal4z4p9l5gl194x06d2n", - "version": "5.15.2" + "sha256": "1rh5zkany0gxwha74l8ivb2psykp236h8q56plas7dc7hghxmwx9", + "version": "5.15.3" }, "5.4": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.4.159-hardened1.patch", - "sha256": "1hzs6sqdyzddz0qwq4b6c7rcihbjgzq73ng6fma408c27y72d6pi", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.159-hardened1/linux-hardened-5.4.159-hardened1.patch" + "name": "linux-hardened-5.4.160-hardened1.patch", + "sha256": "06f7qnc21miz5yjrws3kbavj3v6ir8z3m87ljpnq55y6b73bxngy", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.160-hardened1/linux-hardened-5.4.160-hardened1.patch" }, - "sha256": "0hw68yjf0c8kahwra8hq863318cbyqc89f429z75scmb9rgk466p", - "version": "5.4.159" + "sha256": "0n04nlg44l7p855lxkdz80x2avwm1pmrx1761cjmqv4w1qlq1c6l", + "version": "5.4.160" } } diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix index 05f2b07ecc2..ab9f11a57cc 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.10.79"; + version = "5.10.80"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1bd86ywff2mv73sybjdjlvvvhnmsv891jlm17h5nvqifdbhmb6g4"; + sha256 = "0ffvgxaq2ipylzavvgnnqk56pw2a6gy5zhhgdhsf8qs2cbvyhz27"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.14.nix b/pkgs/os-specific/linux/kernel/linux-5.14.nix index 66bbb131d8c..52ee895eb50 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.14.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.14.18"; + version = "5.14.20"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1pr7qh2wjw7h6r3fixg9ia5r3na7vdb6b4sp9wnbifnqckahzwis"; + sha256 = "0icb14xmwijcamqbnj3v16cl1awmjzhg9cniw5gwwk6la1d7aiwj"; }; } // (args.argsOverride or { })) diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix index e6ec3549aeb..79df9a0fcdd 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.15.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.15.2"; + version = "5.15.3"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0xdi799k15l7l9kxlq4qbp79mp1c38vxal4z4p9l5gl194x06d2n"; + sha256 = "1rh5zkany0gxwha74l8ivb2psykp236h8q56plas7dc7hghxmwx9"; }; } // (args.argsOverride or { })) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix index a3cd3c0f9db..39f896b8035 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.4.159"; + version = "5.4.160"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0hw68yjf0c8kahwra8hq863318cbyqc89f429z75scmb9rgk466p"; + sha256 = "0n04nlg44l7p855lxkdz80x2avwm1pmrx1761cjmqv4w1qlq1c6l"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index 19608cb5657..364a810f5ee 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "18452"; - sha256 = "0l9xnblid2nv6afp4d8g6kwlhwbw72cnqfaf2lix65bqc1ivdpl9"; + rev = "18473"; + sha256 = "0v30l950b35q4h6qb9p5x216ij4gd3cadf3fqb066wa34d4vx7yk"; } , ... }: diff --git a/pkgs/servers/http/jboss/jdbc/mysql/builder.sh b/pkgs/servers/http/jboss/jdbc/mysql/builder.sh deleted file mode 100644 index 6af39a0cb63..00000000000 --- a/pkgs/servers/http/jboss/jdbc/mysql/builder.sh +++ /dev/null @@ -1,5 +0,0 @@ -buildInputs="$mysql_jdbc" -source $stdenv/setup - -mkdir -p $out/server/default/lib -ln -s $mysql_jdbc/share/java/mysql-connector-java.jar $out/server/default/lib/mysql-connector-java.jar diff --git a/pkgs/servers/http/jboss/jdbc/mysql/default.nix b/pkgs/servers/http/jboss/jdbc/mysql/default.nix index 8db1b7a2d04..078ae4d5114 100644 --- a/pkgs/servers/http/jboss/jdbc/mysql/default.nix +++ b/pkgs/servers/http/jboss/jdbc/mysql/default.nix @@ -2,13 +2,21 @@ stdenv.mkDerivation { pname = "jboss-mysql-jdbc"; + inherit (mysql_jdbc) version; - builder = ./builder.sh; + dontUnpack = true; - inherit mysql_jdbc; - version = mysql_jdbc.version; + installPhase = '' + runHook preInstall - meta = { - platforms = lib.platforms.unix; + mkdir -p $out/server/default/lib + ln -s $mysql_jdbc/share/java/mysql-connector-java.jar $out/server/default/lib/mysql-connector-java.jar + + runHook postInstall + ''; + + meta = with lib; { + inherit (mysql_jdbc.meta) description license platforms homepage; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/servers/matrix-corporal/default.nix b/pkgs/servers/matrix-corporal/default.nix index ae455168778..ad92a1b8dba 100644 --- a/pkgs/servers/matrix-corporal/default.nix +++ b/pkgs/servers/matrix-corporal/default.nix @@ -2,20 +2,20 @@ buildGoModule rec { pname = "matrix-corporal"; - version = "2.1.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "devture"; repo = pname; rev = version; - sha256 = "sha256-u1ppwy+t2ewAH0/+R6e0Ja5A3PQG/lUy2b6kgcMVj8E="; + sha256 = "sha256-KSKPTbF1hhzLyD+iL4+hW9EuV+xFYzSzHu1DSGXWm90="; }; ldflags = [ "-s" "-w" "-X main.GitCommit=${version}" "-X main.GitBranch=${version}" "-X main.GitState=nixpkgs" "-X main.GitSummary=${version}" "-X main.Version=${version}" ]; - vendorSha256 = "sha256-YmUiGsg2UZfV6SHEPwnbmWPhGQ5teV+we9MBaJyrJr4="; + vendorSha256 = "sha256-sC9JA6VRmHGuO3anaZW2Ih5QnRrUom9IIOE7yi3TTG8="; meta = with lib; { homepage = "https://github.com/devture/matrix-corporal"; diff --git a/pkgs/servers/monitoring/icinga2/default.nix b/pkgs/servers/monitoring/icinga2/default.nix index f1ba4057483..a674aca2a37 100644 --- a/pkgs/servers/monitoring/icinga2/default.nix +++ b/pkgs/servers/monitoring/icinga2/default.nix @@ -70,7 +70,6 @@ stdenv.mkDerivation rec { # Get rid of sbin sed -i 's/sbin/bin/g' $out/lib/icinga2/safe-reload - sed -i "2s:.*:ICINGA2_BIN=$out/bin/icinga2:" $out/bin/icinga2 rm $out/sbin ${lib.optionalString withMysql '' diff --git a/pkgs/servers/moonraker/default.nix b/pkgs/servers/moonraker/default.nix index c99cac94f05..c5ba909c418 100644 --- a/pkgs/servers/moonraker/default.nix +++ b/pkgs/servers/moonraker/default.nix @@ -15,13 +15,13 @@ let ]); in stdenvNoCC.mkDerivation rec { pname = "moonraker"; - version = "unstable-2021-10-24"; + version = "unstable-2021-11-13"; src = fetchFromGitHub { owner = "Arksine"; repo = "moonraker"; - rev = "1dd89bac4b7153b77eb4208cc151de17e612b6fc"; - sha256 = "dxtDXpviasvfjQuhtjfTjZ6OgKWAsHjaInlyYlpLzYY="; + rev = "bed239c90a3b5fef5c6bf4559a774b9d09987c30"; + sha256 = "2gnW6dPsKMfoZnjs9F3opxRCeym+P43ZJOmGM44twfw="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 90fa7835128..a46fdd1ee36 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkg-config, makeWrapper, ncurses, nixosTests , libiconv, openssl, pcre2, boost, judy, bison, libxml2, libkrb5, linux-pam, curl -, libaio, libevent, jemalloc, cracklib, systemd, perl +, liburing, libevent, jemalloc, cracklib, systemd, perl , bzip2, lz4, lzo, snappy, xz, zlib, zstd , fixDarwinDylibNames, cctools, CoreServices, less , numactl # NUMA Support @@ -34,7 +34,7 @@ common = rec { # attributes common to both builds buildInputs = [ ncurses openssl zlib pcre2 libiconv curl - ] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ] + ] ++ optionals stdenv.hostPlatform.isLinux [ liburing systemd libkrb5 ] ++ optionals stdenv.hostPlatform.isDarwin [ perl cctools CoreServices ] ++ optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ]; diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix new file mode 100644 index 00000000000..078ebfb7b6e --- /dev/null +++ b/pkgs/servers/sql/proxysql/default.nix @@ -0,0 +1,151 @@ +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, autoconf +, automake +, bison +, cmake +, libtool +, civetweb +, coreutils +, curl +, flex +, gnutls +, jemalloc +, libconfig +, libdaemon +, libev +, libgcrypt +, libinjection +, libmicrohttpd_0_9_70 +, lz4 +, nlohmann_json +, openssl +, pcre +, perl +, prometheus-cpp +, python +, re2 +, zlib +}: + +stdenv.mkDerivation rec { + pname = "proxysql"; + version = "2.3.2"; + + src = fetchFromGitHub { + owner = "sysown"; + repo = pname; + rev = version; + sha256 = "13l4bf7zhfjy701qx9hfr40vlsm4d0pbfmwr5d6lf514xznvsnzl"; + }; + + patches = [ + ./makefiles.patch + ./dont-phone-home.patch + (fetchpatch { + url = "https://github.com/sysown/proxysql/pull/3402.patch"; + sha256 = "079jjhvx32qxjczmsplkhzjn9gl7c2a3famssczmjv2ffs65vibi"; + }) + ]; + + nativeBuildInputs = [ + autoconf + automake + cmake + libtool + perl + python + ]; + + buildInputs = [ + bison + curl + flex + gnutls + libgcrypt + openssl + zlib + ]; + + GIT_VERSION = version; + + dontConfigure = true; + + # replace and fix some vendored dependencies + preBuild = /* sh */ '' + pushd deps + + function replace_dep() { + local folder="$1" + local src="$2" + local symlink="$3" + local name="$4" + + pushd "$folder" + + rm -rf "$symlink" + if [ -d "$src" ]; then + cp -R "$src"/. "$symlink" + chmod -R u+w "$symlink" + else + tar xf "$src" + ln -s "$name" "$symlink" + fi + + popd + } + + ${lib.concatMapStringsSep "\n" + (x: ''replace_dep "${x.f}" "${x.p.src}" "${x.p.pname or (builtins.parseDrvName x.p.name).name}" "${x.p.name}"'') [ + { f = "curl"; p = curl; } + { f = "jemalloc"; p = jemalloc; } + { f = "libconfig"; p = libconfig; } + { f = "libdaemon"; p = libdaemon; } + { f = "libev"; p = libev; } + { f = "libinjection"; p = libinjection; } + { f = "libmicrohttpd"; p = libmicrohttpd_0_9_70; } + { f = "libssl"; p = openssl; } + { f = "lz4"; p = lz4; } + { f = "pcre"; p = pcre; } + { f = "prometheus-cpp"; p = prometheus-cpp; } + { f = "re2"; p = re2; } + ]} + + pushd libhttpserver + tar xf libhttpserver-0.18.1.tar.gz + sed -i s_/bin/pwd_${coreutils}/bin/pwd_g libhttpserver/configure.ac + popd + + pushd json + rm json.hpp + ln -s ${nlohmann_json.src}/single_include/nlohmann/json.hpp . + popd + + pushd prometheus-cpp/prometheus-cpp/3rdparty + replace_dep . "${civetweb.src}" civetweb + popd + + sed -i s_/usr/bin/env_${coreutils}/bin/env_g libssl/openssl/config + + popd + patchShebangs . + ''; + + preInstall = '' + mkdir -p $out/{etc,bin,lib/systemd/system} + ''; + + postInstall = '' + sed -i s_/usr/bin/proxysql_$out/bin/proxysql_ $out/lib/systemd/system/*.service + ''; + + meta = with lib; { + homepage = "https://proxysql.com/"; + broken = stdenv.isDarwin; + description = "High-performance MySQL proxy"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ ajs124 ]; + }; +} diff --git a/pkgs/servers/sql/proxysql/dont-phone-home.patch b/pkgs/servers/sql/proxysql/dont-phone-home.patch new file mode 100644 index 00000000000..5701d86b4b4 --- /dev/null +++ b/pkgs/servers/sql/proxysql/dont-phone-home.patch @@ -0,0 +1,12 @@ +diff --git a/src/main.cpp b/src/main.cpp +index 39dfaa24..634b004b 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -237,6 +237,7 @@ static char * main_check_latest_version() { + + + void * main_check_latest_version_thread(void *arg) { ++ return NULL; + char * latest_version = main_check_latest_version(); + if (latest_version) { + if ( diff --git a/pkgs/servers/sql/proxysql/makefiles.patch b/pkgs/servers/sql/proxysql/makefiles.patch new file mode 100644 index 00000000000..270b6f1eefd --- /dev/null +++ b/pkgs/servers/sql/proxysql/makefiles.patch @@ -0,0 +1,172 @@ +--- a/Makefile ++++ b/Makefile +@@ -46,11 +46,7 @@ endif + + export MAKEOPT=-j ${NPROCS} + +-ifeq ($(wildcard /usr/lib/systemd/system), /usr/lib/systemd/system) +- SYSTEMD=1 +-else +- SYSTEMD=0 +-endif ++SYSTEMD=1 + USERCHECK := $(shell getent passwd proxysql) + GROUPCHECK := $(shell getent group proxysql) + +@@ -523,16 +519,10 @@ cleanbuild: + + .PHONY: install + install: src/proxysql +- install -m 0755 src/proxysql /usr/bin +- install -m 0600 etc/proxysql.cnf /etc +- if [ ! -d /var/lib/proxysql ]; then mkdir /var/lib/proxysql ; fi +-ifeq ($(findstring proxysql,$(USERCHECK)),) +- @echo "Creating proxysql user and group" +- useradd -r -U -s /bin/false proxysql +-endif ++ install -m 0755 src/proxysql $(out)/bin ++ install -m 0600 etc/proxysql.cnf $(out)/etc + ifeq ($(SYSTEMD), 1) +- install -m 0644 systemd/system/proxysql.service /usr/lib/systemd/system/ +- systemctl enable proxysql.service ++ install -m 0644 systemd/system/proxysql.service $(out)/lib/systemd/system/ + else + install -m 0755 etc/init.d/proxysql /etc/init.d + ifeq ($(DISTRO),"CentOS Linux") +--- a/deps/Makefile ++++ b/deps/Makefile +@@ -40,22 +40,10 @@ endif + + + libinjection/libinjection/src/libinjection.a: +- cd libinjection && rm -rf libinjection-3.10.0 || true +- cd libinjection && tar -zxf libinjection-3.10.0.tar.gz +- sed -i -e 's/python/python2/' libinjection/libinjection-3.10.0/src/make_parens.py +- sed -i -e 's/python/python2/' libinjection/libinjection-3.10.0/src/sqlparse_map.py +- sed -i -e 's/python/python2/' libinjection/libinjection-3.10.0/src/sqlparse2c.py + cd libinjection/libinjection && CC=${CC} CXX=${CXX} ${MAKE} + libinjection: libinjection/libinjection/src/libinjection.a + + libssl/openssl/libssl.a: +-# cd libssl && rm -rf openssl-1.1.0h || true +-# cd libssl && tar -zxf openssl-1.1.0h.tar.gz +- cd libssl && rm -rf openssl-1.1.1d || true +- cd libssl && rm -rf openssl-1.1.0h || true +- cd libssl && rm -rf openssl-1.1.1g || true +- cd libssl && rm -rf openssl-1.1.1j || true +- cd libssl && tar -zxf openssl-1.1.1j.tar.gz + cd libssl/openssl && ./config no-ssl3 + cd libssl/openssl && CC=${CC} CXX=${CXX} ${MAKE} + cd libssl/openssl && ln -s . lib # curl wants this path +@@ -70,9 +58,6 @@ ifeq ($(MIN_VERSION),$(lastword $(sort $(GCC_VERSION) $(MIN_VERSION)))) + endif + + libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a +- cd libhttpserver && rm -rf libhttpserver-master_20191121 || true +- cd libhttpserver && rm -rf libhttpserver-0.18.1 || true +- cd libhttpserver && tar -zxf libhttpserver-0.18.1.tar.gz + ifeq ($(REQUIRE_PATCH), true) + cd libhttpserver/libhttpserver && patch src/httpserver/basic_auth_fail_response.hpp < ../basic_auth_fail_response.hpp.patch + cd libhttpserver/libhttpserver && patch src/httpserver/create_webserver.hpp < ../create_webserver.hpp.patch +@@ -94,34 +79,15 @@ endif + libhttpserver: libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a + + libev/libev/.libs/libev.a: +- cd libev && rm -rf libev-4.24 || true +- cd libev && tar -zxf libev-4.24.tar.gz + cd libev/libev && ./configure + cd libev/libev && CC=${CC} CXX=${CXX} ${MAKE} + ev: libev/libev/.libs/libev.a + + curl/curl/lib/.libs/libcurl.a: libssl/openssl/libssl.a +- cd curl && rm -rf curl-7.57.0 || true +- cd curl && rm -rf curl-7.77.0 || true +- cd curl && tar -zxf curl-7.77.0.tar.gz +- #cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --with-ssl=$(shell pwd)/../../libssl/openssl/ && CC=${CC} CXX=${CXX} ${MAKE} + cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --without-librtmp --without-libpsl --with-ssl=$(shell pwd)/libssl/openssl/ --enable-shared=no && CC=${CC} CXX=${CXX} ${MAKE} + curl: curl/curl/lib/.libs/libcurl.a + + libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a: +- cd libmicrohttpd && rm -rf libmicrohttpd-0.9.55 || true +- cd libmicrohttpd && rm -rf libmicrohttpd-0.9.68 || true +- cd libmicrohttpd && rm -f libmicrohttpd || true +-ifeq ($(CENTOSVER),6) +- cd libmicrohttpd && ln -s libmicrohttpd-0.9.55 libmicrohttpd +- cd libmicrohttpd && tar -zxf libmicrohttpd-0.9.55.tar.gz +-else +- cd libmicrohttpd && ln -s libmicrohttpd-0.9.68 libmicrohttpd +- cd libmicrohttpd && tar -zxf libmicrohttpd-0.9.68.tar.gz +-endif +-ifeq ($(OS),Darwin) +- cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/mhd_sockets.c < ../mhd_sockets.c-issue-5977.patch +-endif + cd libmicrohttpd/libmicrohttpd && ./configure --enable-https && CC=${CC} CXX=${CXX} ${MAKE} + microhttpd: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a + +@@ -132,8 +98,6 @@ cityhash/cityhash/src/.libs/libcityhash.a: + cityhash: cityhash/cityhash/src/.libs/libcityhash.a + + lz4/lz4/liblz4.a: +- cd lz4 && rm -rf lz4-1.7.5 || true +- cd lz4 && tar -zxf lz4-1.7.5.tar.gz + cd lz4/lz4 && CC=${CC} CXX=${CXX} ${MAKE} + lz4: lz4/lz4/liblz4.a + +@@ -148,16 +112,12 @@ clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib.a + + + libdaemon/libdaemon/libdaemon/.libs/libdaemon.a: +- cd libdaemon && rm -rf libdaemon-0.14 +- cd libdaemon && tar -zxf libdaemon-0.14.tar.gz + cd libdaemon/libdaemon && cp ../config.guess . && chmod +x config.guess && ./configure --disable-examples + cd libdaemon/libdaemon && CC=${CC} CXX=${CXX} ${MAKE} + + libdaemon: libdaemon/libdaemon/libdaemon/.libs/libdaemon.a + + jemalloc/jemalloc/lib/libjemalloc.a: +- cd jemalloc && rm -rf jemalloc-5.2.0 +- cd jemalloc && tar -jxf jemalloc-5.2.0.tar.bz2 + cd jemalloc/jemalloc && patch src/jemalloc.c < ../issue823.520.patch + cd jemalloc/jemalloc && patch src/jemalloc.c < ../issue2358.patch + cd jemalloc/jemalloc && ./configure ${MYJEOPT} +@@ -210,17 +170,12 @@ sqlite3/sqlite3/sqlite3.o: + sqlite3: sqlite3/sqlite3/sqlite3.o + + libconfig/libconfig/lib/.libs/libconfig++.a: +- cd libconfig && rm -rf libconfig-1.7.2 +- cd libconfig && tar -zxf libconfig-1.7.2.tar.gz + cd libconfig/libconfig && ./configure --disable-examples + cd libconfig/libconfig && CC=${CC} CXX=${CXX} ${MAKE} + + libconfig: libconfig/libconfig/lib/.libs/libconfig++.a + + prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a: +- cd prometheus-cpp && rm -rf prometheus-cpp-0.9.0 +- cd prometheus-cpp && tar -zxf v0.9.0.tar.gz +- cd prometheus-cpp && tar --strip-components=1 -zxf civetweb-v1.11.tar.gz -C prometheus-cpp/3rdparty/civetweb + cd prometheus-cpp/prometheus-cpp && patch -p1 < ../serial_exposer.patch + cd prometheus-cpp/prometheus-cpp && patch -p0 < ../registry_counters_reset.patch + cd prometheus-cpp/prometheus-cpp && cmake . -DBUILD_SHARED_LIBS=OFF -DENABLE_TESTING=OFF -DENABLE_PUSH=OFF +@@ -229,12 +184,6 @@ prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a: + prometheus-cpp: prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a + + re2/re2/obj/libre2.a: +- cd re2 && rm -rf re2-2018-07-01 || true +- cd re2 && rm -rf re2-2020-07-06 || true +-# cd re2 && tar -zxf re2-20140304.tgz +- cd re2 && tar -zxf re2.tar.gz +-# cd re2/re2 && sed -i -e 's/-O3 -g /-O3 -fPIC /' Makefile +-# cd re2 && patch re2/util/mutex.h < mutex.h.patch + cd re2/re2 && sed -i -e 's/-O3 /-O3 -fPIC -DMEMORY_SANITIZER -DRE2_ON_VALGRIND /' Makefile + cd re2/re2 && sed -i -e 's/RE2_CXXFLAGS?=-std=c++11 /RE2_CXXFLAGS?=-std=c++11 -fPIC /' Makefile + cd re2/re2 && CC=${CC} CXX=${CXX} ${MAKE} +@@ -242,9 +191,6 @@ re2/re2/obj/libre2.a: + re2: re2/re2/obj/libre2.a + + pcre/pcre/.libs/libpcre.a: +- cd pcre && rm -rf pcre-8.39 +- cd pcre && rm -rf pcre-8.44 +- cd pcre && tar -zxf pcre-8.44.tar.gz + cd pcre/pcre && ./configure + cd pcre/pcre && CC=${CC} CXX=${CXX} ${MAKE} + pcre: pcre/pcre/.libs/libpcre.a diff --git a/pkgs/servers/webdav/default.nix b/pkgs/servers/webdav/default.nix new file mode 100644 index 00000000000..2e6a6a891ec --- /dev/null +++ b/pkgs/servers/webdav/default.nix @@ -0,0 +1,22 @@ +{ lib, stdenv, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "webdav"; + version = "4.1.1"; + + src = fetchFromGitHub { + owner = "hacdias"; + repo = "webdav"; + rev = "v${version}"; + sha256 = "0jnh1bhc98vcx2vm6hmgak6zwfc0rx898qcdjcca5y9dni4120aq"; + }; + + vendorSha256 = "19nhz6z8h4fxpy4gjx7zz69si499jak7qj9yb17x32lar5m88gvb"; + + meta = with lib; { + description = "Simple WebDAV server"; + homepage = "https://github.com/hacdias/webdav"; + license = licenses.mit; + maintainers = with maintainers; [ pengmeiyu ]; + }; +} diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix index 4fd4e5730a4..9a5bf59f18e 100644 --- a/pkgs/shells/tcsh/default.nix +++ b/pkgs/shells/tcsh/default.nix @@ -1,24 +1,31 @@ -{ lib, stdenv, fetchurl, fetchpatch +{ lib +, stdenv +, fetchurl +, fetchpatch , ncurses }: stdenv.mkDerivation rec { pname = "tcsh"; - version = "6.22.04"; + version = "6.23.00"; src = fetchurl { urls = [ - "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" + "https://astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" + "https://astron.com/pub/tcsh/${pname}-${version}.tar.gz" "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" - "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" - "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" - "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz" + "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/${pname}-${version}.tar.gz" + "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz" + "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" + "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" ]; - hash = "sha256-6xY1YkMhjDLzngcljXK/iyHmLOlLsOipXjGLFROX4jE="; + hash = "sha256-Tr6y8zYz0RXZU19VTGUahSMEDY2R5d4zP7LuBFuOAB4="; }; - buildInputs = [ ncurses ]; + buildInputs = [ + ncurses + ]; patches = lib.optional stdenv.hostPlatform.isMusl (fetchpatch { @@ -47,7 +54,5 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; - passthru = { - shellPath = "/bin/tcsh"; - }; + passthru.shellPath = "/bin/tcsh"; } diff --git a/pkgs/shells/zsh/zsh-vi-mode/default.nix b/pkgs/shells/zsh/zsh-vi-mode/default.nix new file mode 100644 index 00000000000..32f1e9c024a --- /dev/null +++ b/pkgs/shells/zsh/zsh-vi-mode/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "zsh-vi-mode"; + version = "0.8.5"; + + src = fetchFromGitHub { + owner = "jeffreytse"; + repo = pname; + rev = "v${version}"; + sha256 = "EOYqHh0rcgoi26eopm6FTl81ehak5kXMmzNcnJDH8/E="; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/${pname} + cp *.zsh $out/share/${pname}/ + ''; + + meta = with lib; { + homepage = "https://github.com/jeffreytse/zsh-vi-mode"; + license = licenses.mit; + description = "A better and friendly vi(vim) mode plugin for ZSH."; + maintainers = with maintainers; [ kyleondy ]; + }; +} diff --git a/pkgs/tools/networking/ocserv/default.nix b/pkgs/tools/networking/ocserv/default.nix index 2f5dd14757b..5391ec03ae7 100644 --- a/pkgs/tools/networking/ocserv/default.nix +++ b/pkgs/tools/networking/ocserv/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "ocserv"; - version = "0.12.6"; + version = "1.1.2"; src = fetchFromGitLab { owner = "openconnect"; repo = "ocserv"; - rev = "ocserv_${lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "0k7sx9sg8akxwfdl51cvdqkdrx9qganqddgri2yhcgznc3f3pz5b"; + rev = version; + sha256 = "gXolG4zTnJpgI32SuudhvlP9snI0k4Oa1mqE7eGbdE0="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.com/openconnect/ocserv"; license = licenses.gpl2; description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client"; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ neverbehave ]; }; } diff --git a/pkgs/tools/networking/wg-friendly-peer-names/default.nix b/pkgs/tools/networking/wg-friendly-peer-names/default.nix new file mode 100644 index 00000000000..a2ec966a604 --- /dev/null +++ b/pkgs/tools/networking/wg-friendly-peer-names/default.nix @@ -0,0 +1,29 @@ +{ stdenv +, lib +, fetchFromGitHub +, wireguard-tools +}: + +stdenv.mkDerivation { + pname = "wg-friendly-peer-names"; + version = "unstable-2021-11-08"; + + src = fetchFromGitHub { + owner = "FlyveHest"; + repo = "wg-friendly-peer-names"; + rev = "66b9b6b74ec77b9fec69b2a58296635321d4f5f1"; + sha256 = "pH/b5rCHIqLxz/Fnx+Dm0m005qAUWBsczSU9vGEQ2RQ="; + }; + + installPhase = '' + install -D wgg.sh $out/bin/wgg + ''; + + meta = with lib; { + homepage = "https://github.com/FlyveHest/wg-friendly-peer-names"; + description = "Small shellscript that makes it possible to give peers a friendlier and more readable name in the `wg` peer list"; + license = licenses.mit; + platforms = wireguard-tools.meta.platforms; + maintainers = with maintainers; [ mkg20001 ]; + }; +} diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix index f99e1fe74db..3a12761ee87 100644 --- a/pkgs/tools/security/step-ca/default.nix +++ b/pkgs/tools/security/step-ca/default.nix @@ -11,16 +11,16 @@ buildGoModule rec { pname = "step-ca"; - version = "0.17.4"; + version = "0.17.6"; src = fetchFromGitHub { owner = "smallstep"; repo = "certificates"; rev = "v${version}"; - sha256 = "sha256-X4dOrd/wxtYLw3C4Lj88RV/J6CEkmsOeqtiVX/6VFHg="; + sha256 = "sha256-hZdsxSEfb+DwnVOnnp9cT6diQWkFVPSa/T8YDsGlg3k="; }; - vendorSha256 = "sha256-/8Glo+U8MS8Y8mKECgTAB7JWmp/rjMQhG4nZkNs+Zgs="; + vendorSha256 = "sha256-OcnqMEotc18rX6BYs3oj8+83MRf7iJJNwjjXUQ5xfp4="; ldflags = [ "-buildid=" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 683bf4d7a05..ddda6ef6ef7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8732,6 +8732,8 @@ with pkgs; proxify = callPackage ../tools/networking/proxify { }; + proxysql = callPackage ../servers/sql/proxysql { }; + proxytunnel = callPackage ../tools/misc/proxytunnel { openssl = openssl_1_0_2; }; @@ -10533,6 +10535,8 @@ with pkgs; wireguard-tools = callPackage ../tools/networking/wireguard-tools { }; + wg-friendly-peer-names = callPackage ../tools/networking/wg-friendly-peer-names { }; + woff2 = callPackage ../development/web/woff2 { }; woof = callPackage ../tools/misc/woof { }; @@ -11113,6 +11117,8 @@ with pkgs; zsh-command-time = callPackage ../shells/zsh/zsh-command-time { }; + zsh-vi-mode = callPackage ../shells/zsh/zsh-vi-mode {}; + zsh-you-should-use = callPackage ../shells/zsh/zsh-you-should-use { }; zsh-z = callPackage ../shells/zsh/zsh-z { }; @@ -15886,6 +15892,8 @@ with pkgs; cmrt = callPackage ../development/libraries/cmrt { }; + coeurl = callPackage ../development/libraries/coeurl { }; + cogl = callPackage ../development/libraries/cogl { }; coin3d = callPackage ../development/libraries/coin3d { }; @@ -18359,7 +18367,9 @@ with pkgs; libversion = callPackage ../development/libraries/libversion { }; - libvirt = callPackage ../development/libraries/libvirt { }; + libvirt = callPackage ../development/libraries/libvirt { + inherit (darwin.apple_sdk.frameworks) Carbon AppKit; + }; libvirt_5_9_0 = callPackage ../development/libraries/libvirt/5.9.0.nix { }; libvirt-glib = callPackage ../development/libraries/libvirt-glib { }; @@ -20117,7 +20127,7 @@ with pkgs; }; wxSVG = callPackage ../development/libraries/wxSVG { - wxGTK = wxGTK30; + wxGTK = wxGTK30-gtk3; }; wtk = callPackage ../development/libraries/wtk { }; @@ -21611,6 +21621,8 @@ with pkgs; wallabag = callPackage ../servers/web-apps/wallabag { }; + webdav = callPackage ../servers/webdav { }; + webmetro = callPackage ../servers/webmetro { }; wsdd = callPackage ../servers/wsdd { }; @@ -26424,6 +26436,10 @@ with pkgs; }); libreoffice-still-unwrapped = libreoffice-still.libreoffice; + libresprite = callPackage ../applications/editors/libresprite { + inherit (darwin.apple_sdk.frameworks) AppKit Cocoa Foundation; + }; + libvmi = callPackage ../development/libraries/libvmi { }; libutp = callPackage ../applications/networking/p2p/libutp { }; @@ -28116,6 +28132,8 @@ with pkgs; dropbox-cli = callPackage ../applications/networking/dropbox/cli.nix { }; + synology-drive-client = callPackage ../applications/networking/synology-drive-client { }; + maestral = with python3Packages; toPythonApplication maestral; maestral-gui = libsForQt5.callPackage ../applications/networking/maestral-qt { }; @@ -29603,7 +29621,7 @@ with pkgs; aeon = callPackage ../applications/blockchains/aeon { }; alfis = callPackage ../applications/blockchains/alfis { - inherit (darwin.apple_sdk.frameworks) Cocoa WebKit; + inherit (darwin.apple_sdk.frameworks) Cocoa Security WebKit; inherit (gnome) zenity; }; alfis-nogui = alfis.override { @@ -30170,7 +30188,6 @@ with pkgs; gemrb = callPackage ../games/gemrb { }; gimx = callPackage ../games/gimx {}; - gimx-afterglow = lowPrio (gimx.override { gimxAuth = "afterglow"; }); gl117 = callPackage ../games/gl-117 {};