Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-02-08 12:19:33 +00:00 committed by GitHub
commit bef005163c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 580 additions and 282 deletions

View file

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

View file

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

View file

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

View file

@ -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
<literal>hwmon</literal> for standard ${name}s,
${cfg.levels}
<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>
'';
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.
<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";

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

18
pkgs/games/abuse/abuse.sh Normal file
View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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