Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-03-13 00:11:01 +00:00 committed by GitHub
commit 0f057a8d26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
145 changed files with 6717 additions and 3648 deletions

View File

@ -7223,6 +7223,12 @@
githubId = 1267527;
name = "Daniel Firth";
};
lodi = {
email = "anthony.lodi@gmail.com";
github = "lodi";
githubId = 918448;
name = "Anthony Lodi";
};
lopsided98 = {
email = "benwolsieffer@gmail.com";
github = "lopsided98";

View File

@ -35,7 +35,17 @@
This means, <literal>ip[6]tables</literal>,
<literal>arptables</literal> and <literal>ebtables</literal>
commands will actually show rules from some specific tables in
the <literal>nf_tables</literal> kernel subsystem.
the <literal>nf_tables</literal> kernel subsystem. In case
youre migrating from an older release without rebooting,
there might be cases where you end up with iptable rules
configured both in the legacy <literal>iptables</literal>
kernel backend, as well as in the <literal>nf_tables</literal>
backend. This can lead to confusing firewall behaviour. An
<literal>iptables-save</literal> after switching will complain
about <quote>iptables-legacy tables present</quote>. Its
probably best to reboot after the upgrade, or manually
removing all legacy iptables rules (via the
<literal>iptables-legacy</literal> package).
</para>
</listitem>
<listitem>

View File

@ -826,6 +826,58 @@
include serif fonts.
</para>
</listitem>
<listitem>
<para>
<literal>pkgs.epgstation</literal> has been upgraded from v1
to v2, resulting in incompatible changes in the database
scheme and configuration format.
</para>
</listitem>
<listitem>
<para>
Some top-level settings under
<link linkend="opt-services.epgstation.enable">services.epgstation</link>
is now deprecated because it was redudant due to the same
options being present in
<link linkend="opt-services.epgstation.settings">services.epgstation.settings</link>.
</para>
</listitem>
<listitem>
<para>
The option <literal>services.epgstation.basicAuth</literal>
was removed because basic authentication support was dropped
by upstream.
</para>
</listitem>
<listitem>
<para>
The option
<link linkend="opt-services.epgstation.database.passwordFile">services.epgstation.database.passwordFile</link>
no longer has a default value. Make sure to set this option
explicitly before upgrading. Change the database password if
necessary.
</para>
</listitem>
<listitem>
<para>
The
<link linkend="opt-services.epgstation.settings">services.epgstation.settings</link>
option now expects options for <literal>config.yml</literal>
in EPGStation v2.
</para>
</listitem>
<listitem>
<para>
Existing data for the
<link linkend="opt-services.epgstation.enable">services.epgstation</link>
module would have to be backed up prior to the upgrade. To
back up exising data to
<literal>/tmp/epgstation.bak</literal>, run
<literal>sudo -u epgstation epgstation run backup /tmp/epgstation.bak</literal>.
To import that data after to the upgrade, run
<literal>sudo -u epgstation epgstation run v1migrate /tmp/epgstation.bak</literal>
</para>
</listitem>
<listitem>
<para>
<literal>switch-to-configuration</literal> (the script that is

View File

@ -13,6 +13,13 @@ In addition to numerous new and upgraded packages, this release has the followin
[Fedora](https://fedoraproject.org/wiki/Changes/iptables-nft-default).
This means, `ip[6]tables`, `arptables` and `ebtables` commands will actually
show rules from some specific tables in the `nf_tables` kernel subsystem.
In case you're migrating from an older release without rebooting, there might
be cases where you end up with iptable rules configured both in the legacy
`iptables` kernel backend, as well as in the `nf_tables` backend.
This can lead to confusing firewall behaviour. An `iptables-save` after
switching will complain about "iptables-legacy tables present".
It's probably best to reboot after the upgrade, or manually removing all
legacy iptables rules (via the `iptables-legacy` package).
- systemd got an `nftables` backend, and configures (networkd) rules in their
own `io.systemd.*` tables. Check `nft list ruleset` to see these rules, not

View File

@ -321,6 +321,30 @@ In addition to numerous new and upgraded packages, this release has the followin
`pkgs.noto-fonts-cjk` is currently an alias of `pkgs.noto-fonts-cjk-sans` and
doesn't include serif fonts.
- `pkgs.epgstation` has been upgraded from v1 to v2, resulting in incompatible
changes in the database scheme and configuration format.
- Some top-level settings under [services.epgstation](#opt-services.epgstation.enable)
is now deprecated because it was redudant due to the same options being
present in [services.epgstation.settings](#opt-services.epgstation.settings).
- The option `services.epgstation.basicAuth` was removed because basic
authentication support was dropped by upstream.
- The option [services.epgstation.database.passwordFile](#opt-services.epgstation.database.passwordFile)
no longer has a default value. Make sure to set this option explicitly before
upgrading. Change the database password if necessary.
- The [services.epgstation.settings](#opt-services.epgstation.settings)
option now expects options for `config.yml` in EPGStation v2.
- Existing data for the [services.epgstation](#opt-services.epgstation.enable)
module would have to be backed up prior to the upgrade. To back up exising
data to `/tmp/epgstation.bak`, run
`sudo -u epgstation epgstation run backup /tmp/epgstation.bak`.
To import that data after to the upgrade, run
`sudo -u epgstation epgstation run v1migrate /tmp/epgstation.bak`
- `switch-to-configuration` (the script that is run when running `nixos-rebuild switch` for example) has been reworked
* The interface that allows activation scripts to restart units has been streamlined. Restarting and reloading is now done by a single file `/run/nixos/activation-restart-list` that honors `restartIfChanged` and `reloadIfChanged` of the units.
* Preferring to reload instead of restarting can still be achieved using `/run/nixos/activation-reload-list`.

View File

@ -76,7 +76,7 @@ in
script = ''
${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${user} \
-c 'HOME="${cfg.dataDir}" ${pkgs.amuleDaemon}/bin/amuled'
-c 'HOME="${cfg.dataDir}" ${pkgs.amule-daemon}/bin/amuled'
'';
};
};

View File

@ -1,30 +1,40 @@
{ config, lib, options, pkgs, ... }:
with lib;
let
cfg = config.services.epgstation;
opt = options.services.epgstation;
description = "EPGStation: DVR system for Mirakurun-managed TV tuners";
username = config.users.users.epgstation.name;
groupname = config.users.users.epgstation.group;
mirakurun = {
sock = config.services.mirakurun.unixSocket;
option = options.services.mirakurun.unixSocket;
};
settingsFmt = pkgs.formats.json {};
settingsTemplate = settingsFmt.generate "config.json" cfg.settings;
yaml = pkgs.formats.yaml { };
settingsTemplate = yaml.generate "config.yml" cfg.settings;
preStartScript = pkgs.writeScript "epgstation-prestart" ''
#!${pkgs.runtimeShell}
PASSWORD="$(head -n1 "${cfg.basicAuth.passwordFile}")"
DB_PASSWORD="$(head -n1 "${cfg.database.passwordFile}")"
DB_PASSWORD_FILE=${lib.escapeShellArg cfg.database.passwordFile}
if [[ ! -f "$DB_PASSWORD_FILE" ]]; then
printf "[FATAL] File containing the DB password was not found in '%s'. Double check the NixOS option '%s'." \
"$DB_PASSWORD_FILE" ${lib.escapeShellArg opt.database.passwordFile} >&2
exit 1
fi
DB_PASSWORD="$(head -n1 ${lib.escapeShellArg cfg.database.passwordFile})"
# setup configuration
touch /etc/epgstation/config.json
chmod 640 /etc/epgstation/config.json
touch /etc/epgstation/config.yml
chmod 640 /etc/epgstation/config.yml
sed \
-e "s,@password@,$PASSWORD,g" \
-e "s,@dbPassword@,$DB_PASSWORD,g" \
${settingsTemplate} > /etc/epgstation/config.json
chown "${username}:${groupname}" /etc/epgstation/config.json
${settingsTemplate} > /etc/epgstation/config.yml
chown "${username}:${groupname}" /etc/epgstation/config.yml
# NOTE: Use password authentication, since mysqljs does not yet support auth_socket
if [ ! -e /var/lib/epgstation/db-created ]; then
@ -35,7 +45,7 @@ let
'';
streamingConfig = lib.importJSON ./streaming.json;
logConfig = {
logConfig = yaml.generate "logConfig.yml" {
appenders.stdout.type = "stdout";
categories = {
default = { appenders = [ "stdout" ]; level = "info"; };
@ -45,53 +55,51 @@ let
};
};
defaultPassword = "INSECURE_GO_CHECK_CONFIGURATION_NIX\n";
# Deprecate top level options that are redundant.
deprecateTopLevelOption = config:
lib.mkRenamedOptionModule
([ "services" "epgstation" ] ++ config)
([ "services" "epgstation" "settings" ] ++ config);
removeOption = config: instruction:
lib.mkRemovedOptionModule
([ "services" "epgstation" ] ++ config)
instruction;
in
{
options.services.epgstation = {
enable = mkEnableOption "EPGStation: DTV Software in Japan";
meta.maintainers = with lib.maintainers; [ midchildan ];
usePreconfiguredStreaming = mkOption {
type = types.bool;
imports = [
(deprecateTopLevelOption [ "port" ])
(deprecateTopLevelOption [ "socketioPort" ])
(deprecateTopLevelOption [ "clientSocketioPort" ])
(removeOption [ "basicAuth" ]
"Use a TLS-terminated reverse proxy with authentication instead.")
];
options.services.epgstation = {
enable = lib.mkEnableOption description;
package = lib.mkOption {
default = pkgs.epgstation;
type = lib.types.package;
defaultText = lib.literalExpression "pkgs.epgstation";
description = "epgstation package to use";
};
usePreconfiguredStreaming = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Use preconfigured default streaming options.
Upstream defaults:
<link xlink:href="https://github.com/l3tnun/EPGStation/blob/master/config/config.sample.json"/>
<link xlink:href="https://github.com/l3tnun/EPGStation/blob/master/config/config.yml.template"/>
'';
};
port = mkOption {
type = types.port;
default = 20772;
description = ''
HTTP port for EPGStation to listen on.
'';
};
socketioPort = mkOption {
type = types.port;
default = cfg.port + 1;
defaultText = literalExpression "config.${opt.port} + 1";
description = ''
Socket.io port for EPGStation to listen on.
'';
};
clientSocketioPort = mkOption {
type = types.port;
default = cfg.socketioPort;
defaultText = literalExpression "config.${opt.socketioPort}";
description = ''
Socket.io port that the web client is going to connect to. This may be
different from <option>socketioPort</option> if EPGStation is hidden
behind a reverse proxy.
'';
};
openFirewall = mkOption {
type = types.bool;
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Open ports in the firewall for the EPGStation web interface.
@ -106,50 +114,17 @@ in
'';
};
basicAuth = {
user = mkOption {
type = with types; nullOr str;
default = null;
example = "epgstation";
description = ''
Basic auth username for EPGStation. If <literal>null</literal>, basic
auth will be disabled.
<warning>
<para>
Basic authentication has known weaknesses, the most critical being
that it sends passwords over the network in clear text. Use this
feature to control access to EPGStation within your family and
friends, but don't rely on it for security.
</para>
</warning>
'';
};
passwordFile = mkOption {
type = types.path;
default = pkgs.writeText "epgstation-password" defaultPassword;
defaultText = literalDocBook ''a file containing <literal>${defaultPassword}</literal>'';
example = "/run/keys/epgstation-password";
description = ''
A file containing the password for <option>basicAuth.user</option>.
'';
};
};
database = {
name = mkOption {
type = types.str;
database = {
name = lib.mkOption {
type = lib.types.str;
default = "epgstation";
description = ''
Name of the MySQL database that holds EPGStation's data.
'';
};
passwordFile = mkOption {
type = types.path;
default = pkgs.writeText "epgstation-db-password" defaultPassword;
defaultText = literalDocBook ''a file containing <literal>${defaultPassword}</literal>'';
passwordFile = lib.mkOption {
type = lib.types.path;
example = "/run/keys/epgstation-db-password";
description = ''
A file containing the password for the database named
@ -158,69 +133,106 @@ in
};
};
settings = mkOption {
# The defaults for some options come from the upstream template
# configuration, which is the one that users would get if they follow the
# upstream instructions. This is, in some cases, different from the
# application defaults. Some options like encodeProcessNum and
# concurrentEncodeNum doesn't have an optimal default value that works for
# all hardware setups and/or performance requirements. For those kind of
# options, the application default wouldn't always result in the expected
# out-of-the-box behavior because it's the responsibility of the user to
# configure them according to their needs. In these cases, the value in the
# upstream template configuration should serve as a "good enough" default.
settings = lib.mkOption {
description = ''
Options to add to config.json.
Options to add to config.yml.
Documentation:
<link xlink:href="https://github.com/l3tnun/EPGStation/blob/master/doc/conf-manual.md"/>
'';
default = {};
default = { };
example = {
recPriority = 20;
conflictPriority = 10;
};
type = types.submodule {
freeformType = settingsFmt.type;
type = lib.types.submodule {
freeformType = yaml.type;
options.readOnlyOnce = mkOption {
type = types.bool;
default = false;
description = "Don't reload configuration files at runtime.";
options.port = lib.mkOption {
type = lib.types.port;
default = 20772;
description = ''
HTTP port for EPGStation to listen on.
'';
};
options.mirakurunPath = mkOption (let
sockPath = config.services.mirakurun.unixSocket;
in {
type = types.str;
default = "http+unix://${replaceStrings ["/"] ["%2F"] sockPath}";
defaultText = literalExpression ''
"http+unix://''${replaceStrings ["/"] ["%2F"] config.${options.services.mirakurun.unixSocket}}"
options.socketioPort = lib.mkOption {
type = lib.types.port;
default = cfg.settings.port + 1;
defaultText = lib.literalExpression "config.${opt.settings}.port + 1";
description = ''
Socket.io port for EPGStation to listen on. It is valid to share
ports with <option>${opt.settings}.port</option>.
'';
};
options.clientSocketioPort = lib.mkOption {
type = lib.types.port;
default = cfg.settings.socketioPort;
defaultText = lib.literalExpression "config.${opt.settings}.socketioPort";
description = ''
Socket.io port that the web client is going to connect to. This may
be different from <option>${opt.settings}.socketioPort</option> if
EPGStation is hidden behind a reverse proxy.
'';
};
options.mirakurunPath = with mirakurun; lib.mkOption {
type = lib.types.str;
default = "http+unix://${lib.replaceStrings ["/"] ["%2F"] sock}";
defaultText = lib.literalExpression ''
"http+unix://''${lib.replaceStrings ["/"] ["%2F"] config.${option}}"
'';
example = "http://localhost:40772";
description = "URL to connect to Mirakurun.";
});
};
options.encode = mkOption {
type = with types; listOf attrs;
options.encodeProcessNum = lib.mkOption {
type = lib.types.ints.positive;
default = 4;
description = ''
The maximum number of processes that EPGStation would allow to run
at the same time for encoding or streaming videos.
'';
};
options.concurrentEncodeNum = lib.mkOption {
type = lib.types.ints.positive;
default = 1;
description = ''
The maximum number of encoding jobs that EPGStation would run at the
same time.
'';
};
options.encode = lib.mkOption {
type = with lib.types; listOf attrs;
description = "Encoding presets for recorded videos.";
default = [
{
name = "H264";
cmd = "${pkgs.epgstation}/libexec/enc.sh main";
name = "H.264";
cmd = "%NODE% ${cfg.package}/libexec/enc.js";
suffix = ".mp4";
default = true;
}
{
name = "H264-sub";
cmd = "${pkgs.epgstation}/libexec/enc.sh sub";
suffix = "-sub.mp4";
}
];
defaultText = literalExpression ''
defaultText = lib.literalExpression ''
[
{
name = "H264";
cmd = "''${pkgs.epgstation}/libexec/enc.sh main";
name = "H.264";
cmd = "%NODE% config.${opt.package}/libexec/enc.js";
suffix = ".mp4";
default = true;
}
{
name = "H264-sub";
cmd = "''${pkgs.epgstation}/libexec/enc.sh sub";
suffix = "-sub.mp4";
}
]
'';
@ -229,14 +241,25 @@ in
};
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = !(lib.hasAttr "readOnlyOnce" cfg.settings);
message = ''
The option config.${opt.settings}.readOnlyOnce can no longer be used
since it's been removed. No replacements are available.
'';
}
];
environment.etc = {
"epgstation/operatorLogConfig.json".text = builtins.toJSON logConfig;
"epgstation/serviceLogConfig.json".text = builtins.toJSON logConfig;
"epgstation/epgUpdaterLogConfig.yml".source = logConfig;
"epgstation/operatorLogConfig.yml".source = logConfig;
"epgstation/serviceLogConfig.yml".source = logConfig;
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = with cfg; [ port socketioPort ];
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = with cfg.settings; [ port socketioPort ];
};
users.users.epgstation = {
@ -245,13 +268,13 @@ in
isSystemUser = true;
};
users.groups.epgstation = {};
users.groups.epgstation = { };
services.mirakurun.enable = mkDefault true;
services.mirakurun.enable = lib.mkDefault true;
services.mysql = {
enable = mkDefault true;
package = mkDefault pkgs.mariadb;
enable = lib.mkDefault true;
package = lib.mkDefault pkgs.mariadb;
ensureDatabases = [ cfg.database.name ];
# FIXME: enable once mysqljs supports auth_socket
# ensureUsers = [ {
@ -260,39 +283,28 @@ in
# } ];
};
services.epgstation.settings = let
defaultSettings = {
serverPort = cfg.port;
socketioPort = cfg.socketioPort;
clientSocketioPort = cfg.clientSocketioPort;
services.epgstation.settings =
let
defaultSettings = {
dbtype = lib.mkDefault "mysql";
mysql = {
socketPath = lib.mkDefault "/run/mysqld/mysqld.sock";
user = username;
password = lib.mkDefault "@dbPassword@";
database = cfg.database.name;
};
dbType = mkDefault "mysql";
mysql = {
user = username;
database = cfg.database.name;
socketPath = mkDefault "/run/mysqld/mysqld.sock";
password = mkDefault "@dbPassword@";
connectTimeout = mkDefault 1000;
connectionLimit = mkDefault 10;
ffmpeg = lib.mkDefault "${pkgs.ffmpeg-full}/bin/ffmpeg";
ffprobe = lib.mkDefault "${pkgs.ffmpeg-full}/bin/ffprobe";
# for disambiguation with TypeScript files
recordedFileExtension = lib.mkDefault ".m2ts";
};
basicAuth = mkIf (cfg.basicAuth.user != null) {
user = mkDefault cfg.basicAuth.user;
password = mkDefault "@password@";
};
ffmpeg = mkDefault "${pkgs.ffmpeg-full}/bin/ffmpeg";
ffprobe = mkDefault "${pkgs.ffmpeg-full}/bin/ffprobe";
fileExtension = mkDefault ".m2ts";
maxEncode = mkDefault 2;
maxStreaming = mkDefault 2;
};
in
mkMerge [
defaultSettings
(mkIf cfg.usePreconfiguredStreaming streamingConfig)
];
in
lib.mkMerge [
defaultSettings
(lib.mkIf cfg.usePreconfiguredStreaming streamingConfig)
];
systemd.tmpfiles.rules = [
"d '/var/lib/epgstation/streamfiles' - ${username} ${groupname} - -"
@ -301,15 +313,15 @@ in
];
systemd.services.epgstation = {
description = pkgs.epgstation.meta.description;
inherit description;
wantedBy = [ "multi-user.target" ];
after = [
"network.target"
] ++ optional config.services.mirakurun.enable "mirakurun.service"
++ optional config.services.mysql.enable "mysql.service";
after = [ "network.target" ]
++ lib.optional config.services.mirakurun.enable "mirakurun.service"
++ lib.optional config.services.mysql.enable "mysql.service";
serviceConfig = {
ExecStart = "${pkgs.epgstation}/bin/epgstation start";
ExecStart = "${cfg.package}/bin/epgstation start";
ExecStartPre = "+${preStartScript}";
User = username;
Group = groupname;

View File

@ -1,119 +1,140 @@
{
"liveHLS": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -map 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 17 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -flags +loop-global_header %OUTPUT%"
"urlscheme": {
"m2ts": {
"ios": "vlc-x-callback://x-callback-url/stream?url=PROTOCOL://ADDRESS",
"android": "intent://ADDRESS#Intent;package=org.videolan.vlc;type=video;scheme=PROTOCOL;end"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -map 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 17 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -flags +loop-global_header %OUTPUT%"
"video": {
"ios": "infuse://x-callback-url/play?url=PROTOCOL://ADDRESS",
"android": "intent://ADDRESS#Intent;package=com.mxtech.videoplayer.ad;type=video;scheme=PROTOCOL;end"
},
{
"name": "180p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -map 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 17 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -c:a aac -ar 48000 -b:a 48k -ac 2 -c:v libx264 -vf yadif,scale=-2:180 -b:v 100k -preset veryfast -maxrate 110k -bufsize 1000k -flags +loop-global_header %OUTPUT%"
"download": {
"ios": "vlc-x-callback://x-callback-url/download?url=PROTOCOL://ADDRESS&filename=FILENAME"
}
],
"liveMP4": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
}
],
"liveWebM": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 3 -c:a libvorbis -ar 48000 -b:a 192k -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:720 -b:v 3000k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 2 -c:a libvorbis -ar 48000 -b:a 128k -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:480 -b:v 1500k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
}
],
"mpegTsStreaming": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -y -f mpegts pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -y -f mpegts pipe:1"
},
{
"name": "Original"
}
],
"mpegTsViewer": {
"ios": "vlc-x-callback://x-callback-url/stream?url=http://ADDRESS",
"android": "intent://ADDRESS#Intent;package=com.mxtech.videoplayer.ad;type=video;scheme=http;end"
},
"recordedDownloader": {
"ios": "vlc-x-callback://x-callback-url/download?url=http://ADDRESS&filename=FILENAME",
"android": "intent://ADDRESS#Intent;package=com.dv.adm;type=video;scheme=http;end"
},
"recordedStreaming": {
"webm": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main %RE% -i pipe:0 -sn -threads 3 -c:a libvorbis -ar 48000 -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:720 %VB% %VBUFFER% %AB% %ABUFFER% -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1",
"vb": "3000k",
"ab": "192k"
},
{
"name": "360p",
"cmd": "%FFMPEG% -dual_mono_mode main %RE% -i pipe:0 -sn -threads 2 -c:a libvorbis -ar 48000 -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:360 %VB% %VBUFFER% %AB% %ABUFFER% -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1",
"vb": "1500k",
"ab": "128k"
"stream": {
"live": {
"ts": {
"m2ts": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -y -f mpegts pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -y -f mpegts pipe:1"
},
{
"name": "無変換"
}
],
"m2tsll": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -f mpegts -analyzeduration 500000 -i pipe:0 -map 0 -c:s copy -c:d copy -ignore_unknown -fflags nobuffer -flags low_delay -max_delay 250000 -max_interleave_delta 1 -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -flags +cgop -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -y -f mpegts pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -f mpegts -analyzeduration 500000 -i pipe:0 -map 0 -c:s copy -c:d copy -ignore_unknown -fflags nobuffer -flags low_delay -max_delay 250000 -max_interleave_delta 1 -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -flags +cgop -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -y -f mpegts pipe:1"
}
],
"webm": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 3 -c:a libvorbis -ar 48000 -b:a 192k -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:720 -b:v 3000k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 2 -c:a libvorbis -ar 48000 -b:a 128k -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:480 -b:v 1500k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
}
],
"mp4": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
}
],
"hls": [
{
"name": "720p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -map 0 -threads 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 17 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -hls_flags delete_segments -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -flags +loop-global_header %OUTPUT%"
},
{
"name": "480p",
"cmd": "%FFMPEG% -re -dual_mono_mode main -i pipe:0 -sn -map 0 -threads 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 17 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -hls_flags delete_segments -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -flags +loop-global_header %OUTPUT%"
}
]
}
],
"mp4": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main %RE% -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -ac 2 -c:v libx264 -vf yadif,scale=-2:720 %VB% %VBUFFER% %AB% %ABUFFER% -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1",
"vb": "3000k",
"ab": "192k"
},
{
"name": "360p",
"cmd": "%FFMPEG% -dual_mono_mode main %RE% -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -ac 2 -c:v libx264 -vf yadif,scale=-2:360 %VB% %VBUFFER% %AB% %ABUFFER% -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1",
"vb": "1500k",
"ab": "128k"
}
],
"mpegTs": [
{
"name": "720p (H.264)",
"cmd": "%FFMPEG% -dual_mono_mode main %RE% -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -ac 2 -c:v libx264 -vf yadif,scale=-2:720 %VB% %VBUFFER% %AB% %ABUFFER% -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -y -f mpegts pipe:1",
"vb": "3000k",
"ab": "192k"
},
{
"name": "360p (H.264)",
"cmd": "%FFMPEG% -dual_mono_mode main %RE% -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -ac 2 -c:v libx264 -vf yadif,scale=-2:360 %VB% %VBUFFER% %AB% %ABUFFER% -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -y -f mpegts pipe:1",
"vb": "1500k",
"ab": "128k"
}
]
},
"recordedHLS": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -i %INPUT% -sn -threads 0 -map 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -flags +loop-global_header %OUTPUT%"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -i %INPUT% -sn -threads 0 -map 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -flags +loop-global_header %OUTPUT%"
},
{
"name": "480p(h265)",
"cmd": "%FFMPEG% -dual_mono_mode main -i %INPUT% -sn -map 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_type fmp4 -hls_fmp4_init_filename stream%streamNum%-init.mp4 -hls_segment_filename stream%streamNum%-%09d.m4s -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx265 -vf yadif,scale=-2:480 -b:v 350k -preset veryfast -tag:v hvc1 %OUTPUT%"
"recorded": {
"ts": {
"webm": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -i pipe:0 -sn -threads 3 -c:a libvorbis -ar 48000 -b:a 192k -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:720 -b:v 3000k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -i pipe:0 -sn -threads 3 -c:a libvorbis -ar 48000 -b:a 128k -ac 2 -c:v libvpx-vp9 -vf yadif,scale=-2:480 -b:v 1500k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
}
],
"mp4": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -i pipe:0 -sn -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
}
],
"hls": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -i pipe:0 -sn -map 0 -threads 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -hls_flags delete_segments -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf yadif,scale=-2:720 -b:v 3000k -preset veryfast -flags +loop-global_header %OUTPUT%"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -i pipe:0 -sn -map 0 -threads 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -hls_flags delete_segments -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf yadif,scale=-2:480 -b:v 1500k -preset veryfast -flags +loop-global_header %OUTPUT%"
}
]
},
"encoded": {
"webm": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -ss %SS% -i %INPUT% -sn -threads 3 -c:a libvorbis -ar 48000 -b:a 192k -ac 2 -c:v libvpx-vp9 -vf scale=-2:720 -b:v 3000k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -ss %SS% -i %INPUT% -sn -threads 3 -c:a libvorbis -ar 48000 -b:a 128k -ac 2 -c:v libvpx-vp9 -vf scale=-2:480 -b:v 1500k -deadline realtime -speed 4 -cpu-used -8 -y -f webm pipe:1"
}
],
"mp4": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -ss %SS% -i %INPUT% -sn -threads 0 -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf scale=-2:720 -b:v 3000k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -ss %SS% -i %INPUT% -sn -threads 0 -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf scale=-2:480 -b:v 1500k -profile:v baseline -preset veryfast -tune fastdecode,zerolatency -movflags frag_keyframe+empty_moov+faststart+default_base_moof -y -f mp4 pipe:1"
}
],
"hls": [
{
"name": "720p",
"cmd": "%FFMPEG% -dual_mono_mode main -ss %SS% -i %INPUT% -sn -threads 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -hls_flags delete_segments -c:a aac -ar 48000 -b:a 192k -ac 2 -c:v libx264 -vf scale=-2:720 -b:v 3000k -preset veryfast -flags +loop-global_header %OUTPUT%"
},
{
"name": "480p",
"cmd": "%FFMPEG% -dual_mono_mode main -ss %SS% -i %INPUT% -sn -threads 0 -ignore_unknown -max_muxing_queue_size 1024 -f hls -hls_time 3 -hls_list_size 0 -hls_allow_cache 1 -hls_segment_filename %streamFileDir%/stream%streamNum%-%09d.ts -hls_flags delete_segments -c:a aac -ar 48000 -b:a 128k -ac 2 -c:v libx264 -vf scale=-2:480 -b:v 3000k -preset veryfast -flags +loop-global_header %OUTPUT%"
}
]
}
}
],
"recordedViewer": {
"ios": "infuse://x-callback-url/play?url=http://ADDRESS",
"android": "intent://ADDRESS#Intent;package=com.mxtech.videoplayer.ad;type=video;scheme=http;end"
}
}

View File

@ -22,11 +22,13 @@ let
type = with types; nullOr package;
default = null;
description = ''
Path to an image file to load instead of pulling from a registry.
If defined, do not pull from registry.
Path to an image file to load before running the image. This can
be used to bypass pulling the image from the registry.
You still need to set the <literal>image</literal> attribute, as it
will be used as the image name for docker to start a container.
The <literal>image</literal> attribute must match the name and
tag of the image contained in this file, as they will be used to
run the container with that image. If they do not match, the
image will be pulled from the registry as usual.
'';
example = literalExpression "pkgs.dockerTools.buildImage {...};";
};

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "bitwig-studio";
version = "4.1.6";
version = "4.2";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
sha256 = "sha256-Q4YYdMUd/T8tGGcakhoLdHvWsHwOq7LgIb77sr2OWuQ=";
sha256 = "sha256-hIIEVj5sM/NdhBiwerFvyIXqj0R8EvcxwM6UZ0CE428=";
};
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];

View File

@ -35,13 +35,13 @@
stdenv.mkDerivation rec {
pname = "easyeffects";
version = "6.2.3";
version = "6.2.4";
src = fetchFromGitHub {
owner = "wwmm";
repo = "easyeffects";
rev = "v${version}";
sha256 = "sha256-A1UanrAbmZFGCmDNIr1h+v5RVMsIl4qgM/veBirudQM=";
sha256 = "sha256-g/qN1Tafh71HdPLHW43Zva9MK6G+qxSnb1aRisuwdBw=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,33 @@
{ lib, fetchFromGitHub, buildGoModule, alsa-lib }:
buildGoModule rec {
pname = "jellycli";
version = "0.9.1";
src = fetchFromGitHub {
owner = "tryffel";
repo = "jellycli";
rev = "v${version}";
sha256 = "1awzcxnf175a794rhzbmqxxjss77mfa1yrr0wgdxaivrlkibxjys";
};
vendorSha256 = "02fwsnrhj09m0aa199plpqlsjrwpmrk4c80fszzm07s5vmjqvnfy";
patches = [
# Fixes log file path for tests.
./fix-test-dir.patch
];
buildInputs = [ alsa-lib ];
meta = with lib; {
description = "Jellyfin terminal client";
longDescription = ''
Terminal music player, works with Jellyfin (>= 10.6) , Emby (>= 4.4), and
Subsonic comptabile servers (API >= 1.16), e.g., Navidrome.
'';
homepage = "https://github.com/tryffel/jellycli";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ oxzi ];
};
}

View File

@ -0,0 +1,13 @@
diff --git a/config/config_test.go b/config/config_test.go
index 9f63a7e..7e790b8 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -110,7 +110,7 @@ func TestInitEmptyConfig(t *testing.T) {
Subsonic: Subsonic{},
Player: Player{
Server: "jellyfin",
- LogFile: "/tmp/jellycli.log",
+ LogFile: "/build/jellycli.log",
LogLevel: "info",
AudioBufferingMs: 150,
HttpBufferingS: 5,

View File

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "09zpc8c2il6x88h65kbm6z8vfnx0byzpcqqy9a1za5ilqr3dhk43";
x86_64-darwin = "09m2ij0phf5ni5m110z2bnmd9z50lz1qsh7w7cfawycjhwsl602z";
aarch64-linux = "1nsdn9mc4ahrz392w2z071sfxc5jmwhamlaid2qy899cc7sk8nqr";
armv7l-linux = "1ii6li6l09ccxf0gyjy3f5752kr4a8pga5w0a0ndgfa73mhlamin";
x86_64-linux = "1sh2f7hwhilwmlgy11kl0s2n3phpcir15wyl2fkyhsr2kdj4jz9r";
x86_64-darwin = "1s04d91f08982wi8hb4dw0j57d6zqrdgns16ihrgsvahrzksgq4b";
aarch64-linux = "1a97lk1qz2lz0lk5lpja32zy07iwdbskp6baf429iz7fz232rshm";
armv7l-linux = "0vjqxqcr7fq3ncx1nl6ny7qcqm4vlsn33c074hhcg5292blg2a0p";
}.${system};
sourceRoot = {
@ -31,7 +31,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.65.1";
version = "1.65.2";
pname = "vscodium";
executableName = "codium";

View File

@ -9,10 +9,10 @@
let
# Keep these separate so the update script can regex them
rpcs3GitVersion = "13222-8c2fd5095";
rpcs3Version = "0.0.20-13222-8c2fd5095";
rpcs3Revision = "8c2fd50957be3af05c04a9bb782dce8505fb6400";
rpcs3Sha256 = "1cf62vpqdc9i4masgv9zz24h7zdc7gcymx6n1hbh7wp5gg1dw4qi";
rpcs3GitVersion = "13327-6c096b72b";
rpcs3Version = "0.0.21-13327-6c096b72b";
rpcs3Revision = "6c096b72b5294758067a002f981563bbd618d30d";
rpcs3Sha256 = "0xmdhjskqbv02jvl43bvw0clsgh9gnahl50fr3q8lmpwpy13ldr4";
ittapi = fetchFromGitHub {
owner = "intel";

View File

@ -6,7 +6,7 @@
}:
let
version = "5.9.1";
version = "5.10.0";
docFiles = [
(fetchurl {
@ -35,7 +35,7 @@ in mkDerivation rec {
owner = "paraview";
repo = "paraview";
rev = "v${version}";
sha256 = "0pzic95br0vr785jnpxqmfxcljw3wk7bhm2xy0jfmwm1dh2b7xac";
sha256 = "0ipx6zq44hpic7gvv0s2jvjncak6vlmrz5sp9ypc15b15bna0gs2";
fetchSubmodules = true;
};

View File

@ -34,8 +34,8 @@ let
qonlinetranslator = fetchFromGitHub {
owner = "crow-translate";
repo = "QOnlineTranslator";
rev = "1.5.2";
sha256 = "sha256-iGi25aKwff2hNNx6o4kHZV8gVbEQcMgpTTvop3CoLjM=";
rev = "1.5.3";
sha256 = "sha256-L8y4vazbWD5SC7itxQOjEcX10w0laewxTOGz+Yd+kVM=";
};
circleflags = fetchFromGitHub {
owner = "HatScripts";
@ -52,13 +52,13 @@ let
in
mkDerivation rec {
pname = "crow-translate";
version = "2.9.1";
version = "2.9.2";
src = fetchFromGitHub {
owner = "crow-translate";
repo = pname;
rev = version;
sha256 = "sha256-7Zb6PZO8eLeGPEZD37ja+LZydIQdsgy5gMAMtlS4k5Y=";
sha256 = "sha256-cxfBdoqGVmtCaXyw6QzXj2V44wKyVal/uqsddwIdvjw=";
};
patches = [

View File

@ -46,7 +46,7 @@ index c92e745..f265f03 100644
FetchContent_Declare(QOnlineTranslator
- GIT_REPOSITORY https://github.com/crow-translate/QOnlineTranslator
- GIT_TAG 1.5.2
- GIT_TAG 1.5.3
+ SOURCE_DIR @qonlinetranslator@
)

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "dasel";
version = "1.22.1";
version = "1.23.0";
src = fetchFromGitHub {
owner = "TomWright";
repo = "dasel";
rev = "v${version}";
sha256 = "091s3hyz9p892garanm9zmkbsn6hn3bnnrz7h3dqsyi58806d5yr";
sha256 = "sha256-MUF57begai6yMYLPC5dnyO9S39uHogB+Ie3qDA46Cn8=";
};
vendorSha256 = "1y0k03lg9dh3bpi10xzv03h7gq7h0hgggs304p78p3jkr8pmkqss";
vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";
ldflags = [
"-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"

View File

@ -2,12 +2,12 @@
stdenvNoCC.mkDerivation rec {
pname = "fluidd";
version = "1.16.2";
version = "1.17.1";
src = fetchurl {
name = "fluidd-v${version}.zip";
url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
sha256 = "1qwj25xvvxvm1fxx216nn2gp7js4d682mm3l4s7ns90fc5ygvc8i";
sha256 = "sha256-F4hAFLsZmRg/zeTHo9eYoT0BasorynGaSzNSbKr2/JE=";
};
nativeBuildInputs = [ unzip ];

View File

@ -4,9 +4,9 @@
, curl, writeShellScript, common-updater-scripts }:
let
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.4-6681f81d/Hubstaff-1.6.4-6681f81d.sh";
version = "1.6.4-6681f81d";
sha256 = "1j0rzyqm9zm2w44zwxq61fy19m27ghlv11mbfl7yzh2ccmxljxjm";
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.5-31be26f1/Hubstaff-1.6.5-31be26f1.sh";
version = "1.6.5-31be26f1";
sha256 = "1z1binnqppyxavmjg0l1cvy64ylzy2v454sws2x1am2qhhbnycjm";
rpath = lib.makeLibraryPath
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron }:
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, curl, expat, gcc, openssl, zlib }:
stdenv.mkDerivation rec {
pname = "logseq";
version = "0.6.1";
version = "0.6.3";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "ccLqOKH10hmROnxlnNxuD5/AqAcFIILIoW/9yZLEep0=";
sha256 = "o3tBHk7bauNczz6lPS3lV0mpYEaBa0lh/mAJKJM2eWU=";
name = "${pname}-${version}.AppImage";
};
@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
buildInputs = [ stdenv.cc.cc curl expat openssl zlib ];
installPhase = ''
runHook preInstall

View File

@ -18,7 +18,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "metadata-cleaner";
version = "2.1.4";
version = "2.1.5";
format = "other";
@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "rmnvgr";
repo = "metadata-cleaner";
rev = "v${version}";
hash = "sha256-46J0iLXzZX5tww4CK8WhrADql023rauO0fpW7Asn5ZY=";
hash = "sha256-G7Azeh8+OQILoYEmlIeacoDzN0NRt5NTGavYM9CH8WA=";
};
nativeBuildInputs = [

View File

@ -13,11 +13,11 @@ let
in
stdenv.mkDerivation rec {
pname = "splitter";
version = "645";
version = "647";
src = fetchurl {
url = "https://www.mkgmap.org.uk/download/splitter-r${version}-src.tar.gz";
sha256 = "Y9feRNDjmwUbSOwxfMIaYIycCvOBMihq5LkuKbALVDY=";
sha256 = "j9TJ+9WuItueztWjYoD9s9x8wfsga2QCIY5X2+s3Z1c=";
};
patches = [

View File

@ -19,9 +19,9 @@
}
},
"beta": {
"version": "100.0.4896.20",
"sha256": "0g16xzimp39vk5b27bj12rh14520wihj4m4mwxf387rv0yp03cnr",
"sha256bin64": "1qkz32xvgbnd7xck0hm2mcrgdawn6xilldjgfckaaavvj4zinnk9",
"version": "100.0.4896.30",
"sha256": "06zfx9f6wv4j4fz7ss8pjlxfcsrwrvwqkmdk5bin7slxg4sq31fl",
"sha256bin64": "06s2p81grqrxl3p9ksy9q7s3s42ijmcw316nb51f7zx4ijk5hzya",
"deps": {
"gn": {
"version": "2022-01-21",
@ -32,9 +32,9 @@
}
},
"dev": {
"version": "101.0.4919.0",
"sha256": "01dp3pkpf2m6r6vfyqgcg99xcii0qi3qm0g69r3nnj2hrs7ziqv2",
"sha256bin64": "1x7bfcnhrbakcbdyp1sc79jx6qysnnyj1by6qnl7gyffh8xyb95g",
"version": "101.0.4929.5",
"sha256": "0330vs0np23x390lfnc5gzmbnkdak590rzqpa7abpfx1gzj1rd3s",
"sha256bin64": "0670z86sz2wxpfxda32cirara7yg87g67cymh8ik3w99g5q7cb1d",
"deps": {
"gn": {
"version": "2022-03-01",

View File

@ -7,7 +7,7 @@ WORKDIR=$(mktemp -d)
trap "rm -rf ${WORKDIR}" EXIT
NIXPKGS_ROOT="$(git rev-parse --show-toplevel)"/
NIXPKGS_K3S_FOLDER=${NIXPKGS_ROOT}$(dirname "${BASH_SOURCE[0]}")/
NIXPKGS_K3S_FOLDER=$(cd $(dirname ${BASH_SOURCE[0]}); pwd -P)/
cd ${NIXPKGS_K3S_FOLDER}
LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json

View File

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec {
pname = "flexget";
version = "3.3.2";
version = "3.3.3";
# Fetch from GitHub in order to use `requirements.in`
src = fetchFromGitHub {
owner = "flexget";
repo = "flexget";
rev = "v${version}";
hash = "sha256-Z2JYFnE9g2bWaR+Ghxg3zJUD0Ja8/od52jkOVWEqeVE=";
hash = "sha256-a76x4Klad3lct2M9RxSroUYKmEX7lPqDN+dFvfjavo8=";
};
postPatch = ''

View File

@ -147,7 +147,7 @@ in stdenv.mkDerivation rec {
homepage = "https://signal.org/";
changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ ixmatus primeos equirosa ];
maintainers = with lib.maintainers; [ mic92 equirosa ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -5,18 +5,18 @@
stdenv.mkDerivation rec {
pname = "kirc";
version = "0.2.9";
version = "0.3.1";
src = fetchFromGitHub {
owner = "mcpcpc";
repo = pname;
rev = version;
hash = "sha256-KRCVjz59SHjk86VgfGxYKk/Ti3o77dV7fdRu9mB3FSo=";
hash = "sha256-bLBrkbW/Iv1v9z5NOiMAA/dH5/9FlqusRV5rSqjdlPw=";
};
dontConfigure = true;
makeFlags = [ "PREFIX=${placeholder "out"}" ];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
homepage = "http://kirc.io/";

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
pname = "gnunet";
version = "0.15.3";
version = "0.16.0";
src = fetchurl {
url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
sha256 = "sha256-1iZpqPQeB46qIgznejL08/gB4wmTV66McFSY/nOITsU=";
sha256 = "sha256-0y2m8T/xzYZwUlcZ6g956fdtLef2Bphg4Kd/xpo2AGg=";
};
enableParallelBuilding = true;

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook
, glib, gtk3, gettext, libxkbfile, libX11
, freerdp, libssh, libgcrypt, gnutls
, freerdp, libssh, libgcrypt, gnutls, vte
, pcre2, libdbusmenu-gtk3, libappindicator-gtk3
, libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
, libsecret, libsoup, spice-protocol, spice-gtk, libepoxy, at-spi2-core
@ -8,6 +8,7 @@
# The themes here are soft dependencies; only icons are missing without them.
, gnome
, withLibsecret ? true
, withVte ? true
}:
with lib;
@ -33,10 +34,11 @@ stdenv.mkDerivation rec {
libsoup spice-protocol spice-gtk libepoxy at-spi2-core
openssl gnome.adwaita-icon-theme json-glib libsodium webkitgtk
harfbuzz
] ++ optionals withLibsecret [ libsecret ];
] ++ optionals withLibsecret [ libsecret ]
++ optionals withVte [ vte ];
cmakeFlags = [
"-DWITH_VTE=OFF"
"-DWITH_VTE=${if withVte then "ON" else "OFF"}"
"-DWITH_TELEPATHY=OFF"
"-DWITH_AVAHI=OFF"
"-DWITH_LIBSECRET=${if withLibsecret then "ON" else "OFF"}"

View File

@ -3,7 +3,6 @@
, autoconf
, automake
, fetchFromGitHub
, fetchpatch
, libpcap
, ncurses
, openssl
@ -12,25 +11,15 @@
stdenv.mkDerivation rec {
pname = "sngrep";
version = "1.4.9";
version = "1.4.10";
src = fetchFromGitHub {
owner = "irontec";
repo = pname;
rev = "v${version}";
sha256 = "sha256-92wPRDFSoIOYFv3XKdsuYH8j3D8kXyg++q6VpIIMGDg=";
sha256 = "sha256-P618QLk85W0oPisAGiRfpCgHCddKutUkGjwdfgsV4Es=";
};
patches = [
# Pull fix pending upstream inclusion for ncurses-6.3 support:
# https://github.com/irontec/sngrep/pull/382
(fetchpatch {
name = "ncurses-6.3.patch";
url = "https://github.com/irontec/sngrep/commit/d09e1c323dbd7fc899e8985899baec568f045601.patch";
sha256 = "sha256-nY5i3WQh/oKboEAh4wvxF5Imf2BHYEKdFj+WF1M3SSA=";
})
];
nativeBuildInputs = [
autoconf
automake

View File

@ -0,0 +1,34 @@
{ stdenv
, fetchurl
, lib
, gtk3
, pkg-config
}:
stdenv.mkDerivation rec {
pname = "gaw";
version = "20200922";
src = fetchurl {
url = "https://download.tuxfamily.org/gaw/download/gaw3-${version}.tar.gz";
sha256 = "0qmap11v470a1yj4ypfvdq6wkfni77ijqpknka8b4fndi62sl4wa";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk3 ];
meta = with lib; {
description = "Gtk Analog Wave viewer";
longDescription = ''
Gaw is a software tool for displaying analog waveforms from
sampled datas, for example from the output of simulators or
input from sound cards. Data can be imported to gaw using files,
direct tcp/ip connection or directly from the sound card.
'';
homepage = "http://gaw.tuxfamily.org";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ fbeffa ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,46 @@
{ stdenv
, fetchFromGitHub
, lib
, bison
, cairo
, flex
, libX11
, libXpm
, pkg-config
, tcl
, tk
}:
stdenv.mkDerivation rec {
pname = "xschem";
version = "3.0.0";
src = fetchFromGitHub {
owner = "StefanSchippers";
repo = "xschem";
rev = version;
sha256 = "sha256-C57jo8tAbiqQAgf4Xp2lpFGOr6F1knPpFcYxPiqSM4k=";
};
nativeBuildInputs = [ bison flex pkg-config ];
buildInputs = [ cairo libX11 libXpm tcl tk ];
hardeningDisable = [ "format" ];
meta = with lib; {
description = "Schematic capture and netlisting EDA tool";
longDescription = ''
Xschem is a schematic capture program, it allows creation of
hierarchical representation of circuits with a top down approach.
By focusing on interfaces, hierarchy and instance properties a
complex system can be described in terms of simpler building
blocks. A VHDL or Verilog or Spice netlist can be generated from
the drawn schematic, allowing the simulation of the circuit.
'';
homepage = "https://xschem.sourceforge.io/stefan/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ fbeffa ];
platforms = platforms.all;
};
}

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "lean";
version = "3.39.2";
version = "3.41.0";
src = fetchFromGitHub {
owner = "leanprover-community";
@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
# from. this is then used to check whether an olean file should be
# rebuilt. don't use a tag as rev because this will get replaced into
# src/githash.h.in in preConfigure.
rev = "402f41cdedbd46a368fb7807bebe83550d887631";
sha256 = "0jddakr07ixspw19xblpj1882vxxaljg3fflhn4myvigwzkav334";
rev = "154ac72f4ff674bc4486ac611f926a3d6b999f9f";
sha256 = "0mpxlfjq460x1vi3v6qzgjv74asg0qlhykd51pj347795x5b1hf1";
};
nativeBuildInputs = [ cmake ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "opensmt";
version = "2.2.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "usi-verification-and-security";
repo = "opensmt";
rev = "v${version}";
sha256 = "sha256-6VkBGDzqG3mplpvFh5DIR0I1I2/J0Pi7xYk/yVn04Kg=";
sha256 = "sha256-5Gw9+J+3LHNUNbcHxsQR/ivWndL2P7yBt/Q35fBMg58=";
};
nativeBuildInputs = [ cmake bison flex ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "roxterm";
version = "3.11.1";
version = "3.12.1";
src = fetchFromGitHub {
owner = "realh";
repo = "roxterm";
rev = version;
sha256 = "1n7588bl83sp51jwjq97f526c7fkh0kq90idw3nayb4zmi530irx";
sha256 = "sha256-jVcf/nrEq8dM8rw40ZhXGJjt3DQLroCePtIAdAsVIfs=";
};
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook libxslt ];

View File

@ -40,7 +40,7 @@ buildPythonApplication rec {
owner = "commitizen-tools";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ZFKUG8dE1hpWPGitdQlYeBSzWn3LPR7VGWsuq1Le5OQ=";
sha256 = "sha256-7S676bpSrlAqpbgDj9nAo0WjeitbbHoYc693MJm35Js=";
deepClone = true;
};

View File

@ -21,11 +21,11 @@ let
self = python3Packages.buildPythonApplication rec {
pname = "mercurial${lib.optionalString fullBuild "-full"}";
version = "6.0.3";
version = "6.1";
src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
sha256 = "sha256-Z/E2R6RlF6K1Z83Lc8mHIdddNqBDLeuxUCK3f5wTgzM=";
sha256 = "sha256-hvmGReRWWpJWmR3N4it3uOfSLKb7tgwfTNvYRpo4zB8=";
};
format = "other";
@ -35,7 +35,7 @@ let
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
inherit src;
name = "mercurial-${version}";
sha256 = "sha256-i4WROxezeqLX4hTdcPrqsf6dBqsNZz6fFAPzItYuklE=";
sha256 = "sha256-+Y91gEC8vmyutNpVFAAL4MSg4KnpFbhH12CIuMRx0Mc=";
sourceRoot = "mercurial-${version}/rust";
} else null;
cargoRoot = if rustSupport then "rust" else null;

View File

@ -7,11 +7,11 @@
python3Packages.buildPythonApplication rec {
pname = "tortoisehg";
version = "6.0";
version = "6.1";
src = fetchurl {
url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
sha256 = "sha256-25uQ2llF/+wqdGpun/nzlvAf286OIRmlZUISZ0szH6Y=";
sha256 = "sha256-UG13BlFY9DcsCPWaBiYa6r2oA3ieJtTYfXknDoKNkYI=";
};
# Extension point for when thg's mercurial is lagging behind mainline.

View File

@ -0,0 +1,57 @@
{
"name": "epgstation-client",
"version": "2.6.20",
"private": true,
"scripts": {
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"watch": "vue-cli-service build --watch --mode development"
},
"dependencies": {
"@mdi/font": "6.5.95",
"aribb24.js": "1.8.8",
"axios": "0.24.0",
"eventemitter2": "6.4.5",
"hls.js": "1.1.2",
"inversify": "6.0.1",
"json-stable-stringify": "1.0.1",
"lodash": "4.17.21",
"material-design-icons-iconfont": "6.1.1",
"mpegts.js": "1.6.10",
"reflect-metadata": "0.1.13",
"resize-observer-polyfill": "1.5.1",
"roboto-fontface": "*",
"smoothscroll-polyfill": "0.4.4",
"socket.io-client": "4.3.2",
"typeface-roboto": "1.1.13",
"vue": "2.6.14",
"vue-class-component": "7.2.6",
"vue-property-decorator": "9.1.2",
"vue-router": "3.5.3",
"vuetify": "2.5.10",
"vuetify-datetime-picker": "2.1.1",
"@types/hls.js": "0.13.3",
"@types/json-stable-stringify": "1.0.33",
"@types/lodash": "4.14.178",
"@types/smoothscroll-polyfill": "0.3.1",
"@types/socket.io-client": "1.4.36",
"@typescript-eslint/eslint-plugin": "4.33.0",
"@typescript-eslint/parser": "4.33.0",
"@vue/cli-plugin-eslint": "4.5.12",
"@vue/cli-plugin-typescript": "4.5.13",
"@vue/cli-plugin-vuex": "4.5.13",
"@vue/cli-service": "4.5.13",
"@vue/eslint-config-prettier": "6.0.0",
"@vue/eslint-config-typescript": "7.0.0",
"eslint": "7.32.0",
"eslint-plugin-prettier": "3.4.1",
"eslint-plugin-vue": "7.20.0",
"prettier": "2.4.1",
"sass": "1.32.12",
"sass-loader": "10.2.0",
"typescript": "4.4.4",
"vue-cli-plugin-vuetify": "2.4.3",
"vue-template-compiler": "2.6.14",
"vuetify-loader": "1.7.3"
}
}

View File

@ -10,17 +10,18 @@
, nodePackages
, gzip
, jq
, yq
}:
let
# NOTE: use updateScript to bump the package version
pname = "EPGStation";
version = "1.7.5";
version = "2.6.20";
src = fetchFromGitHub {
owner = "l3tnun";
repo = "EPGStation";
rev = "v${version}";
sha256 = "06yaf5yb5rp3q0kdhw33df7px7vyfby885ckb6bdzw3wnams5d8m";
sha256 = "K1cAvmqWEfS6EY4MKAtjXb388XLYHtouxNM70PWgFig=";
};
workaround-opencollective-buildfailures = stdenv.mkDerivation {
@ -35,19 +36,44 @@ let
'';
};
pkg = nodePackages.epgstation.override (drv: {
client = nodePackages.epgstation-client.override (drv: {
# FIXME: remove this option if possible
#
# Unsetting this option resulted NPM attempting to re-download packages.
dontNpmInstall = true;
meta = drv.meta // {
inherit (nodejs.meta) platforms;
};
});
server = nodePackages.epgstation.override (drv: {
inherit src;
bypassCache = false;
# This is set to false to keep devDependencies at build time. Build time
# dependencies are pruned afterwards.
production = false;
buildInputs = [ bash ];
nativeBuildInputs = [
nodejs
workaround-opencollective-buildfailures
makeWrapper
nodePackages.node-pre-gyp
];
] ++ (with nodePackages; [
node-pre-gyp
node-gyp-build
]);
preRebuild = ''
# Fix for not being able to connect to mysql using domain sockets.
patch -p1 ${./use-mysql-over-domain-socket.patch}
patch -p1 < ${./use-mysql-over-domain-socket.patch}
# Workaround for https://github.com/svanderburg/node2nix/issues/275
sed -i -e "s|#!/usr/bin/env node|#! ${nodejs}/bin/node|" node_modules/node-gyp-build/bin.js
find . -name package-lock.json -delete
'';
postInstall = let
@ -56,12 +82,19 @@ let
''
mkdir -p $out/{bin,libexec,share/doc/epgstation,share/man/man1}
pushd $out/lib/node_modules/EPGStation
pushd $out/lib/node_modules/epgstation
cp -r ${client}/lib/node_modules/epgstation-client/node_modules client/node_modules
chmod -R u+w client/node_modules
npm run build
npm prune --production
mv config/{enc.sh,enc.js} $out/libexec
npm prune --production
pushd client
npm prune --production
popd
mv config/enc.js.template $out/libexec/enc.js
mv LICENSE Readme.md $out/share/doc/epgstation
mv doc/* $out/share/doc/epgstation
sed 's/@DESCRIPTION@/${drv.meta.description}/g' ${./epgstation.1} \
@ -82,8 +115,9 @@ let
ln -sfT /var/lib/epgstation/thumbnail thumbnail
makeWrapper ${nodejs}/bin/npm $out/bin/epgstation \
--run "cd $out/lib/node_modules/EPGStation" \
--prefix PATH : ${lib.makeBinPath runtimeDeps}
--run "cd $out/lib/node_modules/epgstation" \
--prefix PATH : ${lib.makeBinPath runtimeDeps} \
--set APP_ROOT_PATH "$out/lib/node_modules/epgstation"
popd
'';
@ -99,22 +133,25 @@ let
common-updater-scripts
genericUpdater
writers
jq;
jq
yq;
};
# nodePackages.epgstation is a stub package to fetch npm dependencies and
# is marked as broken to prevent users from installing it directly. This
# technique ensures epgstation can share npm packages with the rest of
# nixpkgs while still allowing us to heavily customize the build. It also
# allows us to provide devDependencies for the epgstation build process
# without doing the same for all the other node packages.
meta = drv.meta // { broken = false; };
# its meta.platforms is made empty to prevent users from installing it
# directly. This technique ensures epgstation can share npm packages with
# the rest of nixpkgs while still allowing us to heavily customize the
# build. It also allows us to provide devDependencies for the epgstation
# build process without doing the same for all the other node packages.
meta = drv.meta // {
inherit (nodejs.meta) platforms;
};
});
in
pkg // {
server // {
name = "${pname}-${version}";
meta = with lib; pkg.meta // {
meta = with lib; server.meta // {
maintainers = with maintainers; [ midchildan ];
# NOTE: updateScript relies on this being correct

View File

@ -27,7 +27,7 @@ platforms, run
to start EPGStation.
.Sh FILES
.Bl -tag -width Ds -compact
.It Pa /etc/epgstation/config.json
.It Pa /etc/epgstation/config.yml
.Nm
configuration file.
.El
@ -48,5 +48,9 @@ Restore the EPGstation database.
.Pp
.Dl $ epgstation run restore /path/to/src
.Pp
Restore the EPGstation database from the prior v1 release.
.Pp
.Dl $ epgstation run v1migrate /path/to/src
.Pp
.Sh SEE ALSO
.Xr npm 1

View File

@ -1,85 +1,72 @@
{
"name": "EPGStation",
"version": "1.7.5",
"name": "epgstation",
"version": "2.6.20",
"description": "DTV Software in Japan.",
"repository": {
"type": "git",
"url": "https://github.com/l3tnun/EPGStation.git"
"url": "git+https://github.com/l3tnun/EPGStation-V2.git"
},
"author": "l3tnun",
"license": "MIT",
"bugs": {
"url": "https://github.com/l3tnun/EPGStation/issues"
},
"homepage": "https://github.com/l3tnun/EPGStation#readme",
"engines": {
"node": "^10.x.x < 11 || ^12.14.0 < 13 || ^14.5.0 < 15"
"url": "https://github.com/l3tnun/EPGStation-V2/issues"
},
"homepage": "https://github.com/l3tnun/EPGStation-V2#readme",
"dependencies": {
"aribts": "^2.1.12",
"b24.js": "1.0.3",
"basic-auth": "2.0.1",
"arib-subtitle-timedmetadater": "4.0.9",
"aribts": "2.1.12",
"axios": "0.24.0",
"body-parser": "1.19.0",
"chart.js": "2.9.3",
"css-ripple-effect": "1.0.5",
"diskusage": "1.1.3",
"cors": "2.8.5",
"diskusage-ng": "1.0.2",
"express": "4.17.1",
"express-openapi": "7.0.1",
"fs-extra": "9.0.1",
"hls-b24.js": "0.12.3",
"js-yaml": "3.14.0",
"lodash": "4.17.20",
"express-openapi": "9.3.0",
"file-type": "16.5.3",
"inversify": "5.1.1",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"log4js": "6.3.0",
"material-design-icons": "3.0.1",
"material-design-lite": "1.3.0",
"minimist": "1.2.5",
"mirakurun": "3.3.1",
"mithril": "2.0.4",
"mirakurun": "3.9.0-beta.26",
"mkdirp": "1.0.4",
"multer": "1.4.2",
"multer": "1.4.3",
"mysql": "2.18.1",
"openapi-types": "7.0.1",
"pg": "8.3.3",
"request": "2.88.2",
"socket.io": "2.3.0",
"socket.io-client": "2.3.0",
"sqlite3": "5.0.0",
"swagger-ui-dist": "3.34.0",
"openapi-types": "9.3.0",
"reflect-metadata": "0.1.13",
"socket.io": "4.3.1",
"source-map-support": "0.5.20",
"sqlite3": "5.0.2",
"swagger-ui-dist": "3.52.5",
"typeorm": "0.2.38",
"url-join": "4.0.1",
"@types/basic-auth": "1.1.3",
"@types/body-parser": "1.19.0",
"@types/chart.js": "2.9.24",
"@types/express": "4.17.8",
"@types/hls.js": "0.13.1",
"@types/js-yaml": "3.12.5",
"@types/lodash": "4.14.161",
"@types/material-design-lite": "1.1.16",
"@types/minimist": "1.2.0",
"@types/mithril": "2.0.3",
"@types/mkdirp": "1.0.1",
"@types/multer": "1.4.4",
"@types/mysql": "2.15.15",
"@types/node": "14.11.1",
"@types/pg": "7.14.5",
"@types/request": "2.48.5",
"@types/socket.io": "2.1.11",
"@types/socket.io-client": "1.4.33",
"@types/sqlite3": "3.1.6",
"@types/url-join": "4.0.0",
"del": "5.1.0",
"@types/body-parser": "1.19.1",
"@types/express": "4.17.13",
"@types/file-type": "10.9.1",
"@types/js-yaml": "4.0.4",
"@types/lodash": "4.14.176",
"@types/minimist": "1.2.2",
"@types/mkdirp": "1.0.2",
"@types/mongodb": "4.0.6",
"@types/multer": "1.4.7",
"@types/node": "16.11.6",
"@types/socket.io": "3.0.1",
"@types/source-map-support": "0.5.4",
"@types/sqlite3": "3.1.7",
"@types/url-join": "4.0.1",
"@typescript-eslint/eslint-plugin": "4.33.0",
"@typescript-eslint/parser": "4.33.0",
"del": "6.0.0",
"eslint": "7.32.0",
"eslint-config-prettier": "8.3.0",
"eslint-plugin-prettier": "3.4.1",
"gulp": "4.0.2",
"gulp-clean-css": "4.3.0",
"gulp-concat": "2.6.1",
"gulp-dart-sass": "1.0.2",
"gulp-eslint": "6.0.0",
"gulp-plumber": "1.2.1",
"gulp-sourcemaps": "2.6.5",
"gulp-tslint": "8.1.4",
"gulp-sourcemaps": "3.0.0",
"gulp-typescript": "5.0.1",
"terser-webpack-plugin": "4.2.2",
"ts-loader": "8.0.4",
"tslint": "6.1.3",
"typescript": "4.0.3",
"webpack": "4.44.2",
"webpack-stream": "6.1.0"
"prettier": "2.4.1",
"ts-loader": "9.2.6",
"ts-node": "10.4.0",
"typescript": "4.4.4"
}
}

View File

@ -6,6 +6,7 @@
, genericUpdater
, writers
, jq
, yq
}:
let
@ -40,6 +41,11 @@ in writers.writeBash "update-epgstation" ''
} | del(.devDependencies, .main, .scripts)' \
"$SRC/package.json" \
> package.json
${jq}/bin/jq '. + {
dependencies: (.dependencies + .devDependencies),
} | del(.devDependencies, .main, .scripts)' \
"$SRC/client/package.json" \
> client/package.json
# Regenerate node packages to update the pre-overriden epgstation derivation.
# This must come *after* package.json has been regenerated.
@ -49,18 +55,11 @@ in writers.writeBash "update-epgstation" ''
# Generate default streaming settings for the nixos module.
pushd ../../../../nixos/modules/services/video/epgstation
${jq}/bin/jq '
{ liveHLS
, liveMP4
, liveWebM
, mpegTsStreaming
, mpegTsViewer
, recordedDownloader
, recordedStreaming
, recordedHLS
, recordedViewer
}' \
"$SRC/config/config.sample.json" \
${yq}/bin/yq -j '{ urlscheme , stream }' \
"$SRC/config/config.yml.template" \
> streaming.json
# Fix generated output for EditorConfig compliance
printf '\n' >> streaming.json # rule: insert_final_newline
popd
''

View File

@ -1,17 +1,46 @@
diff --git a/src/server/ConfigInterface.ts b/src/server/ConfigInterface.ts
index d23badd..1dd2b98 100644
--- a/src/server/ConfigInterface.ts
+++ b/src/server/ConfigInterface.ts
@@ -11,9 +11,10 @@ interface ConfigInterface {
dbPath: string;
dbInfoPath: string;
mysql: {
diff --git a/ormconfig.js b/ormconfig.js
index 5591853b..838c06cb 100644
--- a/ormconfig.js
+++ b/ormconfig.js
@@ -38,8 +38,6 @@ switch (config.dbtype) {
case 'mysql':
ormConfig.type = 'mysql';
- ormConfig.host = config.mysql.host;
- ormConfig.port = config.mysql.port;
ormConfig.username = config.mysql.user;
ormConfig.password = config.mysql.password;
ormConfig.database = config.mysql.database;
@@ -49,6 +47,12 @@ switch (config.dbtype) {
} else {
ormConfig.charset = config.mysql.charset;
}
+ if (config.mysql.socketPath) {
+ ormConfig.socketPath = config.mysql.socketPath;
+ } else {
+ ormConfig.host = config.mysql.host;
+ ormConfig.port = config.mysql.port;
+ }
break;
case 'postgres':
diff --git a/src/model/IConfigFile.ts b/src/model/IConfigFile.ts
index 6a502e83..ba84a423 100644
--- a/src/model/IConfigFile.ts
+++ b/src/model/IConfigFile.ts
@@ -61,12 +61,13 @@ export default interface IConfigFile {
regexp?: boolean;
};
mysql?: {
- host: string;
+ host?: string;
+ socketPath?: string;
user: string;
- password: string;
+ password?: string;
- port: number;
+ port?: number;
password: string;
database: string;
connectTimeout: number;
connectionLimit: number;
charset?: string;
+ socketPath?: string;
};
postgres?: {
host: string;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-buildx";
version = "0.7.1";
version = "0.8.0";
src = fetchFromGitHub {
owner = "docker";
repo = "buildx";
rev = "v${version}";
sha256 = "sha256-5EV0Rw1+ufxQ1wmQ0EJXQ7HVtXVbB4do/tet0QFRi08=";
sha256 = "sha256-PSqVe4m2na6BjNxIKKZG1ja6zEzwI2AwgJlaMfaW2EM=";
};
vendorSha256 = null;

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "lima";
version = "0.8.3";
version = "0.9.0";
src = fetchFromGitHub {
owner = "lima-vm";
repo = pname;
rev = "v${version}";
sha256 = "sha256-hzoc5zbdnHHTY04aGn+77lHvPh+KNOPoZmW19YIZHv8=";
sha256 = "sha256-jbWz4HVYR3OEze2fFgG6Tg4p50IL0NStmaa8+GUPkNw=";
};
vendorSha256 = "sha256-eJnwXXYWMaIfM8SW4MtmG4wsPA/9sx4j2AkOd6GpnsY=";
vendorSha256 = "sha256-RX8HfeDVvLUX4Ez2ma04gTl+8+lM7WGNSpmFNnf+5Xs=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

View File

@ -1,22 +1,21 @@
{ lib, fetchurl, python3Packages, intltool, file
, wrapGAppsHook, gtk-vnc, vte, avahi, dconf
, gobject-introspection, libvirt-glib, system-libvirt
, gsettings-desktop-schemas, libosinfo, gnome
, gtksourceview4, docutils
{ lib, fetchFromGitHub, python3, intltool, file, wrapGAppsHook, gtk-vnc
, vte, avahi, dconf, gobject-introspection, libvirt-glib, system-libvirt
, gsettings-desktop-schemas, libosinfo, gnome, gtksourceview4, docutils, cpio
, e2fsprogs, findutils, gzip, cdrtools
, spiceSupport ? true, spice-gtk ? null
, cpio, e2fsprogs, findutils, gzip
, cdrtools
}:
with lib;
python3Packages.buildPythonApplication rec {
python3.pkgs.buildPythonApplication rec {
pname = "virt-manager";
version = "3.2.0";
version = "4.0.0";
src = fetchurl {
url = "https://releases.pagure.org/virt-manager/${pname}-${version}.tar.gz";
sha256 = "11kvpzcmyir91qz0dsnk7748jbb4wr8mrc744w117qc91pcy6vrb";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-3ycXNBuf91kI2cJCRw0ZzaWkaIVwb/lmkOKeHNwpH9Y=";
};
nativeBuildInputs = [
@ -32,7 +31,7 @@ python3Packages.buildPythonApplication rec {
gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943
] ++ optional spiceSupport spice-gtk;
propagatedBuildInputs = with python3Packages; [
propagatedBuildInputs = with python3.pkgs; [
pygobject3 ipaddress libvirt libxml2 requests cdrtools
];
@ -42,14 +41,16 @@ python3Packages.buildPythonApplication rec {
'';
postConfigure = ''
${python3Packages.python.interpreter} setup.py configure --prefix=$out
${python3.interpreter} setup.py configure --prefix=$out
'';
setupPyGlobalFlags = [ "--no-update-icon-cache" ];
setupPyGlobalFlags = [ "--no-update-icon-cache" "--no-compile-schemas" ];
dontWrapGApps = true;
preFixup = ''
glib-compile-schemas $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas
gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
# these are called from virt-install in initrdinject.py
gappsWrapperArgs+=(--prefix PATH : "${makeBinPath [ cpio e2fsprogs file findutils gzip ]}")
@ -57,14 +58,12 @@ python3Packages.buildPythonApplication rec {
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
checkInputs = with python3Packages; [ cpio cdrtools pytestCheckHook ];
checkInputs = with python3.pkgs; [ cpio cdrtools pytestCheckHook ];
disabledTestPaths = [
"tests/test_cli.py"
"tests/test_disk.py"
"tests/test_checkprops.py"
"tests/test_storage.py"
]; # Error logs: https://gist.github.com/superherointj/fee040872beaafaaa19b8bf8f3ff0be5
"tests/test_misc.py"
"tests/test_xmlparse.py"
];
preCheck = ''
export HOME=.

View File

@ -5,12 +5,12 @@
, fetchurl
, cairo
, nixosTests
, python3
, pkg-config
, pngquant
, which
, imagemagick
, zopfli
, buildPackages
}:
let
@ -130,8 +130,8 @@ in
noto-fonts-emoji = let
version = "2.034";
emojiPythonEnv =
python3.withPackages (p: with p; [ fonttools nototools ]);
in stdenv.mkDerivation {
buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
in stdenvNoCC.mkDerivation {
pname = "noto-fonts-emoji";
inherit version;
@ -142,13 +142,17 @@ in
sha256 = "1d6zzk0ii43iqfnjbldwp8sasyx99lbjp1nfgqjla7ixld6yp98l";
};
nativeBuildInputs = [
depsBuildBuild = [
buildPackages.stdenv.cc
pkg-config
cairo
];
nativeBuildInputs = [
imagemagick
zopfli
pngquant
which
pkg-config
emojiPythonEnv
];
@ -159,14 +163,6 @@ in
# python requirements using python.withPackages
sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile
# Remove check for missing zopfli, it doesn't
# work and we guarantee its presence already.
sed -i '/ifdef MISSING_ZOPFLI/,+2d' Makefile
sed -i '/ifeq (,$(shell which $(ZOPFLIPNG)))/,+4d' Makefile
sed -i '/ZOPFLIPNG = zopflipng/d' Makefile
echo "ZOPFLIPNG = ${zopfli}/bin/zopflipng" >> Makefile
# Make the build verbose so it won't get culled by Hydra thinking that
# it somehow got stuck doing nothing.
sed -i 's;\t@;\t;' Makefile

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "flat-remix-gtk";
version = "20220215";
version = "20220310";
src = fetchFromGitHub {
owner = "daniruiz";
repo = pname;
rev = version;
sha256 = "sha256-J9PAHQ/MbdDuX16ioQQnzZpIZs/NJVkJjLL4nfaeNkU=";
sha256 = "sha256-fKkqMGb1UopjM7hTTury1I3oD5AlHqKP+WLmgAZIQxo=";
};
dontBuild = true;

View File

@ -27,14 +27,14 @@
stdenv.mkDerivation rec {
pname = "gnome-todo";
version = "unstable-2022-02-01";
version = "unstable-2022-03-11";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gnome-todo";
rev = "2cd071ad35efdef72038730d658f013dd0fc7daa";
sha256 = "FMG9ju+LsglAvbBhdgDF+2ZxB633EwnatwCFgW+VOTk=";
rev = "07791399742366b4e3a6897430054d91df4594b4";
sha256 = "821KgxkkW4T6bdGuttAz9ao/WStM1QEfn4hY/b0d0jI=";
};
patches = [

View File

@ -1,6 +1,6 @@
import ./generic.nix {
major_version = "4";
minor_version = "12";
patch_version = "0";
sha256 = "1hxy349jfa2vkfgmxf6pvd9w4z5bmcgsg0fxfdabcghyvjw9vvir";
patch_version = "1";
sha256 = "1jbjjnmqq6ymsy81x188i256bz4z5jrz1pws8g1qf59c32ganjkf";
}

View File

@ -83,9 +83,9 @@ builder rec {
# Explicitly link against libgcc_s, to work around the infamous
# "libgcc_s.so.1 must be installed for pthread_cancel to work".
# don't have "libgcc_s.so.1" on darwin
# don't have "libgcc_s.so.1" on clang
LDFLAGS = lib.optionalString
(!stdenv.isDarwin && !stdenv.hostPlatform.isStatic) "-lgcc_s";
(stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s";
configureFlags = [
"--with-libreadline-prefix=${lib.getDev readline}"

View File

@ -14,6 +14,7 @@
, pkg-config
, pkgsBuildBuild
, readline
, writeScript
}:
let
@ -24,11 +25,11 @@ let
in
builder rec {
pname = "guile";
version = "3.0.7";
version = "3.0.8";
src = fetchurl {
url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
sha256 = "sha256-9X2GxwYgJxv863qb4MgXRKAz8IrcfOuoMsmRerPmkbc=";
sha256 = "sha256-2qcGClbygE6bdMjX5/6L7tErQ6qyeJo4WFGD/MF7ihM=";
};
outputs = [ "out" "dev" "info" ];
@ -81,9 +82,9 @@ builder rec {
# Explicitly link against libgcc_s, to work around the infamous
# "libgcc_s.so.1 must be installed for pthread_cancel to work".
# don't have "libgcc_s.so.1" on darwin
# don't have "libgcc_s.so.1" on clang
LDFLAGS = lib.optionalString
(!stdenv.isDarwin && !stdenv.hostPlatform.isStatic) "-lgcc_s";
(stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s";
configureFlags = [
"--with-libreadline-prefix=${lib.getDev readline}"
@ -102,7 +103,10 @@ builder rec {
]
# Disable JIT on Apple Silicon, as it is not yet supported
# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=44505";
++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "--enable-jit=no";
++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "--enable-jit=no"
# At least on x86_64-darwin '-flto' autodetection is not correct:
# https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046193028
++ lib.optional (stdenv.isDarwin) "--disable-lto";
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
@ -126,6 +130,20 @@ builder rec {
setupHook = ./setup-hook-3.0.sh;
passthru = {
updateScript = writeScript "update-guile-3" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre common-updater-scripts
set -eu -o pipefail
# Expect the text in format of '"https://ftp.gnu.org/gnu/guile/guile-3.0.8.tar.gz"'
new_version="$(curl -s https://www.gnu.org/software/guile/download/ |
pcregrep -o1 '"https://ftp.gnu.org/gnu/guile/guile-(3[.0-9]+).tar.gz"')"
update-source-version ${pname} "$new_version"
'';
};
meta = with lib; {
homepage = "https://www.gnu.org/software/guile/";
description = "Embeddable Scheme implementation";

View File

@ -268,10 +268,10 @@ in {
};
ruby_3_1 = generic {
version = rubyVersion "3" "1" "0" "";
version = rubyVersion "3" "1" "1" "";
sha256 = {
src = "sha256-UKBQTG7ctNYc5rjP292qlXBxlfqw7Ne16SZUsqlBKFQ=";
git = "sha256-TcsoWY+zVZeue1/ypV1L0WERp1UVK35WtVtYPYiJh4c=";
src = "sha256-/m5Hgt6XRDl43bqLpL440iKqJNw+PwKmqOdwHA7rYZ0=";
git = "sha256-76t/tGyK5nz7nvcRdHJTjjckU+Kv+/kbTMiNWJ93jU8=";
};
};
}

View File

@ -10,6 +10,6 @@
"${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch"
"${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch"
];
"3.1.0" = ops useRailsExpress [ # no patches yet (2021-12-25)
"3.1.1" = ops useRailsExpress [ # no patches yet (2021-12-25)
];
}

View File

@ -20,11 +20,11 @@
stdenv.mkDerivation rec {
pname = "spidermonkey";
version = "91.6.0";
version = "91.7.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
sha512 = "3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e";
sha512 = "925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301";
};
outputs = [ "out" "dev" ];

View File

@ -14,14 +14,14 @@
stdenv.mkDerivation rec {
pname = "gtk-frdp";
version = "unstable-2021-10-01";
version = "unstable-2021-10-28";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = pname;
rev = "9c15c1202ed66fe20334e33d798cc5ebd39917f0";
sha256 = "2YOLpyd26qWQKvneH4ww2DS8h/ZNYDmfbYIjQDvDMko=";
rev = "a44d84ec687f41ad37e43697b28a018f65780780";
sha256 = "7J4jf3gDiorsc4zs6zwC+j/Zg0oZWKAFAz9vvJJ2CYM=";
};
nativeBuildInputs = [

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "libhdhomerun";
version = "20210624";
version = "20220303";
src = fetchurl {
url = "https://download.silicondust.com/hdhomerun/libhdhomerun_${version}.tgz";
sha256 = "sha256-3q9GO7zD7vpy+XGZ77YhP3sOLI6R8bPSy/UgVqhxXRU=";
sha256 = "sha256-HlT/78LUiTkRUB2jHmYrnQY+bBiv4stcZlMyUnelSpc=";
};
patchPhase = lib.optionalString stdenv.isDarwin ''

View File

@ -127,7 +127,15 @@ let
# ../../applications/video/epgstation
epgstation = super."epgstation-../../applications/video/epgstation".override (drv: {
meta = drv.meta // {
broken = true; # not really broken, see the comment above
platforms = pkgs.lib.platforms.none;
};
});
# NOTE: this is a stub package to fetch npm dependencies for
# ../../applications/video/epgstation/client
epgstation-client = super."epgstation-client-../../applications/video/epgstation/client".override (drv: {
meta = drv.meta // {
platforms = pkgs.lib.platforms.none;
};
});
@ -270,6 +278,14 @@ let
url = "https://github.com/svanderburg/node2nix/commit/e4c951971df6c9f9584c7252971c13b55c369916.patch";
sha256 = "0w8fcyr12g2340rn06isv40jkmz2khmak81c95zpkjgipzx7hp7w";
})
# handle package alias in dependencies
# https://github.com/svanderburg/node2nix/pull/240
#
# TODO: remove after node2nix 1.10.0
(fetchpatch {
url = "https://github.com/svanderburg/node2nix/commit/644e90c0304038a446ed53efc97e9eb1e2831e71.patch";
sha256 = "sha256-sQgVf80H1ouUjzHq+2d9RO4a+o++kh+l+FOTNXfPBH0=";
})
];
};
postInstall = ''

View File

@ -114,6 +114,7 @@
, "emoj"
, "emojione"
, {"epgstation": "../../applications/video/epgstation"}
, {"epgstation-client": "../../applications/video/epgstation/client"}
, "escape-string-regexp"
, "eslint"
, "eslint_d"

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
buildPythonPackage rec {
pname = "AWSIoTPythonSDK";
version = "1.5.0";
version = "1.5.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -15,7 +15,7 @@ buildPythonPackage rec {
owner = "aws";
repo = "aws-iot-device-sdk-python";
rev = "v${version}";
sha256 = "0bmvwv471mvlwj2rfz08j9qvzsp4vyjz67cbzkvsy6kmihx3wfqh";
sha256 = "sha256-UpfgoCVbweOpWbgaqNebAAkWmhjkZu3txVoTZ/qhl3g=";
};
# Module has no tests

View File

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-texttospeech";
version = "2.10.2";
version = "2.11.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-EykIDxoO8ePp4hLtINTz/RahfS4KU7GhwS4gkMBA32w=";
sha256 = "sha256-UJSP3a9G6k1arMpoh4/rWrnR4gYtPW6d6LGwWuk5WGg=";
};
propagatedBuildInputs = [ libcst google-api-core proto-plus ];

View File

@ -7,15 +7,17 @@
buildPythonPackage rec {
pname = "imap-tools";
version = "0.51.1";
version = "0.52.0";
disabled = isPy27;
format = "setuptools";
src = fetchFromGitHub {
owner = "ikvk";
repo = "imap_tools";
rev = "v${version}";
hash = "sha256-ppxQtFK7U006z7qonm3B5gN99CHB9mEX3l0XjrhZQo8=";
hash = "sha256-la2+cpTnHZQn/FXtySp+3zDCBTONiLC16Tm+hDiIERc=";
};
checkInputs = [

View File

@ -0,0 +1,35 @@
diff --git a/libmat2/bubblewrap.py b/libmat2/bubblewrap.py
index 970d5dd..5d3c0b7 100644
--- a/libmat2/bubblewrap.py
+++ b/libmat2/bubblewrap.py
@@ -22,11 +22,7 @@ CalledProcessError = subprocess.CalledProcessError
def _get_bwrap_path() -> str:
- which_path = shutil.which('bwrap')
- if which_path:
- return which_path
-
- raise RuntimeError("Unable to find bwrap") # pragma: no cover
+ return '@bwrap@'
def _get_bwrap_args(tempdir: str,
@@ -37,16 +33,11 @@ def _get_bwrap_args(tempdir: str,
# XXX: use --ro-bind-try once all supported platforms
# have a bubblewrap recent enough to support it.
- ro_bind_dirs = ['/usr', '/lib', '/lib64', '/bin', '/sbin', '/etc/alternatives', cwd]
+ ro_bind_dirs = ['/nix/store', cwd]
for bind_dir in ro_bind_dirs:
if os.path.isdir(bind_dir): # pragma: no cover
ro_bind_args.extend(['--ro-bind', bind_dir, bind_dir])
- ro_bind_files = ['/etc/ld.so.cache']
- for bind_file in ro_bind_files:
- if os.path.isfile(bind_file): # pragma: no cover
- ro_bind_args.extend(['--ro-bind', bind_file, bind_file])
-
args = ro_bind_args + \
['--dev', '/dev',
'--proc', '/proc',

View File

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, python
, pythonOlder
@ -37,7 +38,6 @@ buildPythonPackage rec {
# hardcode paths to some binaries
(substituteAll ({
src = ./paths.patch;
bwrap = "${bubblewrap}/bin/bwrap";
exiftool = "${exiftool}/bin/exiftool";
ffmpeg = "${ffmpeg}/bin/ffmpeg";
} // lib.optionalAttrs dolphinIntegration {
@ -52,6 +52,11 @@ buildPythonPackage rec {
src = ./fix_poppler.patch;
poppler_path = "${poppler_gi}/lib/girepository-1.0";
})
] ++ lib.optionals (stdenv.hostPlatform.isLinux) [
(substituteAll {
src = ./bubblewrap-path.patch;
bwrap = "${bubblewrap}/bin/bwrap";
})
];
postPatch = ''

View File

@ -12,41 +12,6 @@ index 41c8de4..11df258 100644
+Icon=@mat2svg@
+Exec=@kdialog@ --yesno "$( @mat2@ -s %F )" --title "Clean Metadata?" && @mat2@ %U
+Exec[de]=@kdialog@ --yesno "$( @mat2@ -s %F )" --title "Metadaten löschen?" && @mat2@ %U
diff --git a/libmat2/bubblewrap.py b/libmat2/bubblewrap.py
index 970d5dd..5d3c0b7 100644
--- a/libmat2/bubblewrap.py
+++ b/libmat2/bubblewrap.py
@@ -22,11 +22,7 @@ CalledProcessError = subprocess.CalledProcessError
def _get_bwrap_path() -> str:
- which_path = shutil.which('bwrap')
- if which_path:
- return which_path
-
- raise RuntimeError("Unable to find bwrap") # pragma: no cover
+ return '@bwrap@'
def _get_bwrap_args(tempdir: str,
@@ -37,16 +33,11 @@ def _get_bwrap_args(tempdir: str,
# XXX: use --ro-bind-try once all supported platforms
# have a bubblewrap recent enough to support it.
- ro_bind_dirs = ['/usr', '/lib', '/lib64', '/bin', '/sbin', '/etc/alternatives', cwd]
+ ro_bind_dirs = ['/nix/store', cwd]
for bind_dir in ro_bind_dirs:
if os.path.isdir(bind_dir): # pragma: no cover
ro_bind_args.extend(['--ro-bind', bind_dir, bind_dir])
- ro_bind_files = ['/etc/ld.so.cache']
- for bind_file in ro_bind_files:
- if os.path.isfile(bind_file): # pragma: no cover
- ro_bind_args.extend(['--ro-bind', bind_file, bind_file])
-
args = ro_bind_args + \
['--dev', '/dev',
'--proc', '/proc',
diff --git a/libmat2/exiftool.py b/libmat2/exiftool.py
index eb65b2a..51a0fa1 100644
--- a/libmat2/exiftool.py

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "oci";
version = "2.56.0";
version = "2.60.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "oracle";
repo = "oci-python-sdk";
rev = "v${version}";
hash = "sha256-olrWv4c2DoZ7ddm58Wpb5jZntw8WEKJ6IzAND11tdjk=";
hash = "sha256-fXeea4MftVSJWzanHeAuERRiQLBp8l1l1Cw2lG3uz24=";
};
propagatedBuildInputs = [

View File

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "persistent";
version = "4.8.0";
version = "4.9.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-nRd+rT+jwfXWKjbUUmdUs3bgUEx9S3XLmqUvt3HexrI=";
hash = "sha256-RwGzHYHBBCJlclrzkEUOnZFq10ucF4twEAU4U1keDGo=";
};
nativeBuildInputs = [

View File

@ -1,21 +1,19 @@
{ lib
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, fetchPypi
, pythonOlder
, xmltodict
}:
buildPythonPackage rec {
pname = "pymediaroom";
version = "0.6.4.1";
version = "0.6.5.4";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "dgomes";
repo = pname;
rev = version;
sha256 = "1klf2dxd8rlq3n4b9m03lzwcsasn9vi6m3hzrjqhqnprhrnp0xmy";
src = fetchPypi {
inherit pname version;
hash = "sha256-CZh2knpLT7xt5s6+kTQ4Mq9LcpKgWvgdFCkPtMucJTM=";
};
propagatedBuildInputs = [

View File

@ -1,18 +1,22 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, aiohttp
, pythonOlder
}:
buildPythonPackage rec {
pname = "python-juicenet";
version = "1.0.2";
version = "1.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "jesserockz";
repo = "python-juicenet";
rev = "v${version}";
sha256 = "04547pj51ds31yhyc7ng47v9giz16h2s3wgb6szc8ivhb5rclqz2";
hash = "sha256-5RKnVwOfEHzFZCiC8OUpS8exKrENK+I3Ok45HlKEvtU=";
};
propagatedBuildInputs = [
@ -22,7 +26,9 @@ buildPythonPackage rec {
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "pyjuicenet" ];
pythonImportsCheck = [
"pyjuicenet"
];
meta = with lib; {
description = "Read and control Juicenet/Juicepoint/Juicebox based EVSE devices";

View File

@ -2,17 +2,21 @@
, buildPythonPackage
, fetchFromGitHub
, capstone
, pythonOlder
}:
buildPythonPackage rec {
pname = "ropgadget";
version = "6.6";
version = "6.7";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "JonathanSalwan";
repo = "ROPgadget";
rev = "v${version}";
sha256 = "1i0gx0cwhxk6d8byvck17hh83szz3k6ndd118ha3q0r0msap0lz1";
hash = "sha256-zOTbncsOvmLQMZGpcRLviSZP/d1cQTQHXCLUKyEgVBk=";
};
propagatedBuildInputs = [

View File

@ -1,22 +1,32 @@
{ lib, fetchPypi, python3Packages }:
{ lib
, fetchPypi
, buildPythonPackage
, pythonOlder
}:
python3Packages.buildPythonPackage rec {
buildPythonPackage rec {
pname = "sabyenc3";
version = "5.0.1";
version = "5.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-MIKBSPs3CtETDefiozN758hmJhdmw0UqVyG9t224tfw=";
hash = "sha256-y2I/kSyPIPSz7PrwW/AbP4BsEXHWQgXRb1VT0nTHQcE=";
};
# tests are not included in pypi distribution
# Tests are not included in pypi distribution
doCheck = false;
meta = {
pythonImportsCheck = [
"sabyenc3"
];
meta = with lib; {
description = "yEnc Decoding for Python 3";
homepage = "https://github.com/sabnzbd/sabyenc/";
license = lib.licenses.lgpl3;
maintainers = [ lib.maintainers.lovek323 ];
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ lovek323 ];
};
}

View File

@ -14,12 +14,12 @@
buildPythonPackage rec {
pname = "sqlite-utils";
version = "3.25";
version = "3.25.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-OKlwuXwXGU2WBauE33SYAuHzvPBhNdwYB3nQo5V2sUI=";
sha256 = "sha256-32lfUJoTbkflztLU/BDhbHbuOkW66OGpHLuiyAKFy8k=";
};
propagatedBuildInputs = [

View File

@ -5,7 +5,6 @@
, setuptools
, geopy
, docopt
, pyyaml
, certifi
, amqtt
, websockets
@ -17,7 +16,7 @@
buildPythonPackage rec {
pname = "volvooncall";
version = "0.9.2";
version = "0.10.0";
disabled = pythonOlder "3.8";
@ -27,24 +26,30 @@ buildPythonPackage rec {
owner = "molobrakos";
repo = "volvooncall";
rev = "v${version}";
hash = "sha256-OTs282z7qzILl/xxM3whaxiQr8FZOfgceO2EY3NJKbA=";
hash = "sha256-HLSanXJs1yPSgYo4oX0zJtrV5sKkxV2yLPhc2dVRHY8=";
};
propagatedBuildInputs = [
geopy
docopt
pyyaml
certifi
amqtt
websockets
aiohttp
];
passthru.extras-require = {
console = [
certifi
docopt
geopy
];
mqtt = [
amqtt
certifi
];
};
checkInputs = [
pytestCheckHook
asynctest
pytest-asyncio
];
pytestCheckHook
] ++ passthru.extras-require.mqtt;
pythonImportsCheck = [ "volvooncall" ];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "zwave-js-server-python";
version = "0.35.1";
version = "0.35.2";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = pname;
rev = version;
sha256 = "sha256-WmpXQttcQ3Z/SFkNPfmvPWPGzWectQBoI9+bL2QYeaY=";
sha256 = "sha256-Bte4pAi+atdkMvxYlzdN/UOrHB2WKfl44U9m/vKFMoA=";
};
propagatedBuildInputs = [

View File

@ -32,13 +32,13 @@ with py.pkgs;
buildPythonApplication rec {
pname = "checkov";
version = "2.0.936";
version = "2.0.938";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = version;
hash = "sha256-erpVJTnWUfoY4Ymdf7fZyri2NGAYs0NF+r3DMFFYURM=";
hash = "sha256-N8jEEtO2fRFtNS3lInEa/9IwtqBb9yDkg7hHp7bhH+s=";
};
nativeBuildInputs = with py.pkgs; [

View File

@ -2,11 +2,11 @@
buildGraalvmNativeImage rec {
pname = "clj-kondo";
version = "2022.03.04";
version = "2022.03.09";
src = fetchurl {
url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
sha256 = "sha256-x/mDyWYxWR5H894n+BCBaxgRLQLPgVCip59nOUbavpk=";
sha256 = "sha256-gPn3wORb30I/zTXUdxUxMesKFJx6ES7jEjUYuC/DAVI=";
};
extraNativeImageBuildArgs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "fly";
version = "7.6.0";
version = "7.7.0";
src = fetchFromGitHub {
owner = "concourse";
repo = "concourse";
rev = "v${version}";
sha256 = "sha256-Zi+gyO+2AKDgcfgYrzLskJYZ6hQKOVlOL7Y9nxH/pGg=";
sha256 = "sha256-BKEUKQQxZ+Maq2JSHeWuQ7Lhgfc33pSiVS6VfAlMu/g=";
};
vendorSha256 = "sha256-OF3parnlTPmcr7tVcc6495sUMRApSpBHHjSE/4EFIxE=";
vendorSha256 = "sha256-G9HdhPi4iezUR6SIVYnjL0fznOfiusY4T9ClLPr1w5c=";
doCheck = false;

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "jenkins";
version = "2.319.3";
version = "2.332.1";
src = fetchurl {
url = "http://get.jenkins.io/war-stable/${version}/jenkins.war";
sha256 = "sha256-c92Rs5W89i/iXm0wdHZfFRDJ5YTswen69EBRBkGBtDQ=";
sha256 = "0xrrqdwfz19mr4wl4sdzk0qnq9rjdh65vd1386qsn6a4axwv652s";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "delve";
version = "1.8.1";
version = "1.8.2";
goPackagePath = "github.com/go-delve/delve";
excludedPackages = "\\(_fixtures\\|scripts\\|service/test\\)";
@ -11,7 +11,7 @@ buildGoPackage rec {
owner = "go-delve";
repo = "delve";
rev = "v${version}";
sha256 = "sha256-GIwu3G8cy2xKqFzN/7d/mbpS+5oGJa3QexoELlEwWRA=";
sha256 = "sha256-rW3uKf5T+ZCjZxVuSFWWXw0mhAW9Y9L83xtU98JTuik=";
};
subPackages = [ "cmd/dlv" ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "efm-langserver";
version = "0.0.40";
version = "0.0.41";
src = fetchFromGitHub {
owner = "mattn";
repo = "efm-langserver";
rev = "v${version}";
sha256 = "sha256-0C7iSWO7zzOhPgzxj9k2MK6poi4XaCbMjTGah3ohVJg=";
sha256 = "sha256-0s6GmMbjtXGUcChzc8Pkqvmt3iU5uDUqe76OUDngboU=";
};
vendorSha256 = "sha256-tca+1SRrFyvU8ttHmfMFiGXd1A8rQSEWm1Mc2qp0EfI=";

View File

@ -1,17 +1,25 @@
{ lib, fetchFromGitHub, stdenv, rustPlatform, coreutils, bash, installShellFiles, libiconv }:
{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, coreutils
, bash
, installShellFiles
, libiconv
}:
rustPlatform.buildRustPackage rec {
pname = "just";
version = "1.0.1";
version = "1.1.0";
src = fetchFromGitHub {
owner = "casey";
repo = pname;
rev = version;
sha256 = "sha256-ssc6djhSk0xV4jdlTmehWX6UMBPAuebtYlzWRZ/32mM=";
sha256 = "sha256-hbBAbk0n80BbbIx81427bRz4x6enBsxJ0bHJKww44oc=";
};
cargoSha256 = "sha256-ynYK37nCfIiy1CHBEQ/vMHOAPY/pp/lF/tSl9MJD7fY=";
cargoSha256 = "sha256-lZyFoOCWUE2ahU/lS+bIdrZXNm/sFEfLsQm1BxREg5w=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];

View File

@ -1,29 +1,29 @@
{lib, stdenv, fetchurl, ncurses, libpcap }:
{ lib, stdenv, fetchurl, ncurses, libpcap, cmake, openssl, git, lksctp-tools }:
stdenv.mkDerivation rec {
version = "3.6.0";
version = "3.6.1";
pname = "sipp";
src = fetchurl {
url = "https://github.com/SIPp/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "1fx1iy2n0m2kr91n1ii30frbscq375k3lqihdgvrqxn0zq8pnzp4";
sha256 = "sha256-alYOg6/5gvMx3byt+zvVMMWJbNW3V91utoITPMhg7LE=";
};
postPatch = ''
sed -i "s@pcap/\(.*\).pcap@$out/share/pcap/\1.pcap@g" src/scenario.cpp
cp version.h src/version.h
'';
configureFlags = [
"--with-pcap"
cmakeFlags = [
"-DUSE_GSL=1"
"-DUSE_PCAP=1"
"-DUSE_SSL=1"
"-DUSE_SCTP=${if stdenv.isLinux then "1" else "0"}"
];
enableParallelBuilding = true;
postInstall = ''
mkdir -pv $out/share/pcap
cp pcap/* $out/share/pcap
'';
buildInputs = [ncurses libpcap];
nativeBuildInputs = [ cmake git ];
buildInputs = [ ncurses libpcap openssl ]
++ lib.optional (stdenv.isLinux) lksctp-tools;
meta = with lib; {
homepage = "http://sipp.sf.net";
@ -32,4 +32,3 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
};
}

View File

@ -13,11 +13,11 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-make";
version = "0.35.9";
version = "0.35.10";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-yjApyM3UM4gLUPpbVMv+7hpF5VGXS8W9RUnlsJd/Sbo=";
sha256 = "sha256-l34sThvzhAW8VfxVuv+UGVil7yOvsOiWSqr/N91V8C8=";
};
nativeBuildInputs = [ pkg-config ];
@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ]
++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
cargoSha256 = "sha256-YGpQXz35dPUeY8YlZ4Ul/utpNgEgW90xHiT+I+jOJIo=";
cargoSha256 = "sha256-974Gqtv+g32iHrIqIzqwBsE8frzmjF0Ma/hSMGzMaGs=";
# Some tests fail because they need network access.
# However, Travis ensures a proper build.

View File

@ -3,14 +3,14 @@
rustPlatform.buildRustPackage rec {
pname = "probe-run";
version = "0.3.1";
version = "0.3.2";
src = fetchCrate {
inherit pname version;
sha256 = "1nfbpdx378p988q75hka9r8zp3xb9zy3dnagcxmha6dca5dhgsdm";
sha256 = "sha256-SXA77LXM1SuBJ8BH+ahwJl/3gWsCbdLXBiHZdJySWq0=";
};
cargoSha256 = "05p3vmar00215x4mwsvs5knf4wrwmpq52rmbbi6b4qaqs3gqaghy";
cargoSha256 = "sha256-e9POSuA/I7IUKUOxMTfCWxNn0AicojpGQpxamzmHa7g=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libusb1 ]
@ -21,6 +21,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/knurling-rs/probe-run";
changelog = "https://github.com/knurling-rs/probe-run/blob/v${version}/CHANGELOG.md";
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ hoverbear ];
maintainers = with maintainers; [ hoverbear newam ];
};
}

View File

@ -17,15 +17,15 @@
rustPlatform.buildRustPackage rec {
pname = "deno";
version = "1.19.1";
version = "1.19.3";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BqwiconG5hn5RPV+hlKu6e6+GjZA4Im/dD+no3IduYw=";
sha256 = "sha256-mm4hCRjQitFvSA3ow/p/N+UgG3P7FC440Obfqz3KVbQ=";
};
cargoSha256 = "sha256-q/5AezLQgN7WdGsbHoxX5riJMlxw3cTFhVs5OvCeI5U=";
cargoSha256 = "sha256-tSIYs52pZk/h2hVJLHUbwlsl2gdu2Mszs9OBR52EQKQ=";
# Install completions post-install
nativeBuildInputs = [ installShellFiles ];

View File

@ -11,11 +11,11 @@ let
};
in
fetch_librusty_v8 {
version = "0.40.0";
version = "0.40.2";
shas = {
x86_64-linux = "sha256-VHkopvK6f5lxdFLBywHe0Z+su2g5hgBsLcTxrwFgq0Y=";
aarch64-linux = "sha256-awWjziqqUDAl9fcLADUjytLFds1y93y5gZoOtvReL9w=";
x86_64-darwin = "sha256-WlRnGiJK3iFgTjNzr25rvmmiPAICPRLaD5hbys7MoJA=";
aarch64-darwin = "sha256-zblcAQVwnLQWh85wajg8CalqxycSR+4WGoSC2dnX7jA=";
x86_64-linux = "sha256-RtEKNDQdL0orI0B4953RaT18KeWPZJIdhPnYbJGj2eM=";
aarch64-linux = "sha256-TL5boy1X/OgOt17H6PYEA5D3MJbChCULrB38ykC5Ghk=";
x86_64-darwin = "sha256-ABnHMABtggrHoTjeFB8YVH6PV2HvVlPZTQWaeRnRZaE=";
aarch64-darwin = "sha256-PGrRmNJxS49K9jviQTxRJlTq1SAn+8epXXNJaexTAWU=";
};
}

View File

@ -11,11 +11,11 @@ let
in
stdenv.mkDerivation rec {
pname = "grails";
version = "5.1.2";
version = "5.1.3";
src = fetchurl {
url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
sha256 = "sha256-S8YDGShglCB8zMHBwLlvPwq9dIAgQq2Xb8G1Pf0dXiQ=";
sha256 = "sha256-BacAVAnS3qdmzHGVUdZI2hn4Arp9Qep6cAXRabpB10M=";
};
nativeBuildInputs = [ unzip ];

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "4.14.270";
version = "4.14.271";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "17fj5aif5f0z0xgb321ghpv5p6drqxz0w948dr4hql4cj193r2zv";
sha256 = "1mzxcjzw6y7b3fffz0hbgsl6328w3m5yv5xb21z57kr9vm828y80";
};
} // (args.argsOverride or {}))

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "4.19.233";
version = "4.19.234";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0dyf1xapmhly9gpygyjzj5yhn6s5xb0gss033sgllwn243q6bxmq";
sha256 = "12rd468wvmmdmgzy9vs2ny155yp9wxrf15lrslpc8xm4wimrd0h0";
};
} // (args.argsOverride or {}))

View File

@ -1,12 +1,12 @@
{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
buildLinux (args // rec {
version = "4.9.305";
version = "4.9.306";
extraMeta.branch = "4.9";
extraMeta.broken = stdenv.isAarch64;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0yspfrqlgpsa3a591bk9c2xqq5xf70lqfgj8wrnhd42agfxanr8k";
sha256 = "1cvsz3sf24g2623m7fxc6ilzsdmzi8s8lnks3sg68sax0qdx0ny7";
};
} // (args.argsOverride or {}))

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.10.104";
version = "5.10.105";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1wb2ql58md45wi49bp3rck7ppgisyjdl7lxarzqd094fx9kr4jir";
sha256 = "11fb9y6sqrf0hvak83ym7sbbacjl3q51w523vxjdpjmrn850xp1x";
};
} // (args.argsOverride or {}))

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.15.27";
version = "5.15.28";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -15,6 +15,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "01ksvmcwljzphbdll0pd9zg8ys8jy5xy29b54pxqjs3wq3n8zj9k";
sha256 = "1rhhn2a7799nnvx8dj83glb0p0qakxanhxvvl7crznvip7rvp8nq";
};
} // (args.argsOverride or { }))

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.16.13";
version = "5.16.14";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1fvz4v3mcm9yxfak6mshl764piadgz46y71wprb85b1shc09i2ig";
sha256 = "1xkl0mfjby7w6r3fqyjds94h2lmc77nzp970w7wz1rfmb63ab2vs";
};
} // (args.argsOverride or { }))

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.4.183";
version = "5.4.184";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "17691h1575spgwh88mk189ars6gyjcl9nnaz585l2da8civhnjrd";
sha256 = "128laiqkr6z3pya8ws7r2ddrpbc3xyn80zwclz2wlrf6wqwwm546";
};
} // (args.argsOverride or {}))

View File

@ -1,8 +1,8 @@
{ stdenv, lib, fetchsvn, linux
, scripts ? fetchsvn {
url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
rev = "18613";
sha256 = "1qgvhrh4nnn56aykaxqmlnzy8s111b5vn277n7qm4ldyr312g4hs";
rev = "18627";
sha256 = "0qlalxpw2a24625ck5mxchpxl6i6cgmzkzfgyp9apmhdy8590fv5";
}
, ...
}:

View File

@ -6,7 +6,7 @@
, ... } @ args:
let
version = "5.10.100-rt62"; # updated by ./update-rt.sh
version = "5.10.104-rt63"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // {
@ -18,14 +18,14 @@ in buildLinux (args // {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
sha256 = "16892wnfkdpqy3v4xmdzlqn5zlfrgz9wqh6vadnx58xnr6pnasfm";
sha256 = "1wb2ql58md45wi49bp3rck7ppgisyjdl7lxarzqd094fx9kr4jir";
};
kernelPatches = let rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "1wimp4ckaqp5cfvkf50gv3s5biyr0sjifz4faw23m07ciydm15k0";
sha256 = "17ivd6dm49axc9k6cqf39wjjqrjqbj5xd3n7lqk7vv95rg9fg0g7";
};
}; in [ rt-patch ] ++ kernelPatches;

Some files were not shown because too many files have changed in this diff Show More