Merge master into staging-next

launchpad/nixpkgs/master
github-actions[bot] 3 years ago committed by GitHub
commit bef005163c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      maintainers/maintainer-list.nix
  2. 12
      maintainers/team-list.nix
  3. 13
      nixos/doc/manual/release-notes/rl-2103.xml
  4. 260
      nixos/modules/services/hardware/thinkfan.nix
  5. 3
      nixos/modules/services/monitoring/prometheus/exporters.nix
  6. 7
      nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
  7. 2
      nixos/modules/services/networking/epmd.nix
  8. 2
      pkgs/applications/audio/guitarix/default.nix
  9. 10
      pkgs/applications/audio/keyfinder-cli/default.nix
  10. 10
      pkgs/applications/audio/keyfinder/default.nix
  11. 4
      pkgs/applications/audio/musly/default.nix
  12. 4
      pkgs/applications/misc/ding/default.nix
  13. 37
      pkgs/applications/misc/surface-control/default.nix
  14. 1
      pkgs/applications/networking/cluster/terraform-providers/default.nix
  15. 9
      pkgs/applications/networking/cluster/terraform-providers/providers.json
  16. 32
      pkgs/applications/networking/cluster/terraform-providers/shell/default.nix
  17. 4
      pkgs/applications/networking/instant-messengers/toxic/default.nix
  18. 4
      pkgs/applications/networking/umurmur/default.nix
  19. 4
      pkgs/applications/office/jabref/default.nix
  20. 4
      pkgs/applications/radio/fldigi/default.nix
  21. 4
      pkgs/applications/radio/sdrangel/default.nix
  22. 1
      pkgs/build-support/appimage/default.nix
  23. 1
      pkgs/development/beam-modules/default.nix
  24. 40
      pkgs/development/beam-modules/fetch-mix-deps.nix
  25. 2
      pkgs/development/compilers/gleam/default.nix
  26. 2
      pkgs/development/compilers/graalvm/enterprise-edition.nix
  27. 4
      pkgs/development/compilers/zulu/8.nix
  28. 4
      pkgs/development/compilers/zulu/default.nix
  29. 2
      pkgs/development/interpreters/elixir/generic-builder.nix
  30. 2
      pkgs/development/interpreters/erlang/generic-builder.nix
  31. 2
      pkgs/development/interpreters/lfe/generic-builder.nix
  32. 4
      pkgs/development/interpreters/php/7.3.nix
  33. 4
      pkgs/development/interpreters/php/7.4.nix
  34. 4
      pkgs/development/interpreters/php/8.0.nix
  35. 4
      pkgs/development/libraries/libav/default.nix
  36. 13
      pkgs/development/libraries/libgroove/default.nix
  37. 5
      pkgs/development/python-modules/docutils/default.nix
  38. 1
      pkgs/development/tools/build-managers/rebar/default.nix
  39. 2
      pkgs/development/tools/build-managers/rebar3/default.nix
  40. 39
      pkgs/games/0verkill/default.nix
  41. 18
      pkgs/games/abuse/abuse.sh
  42. 54
      pkgs/games/abuse/default.nix
  43. 4
      pkgs/games/performous/default.nix
  44. 4
      pkgs/games/pioneer/default.nix
  45. 2
      pkgs/games/steam/fhsenv.nix
  46. 4
      pkgs/misc/screensavers/electricsheep/default.nix
  47. 29
      pkgs/servers/gemini/agate/default.nix
  48. 41
      pkgs/servers/gerbera/default.nix
  49. 14
      pkgs/shells/zsh/zinit/default.nix
  50. 4
      pkgs/tools/graphics/unpaper/default.nix
  51. 4
      pkgs/tools/networking/privoxy/default.nix
  52. 4
      pkgs/tools/security/tor/default.nix
  53. 58
      pkgs/tools/system/thinkfan/default.nix
  54. 39
      pkgs/tools/video/untrunc/default.nix
  55. 3
      pkgs/top-level/aliases.nix
  56. 12
      pkgs/top-level/all-packages.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";

@ -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

@ -466,6 +466,19 @@ self: super:
ALSA OSS emulation (<varname>sound.enableOSSEmulation</varname>) is now disabled by default.
</para>
</listitem>
<listitem>
<para>
Thinkfan as been updated to <literal>1.2.x</literal>, 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 <xref linkend="opt-services.thinkfan.settings"/> option has
been added.
</para>
<para>
Please read the <link xlink:href="https://github.com/vmatare/thinkfan#readme">
thinkfan documentation</link> before updating.
</para>
</listitem>
</itemizedlist>
</section>

@ -5,49 +5,95 @@ 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.
${cfg.fan}
${cfg.sensors}
# 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.
#
${cfg.levels}
'';
settingsFormat = pkgs.formats.yaml { };
configFile = settingsFormat.generate "thinkfan.yaml" cfg.settings;
thinkfan = pkgs.thinkfan.override { inherit (cfg) smartSupport; };
# 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 ];
# 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
<literal>hwmon</literal> for standard ${name}s,
thinkfan = pkgs.thinkfan.override { smartSupport = cfg.smartSupport; };
<literal>atasmart</literal> to read the temperature via
S.M.A.R.T (requires smartSupport to be enabled),
<literal>tpacpi</literal> for the legacy thinkpac_acpi driver, or
<literal>nvml</literal> 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).
<note><para>
When multiple ${name}s match, the query can be restricted using the
<option>name</option> or <option>indices</option> options.
</para></note>
'';
};
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.
<note><para>Indices start from 0.</para></note>
'';
};
} // 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: ''
<note><para>
This section slightly departs from the thinkfan.conf syntax.
The type and path must be specified like this:
<literal>
type = "tpacpi";
query = "/proc/acpi/ibm/${name}";
</literal>
instead of a single declaration like:
<literal>
- tpacpi: /proc/acpi/ibm/${name}
</literal>
</para></note>
'';
in {
@ -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.
<note><para>
This module targets IBM/Lenovo thinkpads by default, for
other hardware you will have configure it more carefully.
</para></note>
'';
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 <literal>thinkfan.conf(5)</literal>
manpage and take a look at the example config file at
<link xlink:href="https://github.com/vmatare/thinkfan/blob/master/examples/thinkfan.yaml"/>
'';
};
};
@ -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";

@ -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:

@ -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" ] ''

@ -53,4 +53,6 @@ in
};
};
};
meta.maintainers = teams.beam.members;
}

@ -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

@ -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)" ];

@ -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";
};

@ -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

@ -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 ];

@ -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;
};
}

@ -63,7 +63,6 @@ let
libvirt = callPackage ./libvirt {};
linuxbox = callPackage ./linuxbox {};
lxd = callPackage ./lxd {};
shell = callPackage ./shell {};
vpsadmin = callPackage ./vpsadmin {};
vercel = callPackage ./vercel {};
};

@ -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",

@ -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 ];
};
}

@ -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)"];

@ -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 ];

@ -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 = ''

@ -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

@ -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

@ -121,7 +121,6 @@ rec {
libusb1
udev
dbus-glib
libav
atk
at-spi2-atk
libudev0-shim

@ -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.

@ -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;
})

@ -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;
};
}

@ -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:

@ -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; [

@ -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; [

@ -69,6 +69,6 @@ in
license = licenses.epl10;
platforms = platforms.unix;
maintainers = with maintainers; [ havvy couchemar ankhers Br1ght0ne ];
maintainers = teams.beam.members;
};
})

@ -126,7 +126,7 @@ in stdenv.mkDerivation ({
'';
platforms = platforms.unix;
maintainers = with maintainers; [ sjmackenzie couchemar gleber ];
maintainers = teams.beam.members;
license = licenses.asl20;
} // meta);
}

@ -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;
};
}

@ -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;

@ -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; ([

@ -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; ([

@ -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

@ -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";

@ -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 ];
};
}

@ -37,5 +37,6 @@ stdenv.mkDerivation {
platforms = lib.platforms.unix;
license = lib.licenses.asl20;
maintainers = lib.teams.beam.members;
};
}

@ -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;
};
}

@ -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;
};
}

@ -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 "$@"

@ -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;
};
}

@ -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
];
}

@ -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 ];

@ -171,7 +171,7 @@ in buildFHSUserEnv rec {
SDL2
libusb1
dbus-glib
libav
ffmpeg
atk
# Only libraries are needed from those two
libudev0-shim

@ -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
];

@ -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 ];
};
}

@ -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; {

@ -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 ];

@ -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";

@ -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" ];

@ -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" ];

@ -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;
};
}

@ -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 ];
};
}

@ -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 */

@ -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 { };

Loading…
Cancel
Save