diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b8f7b7d38f1..d227e348b10 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2279,6 +2279,12 @@ githubId = 265220; name = "David Leung"; }; + DianaOlympos = { + email = "DianaOlympos@noreply.github.com"; + github = "DianaOlympos"; + githubId = 15774340; + name = "Thomas Depierre"; + }; dipinhora = { email = "dipinhora+github@gmail.com"; github = "dipinhora"; @@ -9976,6 +9982,12 @@ githubId = 6016963; name = "Patrick Winter"; }; + winterqt = { + email = "nixos@winter.cafe"; + github = "winterqt"; + githubId = 78392041; + name = "Winter"; + }; wishfort36 = { email = "42300264+wishfort36@users.noreply.github.com"; github = "wishfort36"; diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index b34c3f71bd8..7d778a8ae30 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -29,6 +29,18 @@ with lib.maintainers; { scope = "Maintain ACME-related packages and modules."; }; + beam = { + members = [ + ankhers + Br1ght0ne + DianaOlympos + gleber + happysalada + yurrriq + ]; + scope = "Maintain BEAM-related packages and modules."; + }; + cinnamon = { members = [ mkg20001 diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index e5c93f5c513..2105ff9f3d7 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -466,6 +466,19 @@ self: super: ALSA OSS emulation (sound.enableOSSEmulation) is now disabled by default. + + + Thinkfan as been updated to 1.2.x, which comes with a + new YAML based configuration format. For this reason, several NixOS options + of the thinkfan module have been changed to non-backward compatible types. + In addition, a new option has + been added. + + + Please read the + thinkfan documentation before updating. + + diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix index 3bda61ed1a9..7a5a7e1c41c 100644 --- a/nixos/modules/services/hardware/thinkfan.nix +++ b/nixos/modules/services/hardware/thinkfan.nix @@ -5,50 +5,96 @@ with lib; let cfg = config.services.thinkfan; - configFile = pkgs.writeText "thinkfan.conf" '' - # ATTENTION: There is only very basic sanity checking on the configuration. - # That means you can set your temperature limits as insane as you like. You - # can do anything stupid, e.g. turn off your fan when your CPU reaches 70°C. - # - # That's why this program is called THINKfan: You gotta think for yourself. - # - ###################################################################### - # - # IBM/Lenovo Thinkpads (thinkpad_acpi, /proc/acpi/ibm) - # ==================================================== - # - # IMPORTANT: - # - # To keep your HD from overheating, you have to specify a correction value for - # the sensor that has the HD's temperature. You need to do this because - # thinkfan uses only the highest temperature it can find in the system, and - # that'll most likely never be your HD, as most HDs are already out of spec - # when they reach 55 °C. - # Correction values are applied from left to right in the same order as the - # temperatures are read from the file. - # - # For example: - # tp_thermal /proc/acpi/ibm/thermal (0, 0, 10) - # will add a fixed value of 10 °C the 3rd value read from that file. Check out - # http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may - # want to add to certain temperatures. + settingsFormat = pkgs.formats.yaml { }; + configFile = settingsFormat.generate "thinkfan.yaml" cfg.settings; + thinkfan = pkgs.thinkfan.override { inherit (cfg) smartSupport; }; - ${cfg.fan} - ${cfg.sensors} + # fan-speed and temperature levels + levelType = with types; + let + tuple = ts: mkOptionType { + name = "tuple"; + merge = mergeOneOption; + check = xs: all id (zipListsWith (t: x: t.check x) ts xs); + description = "tuple of" + concatMapStrings (t: " (${t.description})") ts; + }; + level = ints.unsigned; + special = enum [ "level auto" "level full-speed" "level disengage" ]; + in + tuple [ (either level special) level level ]; - # Syntax: - # (LEVEL, LOW, HIGH) - # LEVEL is the fan level to use (0-7 with thinkpad_acpi) - # LOW is the temperature at which to step down to the previous level - # HIGH is the temperature at which to step up to the next level - # All numbers are integers. - # + # sensor or fan config + sensorType = name: types.submodule { + freeformType = types.attrsOf settingsFormat.type; + options = { + type = mkOption { + type = types.enum [ "hwmon" "atasmart" "tpacpi" "nvml" ]; + description = '' + The ${name} type, can be + hwmon for standard ${name}s, - ${cfg.levels} + atasmart to read the temperature via + S.M.A.R.T (requires smartSupport to be enabled), + + tpacpi for the legacy thinkpac_acpi driver, or + + nvml for the (proprietary) nVidia driver. + ''; + }; + query = mkOption { + type = types.str; + description = '' + The query string used to match one or more ${name}s: can be + a fullpath to the temperature file (single ${name}) or a fullpath + to a driver directory (multiple ${name}s). + + + When multiple ${name}s match, the query can be restricted using the + or options. + + ''; + }; + indices = mkOption { + type = with types; nullOr (listOf ints.unsigned); + default = null; + description = '' + A list of ${name}s to pick in case multiple ${name}s match the query. + + Indices start from 0. + ''; + }; + } // optionalAttrs (name == "sensor") { + correction = mkOption { + type = with types; nullOr (listOf int); + default = null; + description = '' + A list of values to be added to the temperature of each sensor, + can be used to equalize small discrepancies in temperature ratings. + ''; + }; + }; + }; + + # removes NixOS special and unused attributes + sensorToConf = { type, query, ... }@args: + (filterAttrs (k: v: v != null && !(elem k ["type" "query"])) args) + // { "${type}" = query; }; + + syntaxNote = name: '' + + This section slightly departs from the thinkfan.conf syntax. + The type and path must be specified like this: + + type = "tpacpi"; + query = "/proc/acpi/ibm/${name}"; + + instead of a single declaration like: + + - tpacpi: /proc/acpi/ibm/${name} + + ''; - thinkfan = pkgs.thinkfan.override { smartSupport = cfg.smartSupport; }; - in { options = { @@ -59,76 +105,93 @@ in { type = types.bool; default = false; description = '' - Whether to enable thinkfan, fan controller for IBM/Lenovo ThinkPads. + Whether to enable thinkfan, a fan control program. + + + This module targets IBM/Lenovo thinkpads by default, for + other hardware you will have configure it more carefully. + ''; + relatedPackages = [ "thinkfan" ]; }; smartSupport = mkOption { type = types.bool; default = false; description = '' - Whether to build thinkfan with SMART support to read temperatures + Whether to build thinkfan with S.M.A.R.T. support to read temperatures directly from hard disks. ''; }; sensors = mkOption { - type = types.lines; - default = '' - tp_thermal /proc/acpi/ibm/thermal (0,0,10) - ''; - description ='' - thinkfan can read temperatures from three possible sources: - - /proc/acpi/ibm/thermal - Which is provided by the thinkpad_acpi kernel - module (keyword tp_thermal) - - /sys/class/hwmon/*/temp*_input - Which may be provided by any hwmon drivers (keyword - hwmon) - - S.M.A.R.T. (requires smartSupport to be enabled) - Which reads the temperature directly from the hard - disk using libatasmart (keyword atasmart) - - Multiple sensors may be added, in which case they will be - numbered in their order of appearance. - ''; + type = types.listOf (sensorType "sensor"); + default = [ + { type = "tpacpi"; + query = "/proc/acpi/ibm/thermal"; + } + ]; + description = '' + List of temperature sensors thinkfan will monitor. + '' + syntaxNote "thermal"; }; - fan = mkOption { - type = types.str; - default = "tp_fan /proc/acpi/ibm/fan"; - description ='' - Specifies the fan we want to use. - On anything other than a Thinkpad you'll probably - use some PWM control file in /sys/class/hwmon. - A sysfs fan would be specified like this: - pwm_fan /sys/class/hwmon/hwmon2/device/pwm1 - ''; + fans = mkOption { + type = types.listOf (sensorType "fan"); + default = [ + { type = "tpacpi"; + query = "/proc/acpi/ibm/fan"; + } + ]; + description = '' + List of fans thinkfan will control. + '' + syntaxNote "fan"; }; levels = mkOption { - type = types.lines; - default = '' - (0, 0, 55) - (1, 48, 60) - (2, 50, 61) - (3, 52, 63) - (6, 56, 65) - (7, 60, 85) - (127, 80, 32767) - ''; + type = types.listOf levelType; + default = [ + [0 0 55] + [1 48 60] + [2 50 61] + [3 52 63] + [6 56 65] + [7 60 85] + ["level auto" 80 32767] + ]; description = '' - (LEVEL, LOW, HIGH) - LEVEL is the fan level to use (0-7 with thinkpad_acpi). + [LEVEL LOW HIGH] + + LEVEL is the fan level to use: it can be an integer (0-7 with thinkpad_acpi), + "level auto" (to keep the default firmware behavior), "level full-speed" or + "level disengage" (to run the fan as fast as possible). LOW is the temperature at which to step down to the previous level. HIGH is the temperature at which to step up to the next level. All numbers are integers. ''; }; + extraArgs = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "-b" "0" ]; + description = '' + A list of extra command line arguments to pass to thinkfan. + Check the thinkfan(1) manpage for available arguments. + ''; + }; + + settings = mkOption { + type = types.attrsOf settingsFormat.type; + default = { }; + description = '' + Thinkfan settings. Use this option to configure thinkfan + settings not exposed in a NixOS option or to bypass one. + Before changing this, read the thinkfan.conf(5) + manpage and take a look at the example config file at + + ''; + }; }; @@ -138,12 +201,21 @@ in { environment.systemPackages = [ thinkfan ]; - systemd.services.thinkfan = { - description = "Thinkfan"; - after = [ "basic.target" ]; - wantedBy = [ "multi-user.target" ]; - path = [ thinkfan ]; - serviceConfig.ExecStart = "${thinkfan}/bin/thinkfan -n -c ${configFile}"; + services.thinkfan.settings = mapAttrs (k: v: mkDefault v) { + sensors = map sensorToConf cfg.sensors; + fans = map sensorToConf cfg.fans; + levels = cfg.levels; + }; + + systemd.packages = [ thinkfan ]; + + systemd.services = { + thinkfan.environment.THINKFAN_ARGS = escapeShellArgs ([ "-c" configFile ] ++ cfg.extraArgs); + + # must be added manually, see issue #81138 + thinkfan.wantedBy = [ "multi-user.target" ]; + thinkfan-wakeup.wantedBy = [ "sleep.target" ]; + thinkfan-sleep.wantedBy = [ "sleep.target" ]; }; boot.extraModprobeConfig = "options thinkpad_acpi experimental=1 fan_control=1"; diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 1fd85c66f84..64de15f4a2f 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -238,9 +238,6 @@ in services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey; })] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable { hardware.rtl-sdr.enable = mkDefault true; - })] ++ [(mkIf config.services.nginx.enable { - systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ]; - systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ]; })] ++ [(mkIf config.services.postfix.enable { services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup; })] ++ (mapAttrsToList (name: conf: diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix index 56cddfc55b7..5ee8c346be1 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix @@ -42,7 +42,7 @@ in ''; }; }; - serviceOpts = { + serviceOpts = mkMerge ([{ serviceConfig = { ExecStart = '' ${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \ @@ -54,7 +54,10 @@ in ${concatStringsSep " \\\n " cfg.extraFlags} ''; }; - }; + }] ++ [(mkIf config.services.nginx.enable { + after = [ "nginx.service" ]; + requires = [ "nginx.service" ]; + })]); imports = [ (mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ]) (mkRemovedOptionModule [ "insecure" ] '' diff --git a/nixos/modules/services/networking/epmd.nix b/nixos/modules/services/networking/epmd.nix index 692b75e4f08..f7cdc0fe79c 100644 --- a/nixos/modules/services/networking/epmd.nix +++ b/nixos/modules/services/networking/epmd.nix @@ -53,4 +53,6 @@ in }; }; }; + + meta.maintainers = teams.beam.members; } diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 69e427dd96c..7f41fa6c5f9 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -17,7 +17,6 @@ , hicolor-icon-theme , intltool , ladspaH -, libav , libjack2 , libsndfile , lilv @@ -74,7 +73,6 @@ stdenv.mkDerivation rec { gtk3 gtkmm3 ladspaH - libav libjack2 libsndfile lilv diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix index d6e96d90834..62db3d79690 100644 --- a/pkgs/applications/audio/keyfinder-cli/default.nix +++ b/pkgs/applications/audio/keyfinder-cli/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, libav, libkeyfinder }: +{ lib, stdenv, fetchFromGitHub, ffmpeg, libkeyfinder }: stdenv.mkDerivation rec { pname = "keyfinder-cli"; - version = "2015-09-13"; + version = "1.1.1"; src = fetchFromGitHub { repo = "keyfinder-cli"; owner = "EvanPurkhiser"; - rev = "8579282f15ab3ebad937fed398ec5c88843be03d"; - sha256 = "0jylykigxmsqvdny265k58vpxa4cqs1hq2f7mph1nl3apfx2shrh"; + rev = "v${version}"; + sha256 = "1mlcygbj3gqii3cz8jd6ks1lz612i4jp0343qjg293xm39fg47ns"; }; - buildInputs = [ libav libkeyfinder ]; + buildInputs = [ ffmpeg libkeyfinder ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix index b8fb01b6ecd..c3667ee57a5 100644 --- a/pkgs/applications/audio/keyfinder/default.nix +++ b/pkgs/applications/audio/keyfinder/default.nix @@ -1,12 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, qmake, taglib }: +{ lib, mkDerivation, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, qmake, taglib }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "keyfinder"; - version = "2.2"; + version = "2.4"; src = fetchFromGitHub { - sha256 = "0vjszk1h8vj2qycgbffzy6k7amg75jlvlnzwaqhz9nll2pcvw0zl"; - rev = version; + sha256 = "11yhdwan7bz8nn8vxr54drckyrnlxynhx5s981i475bbccg8g7ls"; + rev = "530034d6fe86d185f6a68b817f8db5f552f065d7"; # tag is missing repo = "is_KeyFinder"; owner = "ibsh"; }; diff --git a/pkgs/applications/audio/musly/default.nix b/pkgs/applications/audio/musly/default.nix index 1e8d29d3770..0d10b55d329 100644 --- a/pkgs/applications/audio/musly/default.nix +++ b/pkgs/applications/audio/musly/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, eigen, libav }: +{ lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg }: stdenv.mkDerivation { pname = "musly"; version = "unstable-2017-04-26"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen (libav.override { vaapiSupport = stdenv.isLinux; }) ]; + buildInputs = [ eigen ffmpeg ]; fixupPhase = if stdenv.isDarwin then '' install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix index f0a7e2a779f..36e2923522d 100644 --- a/pkgs/applications/misc/ding/default.nix +++ b/pkgs/applications/misc/ding/default.nix @@ -10,11 +10,11 @@ let }; in stdenv.mkDerivation rec { - name = "ding-1.8.1"; + name = "ding-1.9"; src = fetchurl { url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/${name}.tar.gz"; - sha256 = "0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq"; + sha256 = "sha256-aabIH894WihsBTo1LzIBzIZxxyhRYVxLcHpDQwmwmOU="; }; buildInputs = [ aspellEnv fortune gnugrep makeWrapper tk tre ]; diff --git a/pkgs/applications/misc/surface-control/default.nix b/pkgs/applications/misc/surface-control/default.nix new file mode 100644 index 00000000000..2c5db1fe15a --- /dev/null +++ b/pkgs/applications/misc/surface-control/default.nix @@ -0,0 +1,37 @@ +{ lib, rustPlatform, fetchFromGitHub, installShellFiles, coreutils }: + +rustPlatform.buildRustPackage rec { + pname = "surface-control"; + version = "0.3.1-1"; + + src = fetchFromGitHub { + owner = "linux-surface"; + repo = pname; + rev = "v${version}"; + sha256 = "0wclzlix0a2naxbdg3wym7yw19p2wqpcjmkf7gn8cs00shrmzjld"; + }; + + cargoSha256 = "0vi26v9mvx298kx6k5g7h8dnn7r208an9knadc23vxcrrxjr6pn5"; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion \ + $releaseDir/build/surface-*/out/surface.{bash,fish} \ + --zsh $releaseDir/build/surface-*/out/_surface + install -Dm 0444 -t $out/etc/udev/rules.d \ + etc/udev/40-surface-control.rules + substituteInPlace $out/etc/udev/rules.d/40-surface-control.rules \ + --replace "/usr/bin/chmod" "${coreutils}/bin/chmod" \ + --replace "/usr/bin/chown" "${coreutils}/bin/chown" + ''; + + meta = with lib; { + description = + "Control various aspects of Microsoft Surface devices on Linux from the Command-Line"; + homepage = "https://github.com/linux-surface/surface-control"; + license = licenses.mit; + maintainers = with maintainers; [ winterqt ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix index 3570191fd84..cbabdcac72f 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -63,7 +63,6 @@ let libvirt = callPackage ./libvirt {}; linuxbox = callPackage ./linuxbox {}; lxd = callPackage ./lxd {}; - shell = callPackage ./shell {}; vpsadmin = callPackage ./vpsadmin {}; vercel = callPackage ./vercel {}; }; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 76d36255c71..26304bf0374 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -865,6 +865,15 @@ "sha256": "1fs96qd2b4glk8hhn5m9r04ap679g0kf3nnhjx1a2idqwrv71gcl", "version": "3.3.0" }, + "shell": { + "owner": "scottwinkler", + "provider-source-address": "registry.terraform.io/scottwinkler/shell", + "repo": "terraform-provider-shell", + "rev": "v1.6.0", + "sha256": "0jxb30vw93ibnwz8nfqapac7p9r2famzvsf2h4nfbmhkm6mpan4l", + "vendorSha256": "1p2ja6cw3dl7mx41svri6frjpgb9pxsrl7sq0rk1d3sviw0f88sg", + "version": "1.6.0" + }, "signalfx": { "owner": "terraform-providers", "repo": "terraform-provider-signalfx", diff --git a/pkgs/applications/networking/cluster/terraform-providers/shell/default.nix b/pkgs/applications/networking/cluster/terraform-providers/shell/default.nix deleted file mode 100644 index f2e9b86a646..00000000000 --- a/pkgs/applications/networking/cluster/terraform-providers/shell/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, fetchFromGitHub, buildGoModule }: -buildGoModule rec { - pname = "terraform-provider-shell"; - version = "1.6.0"; - - src = fetchFromGitHub { - owner = "scottwinkler"; - repo = pname; - rev = "v${version}"; - sha256 = "0jxb30vw93ibnwz8nfqapac7p9r2famzvsf2h4nfbmhkm6mpan4l"; - }; - - vendorSha256 = "1p2ja6cw3dl7mx41svri6frjpgb9pxsrl7sq0rk1d3sviw0f88sg"; - - doCheck = false; - - subPackages = [ "." ]; - - # Terraform allows checking the provider versions, but this breaks - # if the versions are not provided via file paths. - postInstall = "mv $out/bin/${pname}{,_v${version}}"; - - passthru.provider-source-address = "registry.terraform.io/scottwinkler/shell"; - - meta = with lib; { - inherit (src.meta) homepage; - description = "Terraform provider for executing shell commands and saving output to state file"; - changelog = "https://github.com/scottwinkler/terraform-provider-shell/releases/tag/v${version}"; - license = licenses.mpl20; - maintainers = with maintainers; [ mupdt ]; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix index e59e5864432..fc6c78a4f67 100644 --- a/pkgs/applications/networking/instant-messengers/toxic/default.nix +++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "toxic"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "Tox"; repo = "toxic"; rev = "v${version}"; - sha256 = "1v9cdpy6i3xl70g75zg33sqi4aqp20by0pyjhjg5iz24fxvfaw6c"; + sha256 = "sha256-EElDi/VEYgYPpoDNatxcKQC1pnCU8kOcj0bAFojD9fU="; }; makeFlags = [ "PREFIX=$(out)"]; diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix index 05aa66eb39c..bf45db92098 100644 --- a/pkgs/applications/networking/umurmur/default.nix +++ b/pkgs/applications/networking/umurmur/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "umurmur"; - version = "0.2.17"; + version = "0.2.19"; src = fetchFromGitHub { owner = "umurmur"; repo = "umurmur"; rev = version; - sha256 = "074px4ygmv4ydy2pqwxwnz17f0hfswqkz5kc9qfz0iby3h5i3fyl"; + sha256 = "sha256-86wveYlM493RIuU8aKac6XTOMPv0JxlZL4qH2N2AqRU="; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix index 3974e75a2f7..4eb39f4d1f8 100644 --- a/pkgs/applications/office/jabref/default.nix +++ b/pkgs/applications/office/jabref/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, wrapGAppsHook, gtk3, gsettings-desktop-schemas -, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, libav, cairo, freetype, pango, gdk-pixbuf, glib }: +, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, cairo, freetype, pango, gdk-pixbuf, glib }: stdenv.mkDerivation rec { version = "5.1"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; buildInputs = [ gsettings-desktop-schemas ] ++ systemLibs; - systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib libav cairo freetype pango gdk-pixbuf glib ]; + systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib cairo freetype pango gdk-pixbuf glib ]; systemLibPaths = lib.makeLibraryPath systemLibs; installPhase = '' diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix index 51728bfb403..d14e0017f6d 100644 --- a/pkgs/applications/radio/fldigi/default.nix +++ b/pkgs/applications/radio/fldigi/default.nix @@ -2,12 +2,12 @@ libsamplerate, libpulseaudio, libXinerama, gettext, pkg-config, alsaLib }: stdenv.mkDerivation rec { - version = "4.1.17"; + version = "4.1.18"; pname = "fldigi"; src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; - sha256 = "1gzff60sn3h05279f9mdi1rkdws52m28shcil16911lvlq6ki13m"; + sha256 = "sha256-PH/YSrOoS6RSWyUenVYSDa7mJqODFoSpdP2tR2+QJw0="; }; buildInputs = [ libXinerama gettext hamlib fltk14 libjpeg libpng portaudio diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix index b4a6cb775cc..6f723971c8e 100644 --- a/pkgs/applications/radio/sdrangel/default.nix +++ b/pkgs/applications/radio/sdrangel/default.nix @@ -9,7 +9,7 @@ fftwFloat, glew, hackrf, lib, -libav, +ffmpeg, libiio, libopus, libpulseaudio, @@ -44,7 +44,7 @@ mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - glew opencv3 libusb1 boost libopus limesuite libav libiio libpulseaudio + glew opencv3 libusb1 boost libopus limesuite ffmpeg libiio libpulseaudio qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf fftwFloat codec2 cm256cc serialdv qtserialport libbladeRF uhd soapysdr-with-plugins diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix index 6824b8215e5..2a13d107bd0 100644 --- a/pkgs/build-support/appimage/default.nix +++ b/pkgs/build-support/appimage/default.nix @@ -121,7 +121,6 @@ rec { libusb1 udev dbus-glib - libav atk at-spi2-atk libudev0-shim diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index 570155e4d1a..02877a95411 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -33,6 +33,7 @@ let buildRebar3 = callPackage ./build-rebar3.nix {}; buildHex = callPackage ./build-hex.nix {}; buildErlangMk = callPackage ./build-erlang-mk.nix {}; + fetchMixDeps = callPackage ./fetch-mix-deps.nix { }; buildMix = callPackage ./build-mix.nix {}; # BEAM-based languages. diff --git a/pkgs/development/beam-modules/fetch-mix-deps.nix b/pkgs/development/beam-modules/fetch-mix-deps.nix new file mode 100644 index 00000000000..020a82ad70b --- /dev/null +++ b/pkgs/development/beam-modules/fetch-mix-deps.nix @@ -0,0 +1,40 @@ +{ stdenvNoCC, lib, elixir, hex, rebar, rebar3, cacert, git }: + +{ name, version, sha256, src, mixEnv ? "prod", debug ? false, meta ? { } }: + +stdenvNoCC.mkDerivation ({ + name = "mix-deps-${name}-${version}"; + + nativeBuildInputs = [ elixir hex cacert git ]; + + inherit src; + + MIX_ENV = mixEnv; + MIX_DEBUG = if debug then 1 else 0; + DEBUG = if debug then 1 else 0; # for rebar3 + + configurePhase = '' + export HEX_HOME="$TEMPDIR/.hex"; + export MIX_HOME="$TEMPDIR/.mix"; + export MIX_DEPS_PATH="$out"; + + # Rebar + mix local.rebar rebar "${rebar}/bin/rebar" + mix local.rebar rebar3 "${rebar3}/bin/rebar3" + export REBAR_GLOBAL_CONFIG_DIR="$TMPDIR/rebar3" + export REBAR_CACHE_DIR="$TMPDIR/rebar3.cache" + ''; + + dontBuild = true; + + installPhase = '' + mix deps.get --only ${mixEnv} + ''; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = sha256; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + inherit meta; +}) diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix index b9c7e7e1e3d..78a335f1b7b 100644 --- a/pkgs/development/compilers/gleam/default.nix +++ b/pkgs/development/compilers/gleam/default.nix @@ -22,6 +22,6 @@ rustPlatform.buildRustPackage rec { description = "A statically typed language for the Erlang VM"; homepage = "https://gleam.run/"; license = licenses.asl20; - maintainers = with maintainers; [ Br1ght0ne ]; + maintainers = teams.beam.members; }; } diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix index c9c5206f6da..eb3045d52ad 100644 --- a/pkgs/development/compilers/graalvm/enterprise-edition.nix +++ b/pkgs/development/compilers/graalvm/enterprise-edition.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, requireFile, perl, unzip, glibc, zlib, bzip2, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }: +{ lib, stdenv, requireFile, perl, unzip, glibc, zlib, bzip2, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, setJavaClassPath }: let common = javaVersion: diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix index e81cc412428..2bc90539be1 100644 --- a/pkgs/development/compilers/zulu/8.nix +++ b/pkgs/development/compilers/zulu/8.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath -, zulu, glib, libxml2, libav_0_8, ffmpeg_3, libxslt, libGL, alsaLib +, zulu, glib, libxml2, ffmpeg_3, libxslt, libGL, alsaLib , fontconfig, freetype, pango, gtk2, cairo, gdk-pixbuf, atk, xorg , swingSupport ? true }: @@ -15,7 +15,7 @@ let extension = if stdenv.isDarwin then "zip" else "tar.gz"; libraries = [ - stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg_3 libxslt libGL + stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk ] ++ (lib.optionals swingSupport (with xorg; [ diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix index 63b95465c27..cbfa9997b8d 100644 --- a/pkgs/development/compilers/zulu/default.nix +++ b/pkgs/development/compilers/zulu/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath -, zulu, glib, libxml2, libav_0_8, ffmpeg_3, libxslt, libGL, alsaLib +, zulu, glib, libxml2, ffmpeg_3, libxslt, libGL, alsaLib , fontconfig, freetype, pango, gtk2, cairo, gdk-pixbuf, atk, xorg, zlib , swingSupport ? true }: @@ -15,7 +15,7 @@ let extension = if stdenv.isDarwin then "zip" else "tar.gz"; libraries = [ - stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg_3 libxslt libGL + stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk zlib ] ++ (lib.optionals swingSupport (with xorg; [ diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix index 358fff039c6..85e5fdf733c 100644 --- a/pkgs/development/interpreters/elixir/generic-builder.nix +++ b/pkgs/development/interpreters/elixir/generic-builder.nix @@ -69,6 +69,6 @@ in license = licenses.epl10; platforms = platforms.unix; - maintainers = with maintainers; [ havvy couchemar ankhers Br1ght0ne ]; + maintainers = teams.beam.members; }; }) diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 4429dc1eaf3..0db577ca6eb 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -126,7 +126,7 @@ in stdenv.mkDerivation ({ ''; platforms = platforms.unix; - maintainers = with maintainers; [ sjmackenzie couchemar gleber ]; + maintainers = teams.beam.members; license = licenses.asl20; } // meta); } diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix index 895054fac46..397be81e7c8 100644 --- a/pkgs/development/interpreters/lfe/generic-builder.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -87,7 +87,7 @@ buildRebar3 { downloadPage = "https://github.com/rvirding/lfe/releases"; license = licenses.asl20; - maintainers = with maintainers; [ yurrriq ankhers ]; + maintainers = teams.beam.members; platforms = platforms.unix; }; } diff --git a/pkgs/development/interpreters/php/7.3.nix b/pkgs/development/interpreters/php/7.3.nix index 13b64e8cb6e..d611cb7693c 100644 --- a/pkgs/development/interpreters/php/7.3.nix +++ b/pkgs/development/interpreters/php/7.3.nix @@ -4,8 +4,8 @@ let generic = (import ./generic.nix) _args; base = callPackage generic (_args // { - version = "7.3.26"; - sha256 = "0klxnf6nhsib9b2mdls1x2wbpi04gmgwxajbn593rzalh5y5l7ip"; + version = "7.3.27"; + sha256 = "00z0vadxazm2flks9g8qmchj2pwkli880kg313jgbb1mx3shc84x"; # https://bugs.php.net/bug.php?id=76826 extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; diff --git a/pkgs/development/interpreters/php/7.4.nix b/pkgs/development/interpreters/php/7.4.nix index 9ee0c9c9e7c..42aa28b65e6 100644 --- a/pkgs/development/interpreters/php/7.4.nix +++ b/pkgs/development/interpreters/php/7.4.nix @@ -4,8 +4,8 @@ let generic = (import ./generic.nix) _args; base = callPackage generic (_args // { - version = "7.4.14"; - sha256 = "1xm1s2w9fsd8q7kjbpqw8s4bs7ggziwws23m0ykkmvmd0l3cm2b8"; + version = "7.4.15"; + sha256 = "0mvp7b16sy9j36v9v1mhixwz16hi8mhax7rwpqy3sv24jc1bxmqv"; }); in base.withExtensions ({ all, ... }: with all; ([ diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix index 5779c836dd4..a4aa4842dfa 100644 --- a/pkgs/development/interpreters/php/8.0.nix +++ b/pkgs/development/interpreters/php/8.0.nix @@ -4,8 +4,8 @@ let generic = (import ./generic.nix) _args; base = callPackage generic (_args // { - version = "8.0.1"; - sha256 = "1vmx9rhks8v2198f9d6cq62bway5mrfsz72garjdwcyi82ppckn4"; + version = "8.0.2"; + sha256 = "1rm3gc2h9l0zd1ccawpg1wxqm8v8rllq417f2w5pqcdf7sgah3q0"; }); in base.withExtensions ({ all, ... }: with all; ([ diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 93d6e0d209c..ad95edb68cb 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -127,6 +127,10 @@ let license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not? else if enableGPL then gpl2Plus else lgpl21Plus; platforms = with platforms; linux ++ darwin; + knownVulnerabilities = + lib.optional (lib.versionOlder version "12.1") "CVE-2017-9051" + ++ lib.optionals (lib.versionOlder version "12.3") [ "CVE-2018-5684" "CVE-2018-5766" ] + ++ lib.optionals (lib.versionOlder version "12.4") [ "CVE-2019-9717" "CVE-2019-9720" ]; }; }; # libavFun diff --git a/pkgs/development/libraries/libgroove/default.nix b/pkgs/development/libraries/libgroove/default.nix index 963bf722b2a..f14524df0dc 100644 --- a/pkgs/development/libraries/libgroove/default.nix +++ b/pkgs/development/libraries/libgroove/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libav, SDL2, chromaprint, libebur128 }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ffmpeg_3, SDL2, chromaprint, libebur128 }: stdenv.mkDerivation rec { version = "4.3.0"; @@ -11,10 +11,17 @@ stdenv.mkDerivation rec { sha256 = "1la9d9kig50mc74bxvhx6hzqv0nrci9aqdm4k2j4q0s1nlfgxipd"; }; - patches = [ ./no-warnings-as-errors.patch ]; + patches = [ + ./no-warnings-as-errors.patch + (fetchpatch { + name = "update-for-ffmpeg-3.0.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-update-for-ffmpeg-3.0.patch?h=libgroove&id=a9f3bd2a5afd3227733414a5d54c7a2aa0a1249e"; + sha256 = "0800drk9df1kwbv80f2ffv77xk888249fk0d961rp2a305hvyrk0"; + }) + ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ libav SDL2 chromaprint libebur128 ]; + buildInputs = [ ffmpeg_3 SDL2 chromaprint libebur128 ]; meta = with lib; { description = "Streaming audio processing library"; diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix index e24a00564be..bae0acc1d45 100644 --- a/pkgs/development/python-modules/docutils/default.nix +++ b/pkgs/development/python-modules/docutils/default.nix @@ -29,9 +29,10 @@ buildPythonPackage rec { done ''; - meta = { + meta = with lib; { description = "Python Documentation Utilities"; homepage = "http://docutils.sourceforge.net/"; - maintainers = with lib.maintainers; [ AndersonTorres ]; + license = with licenses; [ publicDomain bsd2 psfl gpl3Plus ]; + maintainers = with maintainers; [ AndersonTorres ]; }; } diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix index d3926beb321..30c55dbca37 100644 --- a/pkgs/development/tools/build-managers/rebar/default.nix +++ b/pkgs/development/tools/build-managers/rebar/default.nix @@ -37,5 +37,6 @@ stdenv.mkDerivation { platforms = lib.platforms.unix; license = lib.licenses.asl20; + maintainers = lib.teams.beam.members; }; } diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index aa3af12c934..0c6450766b1 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -136,7 +136,7 @@ stdenv.mkDerivation rec { ''; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ gleber tazjin ]; + maintainers = lib.teams.beam.members; license = lib.licenses.asl20; }; } diff --git a/pkgs/games/0verkill/default.nix b/pkgs/games/0verkill/default.nix new file mode 100644 index 00000000000..69a371f09d9 --- /dev/null +++ b/pkgs/games/0verkill/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, xorgproto +, libX11 +, libXpm +}: + +stdenv.mkDerivation rec { + pname = "0verkill"; + version = "unstable-2011-01-13"; + + src = fetchFromGitHub { + owner = "hackndev"; + repo = pname; + rev = "522f11a3e40670bbf85e0fada285141448167968"; + sha256 = "WO7PN192HhcDl6iHIbVbH7MVMi1Tl2KyQbDa9DWRO6M="; + }; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ libX11 xorgproto libXpm ]; + + configureFlags = [ "--with-x" ]; + + preAutoreconf = '' + autoupdate + ''; + + hardeningDisable = [ "all" ]; # Someday the upstream will update the code... + + meta = with lib; { + homepage = "https://github.com/hackndev/0verkill"; + description = "ASCII-ART bloody 2D action deathmatch-like game"; + license = with licenses; gpl2Only; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/games/abuse/abuse.sh b/pkgs/games/abuse/abuse.sh new file mode 100644 index 00000000000..de837d27181 --- /dev/null +++ b/pkgs/games/abuse/abuse.sh @@ -0,0 +1,18 @@ +#! @shell@ + +if grep datadir ~/.abuse/abuserc &>/dev/null; then + if [ ! -d "$(grep datadir ~/.abuse/abuserc | cut -d= -f2)" ]; then + echo "Warning: ~/.abuse/abuserc references a datadir which is not existent." >&2 + echo "Try removing ~/.abuse/abuserc, else abuse will most likely not run." >&2 + echo >&2 + # This can happen if the build hash of abuse changes and the older version + # is garbage-collected. The correct path of the datadir is compiled into + # the binary, but unfortunately abuse writes out the path into abuserc on + # first start. This entry may later become stale. + fi +fi + +# The timidity bundled into SDL_mixer looks in . and in several global places +# like /etc for its configuration file. +cd @out@/etc +exec @out@/bin/.abuse-bin "$@" diff --git a/pkgs/games/abuse/default.nix b/pkgs/games/abuse/default.nix new file mode 100644 index 00000000000..2e863022a68 --- /dev/null +++ b/pkgs/games/abuse/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, fetchurl, makeDesktopItem, copyDesktopItems, SDL, SDL_mixer, freepats }: + +stdenv.mkDerivation rec { + pname = "abuse"; + version = "0.8"; + + src = fetchurl { + url = "http://abuse.zoy.org/raw-attachment/wiki/download/${pname}-${version}.tar.gz"; + sha256 = "0104db5fd2695c9518583783f7aaa7e5c0355e27c5a803840a05aef97f9d3488"; + }; + + configureFlags = [ + "--with-x" + "--with-assetdir=$(out)/orig" + # The "--enable-debug" is to work around a segfault on start, see https://bugs.archlinux.org/task/52915. + "--enable-debug" + ]; + + desktopItems = [ (makeDesktopItem { + name = "abuse"; + exec = "abuse"; + icon = "abuse"; + desktopName = "Abuse"; + comment = "Side-scroller action game that pits you against ruthless alien killers"; + categories = "Game;ActionGame;"; + }) ]; + + postInstall = '' + mkdir $out/etc + echo -e "dir ${freepats}\nsource ${freepats}/freepats.cfg" > $out/etc/timidity.cfg + + mv $out/bin/abuse $out/bin/.abuse-bin + substituteAll "${./abuse.sh}" $out/bin/abuse + chmod +x $out/bin/abuse + + install -Dm644 doc/abuse.png $out/share/pixmaps/abuse.png + ''; + + nativeBuildInputs = [ copyDesktopItems ]; + buildInputs = [ SDL SDL_mixer freepats ]; + + meta = with lib; { + description = "Side-scroller action game that pits you against ruthless alien killers"; + homepage = "http://abuse.zoy.org/"; + license = with licenses; [ unfree ]; + # Most of abuse is free (public domain, GPL2+, WTFPL), however the creator + # of its sfx and music only gave Debian permission to redistribute the + # files. Our friends from Debian thought about it some more: + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648272 + maintainers = with maintainers; [ iblech ]; + platforms = platforms.unix; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/games/performous/default.nix b/pkgs/games/performous/default.nix index b0fc9483629..dce771faec1 100644 --- a/pkgs/games/performous/default.nix +++ b/pkgs/games/performous/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, cmake, pkg-config, gettext , glibmm, libxmlxx, pango, librsvg -, SDL2, glew, boost, libav, portaudio, epoxy +, SDL2, glew, boost, ffmpeg, portaudio, epoxy }: stdenv.mkDerivation rec { @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { buildInputs = [ glibmm libxmlxx pango librsvg - SDL2 glew boost libav portaudio epoxy + SDL2 glew boost ffmpeg portaudio epoxy ]; } diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix index 0d348e3fa9e..51eda72bdef 100644 --- a/pkgs/games/pioneer/default.nix +++ b/pkgs/games/pioneer/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "pioneer"; - version = "20200203"; + version = "20210203"; src = fetchFromGitHub{ owner = "pioneerspacesim"; repo = "pioneer"; rev = version; - sha256 = "1011xsi94jhw98mhm8kryq8ajig0qfbrdx5xdasi92bd4nk7lcp8"; + sha256 = "sha256-51HXbX15uB1Xf9Re7Qi41BnJ9OW+GeXQhylJ+HwP0f8="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index 57326667cb0..924714d802a 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -171,7 +171,7 @@ in buildFHSUserEnv rec { SDL2 libusb1 dbus-glib - libav + ffmpeg atk # Only libraries are needed from those two libudev0-shim diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix index ea68e147ba7..74d9e3cffee 100644 --- a/pkgs/misc/screensavers/electricsheep/default.nix +++ b/pkgs/misc/screensavers/electricsheep/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl +{ lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, ffmpeg, lua5_1, curl , libpng, xorg, pkg-config, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL , glee }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ - wxGTK30 libav lua5_1 curl libpng xorg.libXrender + wxGTK30 ffmpeg lua5_1 curl libpng xorg.libXrender flam3 libgtop boost tinyxml freeglut libGLU libGL glee ]; diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix new file mode 100644 index 00000000000..558efe2fb01 --- /dev/null +++ b/pkgs/servers/gemini/agate/default.nix @@ -0,0 +1,29 @@ +{ lib, fetchFromGitHub, rustPlatform, installShellFiles }: + +rustPlatform.buildRustPackage rec { + pname = "agate"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "mbrubeck"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-rwoEZnxh0x+xaggJuoeSjE1ctF43ChW5awcDJyoWioA="; + }; + + cargoSha256 = "sha256-ey/fUHkPoWjWlLjh1WNpwMKOkdQKgFYcLwQdx2RQ3CI="; + + meta = with lib; { + homepage = "https://proxy.vulpes.one/gemini/gem.limpet.net/agate"; + changelog = "https://proxy.vulpes.one/gemini/gem.limpet.net/agate"; + description = "Very simple server for the Gemini hypertext protocol"; + longDescription = '' + Agate is a server for the Gemini network protocol, built with the Rust + programming language. Agate has very few features, and can only serve + static files. It uses async I/O, and should be quite efficient even when + running on low-end hardware and serving many concurrent requests. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ jk ]; + }; +} diff --git a/pkgs/servers/gerbera/default.nix b/pkgs/servers/gerbera/default.nix index f81cc6600f1..7736ed1a014 100644 --- a/pkgs/servers/gerbera/default.nix +++ b/pkgs/servers/gerbera/default.nix @@ -2,18 +2,17 @@ , cmake, pkg-config # required , libupnp, libuuid, pugixml, libiconv, sqlite, zlib, spdlog, fmt -, pkgs # options -, enableDuktape ? true -, enableCurl ? true -, enableTaglib ? true -, enableLibmagic ? true -, enableLibmatroska ? true -, enableAvcodec ? false -, enableLibexif ? true -, enableExiv2 ? false -, enableFFmpegThumbnailer ? false -, enableInotifyTools ? true +, enableDuktape ? true, duktape +, enableCurl ? true, curl +, enableTaglib ? true, taglib +, enableLibmagic ? true, file +, enableLibmatroska ? true, libmatroska, libebml +, enableAvcodec ? false, ffmpeg +, enableLibexif ? true, libexif +, enableExiv2 ? false, exiv2 +, enableFFmpegThumbnailer ? false, ffmpegthumbnailer +, enableInotifyTools ? true, inotify-tools }: with lib; @@ -51,16 +50,16 @@ in stdenv.mkDerivation rec { libupnp libuuid pugixml libiconv sqlite zlib fmt.dev spdlog ] - ++ optionals enableDuktape [ pkgs.duktape ] - ++ optionals enableCurl [ pkgs.curl ] - ++ optionals enableTaglib [ pkgs.taglib ] - ++ optionals enableLibmagic [ pkgs.file ] - ++ optionals enableLibmatroska [ pkgs.libmatroska pkgs.libebml ] - ++ optionals enableAvcodec [ pkgs.libav.dev ] - ++ optionals enableLibexif [ pkgs.libexif ] - ++ optionals enableExiv2 [ pkgs.exiv2 ] - ++ optionals enableInotifyTools [ pkgs.inotify-tools ] - ++ optionals enableFFmpegThumbnailer [ pkgs.ffmpegthumbnailer ]; + ++ optionals enableDuktape [ duktape ] + ++ optionals enableCurl [ curl ] + ++ optionals enableTaglib [ taglib ] + ++ optionals enableLibmagic [ file ] + ++ optionals enableLibmatroska [ libmatroska libebml ] + ++ optionals enableAvcodec [ ffmpeg.dev ] + ++ optionals enableLibexif [ libexif ] + ++ optionals enableExiv2 [ exiv2 ] + ++ optionals enableInotifyTools [ inotify-tools ] + ++ optionals enableFFmpegThumbnailer [ ffmpegthumbnailer ]; meta = with lib; { diff --git a/pkgs/shells/zsh/zplugin/default.nix b/pkgs/shells/zsh/zinit/default.nix similarity index 73% rename from pkgs/shells/zsh/zplugin/default.nix rename to pkgs/shells/zsh/zinit/default.nix index c148f60b2ee..d59f50ce3b9 100644 --- a/pkgs/shells/zsh/zplugin/default.nix +++ b/pkgs/shells/zsh/zinit/default.nix @@ -1,12 +1,13 @@ { stdenvNoCC, lib, fetchFromGitHub, installShellFiles }: + stdenvNoCC.mkDerivation rec { - pname = "zplugin"; - version = "2.3"; + pname = "zinit"; + version = "3.7"; src = fetchFromGitHub { owner = "zdharma"; repo = pname; rev = "v${version}"; - sha256 = "0qqv5p19s8jb06d6h55dm4acji9x2rpxb2ni3h7fb0q43iz6y85w"; + hash = "sha256-B+cTGz+U8MR22l6xXdRAAjDr+ulCk+CJ9GllFMK0axE="; }; # adapted from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zsh-zplugin-git dontBuild = true; @@ -18,11 +19,12 @@ stdenvNoCC.mkDerivation rec { # Zplugin's source files install -dm0755 "$outdir" - install -m0644 zplugin{,-side,-install,-autoload}.zsh "$outdir" + # Installing also backward compatibility layer + install -m0644 z{plugin,init}{,-side,-install,-autoload}.zsh "$outdir" install -m0755 git-process-output.zsh "$outdir" # Zplugin autocompletion - installShellCompletion --zsh _zplugin + installShellCompletion --zsh _zinit #TODO:Zplugin-module files # find zmodules/ -type d -exec install -dm 755 "{}" "$outdir/{}" \; @@ -32,7 +34,7 @@ stdenvNoCC.mkDerivation rec { #TODO:doc output meta = with lib; { - homepage = "https://github.com/zdharma/zplugin"; + homepage = "https://github.com/zdharma/zinit"; description = "Flexible zsh plugin manager"; license = licenses.mit; maintainers = with maintainers; [ pasqui23 ]; diff --git a/pkgs/tools/graphics/unpaper/default.nix b/pkgs/tools/graphics/unpaper/default.nix index dd6ecb473e9..20dfe15dc6c 100644 --- a/pkgs/tools/graphics/unpaper/default.nix +++ b/pkgs/tools/graphics/unpaper/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, libav, libxslt }: +{ lib, stdenv, fetchurl, pkg-config, ffmpeg, libxslt }: stdenv.mkDerivation rec { pname = "unpaper"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libav libxslt ]; + buildInputs = [ ffmpeg libxslt ]; meta = with lib; { homepage = "https://www.flameeyes.eu/projects/unpaper"; diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix index 0b5a0d96ae5..efb57e7d247 100644 --- a/pkgs/tools/networking/privoxy/default.nix +++ b/pkgs/tools/networking/privoxy/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "privoxy"; - version = "3.0.30"; + version = "3.0.31"; src = fetchurl { url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz"; - sha256 = "sha256-pP4kHF2nAQsoS/ienp4xoyHx8+scx5ZVnT+6ublBXuE="; + sha256 = "sha256-B3cpo6rHkiKk6NiKZQ2QKNFv1LDWA42o9fXkcSDQBOs="; }; hardeningEnable = [ "pie" ]; diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index ca68f8b71fc..8766e957aaf 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -30,11 +30,11 @@ let in stdenv.mkDerivation rec { pname = "tor"; - version = "0.4.4.6"; + version = "0.4.4.7"; src = fetchurl { url = "https://dist.torproject.org/${pname}-${version}.tar.gz"; - sha256 = "1p0zpqmbskygx0wmiijhprg8r45n2wqbbjl7kv4gbb83b0alq5az"; + sha256 = "1vh5kdx7s74il8a6gr7jydbpv0an01nla4y2r8w7h33z2wk2jv9j"; }; outputs = [ "out" "geoip" ]; diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix index c9af119fb73..97c61d2da0e 100644 --- a/pkgs/tools/system/thinkfan/default.nix +++ b/pkgs/tools/system/thinkfan/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libyamlcpp, pkg-config -, smartSupport ? false, libatasmart }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, libyamlcpp +, pkg-config +, procps +, coreutils +, smartSupport ? false, libatasmart +}: stdenv.mkDerivation rec { pname = "thinkfan"; @@ -12,36 +20,40 @@ stdenv.mkDerivation rec { sha256 = "18vgm5w5pjnpipa34j4x87q10695w2jnqwvc2f027afy7mnzw7kz"; }; + postPatch = '' + # fix hardcoded install path + substituteInPlace CMakeLists.txt --replace /etc $out/etc + + # fix command paths in unit files + for unit in rcscripts/systemd/*; do + substituteInPlace "$unit" \ + --replace /bin/kill ${procps}/bin/kill \ + --replace /usr/bin/pkill ${procps}/bin/pkill \ + --replace /usr/bin/sleep ${coreutils}/bin/sleep + done + ''; + cmakeFlags = [ "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}" "-DUSE_NVML=OFF" + # force install unit files + "-DSYSTEMD_FOUND=ON" ] ++ lib.optional smartSupport "-DUSE_ATASMART=ON"; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ libyamlcpp ] ++ lib.optional smartSupport libatasmart; - installPhase = '' - runHook preInstall - - install -Dm755 {.,$out/bin}/thinkfan - - cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust - install -Dm644 {.,$out/share/doc/thinkfan}/README.md - cp -R examples $out/share/doc/thinkfan - install -Dm644 {src,$out/share/man/man1}/thinkfan.1 - - runHook postInstall - ''; - - meta = with lib; { - description = "A minimalist fan control program"; - longDescription = "A minimalist fan control program. Originally designed -specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via -the sysfs hwmon interface (/sys/class/hwmon)."; - license = licenses.gpl3; + meta = { + description = "A simple, lightweight fan control program"; + longDescription = '' + Thinkfan is a minimalist fan control program. Originally designed + specifically for IBM/Lenovo Thinkpads, it now supports any kind of + system via the sysfs hwmon interface (/sys/class/hwmon). + ''; + license = lib.licenses.gpl3Plus; homepage = "https://github.com/vmatare/thinkfan"; - maintainers = with maintainers; [ domenkozar ]; - platforms = platforms.linux; + maintainers = with lib.maintainers; [ domenkozar rnhmjoj ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/tools/video/untrunc/default.nix b/pkgs/tools/video/untrunc/default.nix deleted file mode 100644 index 3ef025f5875..00000000000 --- a/pkgs/tools/video/untrunc/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, gcc, libav_12, fetchFromGitHub }: - -stdenv.mkDerivation { - pname = "untrunc"; - version = "2020.02.09"; - - src = fetchFromGitHub { - owner = "ponchio"; - repo = "untrunc"; - rev = "4eed44283168c727ace839ff7590092fda2e0848"; - sha256 = "0nfj67drc6bxqlkf8a1iazqhi0w38a7rjrb2bpa74gwq6xzygvbr"; - }; - - buildInputs = [ gcc libav_12 ]; - - # Untrunc uses the internal libav headers 'h264dec.h' and 'config.h'. - # The latter must be created through 'configure'. - libavConfiguredSrc = libav_12.overrideAttrs (oldAttrs: { - name = "libav-configured-src"; - outputs = [ "out" ]; - phases = [ "unpackPhase" "patchPhase" "configurePhase" "installPhase" ]; - installPhase = "cp -r . $out"; - }); - - buildCommand = '' - mkdir -p $out/bin - g++ -o $out/bin/untrunc \ - -Wno-deprecated-declarations \ - $src/file.cpp $src/main.cpp $src/track.cpp $src/atom.cpp $src/mp4.cpp \ - -I$libavConfiguredSrc -lavformat -lavcodec -lavutil - ''; - - meta = with lib; { - description = "Restore a damaged (truncated) mp4, m4v, mov, 3gp video from a similar, undamaged video"; - license = licenses.gpl2; - homepage = "https://github.com/ponchio/untrunc"; - maintainers = [ maintainers.earvstedt ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index fbd30aea40a..27c2b48e66b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -709,6 +709,7 @@ mapAliases ({ ultrastardx-beta = ultrastardx; # added 2017-08-12 unicorn-emu = unicorn; # added 2020-10-29 unifiStable = unifi6; # added 2020-12-28 + untrunc = untrunc-anthwlock; # added 2021-02-01 usb_modeswitch = usb-modeswitch; # added 2016-05-10 usbguard-nox = usbguard; # added 2019-09-04 utillinux = util-linux; # added 2020-11-24 @@ -848,6 +849,8 @@ mapAliases ({ /* Added 2021-01-02 */ ttyrec = ovh-ttyrec; + zplugin = zinit; # Added 2021-01-30 + /* If these are in the scope of all-packages.nix, they cause collisions between mixed versions of qt. See: https://github.com/NixOS/nixpkgs/pull/101369 */ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d77a88ff82..b4c4be87de6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -705,6 +705,8 @@ in afpfs-ng = callPackage ../tools/filesystems/afpfs-ng { }; + agate = callPackage ../servers/gemini/agate { }; + agda-pkg = callPackage ../development/tools/agda-pkg { }; agrep = callPackage ../tools/text/agrep { }; @@ -7993,6 +7995,8 @@ in stubby = callPackage ../tools/networking/stubby { }; + surface-control = callPackage ../applications/misc/surface-control { }; + syntex = callPackage ../tools/graphics/syntex {}; sl = callPackage ../tools/misc/sl { stdenv = gccStdenv; }; @@ -8557,8 +8561,6 @@ in untex = callPackage ../tools/text/untex { }; - untrunc = callPackage ../tools/video/untrunc { }; - untrunc-anthwlock = callPackage ../tools/video/untrunc-anthwlock { }; up = callPackage ../tools/misc/up { }; @@ -9235,7 +9237,7 @@ in zplug = callPackage ../shells/zsh/zplug { }; - zplugin = callPackage ../shells/zsh/zplugin {} ; + zinit = callPackage ../shells/zsh/zinit {} ; zsh-autoenv = callPackage ../tools/misc/zsh-autoenv { }; @@ -26343,6 +26345,8 @@ in abbaye-des-morts = callPackage ../games/abbaye-des-morts { }; + abuse = callPackage ../games/abuse { }; + adom = callPackage ../games/adom { }; airstrike = callPackage ../games/airstrike { }; @@ -27338,6 +27342,8 @@ in zeroad = zeroadPackages.zeroad; + _0verkill = callPackage ../games/0verkill { }; + ### DESKTOP ENVIRONMENTS cdesktopenv = callPackage ../desktops/cdesktopenv { };