Merge master into staging-next
This commit is contained in:
commit
fa96a4fa79
|
@ -6621,6 +6621,15 @@
|
|||
githubId = 15373888;
|
||||
name = "Claudius Holeksa";
|
||||
};
|
||||
ken-matsui = {
|
||||
email = "nix@kmatsui.me";
|
||||
github = "ken-matsui";
|
||||
githubId = 26405363;
|
||||
name = "Ken Matsui";
|
||||
keys = [{
|
||||
fingerprint = "3611 8CD3 6DE8 3334 B44A DDE4 1033 60B3 298E E433";
|
||||
}];
|
||||
};
|
||||
kennyballou = {
|
||||
email = "kb@devnulllabs.io";
|
||||
github = "kennyballou";
|
||||
|
@ -8929,6 +8938,16 @@
|
|||
githubId = 818502;
|
||||
name = "Nathan Yong";
|
||||
};
|
||||
natsukium = {
|
||||
email = "nixpkgs@natsukium.com";
|
||||
github = "natsukium";
|
||||
githubId = 25083790;
|
||||
name = "Tomoya Otabi";
|
||||
keys = [{
|
||||
longkeyid = "ed25519/0x9EA45A31DB994C53";
|
||||
fingerprint = "3D14 6004 004C F882 D519 6CD4 9EA4 5A31 DB99 4C53";
|
||||
}];
|
||||
};
|
||||
natto1784 = {
|
||||
email = "natto@weirdnatto.in";
|
||||
github = "natto1784";
|
||||
|
@ -9039,6 +9058,15 @@
|
|||
github = "nessdoor";
|
||||
githubId = 25993494;
|
||||
};
|
||||
netali = {
|
||||
name = "Jennifer Graul";
|
||||
email = "me@netali.de";
|
||||
github = "NetaliDev";
|
||||
githubId = 15304894;
|
||||
keys = [{
|
||||
fingerprint = "F729 2594 6F58 0B05 8FB3 F271 9C55 E636 426B 40A9";
|
||||
}];
|
||||
};
|
||||
netcrns = {
|
||||
email = "jason.wing@gmx.de";
|
||||
github = "netcrns";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
x86_64-linux = "/nix/store/qx384jvdjk2vzd2wpr9pmkcimk12g3as-nix-2.10.2";
|
||||
i686-linux = "/nix/store/8mhknp6flnlnbj11zmskb3972ia1mdl5-nix-2.10.2";
|
||||
aarch64-linux = "/nix/store/digzqw2vgdsg0fdzf7qlwbl4xii9i458-nix-2.10.2";
|
||||
x86_64-darwin = "/nix/store/w62jxmpvjykw707qr9s5nxi90r35xqmd-nix-2.10.2";
|
||||
aarch64-darwin = "/nix/store/6pjrn22f57n854x88a9kkbqnxw1yai73-nix-2.10.2";
|
||||
x86_64-linux = "/nix/store/3af6g226v4hsv6x7xzh23d6wqyq0nzjp-nix-2.10.3";
|
||||
i686-linux = "/nix/store/43xxh2jip6rpdhylc5z9a5fxx54dw206-nix-2.10.3";
|
||||
aarch64-linux = "/nix/store/6qw3r57nra08ars8j8zyj3fl8lz4cvnd-nix-2.10.3";
|
||||
x86_64-darwin = "/nix/store/3b7qrm0qjw57fmznrsvm0ai568i89hc2-nix-2.10.3";
|
||||
aarch64-darwin = "/nix/store/gp7k17iy1n7hgf97qwnxw28c6v9nhb1i-nix-2.10.3";
|
||||
}
|
||||
|
|
|
@ -5,164 +5,136 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.services.minidlna;
|
||||
port = 8200;
|
||||
settingsFormat = pkgs.formats.keyValue { listsAsDuplicateKeys = true; };
|
||||
settingsFile = settingsFormat.generate "minidlna.conf" cfg.settings;
|
||||
in
|
||||
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.minidlna.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description =
|
||||
''
|
||||
Whether to enable MiniDLNA, a simple DLNA server. It serves
|
||||
media files such as video and music to DLNA client devices
|
||||
such as televisions and media players.
|
||||
'';
|
||||
};
|
||||
options.services.minidlna.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable MiniDLNA, a simple DLNA server.
|
||||
It serves media files such as video and music to DLNA client devices
|
||||
such as televisions and media players. If you use the firewall consider
|
||||
adding the following: <literal>services.minidlna.openFirewall = true;</literal>
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.mediaDirs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "/data/media" "V,/home/alice/video" ];
|
||||
description =
|
||||
''
|
||||
Directories to be scanned for media files. The prefixes
|
||||
<literal>A,</literal>, <literal>V,</literal> and
|
||||
options.services.minidlna.openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to open both HTTP (TCP) and SSDP (UDP) ports in the firewall.
|
||||
'';
|
||||
};
|
||||
|
||||
options.services.minidlna.settings = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
The contents of MiniDLNA's configuration file.
|
||||
When the service is activated, a basic template is generated
|
||||
from the current options opened here.
|
||||
'';
|
||||
type = types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options.media_dir = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "/data/media" "V,/home/alice/video" ];
|
||||
description = ''
|
||||
Directories to be scanned for media files.
|
||||
The prefixes <literal>A,</literal>,<literal>V,</literal> and
|
||||
<literal>P,</literal> restrict a directory to audio, video
|
||||
or image files. The directories must be accessible to the
|
||||
or image files. The directories must be accessible to the
|
||||
<literal>minidlna</literal> user account.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.friendlyName = mkOption {
|
||||
type = types.str;
|
||||
default = "${config.networking.hostName} MiniDLNA";
|
||||
defaultText = literalExpression ''"''${config.networking.hostName} MiniDLNA"'';
|
||||
example = "rpi3";
|
||||
description =
|
||||
''
|
||||
Name that the DLNA server presents to clients.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.rootContainer = mkOption {
|
||||
type = types.str;
|
||||
default = ".";
|
||||
example = "B";
|
||||
description =
|
||||
''
|
||||
Use a different container as the root of the directory tree presented
|
||||
to clients. The possible values are:
|
||||
- "." - standard container
|
||||
- "B" - "Browse Directory"
|
||||
- "M" - "Music"
|
||||
- "P" - "Pictures"
|
||||
- "V" - "Video"
|
||||
- Or, you can specify the ObjectID of your desired root container
|
||||
(eg. 1$F for Music/Playlists)
|
||||
If you specify "B" and the client device is audio-only then
|
||||
"Music/Folders" will be used as root.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.loglevel = mkOption {
|
||||
type = types.str;
|
||||
default = "warn";
|
||||
example = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn";
|
||||
description =
|
||||
''
|
||||
Defines the type of messages that should be logged, and down to
|
||||
which level of importance they should be considered.
|
||||
|
||||
The possible types are “artwork”, “database”, “general”, “http”,
|
||||
“inotify”, “metadata”, “scanner”, “ssdp” and “tivo”.
|
||||
|
||||
The levels are “off”, “fatal”, “error”, “warn”, “info” and
|
||||
“debug”, listed here in order of decreasing importance. “off”
|
||||
turns off logging messages entirely, “fatal” logs the most
|
||||
critical messages only, and so on down to “debug” that logs every
|
||||
single messages.
|
||||
|
||||
The types are comma-separated, followed by an equal sign (‘=’),
|
||||
followed by a level that applies to the preceding types. This can
|
||||
be repeated, separating each of these constructs with a comma.
|
||||
|
||||
Defaults to “general,artwork,database,inotify,scanner,metadata,
|
||||
http,ssdp,tivo=warn” which logs every type of message at the
|
||||
“warn” level.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.announceInterval = mkOption {
|
||||
type = types.int;
|
||||
default = 895;
|
||||
description =
|
||||
''
|
||||
};
|
||||
options.notify_interval = mkOption {
|
||||
type = types.int;
|
||||
default = 90000;
|
||||
description = ''
|
||||
The interval between announces (in seconds).
|
||||
Instead of waiting on announces, one can open port UDP 1900 or
|
||||
set <literal>openFirewall</literal> option to use SSDP discovery.
|
||||
Furthermore announce interval has now been set as 90000 in order
|
||||
to prevent disconnects with certain clients and to rely solely
|
||||
on the SSDP method.
|
||||
|
||||
By default miniDLNA will announce its presence on the network
|
||||
approximately every 15 minutes.
|
||||
Lower values (e.g. 60 seconds) should be used if one does not
|
||||
want to utilize SSDP. By default miniDLNA will announce its
|
||||
presence on the network approximately every 15 minutes. Many
|
||||
people prefer shorter announce intervals on their home networks,
|
||||
especially when DLNA clients are started on demand.
|
||||
|
||||
Many people prefer shorter announce intervals (e.g. 60 seconds)
|
||||
on their home networks, especially when DLNA clients are
|
||||
started on demand.
|
||||
Some relevant information can be found here:
|
||||
https://sourceforge.net/p/minidlna/discussion/879957/thread/1389d197/
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.config = mkOption {
|
||||
type = types.lines;
|
||||
description =
|
||||
''
|
||||
The contents of MiniDLNA's configuration file.
|
||||
When the service is activated, a basic template is generated
|
||||
from the current options opened here.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
# Not exhaustive example
|
||||
# Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.
|
||||
enable_tivo=no
|
||||
# SSDP notify interval, in seconds.
|
||||
notify_interval=10
|
||||
# maximum number of simultaneous connections
|
||||
# note: many clients open several simultaneous connections while
|
||||
# streaming
|
||||
max_connections=50
|
||||
# set this to yes to allow symlinks that point outside user-defined
|
||||
# media_dirs.
|
||||
wide_links=yes
|
||||
'';
|
||||
description =
|
||||
''
|
||||
Extra minidlna options not yet opened for configuration here
|
||||
(strict_dlna, model_number, model_name, etc...). This is appended
|
||||
to the current service already provided.
|
||||
'';
|
||||
};
|
||||
options.port = mkOption {
|
||||
type = types.port;
|
||||
default = 8200;
|
||||
description = "Port number for HTTP traffic (descriptions, SOAP, media transfer).";
|
||||
};
|
||||
options.db_dir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/cache/minidlna";
|
||||
example = "/tmp/minidlna";
|
||||
description = "Specify the directory where you want MiniDLNA to store its database and album art cache.";
|
||||
};
|
||||
options.friendly_name = mkOption {
|
||||
type = types.str;
|
||||
default = "${config.networking.hostName} MiniDLNA";
|
||||
defaultText = literalExpression "config.networking.hostName";
|
||||
example = "rpi3";
|
||||
description = "Name that the DLNA server presents to clients.";
|
||||
};
|
||||
options.root_container = mkOption {
|
||||
type = types.str;
|
||||
default = ".";
|
||||
example = "B";
|
||||
description = "Use a different container as the root of the directory tree presented to clients.";
|
||||
};
|
||||
options.log_level = mkOption {
|
||||
type = types.str;
|
||||
default = "warn";
|
||||
example = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn";
|
||||
description = "Defines the type of messages that should be logged and down to which level of importance.";
|
||||
};
|
||||
options.inotify = mkOption {
|
||||
type = types.enum [ "yes" "no" ];
|
||||
default = "no";
|
||||
description = "Whether to enable inotify monitoring to automatically discover new files.";
|
||||
};
|
||||
options.enable_tivo = mkOption {
|
||||
type = types.enum [ "yes" "no" ];
|
||||
default = "no";
|
||||
description = "Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.";
|
||||
};
|
||||
options.wide_links = mkOption {
|
||||
type = types.enum [ "yes" "no" ];
|
||||
default = "no";
|
||||
description = "Set this to yes to allow symlinks that point outside user-defined media_dirs.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "services" "minidlna" "config" ] "")
|
||||
(mkRemovedOptionModule [ "services" "minidlna" "extraConfig" ] "")
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "loglevel"] [ "services" "minidlna" "settings" "log_level" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "rootContainer"] [ "services" "minidlna" "settings" "root_container" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "mediaDirs"] [ "services" "minidlna" "settings" "media_dir" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "friendlyName"] [ "services" "minidlna" "settings" "friendly_name" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "announceInterval"] [ "services" "minidlna" "settings" "notify_interval" ])
|
||||
];
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
services.minidlna.config =
|
||||
''
|
||||
port=${toString port}
|
||||
friendly_name=${cfg.friendlyName}
|
||||
db_dir=/var/cache/minidlna
|
||||
log_level=${cfg.loglevel}
|
||||
inotify=yes
|
||||
root_container=${cfg.rootContainer}
|
||||
${concatMapStrings (dir: ''
|
||||
media_dir=${dir}
|
||||
'') cfg.mediaDirs}
|
||||
notify_interval=${toString cfg.announceInterval}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.settings.port ];
|
||||
networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ 1900 ];
|
||||
|
||||
users.users.minidlna = {
|
||||
description = "MiniDLNA daemon user";
|
||||
|
@ -186,7 +158,7 @@ in
|
|||
PIDFile = "/run/minidlna/pid";
|
||||
ExecStart =
|
||||
"${pkgs.minidlna}/sbin/minidlnad -S -P /run/minidlna/pid" +
|
||||
" -f ${pkgs.writeText "minidlna.conf" cfg.config}";
|
||||
" -f ${settingsFile}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -354,6 +354,7 @@ in
|
|||
plasma-browser-integration
|
||||
konsole
|
||||
oxygen
|
||||
(lib.getBin qttools) # Expose qdbus in PATH
|
||||
];
|
||||
in
|
||||
requiredPackages
|
||||
|
@ -399,9 +400,10 @@ in
|
|||
services.accounts-daemon.enable = true;
|
||||
# when changing an account picture the accounts-daemon reads a temporary file containing the image which systemsettings5 may place under /tmp
|
||||
systemd.services.accounts-daemon.serviceConfig.PrivateTmp = false;
|
||||
services.power-profiles-daemon.enable = mkDefault true;
|
||||
services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
|
||||
services.udisks2.enable = true;
|
||||
services.upower.enable = config.powerManagement.enable;
|
||||
services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
|
||||
# Extra UDEV rules used by Solid
|
||||
|
|
|
@ -107,11 +107,14 @@ import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ..
|
|||
)
|
||||
|
||||
# don't bother to test LDAP authentification
|
||||
# exclude resql test due to recent postgres 14.4 update
|
||||
# see bugreport here https://redmine.postgresql.org/issues/7527
|
||||
with subtest("run browser test"):
|
||||
machine.succeed(
|
||||
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
|
||||
&& python regression/runtests.py --pkg browser --exclude \
|
||||
browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login'
|
||||
&& python regression/runtests.py \
|
||||
--pkg browser \
|
||||
--exclude browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login,resql'
|
||||
)
|
||||
|
||||
# fontconfig is necessary for chromium to run
|
||||
|
@ -123,10 +126,11 @@ import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ..
|
|||
&& python regression/runtests.py --pkg feature_tests'
|
||||
)
|
||||
|
||||
with subtest("run resql test"):
|
||||
machine.succeed(
|
||||
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
|
||||
&& python regression/runtests.py --pkg resql'
|
||||
)
|
||||
# reactivate this test again, when the postgres 14.4 test has been fixed
|
||||
# with subtest("run resql test"):
|
||||
# machine.succeed(
|
||||
# 'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
|
||||
# && python regression/runtests.py --pkg resql'
|
||||
# )
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -10,15 +10,15 @@ in {
|
|||
services.unit = {
|
||||
enable = true;
|
||||
config = pkgs.lib.strings.toJSON {
|
||||
listeners."*:9080".application = "php_80";
|
||||
applications.php_80 = {
|
||||
type = "php 8.0";
|
||||
listeners."*:9081".application = "php_81";
|
||||
applications.php_81 = {
|
||||
type = "php 8.1";
|
||||
processes = 1;
|
||||
user = "testuser";
|
||||
group = "testgroup";
|
||||
root = "${testdir}/www";
|
||||
index = "info.php";
|
||||
options.file = "${pkgs.unit.usedPhp80}/lib/php.ini";
|
||||
options.file = "${pkgs.unit.usedPhp81}/lib/php.ini";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -34,14 +34,19 @@ in {
|
|||
};
|
||||
};
|
||||
testScript = ''
|
||||
machine.start()
|
||||
|
||||
machine.wait_for_unit("unit.service")
|
||||
machine.wait_for_open_port(9081)
|
||||
|
||||
# Check so we get an evaluated PHP back
|
||||
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9080/")
|
||||
assert "PHP Version ${pkgs.unit.usedPhp80.version}" in response, "PHP version not detected"
|
||||
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9081/")
|
||||
assert "PHP Version ${pkgs.unit.usedPhp81.version}" in response, "PHP version not detected"
|
||||
|
||||
# Check so we have database and some other extensions loaded
|
||||
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
|
||||
assert ext in response, f"Missing {ext} extension"
|
||||
|
||||
machine.shutdown()
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "qpwgraph";
|
||||
version = "0.2.5";
|
||||
version = "0.3.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "rncbc";
|
||||
repo = "qpwgraph";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-OYIBlTO1vXmmY4/ZacvsEQ5EnOfetBvnG2v5xL44czY=";
|
||||
sha256 = "sha256-JCnvwSredXO1WrTu4BIUaUTTjPcd5U/ZZcRbI/GiFfc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tauon";
|
||||
version = "7.2.1";
|
||||
version = "7.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Taiko2k";
|
||||
repo = "TauonMusicBox";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wEGdqMKLhKjnxNTgqNQpUpYkMk/FuRAKsWX+P/9nUG4=";
|
||||
sha256 = "sha256-g3mRVPOXU3N+MApLaHAAIIsVuVv2GeB1Nj//8tuS0oI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -71,7 +71,6 @@ stdenv.mkDerivation rec {
|
|||
mpg123
|
||||
opusfile
|
||||
pango
|
||||
pulseaudio
|
||||
wavpack
|
||||
];
|
||||
|
||||
|
@ -100,6 +99,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
makeWrapperArgs = [
|
||||
"--prefix PATH : ${lib.makeBinPath [ffmpeg]}"
|
||||
"--prefix LD_LIBRARY_PATH : ${pulseaudio}/lib"
|
||||
"--prefix PYTHONPATH : $out/share/tauon"
|
||||
"--set GI_TYPELIB_PATH $GI_TYPELIB_PATH"
|
||||
];
|
||||
|
@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
|
|||
install -Dm755 extra/tauonmb.desktop $out/share/applications/tauonmb.desktop
|
||||
mkdir -p $out/share/icons/hicolor/scalable/apps
|
||||
install -Dm644 extra/tauonmb{,-symbolic}.svg $out/share/icons/hicolor/scalable/apps
|
||||
'';
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Linux desktop music player from the future";
|
||||
|
|
|
@ -166,7 +166,7 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
buildPycharm = { pname, version, src, license, description, wmClass, product, ... }:
|
||||
buildPycharm = { pname, version, src, license, description, wmClass, product, cythonSpeedup ? stdenv.isLinux, ... }:
|
||||
(mkJetBrainsProduct {
|
||||
inherit pname version src wmClass jdk product;
|
||||
productShort = "PyCharm";
|
||||
|
@ -189,6 +189,17 @@ let
|
|||
'';
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}).overrideAttrs (finalAttrs: previousAttrs: optionalAttrs cythonSpeedup {
|
||||
buildInputs = with python3.pkgs; [ python3 setuptools ];
|
||||
preInstall = ''
|
||||
echo "compiling cython debug speedups"
|
||||
if [[ -d plugins/python-ce ]]; then
|
||||
${python3.interpreter} plugins/python-ce/helpers/pydev/setup_cython.py build_ext --inplace
|
||||
else
|
||||
${python3.interpreter} plugins/python/helpers/pydev/setup_cython.py build_ext --inplace
|
||||
fi
|
||||
'';
|
||||
# See https://www.jetbrains.com/help/pycharm/2022.1/cython-speedups.html
|
||||
});
|
||||
|
||||
buildRider = { pname, version, src, license, description, wmClass, ... }:
|
||||
|
|
|
@ -588,6 +588,13 @@ in
|
|||
preBuild = "cd libretro";
|
||||
};
|
||||
|
||||
nxengine = mkLibRetroCore {
|
||||
core = "nxengine";
|
||||
description = "NXEngine libretro port";
|
||||
license = lib.licenses.gpl3Only;
|
||||
makefile = "Makefile";
|
||||
};
|
||||
|
||||
np2kai = mkLibRetroCore rec {
|
||||
core = "np2kai";
|
||||
src = getCoreSrc core;
|
||||
|
|
|
@ -307,6 +307,12 @@
|
|||
"sha256": "M3kGA1TU3xui6of9XgUspI+Zf+hjYP1d2mgKwxsy3IQ=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"nxengine": {
|
||||
"owner": "libretro",
|
||||
"repo": "nxengine-libretro",
|
||||
"rev": "bc692a392473a45f63cdccbb353c3445b530d671",
|
||||
"sha256": "tAZkYHRKL+mI6f7YCnaU0qTSOZGW2o20p6wovMK1n2k="
|
||||
},
|
||||
"o2em": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-o2em",
|
||||
|
|
|
@ -59,6 +59,7 @@ CORES = {
|
|||
"mupen64plus": {"repo": "mupen64plus-libretro-nx"},
|
||||
"neocd": {"repo": "neocd_libretro"},
|
||||
"nestopia": {"repo": "nestopia"},
|
||||
"nxengine": {"repo": "nxengine-libretro"},
|
||||
"np2kai": {"repo": "NP2kai", "owner": "AZO234", "fetch_submodules": True},
|
||||
"o2em": {"repo": "libretro-o2em"},
|
||||
"opera": {"repo": "opera-libretro"},
|
||||
|
|
|
@ -46,9 +46,9 @@ in rec {
|
|||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the SHA256 for staging as well.
|
||||
version = "7.10";
|
||||
version = "7.12";
|
||||
url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
|
||||
sha256 = "sha256-P+skzYWYwQ9q9xHnSsK10kQrtNO4wHj506JTroc2SA0=";
|
||||
sha256 = "sha256-gJzsE3FmNubq/Uw9pzEkVqhE0xYCClV4YRvNuiEGnGg=";
|
||||
inherit (stable) gecko32 gecko64 patches;
|
||||
|
||||
mono = fetchurl rec {
|
||||
|
@ -61,7 +61,7 @@ in rec {
|
|||
staging = fetchFromGitHub rec {
|
||||
# https://github.com/wine-staging/wine-staging/releases
|
||||
inherit (unstable) version;
|
||||
sha256 = "sha256-5Pt98pla6t+B3FjB80hOWJUO64jY1EmOPQ0hEkFBWxY=";
|
||||
sha256 = "sha256-A7IcBm3LzXzFu/NT+kbf2InTTuBzyQju/uMxSnIfsls=";
|
||||
owner = "wine-staging";
|
||||
repo = "wine-staging";
|
||||
rev = "v${version}";
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vkd3d";
|
||||
version = "1.3";
|
||||
version = "1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.winehq.org/vkd3d/source/vkd3d-${version}.tar.xz";
|
||||
sha256 = "134b347806d34a4d2b39ea29ff1c2b38443793803a3adc50800855bb929fb8b2";
|
||||
sha256 = "sha256-yLqF9gSCyHPAVs9tuw6veRvIq30W1ipH83uYQbapCr0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flex bison ];
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "werf";
|
||||
version = "1.2.120";
|
||||
version = "1.2.124";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "werf";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Yy3nZGeEiolZawzvZCHM6vZje+eexbbsZN9lHJaDYwM=";
|
||||
sha256 = "sha256-fdCFdsRMdH9xu2YIYt6r7BxqbdzrzUxLxB1k4WEnGIo=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-OqDiq2+XysHhmw8oI1eyCL0358Ii0f0FyMLJ9JgyULc=";
|
||||
vendorSha256 = "sha256-AbTlchqVD3TySrcHcF3/QfMhbkNg4A4oef9Qkn2v6xY=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ buildGoModule rec {
|
|||
|
||||
proxyVendor = true;
|
||||
|
||||
vendorSha256 = "sha256-1vlgnY4kZJfoAtbv+r8onxL03Ak32zKLJgtrBYZX09g=";
|
||||
vendorSha256 = "sha256-n9XNqXIoqn+f0xKCenJWXUYXtQhtbNBar68onWH/WV4=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "RSS/Atom reader with the focus on speed, usability and a bit of unix philosophy";
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "seaweedfs";
|
||||
version = "2.91";
|
||||
version = "3.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chrislusf";
|
||||
repo = "seaweedfs";
|
||||
rev = version;
|
||||
sha256 = "sha256-lpr+Z4INDUrMUArR9yU/US/d7rhQ3AcTS3bh/suOe4M=";
|
||||
sha256 = "sha256-07cIqGKmw2Co7GEc/APiOWTgflUwDIQPQzs73XTAPQA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-T8JUc8UqdgBADWfQL1oY0lrwOOKTmbBiI7rtNiDvlGo=";
|
||||
vendorSha256 = "sha256-4U96s9PJLuVuzgWXCMLKfXK/XK1EaC+ep2c8TpKVRlc=";
|
||||
|
||||
subPackages = [ "weed" ];
|
||||
|
||||
|
|
27
pkgs/applications/science/biology/mafft/default.nix
Normal file
27
pkgs/applications/science/biology/mafft/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mafft";
|
||||
version = "7.490";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://mafft.cbrc.jp/alignment/software/mafft-${version}-with-extensions-src.tgz";
|
||||
sha256 = "0hb5jzcqdnjn3micm5z301lrnyvmn9pnnnxjz4h2wa4yicyz7vnn";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
cd ./core
|
||||
make clean
|
||||
'';
|
||||
|
||||
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib;
|
||||
{
|
||||
description = "Multiple alignment program for amino acid or nucleotide sequences";
|
||||
homepage = "https://mafft.cbrc.jp/alignment/software/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ natsukium ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
70
pkgs/applications/science/engineering/jflap/default.nix
Normal file
70
pkgs/applications/science/engineering/jflap/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, jre8
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "jflap";
|
||||
version = "7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.jflap.org/jflaptmp/july27-18/JFLAP${version}.jar";
|
||||
sha256 = "oiwJXdxWsYFj6Ovu7xZbOgTLVw8160a5YQUWbgbJlAY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
jre8
|
||||
];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "jflap";
|
||||
desktopName = "jflap";
|
||||
genericName = "Formal language application";
|
||||
exec = "jflap";
|
||||
icon = fetchurl {
|
||||
url = "https://www.jflap.org/jflapLogo2.jpg";
|
||||
sha256 = "sha256-IiworHI+GT6Fm6B0E+FXnKe+hN8nZYPrxHGZFAcsWDw=";
|
||||
};
|
||||
comment = meta.description;
|
||||
categories = [
|
||||
"Development"
|
||||
"Education"
|
||||
"ComputerScience"
|
||||
"DataVisualization"
|
||||
"Engineering"
|
||||
"Java"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/java
|
||||
cp -s $src $out/share/java/jflap.jar
|
||||
makeWrapper ${jre8}/bin/java $out/bin/jflap \
|
||||
--prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" \
|
||||
--add-flags "-jar $out/share/java/jflap.jar"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GUI tool for experimenting with formal languages topics";
|
||||
homepage = "https://www.jflap.org/";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
maintainers = with maintainers; [ grnnja yuu ];
|
||||
platforms = jre8.meta.platforms;
|
||||
};
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, jre, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jflap";
|
||||
version = "7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.jflap.org/jflaptmp/july27-18/JFLAP7.1.jar";
|
||||
sha256 = "oiwJXdxWsYFj6Ovu7xZbOgTLVw8160a5YQUWbgbJlAY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/java
|
||||
cp -s $src $out/share/java/jflap.jar
|
||||
makeWrapper ${jre}/bin/java $out/bin/jflap --add-flags "-jar $out/share/java/jflap.jar"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GUI tool for experimenting with formal languages topics";
|
||||
homepage = "https://www.jflap.org/";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
maintainers = [ maintainers.grnnja ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "emscripten";
|
||||
version = "3.1.14";
|
||||
version = "3.1.15";
|
||||
|
||||
llvmEnv = symlinkJoin {
|
||||
name = "emscripten-llvm-${version}";
|
||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "emscripten-core";
|
||||
repo = "emscripten";
|
||||
sha256 = "sha256-CVFC278ibwUMib2F64Uc7FP+D1JPUJ/9/3w0wz1PWqg=";
|
||||
sha256 = "sha256-aRevSQZsJepRcoeRf5U504FV707ZarpiG8qbD/v3OPg=";
|
||||
rev = version;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "emscripten",
|
||||
"version": "3.1.14",
|
||||
"version": "3.1.15",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"es-check": "^6.2.1",
|
||||
|
|
|
@ -15,14 +15,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgit2";
|
||||
version = "1.4.3";
|
||||
version = "1.5.0";
|
||||
# also check the following packages for updates: python3.pkgs.pygit2 and libgit2-glib
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libgit2";
|
||||
repo = "libgit2";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WnRzH5uMVEStA5ns4GNgMD5YoLQoats9aPLfnz9RoQs=";
|
||||
sha256 = "sha256-lXFQo+tt56BFoPgdkTfz6WdIngeotTm+8cAGcBP6XqY=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
sha256 = "sha256-vWwRZVArmlTIGwD4zV3dEHN2kkoeCZuNIvjCBVAviPo=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-kgSJUSjY8kgrGCNDPgw1WA8KwAqI5koJQ0IcE+tC5nk=";
|
||||
vendorSha256 = "sha256-pYtP+Tkh2TcGsbk7zQNaoYLEQrqGOL0gkMG5dUkfpt4=";
|
||||
|
||||
postInstall = ''
|
||||
rm $out/bin/plugin*
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
, libuuid, zlib }:
|
||||
|
||||
let
|
||||
generic = version: sha256: stdenv.mkDerivation {
|
||||
generic = version: hash: stdenv.mkDerivation {
|
||||
pname = "xapian";
|
||||
inherit version;
|
||||
passthru = { inherit version; };
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
|
||||
inherit sha256;
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" "doc" ];
|
||||
|
@ -38,5 +38,8 @@ let
|
|||
};
|
||||
};
|
||||
in {
|
||||
xapian_1_4 = generic "1.4.19" "sha256-H8pI/KbMNSbMS6k90ZT+nBMmhXt47c+zfmjQhtcUqcM=";
|
||||
# Don't forget to change the hashes in xapian-omega and
|
||||
# python3Packages.xapian. They inherit the version from this package, and
|
||||
# should always be built with the equivalent xapian version.
|
||||
xapian_1_4 = generic "1.4.20" "sha256-zivl7/cgdcgQbANA5wsQk9vOviq0LcHBvgjdOtQZRC0=";
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, xapian, perl, pcre, zlib, libmagic }:
|
||||
{ lib, stdenv, fetchurl, pkg-config, xapian, perl, pcre2, zlib, libmagic }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xapian-omega";
|
||||
|
@ -6,10 +6,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz";
|
||||
sha256 = "0zji8ckp4h5xdy2wbir3lvk680w1g1l4h5swmaxsx7ah12lkrjcr";
|
||||
hash = "sha256-Cf19bGCzlP0A2EcAZJlpofzDqiuIuyxsoiD9+o0liB8=";
|
||||
};
|
||||
|
||||
buildInputs = [ xapian perl pcre zlib libmagic ];
|
||||
buildInputs = [ xapian perl pcre2 zlib libmagic ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "fabric";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-C/eXpoxLOJcg3E3WGBSXpYxB7XYuKD2ePBsBSLMqmv8=";
|
||||
sha256 = "sha256-dvj+9ZzyBh29hJu85P5JvdggiEOFAEsMpZE2rD2xKeQ=";
|
||||
};
|
||||
|
||||
# only relevant to python < 3.4
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioaladdinconnect";
|
||||
version = "0.1.23";
|
||||
version = "0.1.25";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
|||
src = fetchPypi {
|
||||
pname = "AIOAladdinConnect";
|
||||
inherit version;
|
||||
hash = "sha256-H5deAXFQR2AwTLqLeE2fRrx2Btz6Tsb+EDkFMc8qJIc=";
|
||||
hash = "sha256-ruuiRhPPqsZxJgaKVtwQK8Zf7gG9r2NYnrBCosTtL/M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
let
|
||||
pname = "ansible";
|
||||
version = "6.0.0";
|
||||
version = "6.1.0";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit pname version;
|
||||
|
@ -30,7 +30,7 @@ buildPythonPackage {
|
|||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-ZBosJ7xXaPmorRSIDx9uVxwfKvHUXnbycdduP3R1TFM=";
|
||||
sha256 = "sha256-keSyOUXxkKqhI8a6T4rMuOf4kFmRvTuxm4mvvcpFaCI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "dash";
|
||||
version = "2.5.1";
|
||||
version = "2.6.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
|||
owner = "plotly";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ptJ/rRAENiwcvnCM80gewUwW5Q77gD0b/NF534LpPfY=";
|
||||
hash = "sha256-pZax5qkQ73SVhIKVR+q6xAm6hp+v7jSu6b9HBk5Rr8w=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "dvc-data";
|
||||
version = "0.0.23";
|
||||
version = "0.0.24";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "iterative";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-4npImK6OML0/nhM+S7YiguN7RNHOnxnH+WAuqcdiVSw=";
|
||||
hash = "sha256-Sk4l9TL0SU6sPrBBed/Y4xDB/GzVzv2YTUD0IdjhB2M=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-translate";
|
||||
version = "3.7.4";
|
||||
version = "3.8.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-B5MBpdcS6NN7rwvjLwbY55rV0dLDwWtnAadWsH2AwXE=";
|
||||
hash = "sha256-xdnMOy1JkmNnC+seLsxJp+Oq2G3oGXsKHS3//Bzfgq8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pex";
|
||||
version = "2.1.98";
|
||||
version = "2.1.99";
|
||||
format = "flit";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-5qvcaxbRR6Mt4lgSxQlcfSEfxjzW134hLJxxMZxg6LQ=";
|
||||
hash = "sha256-P+r0JOSVwIVWkQROvsbpUocwB4x0HrVyy9oY9CdNj6s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
, cacert
|
||||
, cached-property
|
||||
, cffi
|
||||
, fetchpatch
|
||||
, fetchPypi
|
||||
, isPyPy
|
||||
, libgit2
|
||||
|
@ -24,6 +25,15 @@ buildPythonPackage rec {
|
|||
hash = "sha256-IIlEM98RRkgarK434rDzu7/eoCbbL1UGEXC9mCPkCxk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# libgit 2 fix
|
||||
(fetchpatch {
|
||||
url = "https://github.com/libgit2/pygit2/commit/14b1df84060ea4ab085202382e80672ec1a104e3.patch";
|
||||
includes = [ "src/types.h" ];
|
||||
sha256 = "sha256-2krkyAT30l/olSEl2ugWCsylvGuT7VvkuSFVshIXktA=";
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
export DYLD_LIBRARY_PATH="${libgit2}/lib"
|
||||
'';
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytest-bdd";
|
||||
version = "5.0.0";
|
||||
version = "6.0.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
@ -23,8 +23,8 @@ buildPythonPackage rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "pytest-dev";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-3P9ongMAsLITOCRPmME492xnkdVc8IdOVrINK57gfOY=";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-1dyAhvEw8gUe78qDpgrcwl6grWKiwPgSe/QeFAjBzZg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "python-swiftclient";
|
||||
version = "4.0.0";
|
||||
version = "4.0.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-V7bx/yO0ZoQ4AqaBb0trvGiWtq0F1ld6/udiK+OilTg=";
|
||||
hash = "sha256-O2jHNpnF+8OKzXtvEUPWmSOz+vcQ82XZd6QQS9kni/8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "regenmaschine";
|
||||
version = "2022.07.1";
|
||||
version = "2022.07.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-x8KyNB3aNiRT64/rrA7y8LM7ZOd524ok++n1Fwjz1Gc=";
|
||||
sha256 = "sha256-z7FrVnGQjpTjdIX/gatP/ZjzOLaj2D8XsQ+UTYBOHgE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -13,7 +13,7 @@ buildPythonPackage rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://oligarchy.co.uk/xapian/${version}/xapian-bindings-${version}.tar.xz";
|
||||
sha256 = "0j9awiiw9zf97r60m848absq43k37gghpyw7acxqjazfzd71fxvm";
|
||||
hash = "sha256-eGzCjQVmCyJ5VEE68OL2bk6tKgbT322rrqSERUtgHvU=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
|
39
pkgs/development/tools/cpm/default.nix
Normal file
39
pkgs/development/tools/cpm/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "cpm";
|
||||
version = "0.35.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cpm-cmake";
|
||||
repo = "CPM.cmake";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Oon/5iwkUUASsUDvde69iEwLe8/CAzwYKYsyzH5K+V0=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p ${placeholder "out"}/share/cpm/
|
||||
cp ./cmake/CPM.cmake ${placeholder "out"}/share/cpm/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/cpm-cmake/CPM.cmake";
|
||||
description = "CMake's missing package manager";
|
||||
longDescription = ''
|
||||
CPM.cmake is a cross-platform CMake script that adds dependency
|
||||
management capabilities to CMake. It's built as a thin wrapper around
|
||||
CMake's FetchContent module that adds version control, caching, a
|
||||
simple API and more.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ken-matsui ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -15,17 +15,14 @@ buildGoModule {
|
|||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorSha256 = "sha256-zZ0IrtfQvczoB7th9ZCUlYOtyZr3Y3yF0pKzRCqmCjo=";
|
||||
vendorSha256 = "sha256-miyNIF6RNOuvNEA9Hf+hOyRJG+5IcXU4Vo4Fzn+nIb4=";
|
||||
|
||||
subPackages = [ "cmd/sqlc" ];
|
||||
|
||||
meta = let
|
||||
inherit (lib) licenses platforms maintainers;
|
||||
in {
|
||||
description = " Generate type-safe code from SQL";
|
||||
meta = with lib; {
|
||||
description = "Generate type-safe code from SQL";
|
||||
homepage = "https://sqlc.dev/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.adisbladis ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
sha256 = "sha256-0Cp/OnFvVZj9UZgl3F5MCzemBaHI4smGWU46VQnhLOg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-07zoQL4mLPSERBkZ3sz35Av7zdZsjTyGR8zbA86EEjU=";
|
||||
vendorSha256 = "sha256-JbBXRkxnB7LeeWdBLIQvyjvWo0zZ1EOuEUPXxHWiq+E=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
sha256 = "0ksxic7cypv9gg8q5lkl5bla1n9i65z7b03cx9lwq6252glmf2jk";
|
||||
};
|
||||
|
||||
vendorSha256 = "093blawprs2yf478zp9p1zc7mmimgpiwrw6nh8nqml89y5b5zldc";
|
||||
vendorSha256 = "sha256-XAFB+DDWN7CLfNxIBqYJy88gUNrUJYExzy2/BFnBe8c=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -20,6 +20,5 @@ buildGoModule rec {
|
|||
homepage = "https://github.com/emicklei/proto-contrib";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kalbasit ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule {
|
|||
sha256 = "sha256-LfF/n96LwRX8aoPHzCRI/QbDmZR9yMhE5yGhFAqa8nA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-xZlP4rg1FMx6ddkKYlSdF6NrtY8xBZ3aEZSATgSf13M=";
|
||||
vendorSha256 = "sha256-WISWuq1neVX4xQkoamc6FznZahOQHwgkYmERJF40OFQ=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
|
42
pkgs/development/tools/rojo/default.nix
Normal file
42
pkgs/development/tools/rojo/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, pkg-config
|
||||
, openssl
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rojo";
|
||||
version = "7.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rojo-rbx";
|
||||
repo = "rojo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Kmq/lBwayYkFU4mbjExj7M9wpg59OkIiTc+2ZrwpuBc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-qx6Ja0DMe4cEmDSpovtY9T3+0nJS9XivR92K3UKgacE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Project management tool for Roblox";
|
||||
longDescription = ''
|
||||
Rojo is a tool designed to enable Roblox developers to use professional-grade software engineering tools.
|
||||
'';
|
||||
homepage = "https://rojo.space";
|
||||
downloadPage = "https://github.com/rojo-rbx/rojo/releases/tag/v${version}";
|
||||
changelog = "https://github.com/rojo-rbx/rojo/raw/v${version}/CHANGELOG.md";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ wackbyte ];
|
||||
};
|
||||
}
|
|
@ -7,21 +7,22 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-cross";
|
||||
version = "0.2.1";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rust-embedded";
|
||||
repo = "cross";
|
||||
rev = "v${version}";
|
||||
sha256 = "1py5w4kf612x4qxi190ilsrx0zzwdzk9i47ppvqblska1s47qa2w";
|
||||
sha256 = "sha256-gaY34ziC+ugw/HUTSh0Uk5WBfWMRZLybfpAMkUzsj8g=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-zk6cbN4iSHnyoeWupufVf2yQK6aq3S99uk9lqpjCw4c=";
|
||||
cargoSha256 = "sha256-bdcdlnNr4CdkIJNoo8tb4ohVDmAcKIOP0nRr6BM+EPw=";
|
||||
|
||||
# Fixes https://github.com/cross-rs/cross/issues/943
|
||||
cargoPatches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/rust-embedded/cross/commit/e86ad2e5a55218395df7eaaf91900e22b809083c.patch";
|
||||
sha256 = "1zrcj5fm3irmlrfkgb65kp2pjkry0rg5nn9pwsk9p0i6dpapjc7k";
|
||||
url = "https://github.com/cross-rs/cross/commit/d639578881d21d28d91d155722201cc53b00c5e7.patch";
|
||||
sha256 = "sha256-FWaYIEMonb1Z8g5yXfd/Rl/LnxSYVwLfFIvPY1mJNxU=";
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -34,7 +34,10 @@ buildGoModule {
|
|||
description = "Convert go.mod files to nixpkgs buildGoPackage compatible deps.nix files";
|
||||
homepage = "https://github.com/nix-community/vgo2nix";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ adisbladis SuperSandro2000 ];
|
||||
maintainers = with maintainers; [ adisbladis ];
|
||||
mainProgram = "vgo2nix";
|
||||
# vendoring fails with cryptic error:
|
||||
# reading file:///nix/store/..../github.com/orivej/e/@v/v0.0.0-20180728214217-ac3492690fda.zip: no such file or directory
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, util-linux }:
|
||||
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libtool, pam, libHX, libxml2, pcre2, perl, openssl, cryptsetup, util-linux }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pam_mount";
|
||||
version = "2.17";
|
||||
version = "2.19";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/pam-mount/pam_mount/${pname}-${version}.tar.xz";
|
||||
sha256 = "1q2n6a2ah6nghdn8i6ad2wj247njwb5nx48cggxknaa6lqxylidy";
|
||||
sha256 = "02m6w04xhgv2yx69yxph8giw0sp39s9lvvlffslyna46fnr64qvb";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ autoreconfHook libtool pkg-config ];
|
||||
|
||||
buildInputs = [ pam libHX util-linux libxml2 pcre perl openssl cryptsetup ];
|
||||
buildInputs = [ pam libHX util-linux libxml2 pcre2 perl openssl cryptsetup ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||
description = "PAM module to mount volumes for a user session";
|
||||
homepage = "https://pam-mount.sourceforge.net/";
|
||||
license = with licenses; [ gpl2 gpl3 lgpl21 lgpl3 ];
|
||||
maintainers = with maintainers; [ ];
|
||||
maintainers = with maintainers; [ netali ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -100,13 +100,14 @@ buildGoModule {
|
|||
cp -r _tpl "$out/share/tpl"
|
||||
'';
|
||||
|
||||
passthru.tests.ncdns = nixosTests.ncdns;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Namecoin to DNS bridge daemon";
|
||||
homepage = "https://github.com/namecoin/ncdns";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
# module github.com/btcsuite/btcd@latest found (v0.23.1), but does not contain package github.com/btcsuite/btcd/btcec
|
||||
broken = true;
|
||||
};
|
||||
|
||||
passthru.tests.ncdns = nixosTests.ncdns;
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ buildGoModule rec {
|
|||
hash = "sha256-U+h/WmTVwwUIBEOiNa/EKS6HvkeoGNmP3NpeP1fcqYw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-h/DpbXO+LUsB9NOAXUfNx3VOfEsiolfBEMBrAqVlU3A=";
|
||||
vendorSha256 = "sha256-5a/V2OQGVRIJVl/YG+lvtbLeHCy/1eiZu69zKIFqRKM=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
{ lib, stdenv, fetchFromGitHub, nixosTests, which
|
||||
, pcre2
|
||||
, withPython3 ? true, python3, ncurses
|
||||
, withPHP80 ? true, php80
|
||||
, withPHP80 ? false, php80
|
||||
, withPHP81 ? true, php81
|
||||
, withPerl532 ? false, perl532
|
||||
, withPerl534 ? true, perl534
|
||||
, withPerldevel ? false, perldevel
|
||||
, withRuby_2_7 ? false, ruby_2_7
|
||||
, withRuby_2_7 ? true, ruby_2_7
|
||||
, withRuby_3_0 ? false, ruby_3_0
|
||||
, withRuby_3_1 ? false, ruby_3_1
|
||||
, withSSL ? true, openssl ? null
|
||||
, withIPv6 ? true
|
||||
, withDebug ? false
|
||||
|
@ -24,16 +27,17 @@ let
|
|||
};
|
||||
|
||||
php80-unit = php80.override phpConfig;
|
||||
php81-unit = php81.override phpConfig;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "1.26.1";
|
||||
version = "1.27.0";
|
||||
pname = "unit";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nginx";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-rTT7EJSHepGOwNXVqlOBOhZayZQXyNo3B2Oa1oLf2FI=";
|
||||
sha256 = "sha256-H/WIrCyocEO/HZfVMyI9IwD565JsUIzC8n1qUYmCvWc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
|
@ -41,10 +45,13 @@ in stdenv.mkDerivation rec {
|
|||
buildInputs = [ pcre2.dev ]
|
||||
++ optionals withPython3 [ python3 ncurses ]
|
||||
++ optional withPHP80 php80-unit
|
||||
++ optional withPHP81 php81-unit
|
||||
++ optional withPerl532 perl532
|
||||
++ optional withPerl534 perl534
|
||||
++ optional withPerldevel perldevel
|
||||
++ optional withRuby_2_7 ruby_2_7
|
||||
++ optional withRuby_3_0 ruby_3_0
|
||||
++ optional withRuby_3_1 ruby_3_1
|
||||
++ optional withSSL openssl;
|
||||
|
||||
configureFlags = [
|
||||
|
@ -58,14 +65,22 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
# Optionally add the PHP derivations used so they can be addressed in the configs
|
||||
usedPhp80 = optionals withPHP80 php80-unit;
|
||||
usedPhp81 = optionals withPHP81 php81-unit;
|
||||
|
||||
postConfigure = ''
|
||||
${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"}
|
||||
${optionalString withPHP80 "./configure php --module=php80 --config=${php80-unit.unwrapped.dev}/bin/php-config --lib-path=${php80-unit}/lib"}
|
||||
${optionalString withPHP81 "./configure php --module=php81 --config=${php81-unit.unwrapped.dev}/bin/php-config --lib-path=${php81-unit}/lib"}
|
||||
${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"}
|
||||
${optionalString withPerl534 "./configure perl --module=perl534 --perl=${perl534}/bin/perl"}
|
||||
${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}
|
||||
${optionalString withRuby_2_7 "./configure ruby --module=ruby27 --ruby=${ruby_2_7}/bin/ruby"}
|
||||
${optionalString withRuby_3_0 "./configure ruby --module=ruby30 --ruby=${ruby_3_0}/bin/ruby"}
|
||||
${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rmdir $out/state
|
||||
'';
|
||||
|
||||
passthru.tests.unit-php = nixosTests.unit-php;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ lib
|
||||
, buildGo118Module
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "mattermost";
|
||||
version = "7.1.0";
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "grafana";
|
||||
version = "9.0.2";
|
||||
version = "9.0.3";
|
||||
|
||||
excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
|
||||
|
||||
|
@ -10,12 +10,12 @@ buildGoModule rec {
|
|||
rev = "v${version}";
|
||||
owner = "grafana";
|
||||
repo = "grafana";
|
||||
sha256 = "sha256-5N1Buj4bzlkuVXENbZsTajhzjtJUzR1O1JmbOHQU1MQ=";
|
||||
sha256 = "sha256-oFVAiQt+ZxLB1On1wKM2R2qTEl5zBbWpkvBOLQ081+A=";
|
||||
};
|
||||
|
||||
srcStatic = fetchurl {
|
||||
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
|
||||
sha256 = "1zamibfjfr4kdixajrb8cs2w95sj2hzhw7ak1yilfgiiq4kpkpah";
|
||||
sha256 = "sha256-l2XTC0OxIeUD4sjM4w9WsT9s5akGjWpFmnZnmI/vSEA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ncMIu6J7D3xflZSxf8txpaQd0YW62CtzcO5w/PUE1UU=";
|
||||
|
|
|
@ -15,7 +15,7 @@ buildGoModule rec {
|
|||
sha256 = "sha256-Cftxm+Lb3ekK8YZrklD/C+p0EpyEVU/xxVI5oiNgBxk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-E1p9hnxNFse7Zg8FGcZrbVqThrGTVSP04nH/ZP8WBlk=";
|
||||
vendorSha256 = "sha256-VyNPIYRMAC51zp38BKoM5/bLbfwULtFEtRC3LQjVJK4=";
|
||||
proxyVendor = true;
|
||||
|
||||
ldflags = [
|
||||
|
|
|
@ -116,13 +116,13 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "mpd";
|
||||
version = "0.23.7";
|
||||
version = "0.23.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MusicPlayerDaemon";
|
||||
repo = "MPD";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Tc2EVNOvZTz0gYClgqbAicYDyOf6GtVOFm8t7uM6dLQ=";
|
||||
sha256 = "sha256-yIzSEk4fgtNANKIxna0dP9HKIcGBVBkpqiyLCjvPDHE=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -11,9 +11,9 @@ buildGoModule rec {
|
|||
sha256 = "13n643ik1zjvpk8h9458yd9ffahhbdnigmbrbmpn7b7g23wqqsi3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
vendorSha256 = "sha256-n5QFN1B2GjbzylFuW9Y4r0+ioIJlfKwcGK8X3ZwKLI8=";
|
||||
|
||||
vendorSha256 = "1863ad97y82fx0an1ysalkxnqjz3zfz228wag9a92wdssl1vwzws";
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -23,16 +23,15 @@ buildGoModule rec {
|
|||
installShellCompletion --zsh --name _history $out/share/zsh/completions/_history
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
zsh-history-shell-integration = nixosTests.zsh-history;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A CLI to provide enhanced history for your ZSH shell";
|
||||
homepage = "https://github.com/b4b4r07/history";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
mainProgram = "history";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
passthru.tests = {
|
||||
zsh-history-shell-integration = nixosTests.zsh-history;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,31 +1,40 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, buildGoModule
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, buildGoModule
|
||||
, gitUpdater
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "boulder";
|
||||
version = "2022-06-21";
|
||||
rev = "09f87bb31a57f9a04932b7175fab1e3cabffd86f";
|
||||
version = "2022-07-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letsencrypt";
|
||||
repo = "boulder";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-Q5fMM3UXMFqmpJks1xnINeKBA7dDam4bfczO3D43Yoo=";
|
||||
sha256 = "sha256-WhQOpMeZe+oBitsHPe9kpFt0K1niU4Q9IvlOoDseXDM=";
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
cd $out
|
||||
git rev-parse HEAD > $out/COMMIT
|
||||
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||
'';
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
subPackages = [ "cmd/boulder" ];
|
||||
|
||||
ldflags = with lib;
|
||||
mapAttrsToList (n: v: ''"-X github.com/letsencrypt/boulder/core.Build${n}=${v}"'') {
|
||||
ID = substring 0 8 rev;
|
||||
Host = "nixbld@localhost";
|
||||
Time = "Thu 1 Jan 00:00:00 UTC 1970";
|
||||
};
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/letsencrypt/boulder/core.BuildHost=nixbld@localhost"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
ldflags+=" -X \"github.com/letsencrypt/boulder/core.BuildID=$(cat COMMIT)\""
|
||||
ldflags+=" -X \"github.com/letsencrypt/boulder/core.BuildTime=$(date -u -d @0)\""
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for i in $($out/bin/boulder --list); do
|
||||
|
@ -36,6 +45,11 @@ buildGoModule rec {
|
|||
# There are no tests for cmd/boulder.
|
||||
doCheck = false;
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
inherit pname version;
|
||||
rev-prefix = "release-";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/letsencrypt/boulder";
|
||||
description = "An ACME-based certificate authority, written in Go";
|
||||
|
@ -48,6 +62,5 @@ buildGoModule rec {
|
|||
'';
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ azahi ];
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, hwdata, pkg-config, lxc, buildGo118Package, fetchurl
|
||||
{ lib, hwdata, pkg-config, lxc, buildGoPackage, fetchurl
|
||||
, makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq, attr
|
||||
, squashfsTools, iproute2, iptables, libcap
|
||||
, dqlite, raft-canonical, sqlite-replication, udev
|
||||
|
@ -9,7 +9,7 @@
|
|||
, nixosTests
|
||||
}:
|
||||
|
||||
buildGo118Package rec {
|
||||
buildGoPackage rec {
|
||||
pname = "lxd";
|
||||
version = "5.3";
|
||||
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
let
|
||||
pname = "pgadmin";
|
||||
version = "6.10";
|
||||
version = "6.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
|
||||
sha256 = "sha256-wl7qC0p1NLX4+ulb4AGNPU6D0r838t6t/IYwJZcDnVQ=";
|
||||
sha256 = "sha256-1MvvQvVoWiV5hhgJUcAHbMyZzkADunLtwmszaO4EeCA=";
|
||||
};
|
||||
|
||||
yarnDeps = mkYarnModules {
|
||||
|
@ -66,24 +66,14 @@ let
|
|||
pyotp
|
||||
botocore
|
||||
boto3
|
||||
azure-mgmt-subscription
|
||||
azure-mgmt-rdbms
|
||||
azure-mgmt-resource
|
||||
azure-identity
|
||||
];
|
||||
|
||||
# override necessary on pgadmin4 6.10
|
||||
# override necessary on pgadmin4 6.11
|
||||
pythonPackages = python3.pkgs.overrideScope (final: prev: rec {
|
||||
flask = prev.flask.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.0.3";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
|
||||
};
|
||||
disabledTests = (oldAttrs.disabledTests or [ ]) ++ [
|
||||
"test_aborting"
|
||||
];
|
||||
});
|
||||
flask-paranoid = prev.flask-paranoid.overridePythonAttrs (oldAttrs: rec {
|
||||
# tests fail due to downgrades here
|
||||
doCheck = false;
|
||||
});
|
||||
werkzeug = prev.werkzeug.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.0.3";
|
||||
src = oldAttrs.src.override {
|
||||
|
@ -128,7 +118,9 @@ pythonPackages.buildPythonApplication rec {
|
|||
--replace "boto3==1.20.*" "boto3>=1.20" \
|
||||
--replace "botocore==1.23.*" "botocore>=1.23" \
|
||||
--replace "pytz==2021.*" "pytz" \
|
||||
--replace "Werkzeug==2.0.3" "werkzeug>=2.*"
|
||||
--replace "Werkzeug==2.0.3" "werkzeug>=2.*" \
|
||||
--replace "azure-identity==1.9.0" "azure-identity==1.*" \
|
||||
--replace "azure-mgmt-resource==21.0.0" "azure-mgmt-resource==21.*"
|
||||
# don't use Server Mode (can be overridden later)
|
||||
substituteInPlace pkg/pip/setup_pip.py \
|
||||
--replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req" \
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
"@emotion/react": "^11.1.5",
|
||||
"@emotion/styled": "^10.0.14",
|
||||
"@emotion/utils": "^1.0.0",
|
||||
"@svgr/webpack": "^5.5.0",
|
||||
"@svgr/webpack": "^6.2.1",
|
||||
"@wojtekmaj/enzyme-adapter-react-17": "^0.4.1",
|
||||
"autoprefixer": "^10.2.4",
|
||||
"axios-mock-adapter": "^1.17.0",
|
||||
|
@ -37,10 +37,6 @@
|
|||
"exports-loader": "^2.0.0",
|
||||
"html-react-parser": "^1.2.7",
|
||||
"image-minimizer-webpack-plugin": "^2.2.0",
|
||||
"imagemin-mozjpeg": "^9.0.0",
|
||||
"imagemin-optipng": "^8.0.0",
|
||||
"imagemin-pngquant": "^9.0.1",
|
||||
"imagemin-svgo": "^8.0.0",
|
||||
"is-docker": "^2.1.1",
|
||||
"istanbul-instrumenter-loader": "^3.0.1",
|
||||
"jasmine-core": "^3.6.0",
|
||||
|
@ -74,7 +70,7 @@
|
|||
"webpack": "^5.21.2",
|
||||
"webpack-bundle-analyzer": "^4.4.0",
|
||||
"webpack-cli": "^4.5.0",
|
||||
"yarn-audit-html": "^2.0.0"
|
||||
"yarn-audit-html": "^3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-proposal-class-properties": "^7.10.4",
|
||||
|
@ -86,8 +82,6 @@
|
|||
"@material-ui/icons": "^4.11.2",
|
||||
"@material-ui/lab": "4.0.0-alpha.58",
|
||||
"@material-ui/pickers": "^3.2.10",
|
||||
"@mui/icons-material": "^5.4.2",
|
||||
"@mui/material": "^5.4.3",
|
||||
"@projectstorm/react-diagrams": "^6.6.1",
|
||||
"@simonwep/pickr": "^1.5.1",
|
||||
"@szhsin/react-menu": "^2.2.0",
|
||||
|
@ -111,7 +105,8 @@
|
|||
"bootstrap4-toggle": "^3.6.1",
|
||||
"brace": "^0.11.1",
|
||||
"browserfs": "^1.4.3",
|
||||
"chart.js": "^2.9.3",
|
||||
"chart.js": "^3.0.0",
|
||||
"chartjs-plugin-zoom": "^1.2.1",
|
||||
"classnames": "^2.2.6",
|
||||
"closest": "^0.0.1",
|
||||
"codemirror": "^5.59.2",
|
||||
|
@ -141,11 +136,11 @@
|
|||
"moment-timezone": "^0.5.34",
|
||||
"mousetrap": "^1.6.3",
|
||||
"notificar": "^1.0.1",
|
||||
"notistack": "^2.0.0",
|
||||
"notistack": "^1.0.10",
|
||||
"path-fx": "^2.0.0",
|
||||
"pathfinding": "^0.4.18",
|
||||
"paths-js": "^0.4.9",
|
||||
"pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#b0287d39b54de28cb2a83f0c19a95ce823f6feae",
|
||||
"pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#07cc449e1d89ecc8cce3679d8cff5a35f1db67ee",
|
||||
"postcss": "^8.2.15",
|
||||
"raf": "^3.4.1",
|
||||
"rc-dock": "^3.2.9",
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "wander";
|
||||
version = "0.4.1";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robinovitch61";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Z3jvKBhzlATTh6zPoJoMmg/DAE5/Ur3Tb3sdgGPEm6k=";
|
||||
sha256 = "sha256-B+mMC5XGUTNTcxwKhvSSc7QbsLkg8qu7/jJf5U/q6s8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-gWQ8GbtghhCRq6tOU6qmWBuponmfUkUDAk3+dPtmMiE=";
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libzip, autoreconfHook }:
|
||||
{ lib, stdenv, fetchFromGitHub, libzip, libiconv, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.4";
|
||||
pname = "runzip";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ libzip ];
|
||||
buildInputs = [ libiconv libzip ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vlm";
|
||||
|
@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "A tool to convert filename encoding inside a ZIP archive";
|
||||
license = lib.licenses.bsd2 ;
|
||||
maintainers = [lib.maintainers.raskin];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = [ lib.maintainers.raskin ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -29,10 +29,10 @@ buildGoModule rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "Tool for generating Bash/Fish/Zsh autocompletions based on `--help` output";
|
||||
homepage = "https://github.com/dim-an/cod/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "du-dust";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bootandy";
|
||||
repo = "dust";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qC8AlLyg8MU9ZON0hITTaM5AmRFZMOqJVt7PJ5fCtus=";
|
||||
sha256 = "sha256-7hhg54x8EZ3x40a8kaOUzhyHDF0CJ5dZibGVvcFF9zk=";
|
||||
# Remove unicode file names which leads to different checksums on HFS+
|
||||
# vs. other filesystems because of unicode normalisation.
|
||||
postFetch = ''
|
||||
|
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
|
|||
'';
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-XW6SIeEmHzicq8pbKJCPYZ5s6jl+kp6Bsjh2WIre4yo=";
|
||||
cargoSha256 = "sha256-fbNP89xg0Di/p/y78C9kar3UKOqkAJ94rJqZOWK3Rp0=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
From e5eb394458e19ce8f8a231e8b2005c80c64fd426 Mon Sep 17 00:00:00 2001
|
||||
From: Jiajie Chen <c@jia.je>
|
||||
Date: Fri, 15 Jul 2022 10:13:23 +0800
|
||||
Subject: [PATCH] Hardcode isUbuntu=false to avoid hostname dependency.
|
||||
|
||||
The original build.xml detects whether the system is ubuntu based on its
|
||||
hostname, which is useless in nixpkgs and brings additional dependency.
|
||||
|
||||
As suggested by @risicle in #180613, we can simply hardcode isUbuntu to
|
||||
false.
|
||||
|
||||
Signed-off-by: Jiajie Chen <c@jia.je>
|
||||
---
|
||||
build.xml | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/build.xml b/build.xml
|
||||
index c4f0974..15a6078 100644
|
||||
--- a/build.xml
|
||||
+++ b/build.xml
|
||||
@@ -143,11 +143,9 @@
|
||||
</and>
|
||||
</condition>
|
||||
|
||||
- <exec executable="hostname" outputproperty="computer.hostname"/>
|
||||
-
|
||||
- <condition property="isUbuntu">
|
||||
- <contains string="${computer.hostname}" substring="ubuntu" />
|
||||
- </condition>
|
||||
+ <!-- Since we do not package .deb nor .rpm files, we can safely
|
||||
+ hardcode isUbuntu = false. -->
|
||||
+ <property name="isUbuntu" value="false" />
|
||||
|
||||
<!-- Build 64-bit binary.
|
||||
Note: os.arch gives the architecture of the JVM, NOT the OS;
|
||||
--
|
||||
2.36.1
|
||||
|
|
@ -2,29 +2,38 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hdfview";
|
||||
version = "3.1.3";
|
||||
version = "3.1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-VmgHSVMFoy09plU5pSnyaPz8N15toy7QfCtXI7mqDGY=";
|
||||
sha256 = "sha256-iY/NUifU57aX795eWpaUBflrclF/nfvb3OKZEpD9VqA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Hardcode isUbuntu=false to avoid calling hostname to detect os
|
||||
./0001-Hardcode-isUbuntu-false-to-avoid-hostname-dependency.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
ant jdk
|
||||
nettools # "hostname" required
|
||||
ant
|
||||
jdk
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
HDFLIBS = (hdf4.override { javaSupport = true; }).out;
|
||||
HDF5LIBS = (hdf5.override { javaSupport = true; }).out;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
buildPhase =
|
||||
let
|
||||
arch = if stdenv.isx86_64 then "x86_64" else "aarch64";
|
||||
in
|
||||
''
|
||||
runHook preBuild
|
||||
|
||||
ant createJPackage
|
||||
ant createJPackage -Dmachine.arch=${arch}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem rec {
|
||||
name = "HDFView";
|
||||
|
@ -41,6 +50,7 @@ stdenv.mkDerivation rec {
|
|||
mkdir -p $out/bin $out/lib
|
||||
cp -a build/dist/HDFView/bin/HDFView $out/bin/
|
||||
cp -a build/dist/HDFView/lib/app $out/lib/
|
||||
cp -a build/dist/HDFView/lib/libapplauncher.so $out/lib/
|
||||
ln -s ${jdk}/lib/openjdk $out/lib/runtime
|
||||
|
||||
mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps
|
||||
|
@ -57,5 +67,6 @@ stdenv.mkDerivation rec {
|
|||
license = lib.licenses.free; # BSD-like
|
||||
homepage = "https://portal.hdfgroup.org/display/HDFVIEW/HDFView";
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
maintainers = with lib.maintainers; [ jiegec ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, lib, buildGo118Module, fetchFromGitHub, fetchzip }:
|
||||
{ stdenv, lib, buildGoModule, fetchFromGitHub, fetchzip }:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "mutagen-compose";
|
||||
version = "0.14.0";
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, lib, buildGo118Module, fetchFromGitHub, fetchzip }:
|
||||
{ stdenv, lib, buildGoModule, fetchFromGitHub, fetchzip }:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "mutagen";
|
||||
version = "0.14.0";
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ buildGoModule rec {
|
|||
};
|
||||
# proxy vendor to avoid hash missmatches between linux and macOS
|
||||
proxyVendor = true;
|
||||
vendorSha256 = "sha256-CzFcSvJCMfS83Semk92XUd9iSX6OjOrDzRUNNLVtpi4=";
|
||||
vendorSha256 = "sha256-G3sIWkYKYnqDmmwspQNw+8yU/SWBBr8KX7Osae9mXe4=";
|
||||
|
||||
subPackages = [ "cmd/otelcontribcol" ];
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, lib, buildGo118Module, fetchFromGitHub, installShellFiles }:
|
||||
{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "steampipe";
|
||||
version = "0.15.0";
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ lib
|
||||
, buildGo118Module
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "upterm";
|
||||
version = "0.8.2";
|
||||
|
||||
|
|
|
@ -11,19 +11,18 @@ buildGoModule rec {
|
|||
sha256 = "125mw70jidbp436arhv77201jdp6mpgqa2dzmrpmk55f9bf29sg6";
|
||||
};
|
||||
|
||||
vendorSha256 = "17m0ssfw9n3g2lkv63qajz3adrk5yp0c9hx66x7dl79snwqd49yg";
|
||||
vendorSha256 = "sha256-llseW3k8ygTXwkSpnRfQEnX3OVj2zdL8JDpIoRcC9kE=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.tag=v${version}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
This project aims at creating a universal dark theme for Firefox while
|
||||
adhering to the modern design principles set by Mozilla.
|
||||
'';
|
||||
description = "Universal dark theme for Firefox while adhering to the modern design principles set by Mozilla";
|
||||
homepage = "https://overdodactyl.github.io/ShadowFox/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ infinisil ];
|
||||
|
|
|
@ -14,8 +14,12 @@ perlPackages.buildPerlPackage rec {
|
|||
outputs = [ "out" ];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
# checkInputs = [ perl534Packages.TestPerlCritic perl534Packages.TestPod perl534Packages.TestPodCoverage ];
|
||||
doCheck = false; # Missing package for https://github.com/genio/test-spelling to run tests
|
||||
|
||||
checkInputs = [ perlPackages.TestPerlCritic perlPackages.TestPod perlPackages.TestPodCoverage ];
|
||||
# Linting and formatting checks are of no interest for us.
|
||||
preCheck = ''
|
||||
rm -f t/93_pod_spell.t
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dt $out/bin wakeonlan
|
||||
|
|
|
@ -167,6 +167,8 @@ self = stdenv.mkDerivation {
|
|||
] ++ lib.optionals (!withLibseccomp) [
|
||||
# RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
|
||||
"--disable-seccomp-sandboxing"
|
||||
] ++ lib.optionals (atLeast210 && stdenv.cc.isGNU && !enableStatic) [
|
||||
"--enable-lto"
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
|
|
|
@ -66,8 +66,8 @@ in lib.makeExtensible (self: {
|
|||
};
|
||||
|
||||
nix_2_10 = common {
|
||||
version = "2.10.2";
|
||||
sha256 = "sha256-/8zlkXoZEZd+LgJq5xw8h+u2STqeKLrGTARZklE3CP8=";
|
||||
version = "2.10.3";
|
||||
sha256 = "sha256-B9EyDUz/9tlcWwf24lwxCFmkxuPTVW7HFYvp0C4xGbc=";
|
||||
patches = [ ./patches/flaky-tests.patch ];
|
||||
};
|
||||
|
||||
|
|
61
pkgs/tools/security/iaito/default.nix
Normal file
61
pkgs/tools/security/iaito/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, qtbase
|
||||
, qttools
|
||||
, radare2
|
||||
, wrapQtAppsHook
|
||||
, zip
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "iaito";
|
||||
version = "5.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "radareorg";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-qEJTsS669eEwo2iiuybN72O5oopCaGEkju8+ekjw2zk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config qttools wrapQtAppsHook zip ];
|
||||
buildInputs = [ radare2 qtbase ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "git submodule update --init" ""
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${radare2}/include/libr" "-I${radare2}/include/libr/sdb" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 build/iaito $out/bin/iaito
|
||||
install -Dm644 $src/src/org.radare.iaito.appdata.xml $out/share/metainfo/org.radare.iaito.appdata.xml
|
||||
install -Dm644 $src/src/org.radare.iaito.desktop $out/share/applications/org.radare.iaito.desktop
|
||||
install -Dm644 $src/src/img/iaito-o.svg $out/share/pixmaps/iaito-o.svg
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Official frontend of radare2";
|
||||
longDescription = ''
|
||||
The official graphical interface for radare2, a libre reverse engineering
|
||||
framework.
|
||||
'';
|
||||
homepage = "https://github.com/radareorg/iaito";
|
||||
changelog = "https://github.com/radareorg/iaito/releases/tag/${src.rev}";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ azahi ];
|
||||
};
|
||||
}
|
55
pkgs/tools/security/semgrep/common.nix
Normal file
55
pkgs/tools/security/semgrep/common.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ lib, fetchFromGitHub, fetchzip }:
|
||||
|
||||
rec {
|
||||
version = "0.103.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "returntocorp";
|
||||
repo = "semgrep";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vk6GBgLsXRLAVu60xW4WWWhhi4b1WLceTxh/TeISIUg=";
|
||||
};
|
||||
|
||||
# submodule dependencies
|
||||
# these are fetched so we:
|
||||
# 1. don't fetch the many submodules we don't need
|
||||
# 2. avoid fetchSubmodules since it's prone to impurities
|
||||
langsSrc = fetchFromGitHub {
|
||||
owner = "returntocorp";
|
||||
repo = "semgrep-langs";
|
||||
rev = "78e518dad1ce2a7c76854c944245434bd8426439";
|
||||
sha256 = "sha256-t9F/OzzT6FI9G4Fxz0lUjz6TVrJlenusQNJnFpiKaQs=";
|
||||
};
|
||||
|
||||
interfacesSrc = fetchFromGitHub {
|
||||
owner = "returntocorp";
|
||||
repo = "semgrep-interfaces";
|
||||
rev = "a64a45034ea428ecbe9da6bd849a4f1cfd23cdd2";
|
||||
sha256 = "sha256-eatuyA5xyfZVHCmHvZIzQK2c5eEWUEZd9LumJQtk8+s=";
|
||||
};
|
||||
|
||||
# fetch pre-built semgrep-core since the ocaml build is complex and relies on
|
||||
# the opam package manager at some point
|
||||
coreRelease = fetchzip {
|
||||
url = "https://github.com/returntocorp/semgrep/releases/download/v${version}/semgrep-v${version}-ubuntu-16.04.tgz";
|
||||
sha256 = "sha256-L3NbiVYmgJim7H4W1cr75WOItSiHT1YIkUEefuaCYlY=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://semgrep.dev/";
|
||||
downloadPage = "https://github.com/returntocorp/semgrep/";
|
||||
changelog = "https://github.com/returntocorp/semgrep/blob/v${version}/CHANGELOG.md";
|
||||
description = "Lightweight static analysis for many languages";
|
||||
longDescription = ''
|
||||
Semgrep is a fast, open-source, static analysis tool for finding bugs and
|
||||
enforcing code standards at editor, commit, and CI time. Semgrep analyzes
|
||||
code locally on your computer or in your build environment: code is never
|
||||
uploaded. Its rules look like the code you already write; no abstract
|
||||
syntax trees, regex wrestling, or painful DSLs.
|
||||
'';
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ jk ambroisie ];
|
||||
# limited by semgrep-core
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
81
pkgs/tools/security/semgrep/default.nix
Normal file
81
pkgs/tools/security/semgrep/default.nix
Normal file
|
@ -0,0 +1,81 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, callPackage
|
||||
, semgrep-core
|
||||
, buildPythonApplication
|
||||
, pythonPackages
|
||||
|
||||
, pytestCheckHook
|
||||
, git
|
||||
}:
|
||||
|
||||
let
|
||||
common = callPackage ./common.nix { };
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "semgrep";
|
||||
inherit (common) version;
|
||||
src = "${common.src}/cli";
|
||||
|
||||
SEMGREP_CORE_BIN = "${semgrep-core}/bin/semgrep-core";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "typing-extensions~=4.2" "typing-extensions" \
|
||||
--replace "jsonschema~=3.2" "jsonschema" \
|
||||
--replace "boltons~=21.0" "boltons"
|
||||
|
||||
# remove git submodule placeholders
|
||||
rm -r ./src/semgrep/{lang,semgrep_interfaces}
|
||||
# link submodule dependencies
|
||||
ln -s ${common.langsSrc}/ ./src/semgrep/lang
|
||||
ln -s ${common.interfacesSrc}/ ./src/semgrep/semgrep_interfaces
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ git pytestCheckHook ] ++ (with pythonPackages; [
|
||||
pytest-snapshot
|
||||
pytest-mock
|
||||
pytest-freezegun
|
||||
types-freezegun
|
||||
]);
|
||||
disabledTests = [
|
||||
# requires networking
|
||||
"tests/unit/test_metric_manager.py"
|
||||
];
|
||||
preCheck = ''
|
||||
# tests need a home directory
|
||||
export HOME="$(mktemp -d)"
|
||||
|
||||
# disabledTestPaths doesn't manage to avoid the e2e tests
|
||||
# remove them from pyproject.toml
|
||||
# and remove need for pytest-split
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace '"tests/e2e",' "" \
|
||||
--replace 'addopts = "--splitting-algorithm=least_duration"' ""
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
attrs
|
||||
boltons
|
||||
colorama
|
||||
click
|
||||
click-option-group
|
||||
glom
|
||||
requests
|
||||
ruamel-yaml
|
||||
tqdm
|
||||
packaging
|
||||
jsonschema
|
||||
wcmatch
|
||||
peewee
|
||||
defusedxml
|
||||
urllib3
|
||||
typing-extensions
|
||||
python-lsp-jsonrpc
|
||||
];
|
||||
|
||||
meta = common.meta // {
|
||||
description = common.meta.description + " - cli";
|
||||
};
|
||||
}
|
22
pkgs/tools/security/semgrep/semgrep-core.nix
Normal file
22
pkgs/tools/security/semgrep/semgrep-core.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ lib, stdenvNoCC, callPackage }:
|
||||
|
||||
let
|
||||
common = callPackage ./common.nix { };
|
||||
in
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "semgrep-core";
|
||||
inherit (common) version;
|
||||
|
||||
src = common.coreRelease;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm 755 -t $out/bin semgrep-core
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = common.meta // {
|
||||
description = common.meta.description + " - core binary";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, buildGo118Module, fetchFromGitHub }:
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "spire";
|
||||
version = "1.3.1";
|
||||
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gotop";
|
||||
version = "4.1.3";
|
||||
version = "4.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xxxserxxx";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oDM+dpAT1vDpp2NkD669hwbgw7HWJGFqhsql9PvbxSk=";
|
||||
hash = "sha256-jAUlaj9Nv/ipzxAkG2myd9DIboHj7IarNMVk/FQ274g=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorSha256 = "sha256-WGLcpF1NqVQDiU3M9rQ555ZW3sDC3Szch+skTZgt0xg=";
|
||||
vendorSha256 = "sha256-y4hVouvqMYUrdF7fowsvJLp0FCGCZDeVGUQXG8z8Lyg=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
|
||||
|
||||
|
|
|
@ -44,11 +44,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sile";
|
||||
version = "0.13.2";
|
||||
version = "0.13.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "023vxyryk1clkb2lx8n31m8lnfsc27z7h7kvss2vrvqc20i1y2kx";
|
||||
sha256 = "0x8w63xr3nd0is1pv55dlgnv7fkn8s5ny6453wn84h44i7qwdc8s";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue