Merge remote-tracking branch 'origin/master' into haskell-updates.

This commit is contained in:
Peter Simons 2020-08-14 09:46:18 +02:00
commit 144b1ddb1c
66 changed files with 603 additions and 457 deletions

5
.github/CODEOWNERS vendored
View File

@ -202,3 +202,8 @@
# Blockchains # Blockchains
/pkgs/applications/blockchains @mmahut /pkgs/applications/blockchains @mmahut
# Go
/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
/pkgs/development/go-modules @kalbasit @Mic92 @zowoq
/pkgs/development/go-packages @kalbasit @Mic92 @zowoq

View File

@ -40,7 +40,9 @@ pet = buildGoModule rec {
subPackages = [ "." ]; <co xml:id='ex-buildGoModule-2' /> subPackages = [ "." ]; <co xml:id='ex-buildGoModule-2' />
runVend = true; <co xml:id='ex-buildGoModule-3' /> deleteVendor = true; <co xml:id='ex-buildGoModule-3' />
runVend = true; <co xml:id='ex-buildGoModule-4' />
meta = with lib; { meta = with lib; {
description = "Simple command-line snippet manager, written in Go"; description = "Simple command-line snippet manager, written in Go";
@ -67,6 +69,11 @@ pet = buildGoModule rec {
</para> </para>
</callout> </callout>
<callout arearefs='ex-buildGoModule-3'> <callout arearefs='ex-buildGoModule-3'>
<para>
<varname>deleteVendor</varname> removes the pre-existing vendor directory and fetches the dependencies. This should only be used if the dependencies included in the vendor folder are broken or incomplete.
</para>
</callout>
<callout arearefs='ex-buildGoModule-4'>
<para> <para>
<varname>runVend</varname> runs the vend command to generate the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build. <varname>runVend</varname> runs the vend command to generate the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build.
</para> </para>

View File

@ -190,4 +190,63 @@ GPU1:
</para> </para>
</section> </section>
</section> </section>
<section xml:id="sec-gpu-accel-common-issues">
<title>Common issues</title>
<section xml:id="sec-gpu-accel-common-issues-permissions">
<title>User permissions</title>
<para>
Except where noted explicitly, it should not be necessary to
adjust user permissions to use these acceleration APIs. In the default
configuration, GPU devices have world-read/write permissions
(<filename>/dev/dri/renderD*</filename>) or are tagged as
<code>uaccess</code> (<filename>/dev/dri/card*</filename>). The
access control lists of devices with the <varname>uaccess</varname>
tag will be updated automatically when a user logs in through
<command>systemd-logind</command>. For example, if the user
<emphasis>jane</emphasis> is logged in, the access control list
should look as follows:
<screen><prompt>$</prompt> getfacl /dev/dri/card0
# file: dev/dri/card0
# owner: root
# group: video
user::rw-
user:jane:rw-
group::rw-
mask::rw-
other::---</screen>
If you disabled (this functionality of) <command>systemd-logind</command>,
you may need to add the user to the <code>video</code> group and
log in again.
</para>
</section>
<section xml:id="sec-gpu-accel-common-issues-mixing-nixpkgs">
<title>Mixing different versions of nixpkgs</title>
<para>
The <emphasis>Installable Client Driver</emphasis> (ICD)
mechanism used by OpenCL and Vulkan loads runtimes into its address
space using <code>dlopen</code>. Mixing an ICD loader mechanism and
runtimes from different version of nixpkgs may not work. For example,
if the ICD loader uses an older version of <package>glibc</package>
than the runtime, the runtime may not be loadable due to
missing symbols. Unfortunately, the loader will generally be quiet
about such issues.
</para>
<para>
If you suspect that you are running into library version mismatches
between an ICL loader and a runtime, you could run an application with
the <code>LD_DEBUG</code> variable set to get more diagnostic
information. For example, OpenCL can be tested with
<code>LD_DEBUG=files clinfo</code>, which should report missing
symbols.
</para>
</section>
</section>
</chapter> </chapter>

View File

@ -114,6 +114,17 @@ systemd.services.mysql.serviceConfig.ProtectHome = lib.mkForce "read-only";
systemd.services.mysql.serviceConfig.ReadWritePaths = [ "/var/data" ]; systemd.services.mysql.serviceConfig.ReadWritePaths = [ "/var/data" ];
</programlisting> </programlisting>
</para> </para>
<para>
The MySQL service no longer runs its <literal>systemd</literal> service startup script as <literal>root</literal> anymore. A dedicated non <literal>root</literal>
super user account is required for operation. This means users with an existing MySQL or MariaDB database server are required to run the following SQL statements
as a super admin user before upgrading:
<programlisting>
CREATE USER IF NOT EXISTS 'mysql'@'localhost' identified with unix_socket;
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
</programlisting>
If you use MySQL instead of MariaDB please replace <literal>unix_socket</literal> with <literal>auth_socket</literal>. If you have changed the value of <xref linkend="opt-services.mysql.user"/>
from the default of <literal>mysql</literal> to a different user please change <literal>'mysql'@'localhost'</literal> to the corresponding user instead.
</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>

View File

@ -182,6 +182,9 @@ let
# fonts.conf # fonts.conf
ln -s ${pkg.out}/etc/fonts/fonts.conf \ ln -s ${pkg.out}/etc/fonts/fonts.conf \
$dst/../fonts.conf $dst/../fonts.conf
# TODO: remove this legacy symlink once people stop using packages built before #95358 was merged
ln -s /etc/fonts/${pkg.configVersion}/fonts.conf \
$out/etc/fonts/fonts.conf
# fontconfig default config files # fontconfig default config files
ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \ ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \

View File

@ -43,7 +43,6 @@ in
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package}/bin/ckb-next-daemon ${optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}"}"; ExecStart = "${cfg.package}/bin/ckb-next-daemon ${optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}"}";
Restart = "on-failure"; Restart = "on-failure";
StandardOutput = "syslog";
}; };
}; };
}; };

View File

@ -170,7 +170,6 @@ in {
Restart = "always"; Restart = "always";
RestartSec = 30; RestartSec = 30;
BusName = "com.intel.tss2.Tabrmd"; BusName = "com.intel.tss2.Tabrmd";
StandardOutput = "syslog";
ExecStart = "${cfg.abrmd.package}/bin/tpm2-abrmd"; ExecStart = "${cfg.abrmd.package}/bin/tpm2-abrmd";
User = "tss"; User = "tss";
Group = "nogroup"; Group = "nogroup";

View File

@ -6,12 +6,10 @@ let
cfg = config.services.mysql; cfg = config.services.mysql;
mysql = cfg.package; isMariaDB = lib.getName cfg.package == lib.getName pkgs.mariadb;
isMariaDB = lib.getName mysql == lib.getName pkgs.mariadb;
mysqldOptions = mysqldOptions =
"--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}"; "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${cfg.package}";
settingsFile = pkgs.writeText "my.cnf" ( settingsFile = pkgs.writeText "my.cnf" (
generators.toINI { listsAsDuplicateKeys = true; } cfg.settings + generators.toINI { listsAsDuplicateKeys = true; } cfg.settings +
@ -22,7 +20,7 @@ in
{ {
imports = [ imports = [
(mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd") (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd.")
(mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.") (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
]; ];
@ -46,25 +44,31 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = literalExample "0.0.0.0"; example = literalExample "0.0.0.0";
description = "Address to bind to. The default is to bind to all addresses"; description = "Address to bind to. The default is to bind to all addresses.";
}; };
port = mkOption { port = mkOption {
type = types.int; type = types.int;
default = 3306; default = 3306;
description = "Port of MySQL"; description = "Port of MySQL.";
}; };
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = "mysql"; default = "mysql";
description = "User account under which MySQL runs"; description = "User account under which MySQL runs.";
};
group = mkOption {
type = types.str;
default = "mysql";
description = "Group under which MySQL runs.";
}; };
dataDir = mkOption { dataDir = mkOption {
type = types.path; type = types.path;
example = "/var/lib/mysql"; example = "/var/lib/mysql";
description = "Location where MySQL stores its table files"; description = "Location where MySQL stores its table files.";
}; };
configFile = mkOption { configFile = mkOption {
@ -171,7 +175,7 @@ in
initialScript = mkOption { initialScript = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = "A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database"; description = "A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database.";
}; };
ensureDatabases = mkOption { ensureDatabases = mkOption {
@ -259,33 +263,33 @@ in
serverId = mkOption { serverId = mkOption {
type = types.int; type = types.int;
default = 1; default = 1;
description = "Id of the MySQL server instance. This number must be unique for each instance"; description = "Id of the MySQL server instance. This number must be unique for each instance.";
}; };
masterHost = mkOption { masterHost = mkOption {
type = types.str; type = types.str;
description = "Hostname of the MySQL master server"; description = "Hostname of the MySQL master server.";
}; };
slaveHost = mkOption { slaveHost = mkOption {
type = types.str; type = types.str;
description = "Hostname of the MySQL slave server"; description = "Hostname of the MySQL slave server.";
}; };
masterUser = mkOption { masterUser = mkOption {
type = types.str; type = types.str;
description = "Username of the MySQL replication user"; description = "Username of the MySQL replication user.";
}; };
masterPassword = mkOption { masterPassword = mkOption {
type = types.str; type = types.str;
description = "Password of the MySQL replication user"; description = "Password of the MySQL replication user.";
}; };
masterPort = mkOption { masterPort = mkOption {
type = types.int; type = types.int;
default = 3306; default = 3306;
description = "Port number on which the MySQL master server runs"; description = "Port number on which the MySQL master server runs.";
}; };
}; };
}; };
@ -317,29 +321,33 @@ in
binlog-ignore-db = [ "information_schema" "performance_schema" "mysql" ]; binlog-ignore-db = [ "information_schema" "performance_schema" "mysql" ];
}) })
(mkIf (!isMariaDB) { (mkIf (!isMariaDB) {
plugin-load-add = optional (cfg.ensureUsers != []) "auth_socket.so"; plugin-load-add = "auth_socket.so";
}) })
]; ];
users.users.mysql = { users.users = optionalAttrs (cfg.user == "mysql") {
mysql = {
description = "MySQL server user"; description = "MySQL server user";
group = "mysql"; group = cfg.group;
uid = config.ids.uids.mysql; uid = config.ids.uids.mysql;
}; };
};
users.groups.mysql.gid = config.ids.gids.mysql; users.groups = optionalAttrs (cfg.group == "mysql") {
mysql.gid = config.ids.gids.mysql;
};
environment.systemPackages = [mysql]; environment.systemPackages = [ cfg.package ];
environment.etc."my.cnf".source = cfg.configFile; environment.etc."my.cnf".source = cfg.configFile;
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0700 ${cfg.user} mysql - -" "d '${cfg.dataDir}' 0700 '${cfg.user}' '${cfg.group}' - -"
"z '${cfg.dataDir}' 0700 ${cfg.user} mysql - -" "z '${cfg.dataDir}' 0700 '${cfg.user}' '${cfg.group}' - -"
]; ];
systemd.services.mysql = let systemd.services.mysql = let
hasNotify = (cfg.package == pkgs.mariadb); hasNotify = isMariaDB;
in { in {
description = "MySQL Server"; description = "MySQL Server";
@ -357,27 +365,20 @@ in
preStart = if isMariaDB then '' preStart = if isMariaDB then ''
if ! test -e ${cfg.dataDir}/mysql; then if ! test -e ${cfg.dataDir}/mysql; then
${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${mysqldOptions} ${cfg.package}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${mysqldOptions}
touch ${cfg.dataDir}/mysql_init touch ${cfg.dataDir}/mysql_init
fi fi
'' else '' '' else ''
if ! test -e ${cfg.dataDir}/mysql; then if ! test -e ${cfg.dataDir}/mysql; then
${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} --initialize-insecure ${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} --initialize-insecure
touch ${cfg.dataDir}/mysql_init touch ${cfg.dataDir}/mysql_init
fi fi
''; '';
serviceConfig = { postStart = let
Type = if hasNotify then "notify" else "simple"; # The super user account to use on *first* run of MySQL server
Restart = "on-abort"; superUser = if isMariaDB then cfg.user else "root";
RestartSec = "5s"; in ''
# The last two environment variables are used for starting Galera clusters
ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
ExecStartPost =
let
setupScript = pkgs.writeScript "mysql-setup" ''
#!${pkgs.runtimeShell} -e
${optionalString (!hasNotify) '' ${optionalString (!hasNotify) ''
# Wait until the MySQL server is available for use # Wait until the MySQL server is available for use
count=0 count=0
@ -397,6 +398,12 @@ in
if [ -f ${cfg.dataDir}/mysql_init ] if [ -f ${cfg.dataDir}/mysql_init ]
then then
# While MariaDB comes with a 'mysql' super user account since 10.4.x, MySQL does not
# Since we don't want to run this service as 'root' we need to ensure the account exists on first run
( echo "CREATE USER IF NOT EXISTS '${cfg.user}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};"
echo "GRANT ALL PRIVILEGES ON *.* TO '${cfg.user}'@'localhost' WITH GRANT OPTION;"
) | ${cfg.package}/bin/mysql -u ${superUser} -N
${concatMapStrings (database: '' ${concatMapStrings (database: ''
# Create initial databases # Create initial databases
if ! test -e "${cfg.dataDir}/${database.name}"; then if ! test -e "${cfg.dataDir}/${database.name}"; then
@ -416,7 +423,7 @@ in
cat ${database.schema}/mysql-databases/*.sql cat ${database.schema}/mysql-databases/*.sql
fi fi
''} ''}
) | ${mysql}/bin/mysql -u root -N ) | ${cfg.package}/bin/mysql -u ${superUser} -N
fi fi
'') cfg.initialDatabases} '') cfg.initialDatabases}
@ -428,7 +435,7 @@ in
echo "CREATE USER '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' IDENTIFIED WITH mysql_native_password;" echo "CREATE USER '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' IDENTIFIED WITH mysql_native_password;"
echo "SET PASSWORD FOR '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' = PASSWORD('${cfg.replication.masterPassword}');" echo "SET PASSWORD FOR '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' = PASSWORD('${cfg.replication.masterPassword}');"
echo "GRANT REPLICATION SLAVE ON *.* TO '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}';" echo "GRANT REPLICATION SLAVE ON *.* TO '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}';"
) | ${mysql}/bin/mysql -u root -N ) | ${cfg.package}/bin/mysql -u ${superUser} -N
''} ''}
${optionalString (cfg.replication.role == "slave") ${optionalString (cfg.replication.role == "slave")
@ -438,7 +445,7 @@ in
( echo "stop slave;" ( echo "stop slave;"
echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';" echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';"
echo "start slave;" echo "start slave;"
) | ${mysql}/bin/mysql -u root -N ) | ${cfg.package}/bin/mysql -u ${superUser} -N
''} ''}
${optionalString (cfg.initialScript != null) ${optionalString (cfg.initialScript != null)
@ -446,7 +453,7 @@ in
# Execute initial script # Execute initial script
# using toString to avoid copying the file to nix store if given as path instead of string, # using toString to avoid copying the file to nix store if given as path instead of string,
# as it might contain credentials # as it might contain credentials
cat ${toString cfg.initialScript} | ${mysql}/bin/mysql -u root -N cat ${toString cfg.initialScript} | ${cfg.package}/bin/mysql -u ${superUser} -N
''} ''}
rm ${cfg.dataDir}/mysql_init rm ${cfg.dataDir}/mysql_init
@ -457,7 +464,7 @@ in
${concatMapStrings (database: '' ${concatMapStrings (database: ''
echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;"
'') cfg.ensureDatabases} '') cfg.ensureDatabases}
) | ${mysql}/bin/mysql -u root -N ) | ${cfg.package}/bin/mysql -N
''} ''}
${concatMapStrings (user: ${concatMapStrings (user:
@ -466,16 +473,19 @@ in
${concatStringsSep "\n" (mapAttrsToList (database: permission: '' ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';" echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';"
'') user.ensurePermissions)} '') user.ensurePermissions)}
) | ${mysql}/bin/mysql -u root -N ) | ${cfg.package}/bin/mysql -N
'') cfg.ensureUsers} '') cfg.ensureUsers}
''; '';
in
# ensureDatbases & ensureUsers depends on this script being run as root serviceConfig = {
# when the user has secured their mysql install Type = if hasNotify then "notify" else "simple";
"+${setupScript}"; Restart = "on-abort";
RestartSec = "5s";
# The last two environment variables are used for starting Galera clusters
ExecStart = "${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
# User and group # User and group
User = cfg.user; User = cfg.user;
Group = "mysql"; Group = cfg.group;
# Runtime directory and mode # Runtime directory and mode
RuntimeDirectory = "mysqld"; RuntimeDirectory = "mysqld";
RuntimeDirectoryMode = "0755"; RuntimeDirectoryMode = "0755";

View File

@ -234,7 +234,6 @@ in
ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID"; ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
NotifyAccess = "main"; NotifyAccess = "main";
KillSignal = "SIGQUIT"; KillSignal = "SIGQUIT";
StandardError = "syslog";
}; };
}; };

View File

@ -106,7 +106,6 @@ in
path = optional ecfg.enableNotifications pkgs.dbus; path = optional ecfg.enableNotifications pkgs.dbus;
serviceConfig = { serviceConfig = {
StandardOutput = "null"; StandardOutput = "null";
StandardError = "syslog";
ExecStart = '' ExecStart = ''
${pkgs.earlyoom}/bin/earlyoom \ ${pkgs.earlyoom}/bin/earlyoom \
-m ${toString ecfg.freeMemThreshold} \ -m ${toString ecfg.freeMemThreshold} \

View File

@ -73,8 +73,6 @@ in {
TTYVTDisallocate = "yes"; TTYVTDisallocate = "yes";
# Fail to start if not controlling the virtual terminal. # Fail to start if not controlling the virtual terminal.
StandardInput = "tty-fail"; StandardInput = "tty-fail";
StandardOutput = "syslog";
StandardError = "syslog";
# Set up a full (custom) user session for the user, required by Cage. # Set up a full (custom) user session for the user, required by Cage.
PAMName = "cage"; PAMName = "cage";
}; };

View File

@ -632,8 +632,6 @@ let
User = "${cfg.user}"; User = "${cfg.user}";
Group = "tt_rss"; Group = "tt_rss";
ExecStart = "${pkgs.php}/bin/php ${cfg.root}/update.php --daemon --quiet"; ExecStart = "${pkgs.php}/bin/php ${cfg.root}/update.php --daemon --quiet";
StandardOutput = "syslog";
StandardError = "syslog";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "60"; RestartSec = "60";
SyslogIdentifier = "tt-rss"; SyslogIdentifier = "tt-rss";

View File

@ -200,7 +200,6 @@ in
KillMode = "mixed"; KillMode = "mixed";
IgnoreSIGPIPE = "no"; IgnoreSIGPIPE = "no";
BusName = "org.gnome.DisplayManager"; BusName = "org.gnome.DisplayManager";
StandardOutput = "syslog";
StandardError = "inherit"; StandardError = "inherit";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
KeyringMode = "shared"; KeyringMode = "shared";

View File

@ -253,7 +253,6 @@ in
KeyringMode = "shared"; KeyringMode = "shared";
KillMode = "mixed"; KillMode = "mixed";
StandardError = "inherit"; StandardError = "inherit";
StandardOutput = "syslog";
}; };
environment.etc."lightdm/lightdm.conf".source = lightdmConf; environment.etc."lightdm/lightdm.conf".source = lightdmConf;

View File

@ -198,7 +198,6 @@ let
systemd.services."vboxtestlog-${name}@" = { systemd.services."vboxtestlog-${name}@" = {
description = "VirtualBox Test Machine Log For ${name}"; description = "VirtualBox Test Machine Log For ${name}";
serviceConfig.StandardInput = "socket"; serviceConfig.StandardInput = "socket";
serviceConfig.StandardOutput = "syslog";
serviceConfig.SyslogIdentifier = "GUEST-${name}"; serviceConfig.SyslogIdentifier = "GUEST-${name}";
serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat"; serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
}; };

View File

@ -14,16 +14,16 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ncspot"; pname = "ncspot";
version = "0.2.0"; version = "0.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hrkfdn"; owner = "hrkfdn";
repo = "ncspot"; repo = "ncspot";
rev = "v${version}"; rev = "v${version}";
sha256 = "0b2g5bd04zh1hcrhkgd2srx9gl94da4gpy9arjcvrldschjxjza1"; sha256 = "1yx0fc24bgh1x6fdwznc1hqvjq0j7i0zvws3bsyijzs7q48jm0z7";
}; };
cargoSha256 = "1gbhvmg7jfmx0b694rdr3s2zs33d4s645gw1lrxvwffif4mg8fy9"; cargoSha256 = "0bh2shg80xbs2cw10dabrdxkvhf2csk5h9wmmk5z87q6w25paz1f";
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ergo"; pname = "ergo";
version = "3.2.7"; version = "3.3.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "1ng2q9yp03j8p2xh7rlqad5h4p82ks1l00401pq7m0y02q90szr8"; sha256 = "1lja4ba6bm1jk0lh2ra5v8i5g3f1gy7mk2b3yrx1w7x02ll9gr06";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -2,17 +2,17 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
backports (3.18.1) backports (3.18.1)
concurrent-ruby (1.1.6) concurrent-ruby (1.1.7)
crass (1.0.6) crass (1.0.6)
execjs (2.7.0) execjs (2.7.0)
ffi (1.13.1) ffi (1.13.1)
gemojione (4.3.3) gemojione (4.3.3)
json json
github-markup (3.0.4) github-markup (3.0.4)
gollum (5.1) gollum (5.1.1)
gemojione (~> 4.1) gemojione (~> 4.1)
gollum-lib (~> 5.0) gollum-lib (~> 5.0)
kramdown (~> 2.1.0) kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0.0) kramdown-parser-gfm (~> 1.0.0)
mustache (>= 0.99.5, < 1.0.0) mustache (>= 0.99.5, < 1.0.0)
octicons (~> 8.5) octicons (~> 8.5)
@ -38,7 +38,8 @@ GEM
mime-types (>= 1.15) mime-types (>= 1.15)
rugged (~> 0.99) rugged (~> 0.99)
json (2.3.1) json (2.3.1)
kramdown (2.1.0) kramdown (2.3.0)
rexml
kramdown-parser-gfm (1.0.1) kramdown-parser-gfm (1.0.1)
kramdown (~> 2.0) kramdown (~> 2.0)
loofah (2.6.0) loofah (2.6.0)
@ -63,7 +64,7 @@ GEM
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rexml (3.2.4) rexml (3.2.4)
rouge (3.21.0) rouge (3.22.0)
rss (0.2.9) rss (0.2.9)
rexml rexml
ruby2_keywords (0.0.2) ruby2_keywords (0.0.2)

View File

@ -14,10 +14,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl"; sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
type = "gem"; type = "gem";
}; };
version = "1.1.6"; version = "1.1.7";
}; };
crass = { crass = {
groups = ["default"]; groups = ["default"];
@ -76,10 +76,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "06qc6flb2sik64ich3j4a9yky9cqsj77vdjff51wxi4lhd9ga6sk"; sha256 = "14i6y3ilv9l7cqvkawl75js26cfj1pd8cphhmq9lic95ajvdf371";
type = "gem"; type = "gem";
}; };
version = "5.1"; version = "5.1.1";
}; };
gollum-lib = { gollum-lib = {
dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"]; dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
@ -114,14 +114,15 @@
version = "2.3.1"; version = "2.3.1";
}; };
kramdown = { kramdown = {
dependencies = ["rexml"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
type = "gem"; type = "gem";
}; };
version = "2.1.0"; version = "2.3.0";
}; };
kramdown-parser-gfm = { kramdown-parser-gfm = {
dependencies = ["kramdown"]; dependencies = ["kramdown"];
@ -286,10 +287,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1agrrmj88k9jkk36ra1ml2c1jffpp595pkxmcla74ac9ia09vn3s"; sha256 = "1wcz7i009wdbymlfsamagqi18m6ih8j60bii0k18f21g70r72i0m";
type = "gem"; type = "gem";
}; };
version = "3.21.0"; version = "3.22.0";
}; };
rss = { rss = {
dependencies = ["rexml"]; dependencies = ["rexml"];

View File

@ -10,7 +10,7 @@ GEM
addressable (2.7.0) addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.1.6) concurrent-ruby (1.1.7)
em-websocket (0.5.1) em-websocket (0.5.1)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0) http_parser.rb (~> 0.6.0)
@ -18,11 +18,11 @@ GEM
ffi (1.13.1) ffi (1.13.1)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
gemoji (3.0.1) gemoji (3.0.1)
html-pipeline (2.13.0) html-pipeline (2.14.0)
activesupport (>= 2) activesupport (>= 2)
nokogiri (>= 1.4) nokogiri (>= 1.4)
http_parser.rb (0.6.0) http_parser.rb (0.6.0)
i18n (1.8.3) i18n (1.8.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.1.1) jekyll (4.1.1)
addressable (~> 2.4) addressable (~> 2.4)
@ -56,7 +56,7 @@ GEM
gemoji (~> 3.0) gemoji (~> 3.0)
html-pipeline (~> 2.2) html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0) jekyll (>= 3.0, < 5.0)
kramdown (2.2.1) kramdown (2.3.0)
rexml rexml
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
@ -67,7 +67,7 @@ GEM
mercenary (0.4.0) mercenary (0.4.0)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
minitest (5.14.1) minitest (5.14.1)
nokogiri (1.10.9) nokogiri (1.10.10)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
pathutil (0.16.2) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
@ -76,7 +76,7 @@ GEM
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rexml (3.2.4) rexml (3.2.4)
rouge (3.20.0) rouge (3.22.0)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sassc (2.4.0) sassc (2.4.0)
ffi (~> 1.9) ffi (~> 1.9)
@ -86,7 +86,7 @@ GEM
tzinfo (1.2.7) tzinfo (1.2.7)
thread_safe (~> 0.1) thread_safe (~> 0.1)
unicode-display_width (1.7.0) unicode-display_width (1.7.0)
zeitwerk (2.3.0) zeitwerk (2.4.0)
PLATFORMS PLATFORMS
ruby ruby

View File

@ -36,10 +36,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl"; sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
type = "gem"; type = "gem";
}; };
version = "1.1.6"; version = "1.1.7";
}; };
em-websocket = { em-websocket = {
dependencies = ["eventmachine" "http_parser.rb"]; dependencies = ["eventmachine" "http_parser.rb"];
@ -98,10 +98,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "01snn9z3c2p17d9wfczkdkml6mdffah6fpyzgs9mdskb14m68rq6"; sha256 = "080sn9z1a64gv04p318jz10y6lv6qd3avip08rrcmq9k4ihai0f1";
type = "gem"; type = "gem";
}; };
version = "2.13.0"; version = "2.14.0";
}; };
"http_parser.rb" = { "http_parser.rb" = {
groups = ["default"]; groups = ["default"];
@ -119,10 +119,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10nq1xjqvkhngiygji831qx9bryjwws95r4vrnlq9142bzkg670s"; sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
type = "gem"; type = "gem";
}; };
version = "1.8.3"; version = "1.8.5";
}; };
jekyll = { jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@ -218,10 +218,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6"; sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
type = "gem"; type = "gem";
}; };
version = "2.2.1"; version = "2.3.0";
}; };
kramdown-parser-gfm = { kramdown-parser-gfm = {
dependencies = ["kramdown"]; dependencies = ["kramdown"];
@ -291,10 +291,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm"; sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
type = "gem"; type = "gem";
}; };
version = "1.10.9"; version = "1.10.10";
}; };
pathutil = { pathutil = {
dependencies = ["forwardable-extended"]; dependencies = ["forwardable-extended"];
@ -353,10 +353,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1r5npy9a95qh5v74lw7ir3nhaq4xrzyhfdixd7c5xy295i92nnic"; sha256 = "1wcz7i009wdbymlfsamagqi18m6ih8j60bii0k18f21g70r72i0m";
type = "gem"; type = "gem";
}; };
version = "3.20.0"; version = "3.22.0";
}; };
safe_yaml = { safe_yaml = {
groups = ["default"]; groups = ["default"];
@ -426,9 +426,9 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0"; sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k";
type = "gem"; type = "gem";
}; };
version = "2.3.0"; version = "2.4.0";
}; };
} }

View File

@ -17,7 +17,7 @@ GEM
execjs execjs
coffee-script-source (1.12.2) coffee-script-source (1.12.2)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.1.6) concurrent-ruby (1.1.7)
em-websocket (0.5.1) em-websocket (0.5.1)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0) http_parser.rb (~> 0.6.0)
@ -29,11 +29,11 @@ GEM
ffi (1.13.1) ffi (1.13.1)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
gemoji (3.0.1) gemoji (3.0.1)
html-pipeline (2.13.0) html-pipeline (2.14.0)
activesupport (>= 2) activesupport (>= 2)
nokogiri (>= 1.4) nokogiri (>= 1.4)
http_parser.rb (0.6.0) http_parser.rb (0.6.0)
i18n (1.8.3) i18n (1.8.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.1.1) jekyll (4.1.1)
addressable (~> 2.4) addressable (~> 2.4)
@ -55,7 +55,7 @@ GEM
jekyll-coffeescript (2.0.0) jekyll-coffeescript (2.0.0)
coffee-script (~> 2.2) coffee-script (~> 2.2)
coffee-script-source (~> 1.12) coffee-script-source (~> 1.12)
jekyll-feed (0.14.0) jekyll-feed (0.15.0)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-gist (1.5.0) jekyll-gist (1.5.0)
octokit (~> 4.2) octokit (~> 4.2)
@ -77,7 +77,7 @@ GEM
gemoji (~> 3.0) gemoji (~> 3.0)
html-pipeline (~> 2.2) html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0) jekyll (>= 3.0, < 5.0)
kramdown (2.2.1) kramdown (2.3.0)
rexml rexml
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
@ -97,7 +97,7 @@ GEM
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
minitest (5.14.1) minitest (5.14.1)
multipart-post (2.1.1) multipart-post (2.1.1)
nokogiri (1.10.9) nokogiri (1.10.10)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
octokit (4.18.0) octokit (4.18.0)
faraday (>= 0.9) faraday (>= 0.9)
@ -110,7 +110,7 @@ GEM
ffi (~> 1.0) ffi (~> 1.0)
rdoc (6.2.1) rdoc (6.2.1)
rexml (3.2.4) rexml (3.2.4)
rouge (3.20.0) rouge (3.22.0)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sassc (2.4.0) sassc (2.4.0)
ffi (~> 1.9) ffi (~> 1.9)
@ -125,7 +125,7 @@ GEM
thread_safe (~> 0.1) thread_safe (~> 0.1)
unicode-display_width (1.7.0) unicode-display_width (1.7.0)
yajl-ruby (1.4.1) yajl-ruby (1.4.1)
zeitwerk (2.3.0) zeitwerk (2.4.0)
PLATFORMS PLATFORMS
ruby ruby

View File

@ -90,10 +90,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl"; sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
type = "gem"; type = "gem";
}; };
version = "1.1.6"; version = "1.1.7";
}; };
em-websocket = { em-websocket = {
dependencies = ["eventmachine" "http_parser.rb"]; dependencies = ["eventmachine" "http_parser.rb"];
@ -195,10 +195,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "01snn9z3c2p17d9wfczkdkml6mdffah6fpyzgs9mdskb14m68rq6"; sha256 = "080sn9z1a64gv04p318jz10y6lv6qd3avip08rrcmq9k4ihai0f1";
type = "gem"; type = "gem";
}; };
version = "2.13.0"; version = "2.14.0";
}; };
"http_parser.rb" = { "http_parser.rb" = {
groups = ["default"]; groups = ["default"];
@ -216,10 +216,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10nq1xjqvkhngiygji831qx9bryjwws95r4vrnlq9142bzkg670s"; sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
type = "gem"; type = "gem";
}; };
version = "1.8.3"; version = "1.8.5";
}; };
jekyll = { jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@ -260,10 +260,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0fhbz5wc8cf60dwsbqcr49wygyk5qarpc7g77p6dlwq2r21nil5c"; sha256 = "1mgc1ik2cq2g8g7z9ql2i6ydzy771m2i4qrd1q77x8cf2sprlb0z";
type = "gem"; type = "gem";
}; };
version = "0.14.0"; version = "0.15.0";
}; };
jekyll-gist = { jekyll-gist = {
dependencies = ["octokit"]; dependencies = ["octokit"];
@ -369,10 +369,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6"; sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
type = "gem"; type = "gem";
}; };
version = "2.2.1"; version = "2.3.0";
}; };
kramdown-parser-gfm = { kramdown-parser-gfm = {
dependencies = ["kramdown"]; dependencies = ["kramdown"];
@ -519,10 +519,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm"; sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
type = "gem"; type = "gem";
}; };
version = "1.10.9"; version = "1.10.10";
}; };
octokit = { octokit = {
dependencies = ["faraday" "sawyer"]; dependencies = ["faraday" "sawyer"];
@ -602,10 +602,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1r5npy9a95qh5v74lw7ir3nhaq4xrzyhfdixd7c5xy295i92nnic"; sha256 = "1wcz7i009wdbymlfsamagqi18m6ih8j60bii0k18f21g70r72i0m";
type = "gem"; type = "gem";
}; };
version = "3.20.0"; version = "3.22.0";
}; };
safe_yaml = { safe_yaml = {
groups = ["default"]; groups = ["default"];
@ -718,9 +718,9 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0"; sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k";
type = "gem"; type = "gem";
}; };
version = "2.3.0"; version = "2.4.0";
}; };
} }

View File

@ -1,33 +1,33 @@
{ stdenv, fetchurl, unzip, runtimeShell }: { stdenv, fetchurl, unzip, makeWrapper
, coreutils, gawk, which, gnugrep, findutils
, jdk
}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "openjump-1.3.1"; pname = "openjump";
version = "1.15";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/jump-pilot/OpenJUMP/1.3.1/openjump-1.3.1.zip"; url = "mirror://sourceforge/jump-pilot/OpenJUMP/1.15/OpenJUMP-Portable-1.15-r6241-CORE.zip";
sha256 = "0y4z53yx0x7rp3c8rnj028ni3gr47r35apgcpqp3jl7r2di6zgqm"; sha256 = "12snzkv83w6khcdqzp6xahqapwp82af6c7j2q8n0lj62hk79rfgl";
}; };
# ln jump.log hack: a different user will probably get a permission denied # TODO: build from source
# error. Still this is better than getting it always.
# TODO: build from source and patch this
unpackPhase = '' unpackPhase = ''
mkdir -p $out/bin; mkdir -p $out/bin;
cd $out; unzip $src cd $out; unzip $src
s=$out/bin/OpenJump
dir=$(echo $out/openjump-*)
cat >> $s << EOF
#!${runtimeShell}
cd $dir/bin
exec ${stdenv.shell} openjump.sh
EOF
chmod +x $s
ln -s /tmp/openjump.log $dir/bin/jump.log
''; '';
installPhase = ":"; buildInputs = [unzip makeWrapper];
buildInputs = [unzip]; installPhase = ''
dir=$(echo $out/OpenJUMP-*)
chmod +x $dir/bin/oj_linux.sh
makeWrapper $dir/bin/oj_linux.sh $out/bin/OpenJump \
--set JAVA_HOME ${jdk.home} \
--set PATH "${coreutils}/bin:${gawk}/bin:${which}/bin:${gnugrep}/bin:${findutils}/bin"
'';
meta = { meta = {
description = "Open source Geographic Information System (GIS) written in the Java programming language"; description = "Open source Geographic Information System (GIS) written in the Java programming language";

View File

@ -86,11 +86,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "brave"; pname = "brave";
version = "1.11.97"; version = "1.12.112";
src = fetchurl { src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "1wmjwk98fvzy5slyqpzpnn1mx663q3pvcyr3fzcinf6v971vz3q2"; sha256 = "0nvxmz1wrr6cfyhbnrfjsy9szbjmvjl6080pgkp25xa8rcql5gmb";
}; };
dontConfigure = true; dontConfigure = true;

View File

@ -62,12 +62,16 @@
, waylandSupport ? true , waylandSupport ? true
, libxkbcommon, calendarSupport ? true , libxkbcommon, calendarSupport ? true
, # If you want the resulting program to call itself "Thunderbird" instead # As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
# of "Earlybird" or whatever, enable this option. However, those # https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
# binaries may not be distributed without permission from the # have permission to use the official branding.
# Mozilla Foundation, see #
# http://www.mozilla.org/foundation/trademarks/. # For purposes of documentation the statement of @sylvestre:
enableOfficialBranding ? false # > As the person who did part of the work described in the LWN article
# > and release manager working for Mozilla, I can confirm the statement
# > that I made in
# > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006
, enableOfficialBranding ? true
}: }:
assert waylandSupport -> gtk3Support == true; assert waylandSupport -> gtk3Support == true;

View File

@ -60,12 +60,16 @@
, waylandSupport ? true , waylandSupport ? true
, libxkbcommon, calendarSupport ? true , libxkbcommon, calendarSupport ? true
, # If you want the resulting program to call itself "Thunderbird" instead # As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
# of "Earlybird" or whatever, enable this option. However, those # https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
# binaries may not be distributed without permission from the # have permission to use the official branding.
# Mozilla Foundation, see #
# http://www.mozilla.org/foundation/trademarks/. # For purposes of documentation the statement of @sylvestre:
enableOfficialBranding ? false # > As the person who did part of the work described in the LWN article
# > and release manager working for Mozilla, I can confirm the statement
# > that I made in
# > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006
, enableOfficialBranding ? true
}: }:
assert waylandSupport -> gtk3Support == true; assert waylandSupport -> gtk3Support == true;

View File

@ -3,11 +3,11 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "aliza"; pname = "aliza";
version = "1.48.10"; version = "1.98.32";
src = fetchurl { src = fetchurl {
# See https://www.aliza-dicom-viewer.com/download # See https://www.aliza-dicom-viewer.com/download
url = "https://drive.google.com/uc?export=download&id=16WEScARaSrzJpJkyGuOUxDF95eUwGyET"; url = "https://drive.google.com/uc?export=download&id=1nggavPhY_633T-AW9PdkcAgbWtzv3QKG";
sha256 = "1ls16cwd0fmb5axxmy9lgf8cqrf7g7swm26f0gr2vqp4z9bw6qn3"; sha256 = "00vbgv8ca9ckgkicyyngrb01yhhcqc8hygg2bls7b44c47hcc8zz";
name = "aliza.rpm"; name = "aliza.rpm";
}; };

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gitolite"; pname = "gitolite";
version = "3.6.11"; version = "3.6.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sitaramc"; owner = "sitaramc";
repo = "gitolite"; repo = "gitolite";
rev = "v${version}"; rev = "v${version}";
sha256 = "1rkj7gknwjlc5ij9w39zf5mr647bm45la57yjczydmvrb8c56yrh"; sha256 = "05xw1pmagvkrbzga5pgl3xk9qyc6b5x73f842454f3w9ijspa8zy";
}; };
buildInputs = [ nettools perl ]; buildInputs = [ nettools perl ];

View File

@ -1,19 +1,27 @@
{ stdenv, buildPythonApplication, fetchFromGitHub, fetchurl { stdenv, buildPythonApplication, fetchFromGitHub, callPackage
, mpv, python-mpv-jsonipc, jellyfin-apiclient-python , mpv, python-mpv-jsonipc, jellyfin-apiclient-python
, pillow, tkinter, pystray, jinja2, pywebview }: , pillow, tkinter, pystray, jinja2, pywebview }:
let
shaderPack = callPackage ./shader-pack.nix {};
in
buildPythonApplication rec { buildPythonApplication rec {
pname = "jellyfin-mpv-shim"; pname = "jellyfin-mpv-shim";
version = "1.5.11"; version = "1.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "iwalton3"; owner = "iwalton3";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "14hm8yccdp7w1vdnvdzafk1byhaq1qsr33i4962s1nvm9lafxkr7"; sha256 = "0alrh5h3f8pq9mrq09jmpqa0yslxsjqwij6kwn24ggbwc10zkq75";
fetchSubmodules = true; # needed for display_mirror css file fetchSubmodules = true; # needed for display_mirror css file
}; };
patches = [
./disable-desktop-client.patch
./disable-update-check.patch
];
# override $HOME directory: # override $HOME directory:
# error: [Errno 13] Permission denied: '/homeless-shelter' # error: [Errno 13] Permission denied: '/homeless-shelter'
# #
@ -25,10 +33,9 @@ buildPythonApplication rec {
rm jellyfin_mpv_shim/win_utils.py rm jellyfin_mpv_shim/win_utils.py
''; '';
# disable the desktop client for now
postPatch = '' postPatch = ''
substituteInPlace setup.py \ # link the default shader pack
--replace "'jellyfin-mpv-desktop=jellyfin_mpv_shim.mpv_shim:main_desktop'," "" ln -s ${shaderPack} jellyfin_mpv_shim/default_shader_pack
''; '';
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -0,0 +1,12 @@
diff --git a/setup.py b/setup.py
index a831959..2206e6e 100644
--- a/setup.py
+++ b/setup.py
@@ -25,7 +25,6 @@ setup(
entry_points={
'console_scripts': [
'jellyfin-mpv-shim=jellyfin_mpv_shim.mpv_shim:main',
- 'jellyfin-mpv-desktop=jellyfin_mpv_shim.mpv_shim:main_desktop',
]
},
classifiers=[

View File

@ -0,0 +1,15 @@
diff --git a/jellyfin_mpv_shim/conf.py b/jellyfin_mpv_shim/conf.py
index 0ab9326..ccedc17 100644
--- a/jellyfin_mpv_shim/conf.py
+++ b/jellyfin_mpv_shim/conf.py
@@ -88,8 +88,8 @@ class Settings(object):
"sync_revert_seek": True,
"sync_osd_message": True,
"screenshot_menu": True,
- "check_updates": True,
- "notify_updates": True,
+ "check_updates": False,
+ "notify_updates": False,
"lang": None,
"desktop_scale": 1.0,
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "jellyfin-mpv-shim-shader-pack";
version = "1.0.0";
src = fetchFromGitHub {
owner = "iwalton3";
repo = "default-shader-pack";
rev = "v${version}";
sha256 = "04y8gvjy4v3773b1kyan4dxqcf86b56x7v33m2k246jbn0rl2pgr";
};
installPhase = ''
mkdir -p $out
cp -a . $out
'';
meta = with stdenv.lib; {
homepage = "https://github.com/iwalton3/default-shader-pack";
description = "Preconfigured set of MPV shaders and configurations for MPV Shim media clients";
license = with licenses; [ mit lgpl3Plus unlicense ];
maintainers = with maintainers; [ jojosch ];
};
}

View File

@ -19,36 +19,55 @@ version=$(cd $kernel/lib/modules && ls -d *)
echo "kernel version is $version" echo "kernel version is $version"
# Determine the dependencies of each root module. # Determine the dependencies of each root module.
closure= mkdir -p $out/lib/modules/"$version"
touch closure
for module in $rootModules; do for module in $rootModules; do
echo "root module: $module" echo "root module: $module"
deps=$(modprobe --config no-config -d $kernel --set-version "$version" --show-depends "$module" \ modprobe --config no-config -d $kernel --set-version "$version" --show-depends "$module" \
| sed 's/^insmod //') \ | while read cmd module args; do
|| if test -z "$allowMissing"; then exit 1; fi case "$cmd" in
if [[ "$deps" != builtin* ]]; then builtin)
closure="$closure $deps" touch found
echo "$module" >>closure
echo " builtin dependency: $module";;
insmod)
touch found
if ! test -e "$module"; then
echo " dependency not found: $module"
exit 1
fi fi
done target=$(echo "$module" | sed "s^$NIX_STORE.*/lib/modules/^$out/lib/modules/^")
if test -e "$target"; then
echo "closure:" echo " dependency already copied: $module"
mkdir -p $out/lib/modules/"$version" continue
for module in $closure; do fi
target=$(echo $module | sed "s^$NIX_STORE.*/lib/modules/^$out/lib/modules/^") echo "$module" >>closure
if test -e "$target"; then continue; fi echo " copying dependency: $module"
if test \! -e "$module"; then continue; fi # XXX: to avoid error with "cp builtin builtin"
mkdir -p $(dirname $target) mkdir -p $(dirname $target)
echo $module cp "$module" "$target"
cp $module $target
# If the kernel is compiled with coverage instrumentation, it # If the kernel is compiled with coverage instrumentation, it
# contains the paths of the *.gcda coverage data output files # contains the paths of the *.gcda coverage data output files
# (which it doesn't actually use...). Get rid of them to prevent # (which it doesn't actually use...). Get rid of them to prevent
# the whole kernel from being included in the initrd. # the whole kernel from being included in the initrd.
nuke-refs $target nuke-refs "$target"
echo $target >> $out/insmod-list echo "$target" >> $out/insmod-list;;
*)
echo " unexpected modprobe output: $cmd $module"
exit 1;;
esac
done || test -n "$allowMissing"
if ! test -e found; then
echo " not found"
if test -z "$allowMissing"; then
exit 1
fi
else
rm found
fi
done done
mkdir -p $out/lib/firmware mkdir -p $out/lib/firmware
for module in $closure; do for module in $(cat closure); do
for i in $(modinfo -F firmware $module); do for i in $(modinfo -F firmware $module); do
mkdir -p "$out/lib/firmware/$(dirname "$i")" mkdir -p "$out/lib/firmware/$(dirname "$i")"
echo "firmware for $module: $i" echo "firmware for $module: $i"

View File

@ -85,11 +85,16 @@ let
runHook preBuild runHook preBuild
if [ ${deleteFlag} == "true" ]; then if [ ${deleteFlag} == "true" ]; then
if [ ! -d vendor ]; then
echo "vendor folder does not exist, 'deleteVendor' is not needed"
exit 10
else
rm -rf vendor rm -rf vendor
fi fi
fi
if [ -e vendor ]; then if [ -d vendor ]; then
echo "vendor folder exists, please set 'vendorSha256=null;' or 'deleteVendor=true;' in your expression" echo "vendor folder exists, please set 'vendorSha256 = null;' in your expression"
exit 10 exit 10
fi fi

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, python }: { stdenv, fetchFromGitHub, cmake, python }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.6.2"; version = "0.6.3";
pname = "docopt.cpp"; pname = "docopt.cpp";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "docopt"; owner = "docopt";
repo = "docopt.cpp"; repo = "docopt.cpp";
rev = "v${version}"; rev = "v${version}";
sha256 = "1rgkc8nsc2zz2lkyai0y68vrd6i6kbq63hm3vdza7ab6ghq0n1dd"; sha256 = "0cz3vv7g5snfbsqcf3q8bmd6kv5qp84gj3avwkn4vl00krw13bl7";
}; };
nativeBuildInputs = [ cmake python ]; nativeBuildInputs = [ cmake python ];
@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
postPatch = ''
substituteInPlace docopt.pc.in \
--replace "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" \
"@CMAKE_INSTALL_LIBDIR@"
'';
checkPhase = "LD_LIBRARY_PATH=$(pwd) python ./run_tests"; checkPhase = "LD_LIBRARY_PATH=$(pwd) python ./run_tests";
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -27,4 +33,3 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ knedlsepp ]; maintainers = with maintainers; [ knedlsepp ];
}; };
} }

View File

@ -60,7 +60,21 @@ stdenv.mkDerivation {
./opencl-install-dir.patch ./opencl-install-dir.patch
./disk_cache-include-dri-driver-path-in-cache-key.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch
./link-radv-with-ld_args_build_id.patch ./link-radv-with-ld_args_build_id.patch
] # do not prefix user provided dri-drivers-path ]
++ lib.optionals stdenv.hostPlatform.isMusl [
# Fix `-Werror=int-conversion` pthread warnings on musl.
# TODO: Remove when https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 is merged and available
(fetchpatch {
name = "nine_debug-Make-tid-more-type-correct";
# Patch adjusted for version `20.1`, before the big mesa dirs change
# `gallium: rename 'state tracker' to 'frontend'`.
# Patch for versions after that change is at
# https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e3b4745ef16d0e833300ad67044.patch
url = "https://gitlab.freedesktop.org/nh2/mesa/commit/3385c49684375f1153a52ed7ccda3f5135268a41.patch";
sha256 = "1ci694sqjll44c9g2md4krhk6qlvq51r7ad5rnnfdnf3l8ys0i50";
})
]
# do not prefix user provided dri-drivers-path
++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch { ++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch"; url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch";
sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9"; sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9";

View File

@ -1,20 +1,18 @@
{ lib, buildDunePackage, fetchFromGitHub, cppo }: { lib, buildDunePackage, fetchurl, cppo }:
buildDunePackage rec { buildDunePackage rec {
pname = "merlin-extend"; pname = "merlin-extend";
version = "0.4"; version = "0.6";
src = fetchFromGitHub { src = fetchurl {
owner = "let-def"; url = "https://github.com/let-def/merlin-extend/releases/download/v${version}/merlin-extend-v${version}.tbz";
repo = pname; sha256 = "0hvc4mz92x3rl2dxwrhvhzwl4gilnyvvwcqgr45vmdpyjyp3dwn2";
sha256 = "1dxiqmm7ry24gvw6p9n4mrz37mnq4s6m8blrccsv3rb8yq82acx9";
rev = "v${version}";
}; };
buildInputs = [ cppo ]; buildInputs = [ cppo ];
meta = with lib; { meta = with lib; {
inherit (src.meta) homepage; homepage = "https://github.com/let-def/merlin-extend";
description = "SDK to extend Merlin"; description = "SDK to extend Merlin";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.volth ]; maintainers = [ maintainers.volth ];

View File

@ -6,11 +6,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}"; name = "ocaml-${pname}-${version}";
version = "10.0.0"; version = "13.0.0";
src = fetchurl { src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz"; url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "0cdyg6vaic4n58w80qriwvaq1c40ng3fh74ilxrwajbq163k055q"; sha256 = "1fg77hg4ibidkv1x8hhzl8z3rzmyymn8m4i35jrdibb8adigi8v2";
}; };
buildInputs = [ ocaml findlib ocamlbuild topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];

View File

@ -1,35 +0,0 @@
{ stdenv
, buildPythonPackage
, fetchgit
, isPy3k
}:
buildPythonPackage {
version = "asynkdev";
pname = "caldavclientlibrary-asynk";
src = fetchgit {
url = "https://github.com/skarra/CalDAVClientLibrary.git";
rev = "06699b08190d50cc2636b921a654d67db0a967d1";
sha256 = "157q32251ac9x3gdshgrjwsy48nq74vrzviswvph56h9wa8ksnnk";
};
disabled = isPy3k;
meta = with stdenv.lib; {
description = "A Python library and tool for CalDAV";
longDescription = ''
CalDAVCLientLibrary is a Python library and tool for CalDAV.
This package is the unofficial CalDAVCLientLibrary Python
library maintained by the author of Asynk and is needed for
that package.
'';
homepage = "https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/";
maintainers = with maintainers; [ pjones ];
broken = true; # 2018-04-11
};
}

View File

@ -1,33 +1,38 @@
{ stdenv, fetchFromGitHub, buildPythonPackage, { stdenv, fetchFromGitHub, buildPythonPackage,
lxml, tzlocal, python-dateutil, pygments, future, requests-kerberos, pythonOlder,
lxml, tzlocal, python-dateutil, pygments, requests-kerberos,
defusedxml, cached-property, isodate, requests_ntlm, dnspython, defusedxml, cached-property, isodate, requests_ntlm, dnspython,
psutil, requests-mock, pyyaml psutil, requests-mock, pyyaml,
oauthlib, requests_oauthlib,
flake8,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "exchangelib"; pname = "exchangelib";
version = "1.12.2"; version = "3.2.1";
disabled = pythonOlder "3.5";
# tests are not present in the PyPI version # tests are not present in the PyPI version
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ecederstrand"; owner = "ecederstrand";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1p24fq6f46j0qd0ccb64mncxbnm2n9w0sqpl4zk113caaaxkpjil"; sha256 = "1sh780q2iwdm3bnlnfdacracf0n7jhbv0g39cdx65v3d510zp4jv";
}; };
# one test is failing due to it trying to send a request to example.com checkInputs = [ psutil requests-mock pyyaml
patches = [ ./skip_failing_test.patch ]; flake8
checkInputs = [ psutil requests-mock pyyaml ]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
lxml tzlocal python-dateutil pygments requests-kerberos lxml tzlocal python-dateutil pygments requests-kerberos
future defusedxml cached-property isodate requests_ntlm dnspython ]; defusedxml cached-property isodate requests_ntlm dnspython
oauthlib requests_oauthlib
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Client for Microsoft Exchange Web Services (EWS)"; description = "Client for Microsoft Exchange Web Services (EWS)";
homepage = "https://github.com/ecederstrand/exchangelib"; homepage = "https://github.com/ecederstrand/exchangelib";
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ catern ]; maintainers = with maintainers; [ catern ];
broken = true;
}; };
} }

View File

@ -3,14 +3,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "jellyfin-apiclient-python"; pname = "jellyfin-apiclient-python";
version = "1.5.1"; version = "1.6.1";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "iwalton3"; owner = "iwalton3";
repo = "jellyfin-apiclient-python"; repo = "jellyfin-apiclient-python";
rev = "v${version}"; rev = "v${version}";
sha256 = "1mzs4i9c4cf7pmymsyzs8x17hvjs8g9wr046l4f85rkzmz23v1rp"; sha256 = "0f7czq83ic22fz1vnf0cavb7l3grcxxd5yyw9wcjz3g1j2d76735";
}; };
propagatedBuildInputs = [ requests websocket_client ]; propagatedBuildInputs = [ requests websocket_client ];

View File

@ -1,29 +0,0 @@
{ lib, fetchFromGitHub, buildPythonPackage, isPyPy, isPy3k, libbfd, libopcodes }:
buildPythonPackage {
pname = "pybfd";
version = "-0.1.1.2017-12-31";
disabled = isPyPy || isPy3k;
src = fetchFromGitHub {
owner = "orivej";
repo = "pybfd";
rev = "a10ada53f2a79de7f62f209567806ef1e91794c7";
sha256 = "0sxzhlqjyvvx1zr3qrkb57z6s3g6k3ksyn65fdm9lvl0k4dv2k9w";
};
LIBBFD_INCLUDE_DIR = "${libbfd.dev}/include";
LIBBFD_LIBRARY = "${libbfd}/lib/libbfd.so";
LIBOPCODES_INCLUDE_DIR = "${libopcodes.dev}/include";
LIBOPCODES_LIBRARY = "${libopcodes}/lib/libopcodes.so";
meta = {
homepage = "https://github.com/Groundworkstech/pybfd";
description = "A Python interface to the GNU Binary File Descriptor (BFD) library";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ orivej ];
broken = true;
};
}

View File

@ -11,11 +11,11 @@ let
ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; }); ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
in buildPythonPackage rec { in buildPythonPackage rec {
pname = "reportlab"; pname = "reportlab";
version = "3.5.46"; version = "3.5.47";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "56d71b78e7e4bb31a93e1dff13c22d19b7fb3890b021a39b6c3661b095bd7de8"; sha256 = "0gw0902yjszwxk0air69in7nk4h2q36r96ga3r4bz0p0cnmagcj5";
}; };
checkInputs = [ glibcLocales ]; checkInputs = [ glibcLocales ];
@ -30,6 +30,7 @@ in buildPythonPackage rec {
# Remove the tests that require Vera fonts installed # Remove the tests that require Vera fonts installed
rm tests/test_graphics_render.py rm tests/test_graphics_render.py
rm tests/test_graphics_charts.py
''; '';
checkPhase = '' checkPhase = ''

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "bazel-kazel"; pname = "bazel-kazel";
version = "0.0.10"; version = "0.0.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes"; owner = "kubernetes";
repo = "repo-infra"; repo = "repo-infra";
rev = "v${version}"; rev = "v${version}";
sha256 = "1l3dz77h58v1sr7k8cabq5bbdif5w96zdcapax69cv1frr9jbrcb"; sha256 = "0fcm7gjsv70qxnwbgy2sgx7clyhlfnkvdxsjgcrkaf5xds8hpys7";
}; };
vendorSha256 = "1pzkjh4n9ai8yqi98bkdhicjdr2l8j3fckl5n90c2gdcwqyxvgkf"; vendorSha256 = "1pzkjh4n9ai8yqi98bkdhicjdr2l8j3fckl5n90c2gdcwqyxvgkf";

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "CastXML"; pname = "CastXML";
version = "0.2.0"; version = "0.3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1qpgr5hyb692h7l5igmq53m6a6vi4d9qp8ks893cflfx9955h3ip"; sha256 = "0ypj67xrgj228myp7l1gsjw1ja97q68nmj98dsd33srmiayqraj4";
}; };
nativeBuildInputs = [ cmake ] ++ stdenv.lib.optionals withMan [ pythonPackages.sphinx ]; nativeBuildInputs = [ cmake ] ++ stdenv.lib.optionals withMan [ pythonPackages.sphinx ];

View File

@ -1,14 +1,46 @@
{ stdenv, fetchFromGitHub }: { stdenv
, fetchFromGitHub
, makeWrapper
, coreutils
, gawk
, git
, gnugrep
, ncurses
, utillinux
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-quick-stats"; pname = "git-quick-stats";
version = "2.1.4"; version = "2.1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "git-quick-stats"; repo = "git-quick-stats";
owner = "arzzen"; owner = "arzzen";
rev = version; rev = version;
sha256 = "0fg0fijghcz7hvbc9y8dfksz0qmsz700kc2mfb03y90kja99v68y"; sha256 = "0fg0fijghcz7hvbc9y8dfksz0qmsz700kc2mfb03y90kja99v68y";
}; };
PREFIX = builtins.placeholder "out";
nativeBuildInputs = [ makeWrapper ];
installFlags = [
"PREFIX=${builtins.placeholder "out"}"
];
postInstall =
let
path = stdenv.lib.makeBinPath [
coreutils
gawk
git
gnugrep
ncurses
utillinux
];
in
''
wrapProgram $out/bin/git-quick-stats --suffix PATH : ${path}
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://github.com/arzzen/git-quick-stats"; homepage = "https://github.com/arzzen/git-quick-stats";
description = "A simple and efficient way to access various statistics in git repository"; description = "A simple and efficient way to access various statistics in git repository";

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "asls"; pname = "asls";
version = "0.4.0"; version = "0.4.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/saulecabrera/asls/releases/download/v${version}/bin.tar.gz"; url = "https://github.com/saulecabrera/asls/releases/download/v${version}/bin.tar.gz";
sha256 = "0zy89fvdhk2bj41fzx349gi8237ww96s21hlg6blqmfhvfxsnszg"; sha256 = "14dcms0xl6dncwf16vixvf7rq7g15iwq8h4vja0dsiisyfm08aks";
}; };
buildInputs = [ erlangR22 ]; buildInputs = [ erlangR22 ];

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "operator-sdk"; pname = "operator-sdk";
version = "0.19.2"; version = "1.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "operator-framework"; owner = "operator-framework";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1lmnxw6l6lknvbwmw5xh238i0j452sib37fw8ybxp64zwvj2sac0"; sha256 = "1s59rgr0ssics1487mvx0h37zs7dfjimsvkbs2d8wqc3r8asw0g4";
}; };
vendorSha256 = "1xk3zw8w2fynww0z4d66nlclhjf52bk4cv3bh51yyd1mr808lip5"; vendorSha256 = "0xvjsiaa3qvlix1fm07z080vh79wg0xyx2s6jqnqn7fb3nh65kn7";
doCheck = false; doCheck = false;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "btfs"; pname = "btfs";
version = "2.21"; version = "2.22";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "johang"; owner = "johang";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0zqkzfc49jl9kn3m0cg7q0156xyzrdl5w4v70p16sqxdly86mwb0"; sha256 = "1z88bk1z4sns3jdn56x83mvh06snxg0lr5h4v0c24lzlf5wbdifz";
}; };
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
''; '';
postFixup = '' postFixup = ''
patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva ]} \ patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva stdenv.cc.cc.lib ]} \
$out/lib/intel-opencl/libigdrcl.so $out/lib/intel-opencl/libigdrcl.so
''; '';

View File

@ -7,9 +7,10 @@ let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wi
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "rtlwifi_new"; pname = "rtlwifi_new";
version = "2019-08-21"; version = "2019-08-21";
# When updating see https://github.com/lwfinger/rtl8723be/issues/17#issuecomment-657326751
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lwfinger"; owner = "rtlwifi-linux";
repo = "rtlwifi_new"; repo = "rtlwifi_new";
rev = "a108e3de87c2ed30b71c3c4595b79ab7a2f9e348"; rev = "a108e3de87c2ed30b71c3c4595b79ab7a2f9e348";
sha256 = "15kjs9i9vvmn1cdzccd5cljf3m45r4ssm65klkj2fdkf3kljj38k"; sha256 = "15kjs9i9vvmn1cdzccd5cljf3m45r4ssm65klkj2fdkf3kljj38k";

View File

@ -5,11 +5,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
version = "5.4"; version = "5.6";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/${pname}/${pname}/${name}/${name}.tar.gz"; url = "mirror://sourceforge/project/${pname}/${pname}/${name}/${name}.tar.gz";
sha256 = "19fd9r233wkjk8gdxn6qsjgfijiw67a48xhgbm2kq46bx80yf3pg"; sha256 = "18ksld775balh0yx2icj7fya9fvjkfgvwznvccdlmhi3zidg550h";
}; };
preConfigure = '' preConfigure = ''
@ -31,6 +31,6 @@ in stdenv.mkDerivation rec {
homepage = "http://bftpd.sf.net/"; homepage = "http://bftpd.sf.net/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];
platforms = platforms.linux; platforms = platforms.all;
}; };
} }

View File

@ -0,0 +1,28 @@
{ stdenv
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "timescale-prometheus";
version = "0.1.0-beta.1";
src = fetchFromGitHub {
owner = "timescale";
repo = pname;
rev = "${version}";
sha256 = "1q6xky4h9x4j2f0f6ajxwlnqq1pgd2n0z1ldrcifyamd90qkwcm5";
};
vendorSha256 = "sha256:1vp30y59w8mksqxy9ic37vj1jw4lbq24ahhb08a72rysylw94r57";
doCheck = false;
meta = with stdenv.lib; {
description = "An open-source analytical platform for Prometheus metrics";
homepage = "https://github.com/timescale/timescale-prometheus";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [ maintainers."0x4A6F" ];
};
}

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl, help2man}: {stdenv, fetchurl, help2man}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.6.2.605"; version = "1.6.3.622";
pname = "fatsort"; pname = "fatsort";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz"; url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz";
sha256 = "1dzzsl3a1ampari424vxkma0i87qkbgkgm2169x9xf3az0vgmjh8"; sha256 = "1z2nabm38lg56h05yx3jjsndbqxk1zbjcisrczzamypn13m98728";
}; };
patches = [ ./fatsort-Makefiles.patch ]; patches = [ ./fatsort-Makefiles.patch ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "s3fs-fuse"; pname = "s3fs-fuse";
version = "1.86"; version = "1.87";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "s3fs-fuse"; owner = "s3fs-fuse";
repo = "s3fs-fuse"; repo = "s3fs-fuse";
rev = "v${version}"; rev = "v${version}";
sha256 = "115zqbspr17xmidhizjmsqv9c7ql2jhmxws8wh59bpz2335kn0q7"; sha256 = "09ib3sh6vg3z7cpccj3ysgpdyf84a98lf6nz15a61r4l27h111f2";
}; };
buildInputs = [ curl openssl libxml2 ] buildInputs = [ curl openssl libxml2 ]

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "chezmoi"; pname = "chezmoi";
version = "1.8.3"; version = "1.8.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "twpayne"; owner = "twpayne";
repo = "chezmoi"; repo = "chezmoi";
rev = "v${version}"; rev = "v${version}";
sha256 = "01px0nj2llas835g1hf8lvhigip4jm4innjacz18c7nf1ddwn7ss"; sha256 = "0m8ik01y1lag3mgg3g4rxvzndh86b972hv2702dqs28l5zy5h3mv";
}; };
vendorSha256 = "1gzg73lrx73rhb9yj6yakv95m8rz1rhjgqjl1a78c8nvaii27a9x"; vendorSha256 = "18s60k7y64z12lx9lgj13fl1jh0aiqinwxrsz751d2iqhgdi2jja";
doCheck = false; doCheck = false;

View File

@ -1,47 +0,0 @@
{ stdenv, fetchurl, python2, python2Packages, makeWrapper }:
stdenv.mkDerivation rec {
version = "2.0.0";
pname = "ASynK";
src = fetchurl {
name = "${pname}-${version}.tar.gz";
url = "https://github.com/skarra/ASynK/archive/v${version}.tar.gz";
sha256 = "1bp30437mnls0kzm0525p3bg5nw9alpqrqhw186f6zp9i4y5znp1";
};
propagatedBuildInputs = with python2Packages;
[ python2 makeWrapper tornado requests dateutil
vobject gdata caldavclientlibrary-asynk ];
installPhase = ''
mkdir -p $out/bin $out/lib
cp asynk.py $out/bin/
cp state.init.json $out/
cp -R config $out/
cp lib/*.py $out/lib # */
cp -R lib/s $out/lib/
cp -R asynk $out/
substituteInPlace $out/bin/asynk.py \
--replace "ASYNK_BASE_DIR = os.path.dirname(os.path.abspath(__file__))" "ASYNK_BASE_DIR = \"$out\""
for file in `find $out/asynk -type f`; do
# Oh yeah, tab characters!
substituteInPlace $file \
--replace 'from vobject import vobject' 'from vobject import *' \
--replace 'from vobject import vobject' 'from vobject import *'
done
wrapProgram "$out/bin/asynk.py" \
--prefix PYTHONPATH : "$PYTHONPATH"
'';
meta = with stdenv.lib; {
homepage = "http://asynk.io/";
description = "Flexible contacts synchronization program";
license = licenses.agpl3;
maintainers = [ ];
platforms = platforms.unix;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fping-4.4"; name = "fping-5.0";
src = fetchurl { src = fetchurl {
url = "https://www.fping.org/dist/${name}.tar.gz"; url = "https://www.fping.org/dist/${name}.tar.gz";
sha256 = "049dnyr6d869kwrnfhkj3afifs3219fy6hv7kmsb3irdlmjlp1cz"; sha256 = "1f2prmii4fyl44cfykp40hp4jjhicrhddh9v3dfs11j6nsww0f7d";
}; };
configureFlags = [ "--enable-ipv6" "--enable-ipv4" ]; configureFlags = [ "--enable-ipv6" "--enable-ipv4" ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "tendermint"; pname = "tendermint";
version = "0.33.6"; version = "0.33.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tendermint"; owner = "tendermint";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "17zy18s9373f3fp6bqjgj02irzasfv3b6axi84kw7da17mq68vnv"; sha256 = "1dcr60gmbkb6833n49mjmlr082ahlv7alaqycl8g3d4f93kdm5c3";
}; };
vendorSha256 = "0i0n89lal99fqnzva51kp9f7wzqsfmncpshwxhq26kvykp7ji7sw"; vendorSha256 = "0i0n89lal99fqnzva51kp9f7wzqsfmncpshwxhq26kvykp7ji7sw";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bpytop"; pname = "bpytop";
version = "1.0.0"; version = "1.0.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aristocratos"; owner = "aristocratos";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0cxyrk5a9j0ymll9h5b6jq48yjy9srcxh4rmsqk8w0d14prmflgg"; sha256 = "1mrzl5ry5janifykp58gf5g7xw7522wvpp8hgq2hpfx52z6my1bj";
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aha"; pname = "aha";
version = "0.5"; version = "0.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
sha256 = "0byml4rmpiaalwx69jcixl3yvpvwmwiss1jzgsqwshilb2p4qnmz"; sha256 = "1gywad0rvvz3c5balz8cxsnx0562hj2ngzqyr8zsy2mb4pn0lpgv";
rev = version; rev = version;
repo = "aha"; repo = "aha";
owner = "theZiz"; owner = "theZiz";
@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/theZiz/aha"; homepage = "https://github.com/theZiz/aha";
license = with licenses; [ lgpl2Plus mpl11 ]; license = with licenses; [ lgpl2Plus mpl11 ];
maintainers = with maintainers; [ pSub ]; maintainers = with maintainers; [ pSub ];
platforms = platforms.linux; platforms = platforms.all;
}; };
} }

View File

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "vale"; pname = "vale";
version = "2.3.0"; version = "2.3.2";
subPackages = [ "." ]; subPackages = [ "." ];
outputs = [ "out" "data" ]; outputs = [ "out" "data" ];
@ -11,7 +11,7 @@ buildGoModule rec {
owner = "errata-ai"; owner = "errata-ai";
repo = "vale"; repo = "vale";
rev = "v${version}"; rev = "v${version}";
sha256 = "0jxlh8dlhhqw1mrhp42nywnp6wwpk7nw373s89lp3khhqwb1n08f"; sha256 = "0accs8ygg2h5hk8n4d5hs1fpxp9mlbzic6f4dwrygi463z7c3icc";
}; };
vendorSha256 = null; vendorSha256 = null;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "html-xml-utils"; pname = "html-xml-utils";
version = "7.8"; version = "7.9";
src = fetchurl { src = fetchurl {
url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz"; url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
sha256 = "0p8df3c6mw879vdi8l63kbdqylkf1is10b067mh9kipgfy91rd4s"; sha256 = "0gs3xvdbzhk5k12i95p5d4fgkkaldnlv45sch7pnncb0lrpcjsnq";
}; };
buildInputs = [curl libiconv]; buildInputs = [curl libiconv];

View File

@ -2431,8 +2431,6 @@ in
assh = callPackage ../tools/networking/assh { }; assh = callPackage ../tools/networking/assh { };
asynk = callPackage ../tools/networking/asynk { };
b2sum = callPackage ../tools/security/b2sum { b2sum = callPackage ../tools/security/b2sum {
inherit (llvmPackages) openmp; inherit (llvmPackages) openmp;
}; };
@ -16534,6 +16532,8 @@ in
asciidoc = asciidoc-full; asciidoc = asciidoc-full;
}; };
timescale-prometheus = callPackage ../servers/monitoring/timescale-prometheus { };
timescaledb-parallel-copy = callPackage ../development/tools/database/timescaledb-parallel-copy { }; timescaledb-parallel-copy = callPackage ../development/tools/database/timescaledb-parallel-copy { };
timescaledb-tune = callPackage ../development/tools/database/timescaledb-tune { }; timescaledb-tune = callPackage ../development/tools/database/timescaledb-tune { };

View File

@ -2062,8 +2062,6 @@ in {
caldav = callPackage ../development/python-modules/caldav { }; caldav = callPackage ../development/python-modules/caldav { };
caldavclientlibrary-asynk = callPackage ../development/python-modules/caldavclientlibrary-asynk { };
biopython = callPackage ../development/python-modules/biopython { }; biopython = callPackage ../development/python-modules/biopython { };
bedup = callPackage ../development/python-modules/bedup { }; bedup = callPackage ../development/python-modules/bedup { };
@ -5483,8 +5481,6 @@ in {
batchspawner = callPackage ../development/python-modules/batchspawner { }; batchspawner = callPackage ../development/python-modules/batchspawner { };
pybfd = callPackage ../development/python-modules/pybfd { };
pybigwig = callPackage ../development/python-modules/pybigwig { }; pybigwig = callPackage ../development/python-modules/pybigwig { };
py2bit = callPackage ../development/python-modules/py2bit { }; py2bit = callPackage ../development/python-modules/py2bit { };