Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-07-16 00:03:07 +00:00 committed by GitHub
commit fa3b53e492
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
84 changed files with 2615 additions and 3746 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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, ... }:

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
{
"name": "emscripten",
"version": "3.1.14",
"version": "3.1.15",
"private": true,
"devDependencies": {
"es-check": "^6.2.1",

View file

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

View file

@ -11,7 +11,7 @@ buildGoModule rec {
sha256 = "sha256-vWwRZVArmlTIGwD4zV3dEHN2kkoeCZuNIvjCBVAviPo=";
};
vendorSha256 = "sha256-kgSJUSjY8kgrGCNDPgw1WA8KwAqI5koJQ0IcE+tC5nk=";
vendorSha256 = "sha256-pYtP+Tkh2TcGsbk7zQNaoYLEQrqGOL0gkMG5dUkfpt4=";
postInstall = ''
rm $out/bin/plugin*

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

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

View file

@ -11,7 +11,7 @@ buildGoModule rec {
sha256 = "sha256-0Cp/OnFvVZj9UZgl3F5MCzemBaHI4smGWU46VQnhLOg=";
};
vendorSha256 = "sha256-07zoQL4mLPSERBkZ3sz35Av7zdZsjTyGR8zbA86EEjU=";
vendorSha256 = "sha256-JbBXRkxnB7LeeWdBLIQvyjvWo0zZ1EOuEUPXxHWiq+E=";
proxyVendor = true;

View file

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

View file

@ -11,7 +11,7 @@ buildGoModule {
sha256 = "sha256-LfF/n96LwRX8aoPHzCRI/QbDmZR9yMhE5yGhFAqa8nA=";
};
vendorSha256 = "sha256-xZlP4rg1FMx6ddkKYlSdF6NrtY8xBZ3aEZSATgSf13M=";
vendorSha256 = "sha256-WISWuq1neVX4xQkoamc6FznZahOQHwgkYmERJF40OFQ=";
subPackages = [ "." ];

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,11 +1,11 @@
{ lib
, buildGo118Module
, buildGoModule
, fetchFromGitHub
, fetchurl
, nixosTests
}:
buildGo118Module rec {
buildGoModule rec {
pname = "mattermost";
version = "7.1.0";

View file

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

View file

@ -15,7 +15,7 @@ buildGoModule rec {
sha256 = "sha256-Cftxm+Lb3ekK8YZrklD/C+p0EpyEVU/xxVI5oiNgBxk=";
};
vendorSha256 = "sha256-E1p9hnxNFse7Zg8FGcZrbVqThrGTVSP04nH/ZP8WBlk=";
vendorSha256 = "sha256-VyNPIYRMAC51zp38BKoM5/bLbfwULtFEtRC3LQjVJK4=";
proxyVendor = true;
ldflags = [

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
{ stdenv, lib, buildGo118Module, fetchFromGitHub, fetchzip }:
{ stdenv, lib, buildGoModule, fetchFromGitHub, fetchzip }:
buildGo118Module rec {
buildGoModule rec {
pname = "mutagen";
version = "0.14.0";

View file

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

View file

@ -1,6 +1,6 @@
{ stdenv, lib, buildGo118Module, fetchFromGitHub, installShellFiles }:
{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGo118Module rec {
buildGoModule rec {
pname = "steampipe";
version = "0.15.0";

View file

@ -1,11 +1,11 @@
{ lib
, buildGo118Module
, buildGoModule
, fetchFromGitHub
, installShellFiles
, nixosTests
}:
buildGo118Module rec {
buildGoModule rec {
pname = "upterm";
version = "0.8.2";

View file

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

View file

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

View file

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

View file

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

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

View 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" ];
};
}

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

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

View file

@ -1,6 +1,6 @@
{ lib, buildGo118Module, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub }:
buildGo118Module rec {
buildGoModule rec {
pname = "spire";
version = "1.3.1";

View file

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

View file

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