Merge master into haskell-updates
This commit is contained in:
commit
9a82281fca
|
@ -0,0 +1,24 @@
|
|||
name: "Check cherry-picks"
|
||||
on:
|
||||
pull_request_target:
|
||||
branches:
|
||||
- 'release-*'
|
||||
- 'staging-*'
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
filter: blob:none
|
||||
- name: Check cherry-picks
|
||||
env:
|
||||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: |
|
||||
./maintainers/scripts/check-cherry-picks.sh "$BASE_SHA" "$HEAD_SHA"
|
|
@ -797,7 +797,7 @@ A shell array containing additional arguments passed to the configure script. Yo
|
|||
|
||||
##### `dontAddPrefix` {#var-stdenv-dontAddPrefix}
|
||||
|
||||
By default, the flag `--prefix=$prefix` is added to the configure flags. If this is undesirable, set this variable to true.
|
||||
By default, `./configure` is passed the concatenation of [`prefixKey`](#var-stdenv-prefixKey) and [`prefix`](#var-stdenv-prefix) on the command line. Disable this by setting `dontAddPrefix` to `true`.
|
||||
|
||||
##### `prefix` {#var-stdenv-prefix}
|
||||
|
||||
|
@ -805,7 +805,7 @@ The prefix under which the package must be installed, passed via the `--prefix`
|
|||
|
||||
##### `prefixKey` {#var-stdenv-prefixKey}
|
||||
|
||||
The key to use when specifying the prefix. By default, this is set to `--prefix=` as that is used by the majority of packages.
|
||||
The key to use when specifying the installation [`prefix`](#var-stdenv-prefix). By default, this is set to `--prefix=` as that is used by the majority of packages. Other packages may need `--prefix ` (with a trailing space) or `PREFIX=`.
|
||||
|
||||
##### `dontAddStaticConfigureFlags` {#var-stdenv-dontAddStaticConfigureFlags}
|
||||
|
||||
|
|
|
@ -93,12 +93,12 @@ in mkLicense lset) ({
|
|||
url = "https://aomedia.org/license/patent-license/";
|
||||
};
|
||||
|
||||
apsl10 = {
|
||||
apple-psl10 = {
|
||||
spdxId = "APSL-1.0";
|
||||
fullName = "Apple Public Source License 1.0";
|
||||
};
|
||||
|
||||
apsl20 = {
|
||||
apple-psl20 = {
|
||||
spdxId = "APSL-2.0";
|
||||
fullName = "Apple Public Source License 2.0";
|
||||
};
|
||||
|
@ -1272,6 +1272,18 @@ in mkLicense lset) ({
|
|||
};
|
||||
} // {
|
||||
# TODO: remove legacy aliases
|
||||
apsl10 = {
|
||||
# deprecated for consistency with `apple-psl20`; use `apple-psl10`
|
||||
spdxId = "APSL-1.0";
|
||||
fullName = "Apple Public Source License 1.0";
|
||||
deprecated = true;
|
||||
};
|
||||
apsl20 = {
|
||||
# deprecated due to confusion with Apache-2.0; use `apple-psl20`
|
||||
spdxId = "APSL-2.0";
|
||||
fullName = "Apple Public Source License 2.0";
|
||||
deprecated = true;
|
||||
};
|
||||
gpl2 = {
|
||||
spdxId = "GPL-2.0";
|
||||
fullName = "GNU General Public License v2.0";
|
||||
|
|
|
@ -224,6 +224,12 @@
|
|||
githubId = 12578560;
|
||||
name = "Quinn Bohner";
|
||||
};
|
||||
_8aed = {
|
||||
email = "8aed@riseup.net";
|
||||
github = "8aed";
|
||||
githubId = 140662578;
|
||||
name = "Huit Aed";
|
||||
};
|
||||
_8-bit-fox = {
|
||||
email = "sebastian@markwaerter.de";
|
||||
github = "8-bit-fox";
|
||||
|
@ -5782,6 +5788,12 @@
|
|||
githubId = 122112154;
|
||||
name = "Edgar Lee";
|
||||
};
|
||||
elrohirgt = {
|
||||
email = "elrohirgt@gmail.com";
|
||||
github = "ElrohirGT";
|
||||
githubId = 45268815;
|
||||
name = "Flavio Galán";
|
||||
};
|
||||
elvishjerricco = {
|
||||
email = "elvishjerricco@gmail.com";
|
||||
matrix = "@elvishjerricco:matrix.org";
|
||||
|
@ -8527,6 +8539,12 @@
|
|||
fingerprint = "F5B2 BE1B 9AAD 98FE 2916 5597 3665 FFF7 9D38 7BAA";
|
||||
}];
|
||||
};
|
||||
imrying = {
|
||||
email = "philiprying@gmail.com";
|
||||
github = "imrying";
|
||||
githubId = 36996706;
|
||||
name = "Philip Rying";
|
||||
};
|
||||
imuli = {
|
||||
email = "i@imu.li";
|
||||
github = "imuli";
|
||||
|
@ -9612,6 +9630,12 @@
|
|||
githubId = 51028009;
|
||||
name = "John Rodewald";
|
||||
};
|
||||
johnrtitor = {
|
||||
email = "masumrezarock100@gmail.com";
|
||||
github = "johnrtitor";
|
||||
githubId = 50095635;
|
||||
name = "Masum Reza";
|
||||
};
|
||||
john-shaffer = {
|
||||
email = "jdsha@proton.me";
|
||||
github = "john-shaffer";
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
#!/usr/bin/env bash
|
||||
# Find alleged cherry-picks
|
||||
|
||||
set -e
|
||||
|
||||
if [ $# != "2" ] ; then
|
||||
echo "usage: check-cherry-picks.sh base_rev head_rev"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
PICKABLE_BRANCHES=${PICKABLE_BRANCHES:-master staging release-??.?? staging-??.??}
|
||||
problem=0
|
||||
|
||||
while read new_commit_sha ; do
|
||||
if [ "$GITHUB_ACTIONS" = 'true' ] ; then
|
||||
echo "::group::Commit $new_commit_sha"
|
||||
else
|
||||
echo "================================================="
|
||||
fi
|
||||
git rev-list --max-count=1 --format=medium "$new_commit_sha"
|
||||
echo "-------------------------------------------------"
|
||||
|
||||
original_commit_sha=$(
|
||||
git rev-list --max-count=1 --format=format:%B "$new_commit_sha" \
|
||||
| grep -Ei -m1 "cherry.*[0-9a-f]{40}" \
|
||||
| grep -Eoi -m1 '[0-9a-f]{40}'
|
||||
)
|
||||
if [ "$?" != "0" ] ; then
|
||||
echo " ? Couldn't locate original commit hash in message"
|
||||
[ "$GITHUB_ACTIONS" = 'true' ] && echo ::endgroup::
|
||||
continue
|
||||
fi
|
||||
|
||||
set -f # prevent pathname expansion of patterns
|
||||
for branch_pattern in $PICKABLE_BRANCHES ; do
|
||||
set +f # re-enable pathname expansion
|
||||
|
||||
while read -r picked_branch ; do
|
||||
if git merge-base --is-ancestor "$original_commit_sha" "$picked_branch" ; then
|
||||
echo " ✔ $original_commit_sha present in branch $picked_branch"
|
||||
|
||||
range_diff_common='git range-diff
|
||||
--no-notes
|
||||
--creation-factor=100
|
||||
'"$original_commit_sha~..$original_commit_sha"'
|
||||
'"$new_commit_sha~..$new_commit_sha"'
|
||||
'
|
||||
|
||||
if $range_diff_common --no-color | grep -E '^ {4}[+-]{2}' > /dev/null ; then
|
||||
if [ "$GITHUB_ACTIONS" = 'true' ] ; then
|
||||
echo ::endgroup::
|
||||
echo -n "::warning ::"
|
||||
else
|
||||
echo -n " ⚠ "
|
||||
fi
|
||||
echo "Difference between $new_commit_sha and original $original_commit_sha may warrant inspection:"
|
||||
|
||||
$range_diff_common --color
|
||||
|
||||
problem=1
|
||||
else
|
||||
echo " ✔ $original_commit_sha highly similar to $new_commit_sha"
|
||||
$range_diff_common --color
|
||||
[ "$GITHUB_ACTIONS" = 'true' ] && echo ::endgroup::
|
||||
fi
|
||||
|
||||
# move on to next commit
|
||||
continue 3
|
||||
fi
|
||||
done <<< "$(
|
||||
git for-each-ref \
|
||||
--format="%(refname)" \
|
||||
"refs/remotes/origin/$branch_pattern"
|
||||
)"
|
||||
done
|
||||
|
||||
if [ "$GITHUB_ACTIONS" = 'true' ] ; then
|
||||
echo ::endgroup::
|
||||
echo -n "::error ::"
|
||||
else
|
||||
echo -n " ✘ "
|
||||
fi
|
||||
echo "$original_commit_sha not found in any pickable branch"
|
||||
|
||||
problem=1
|
||||
done <<< "$(
|
||||
git rev-list \
|
||||
-E -i --grep="cherry.*[0-9a-f]{40}" --reverse \
|
||||
"$1..$2"
|
||||
)"
|
||||
|
||||
exit $problem
|
|
@ -26,8 +26,8 @@ To create a new key without a passphrase you can do:
|
|||
```ShellSession
|
||||
$ ssh-keygen -t ed25519 -P '' -f example-key
|
||||
Generating public/private ed25519 key pair.
|
||||
Your identification has been saved in test-key
|
||||
Your public key has been saved in test-key.pub
|
||||
Your identification has been saved in example-key
|
||||
Your public key has been saved in example-key.pub
|
||||
The key fingerprint is:
|
||||
SHA256:yjxl3UbTn31fLWeyLYTAKYJPRmzknjQZoyG8gSNEoIE my-user@workstation
|
||||
```
|
||||
|
|
|
@ -513,6 +513,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
|
||||
|
||||
- `services.soju` now has a wrapper for the `sojuctl` command, pointed at the service config file. It also has the new option `adminSocket.enable`, which creates a unix admin socket at `/run/soju/admin`.
|
||||
|
||||
- Gitea 1.21 upgrade has several breaking changes, including:
|
||||
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
||||
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
||||
|
|
|
@ -525,4 +525,9 @@ in rec {
|
|||
)}
|
||||
'';
|
||||
|
||||
# The maximum number of characters allowed in a GPT partition label. This
|
||||
# limit is specified by UEFI and enforced by systemd-repart.
|
||||
# Corresponds to GPT_LABEL_MAX from systemd's gpt.h.
|
||||
GPTMaxLabelLength = 36;
|
||||
|
||||
}
|
||||
|
|
|
@ -41,6 +41,25 @@
|
|||
}:
|
||||
|
||||
let
|
||||
systemdArch = let
|
||||
inherit (stdenvNoCC) hostPlatform;
|
||||
in
|
||||
if hostPlatform.isAarch32 then "arm"
|
||||
else if hostPlatform.isAarch64 then "arm64"
|
||||
else if hostPlatform.isx86_32 then "x86"
|
||||
else if hostPlatform.isx86_64 then "x86-64"
|
||||
else if hostPlatform.isMips32 then "mips-le"
|
||||
else if hostPlatform.isMips64 then "mips64-le"
|
||||
else if hostPlatform.isPower then "ppc"
|
||||
else if hostPlatform.isPower64 then "ppc64"
|
||||
else if hostPlatform.isRiscV32 then "riscv32"
|
||||
else if hostPlatform.isRiscV64 then "riscv64"
|
||||
else if hostPlatform.isS390 then "s390"
|
||||
else if hostPlatform.isS390x then "s390x"
|
||||
else if hostPlatform.isLoongArch64 then "loongarch64"
|
||||
else if hostPlatform.isAlpha then "alpha"
|
||||
else hostPlatform.parsed.cpu.name;
|
||||
|
||||
amendRepartDefinitions = runCommand "amend-repart-definitions.py"
|
||||
{
|
||||
# TODO: ruff does not splice properly in nativeBuildInputs
|
||||
|
@ -99,6 +118,7 @@ in
|
|||
finalRepartDefinitions = "repart.d";
|
||||
|
||||
systemdRepartFlags = [
|
||||
"--architecture=${systemdArch}"
|
||||
"--dry-run=no"
|
||||
"--size=auto"
|
||||
"--seed=${seed}"
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
let
|
||||
cfg = config.image.repart;
|
||||
|
||||
inherit (utils.systemdUtils.lib) GPTMaxLabelLength;
|
||||
|
||||
partitionOptions = {
|
||||
options = {
|
||||
storePaths = lib.mkOption {
|
||||
|
@ -224,6 +226,42 @@ in
|
|||
|
||||
config = {
|
||||
|
||||
assertions = lib.mapAttrsToList (fileName: partitionConfig:
|
||||
let
|
||||
inherit (partitionConfig) repartConfig;
|
||||
labelLength = builtins.stringLength repartConfig.Label;
|
||||
in
|
||||
{
|
||||
assertion = repartConfig ? Label -> GPTMaxLabelLength >= labelLength;
|
||||
message = ''
|
||||
The partition label '${repartConfig.Label}'
|
||||
defined for '${fileName}' is ${toString labelLength} characters long,
|
||||
but the maximum label length supported by UEFI is ${toString
|
||||
GPTMaxLabelLength}.
|
||||
'';
|
||||
}
|
||||
) cfg.partitions;
|
||||
|
||||
warnings = lib.filter (v: v != null) (lib.mapAttrsToList (fileName: partitionConfig:
|
||||
let
|
||||
inherit (partitionConfig) repartConfig;
|
||||
suggestedMaxLabelLength = GPTMaxLabelLength - 2;
|
||||
labelLength = builtins.stringLength repartConfig.Label;
|
||||
in
|
||||
if (repartConfig ? Label && labelLength >= suggestedMaxLabelLength) then ''
|
||||
The partition label '${repartConfig.Label}'
|
||||
defined for '${fileName}' is ${toString labelLength} characters long.
|
||||
The suggested maximum label length is ${toString
|
||||
suggestedMaxLabelLength}.
|
||||
|
||||
If you use sytemd-sysupdate style A/B updates, this might
|
||||
not leave enough space to increment the version number included in
|
||||
the label in a future release. For example, if your label is
|
||||
${toString GPTMaxLabelLength} characters long (the maximum enforced by UEFI) and
|
||||
you're at version 9, you cannot increment this to 10.
|
||||
'' else null
|
||||
) cfg.partitions);
|
||||
|
||||
image.repart =
|
||||
let
|
||||
version = config.image.repart.version;
|
||||
|
|
|
@ -55,6 +55,8 @@ in {
|
|||
then [ package ] ++ extraPackages
|
||||
else [ package32 ] ++ extraPackages32;
|
||||
in prevLibs ++ additionalLibs;
|
||||
# ensure font packages are picked up by Steam
|
||||
extraPkgs = (prev.extraPkgs or []) ++ config.fonts.packages;
|
||||
} // optionalAttrs (cfg.gamescopeSession.enable && gamescopeCfg.capSysNice)
|
||||
{
|
||||
buildFHSEnv = pkgs.buildFHSEnv.override {
|
||||
|
|
|
@ -40,6 +40,7 @@ in
|
|||
"--"
|
||||
cfg.lockerCommand
|
||||
]);
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ in {
|
|||
breeze.qt5
|
||||
plasma-integration.qt5
|
||||
pkgs.plasma5Packages.kwayland-integration
|
||||
pkgs.plasma5Packages.kio
|
||||
(pkgs.plasma5Packages.kio.override { withKcms = false; })
|
||||
kio-extras-kf5
|
||||
]
|
||||
# Optional hardware support features
|
||||
|
|
|
@ -15,6 +15,22 @@ in
|
|||
services.ollama = {
|
||||
enable = lib.mkEnableOption "ollama server for local large language models";
|
||||
package = lib.mkPackageOption pkgs "ollama" { };
|
||||
home = lib.mkOption {
|
||||
type = types.str;
|
||||
default = "%S/ollama";
|
||||
example = "/home/foo";
|
||||
description = ''
|
||||
The home directory that the ollama service is started in.
|
||||
'';
|
||||
};
|
||||
models = lib.mkOption {
|
||||
type = types.str;
|
||||
default = "%S/ollama/models";
|
||||
example = "/path/to/ollama/models";
|
||||
description = ''
|
||||
The directory that the ollama service will read models from and download new models to.
|
||||
'';
|
||||
};
|
||||
listenAddress = lib.mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1:11434";
|
||||
|
@ -58,8 +74,8 @@ in
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = cfg.environmentVariables // {
|
||||
HOME = "%S/ollama";
|
||||
OLLAMA_MODELS = "%S/ollama/models";
|
||||
HOME = cfg.home;
|
||||
OLLAMA_MODELS = cfg.models;
|
||||
OLLAMA_HOST = cfg.listenAddress;
|
||||
};
|
||||
serviceConfig = {
|
||||
|
|
|
@ -121,7 +121,7 @@ in
|
|||
package = mkPackageOption pkgs "bind" { };
|
||||
|
||||
cacheNetworks = mkOption {
|
||||
default = [ "127.0.0.0/24" ];
|
||||
default = [ "127.0.0.0/24" "::1/128" ];
|
||||
type = types.listOf types.str;
|
||||
description = lib.mdDoc ''
|
||||
What networks are allowed to use us as a resolver. Note
|
||||
|
|
|
@ -5,7 +5,10 @@ with lib;
|
|||
let
|
||||
cfg = config.services.soju;
|
||||
stateDir = "/var/lib/soju";
|
||||
listenCfg = concatMapStringsSep "\n" (l: "listen ${l}") cfg.listen;
|
||||
runtimeDir = "/run/soju";
|
||||
listen = cfg.listen
|
||||
++ optional cfg.adminSocket.enable "unix+admin://${runtimeDir}/admin";
|
||||
listenCfg = concatMapStringsSep "\n" (l: "listen ${l}") listen;
|
||||
tlsCfg = optionalString (cfg.tlsCertificate != null)
|
||||
"tls ${cfg.tlsCertificate} ${cfg.tlsCertificateKey}";
|
||||
logCfg = optionalString cfg.enableMessageLogging
|
||||
|
@ -22,6 +25,10 @@ let
|
|||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
sojuctl = pkgs.writeShellScriptBin "sojuctl" ''
|
||||
exec ${cfg.package}/bin/sojuctl --config ${configFile} "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
###### interface
|
||||
|
@ -29,6 +36,8 @@ in
|
|||
options.services.soju = {
|
||||
enable = mkEnableOption (lib.mdDoc "soju");
|
||||
|
||||
package = mkPackageOption pkgs "soju" { };
|
||||
|
||||
listen = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ":6697" ];
|
||||
|
@ -66,6 +75,14 @@ in
|
|||
description = lib.mdDoc "Whether to enable message logging.";
|
||||
};
|
||||
|
||||
adminSocket.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Listen for admin connections from sojuctl at /run/soju/admin.
|
||||
'';
|
||||
};
|
||||
|
||||
httpOrigins = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
|
@ -107,6 +124,8 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ sojuctl ];
|
||||
|
||||
systemd.services.soju = {
|
||||
description = "soju IRC bouncer";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
@ -115,8 +134,9 @@ in
|
|||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
Restart = "always";
|
||||
ExecStart = "${pkgs.soju}/bin/soju -config ${configFile}";
|
||||
ExecStart = "${cfg.package}/bin/soju -config ${configFile}";
|
||||
StateDirectory = "soju";
|
||||
RuntimeDirectory = "soju";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -784,7 +784,7 @@ in
|
|||
# onboarding files:
|
||||
WorkingDirectory = "${cfg.package}/share/outline";
|
||||
# In case this directory is not in /var/lib/outline, it needs to be made writable explicitly
|
||||
ReadWritePaths = [ cfg.storage.localRootDir ];
|
||||
ReadWritePaths = lib.mkIf (cfg.storage.storageType == "local") [ cfg.storage.localRootDir ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -13,14 +13,14 @@ let
|
|||
|
||||
partitionAssertions = lib.mapAttrsToList (fileName: definition:
|
||||
let
|
||||
maxLabelLength = 36; # GPT_LABEL_MAX defined in systemd's gpt.h
|
||||
inherit (utils.systemdUtils.lib) GPTMaxLabelLength;
|
||||
labelLength = builtins.stringLength definition.Label;
|
||||
in
|
||||
{
|
||||
assertion = definition ? Label -> maxLabelLength >= labelLength;
|
||||
assertion = definition ? Label -> GPTMaxLabelLength >= labelLength;
|
||||
message = ''
|
||||
The partition label '${definition.Label}' defined for '${fileName}' is ${toString labelLength}
|
||||
characters long, but the maximum label length supported by systemd is ${toString maxLabelLength}.
|
||||
characters long, but the maximum label length supported by systemd is ${toString GPTMaxLabelLength}.
|
||||
'';
|
||||
}
|
||||
) cfg.partitions;
|
||||
|
|
|
@ -576,6 +576,8 @@ in
|
|||
copy_bin_and_libs ${cfgZfs.package}/sbin/zfs
|
||||
copy_bin_and_libs ${cfgZfs.package}/sbin/zdb
|
||||
copy_bin_and_libs ${cfgZfs.package}/sbin/zpool
|
||||
copy_bin_and_libs ${cfgZfs.package}/lib/udev/vdev_id
|
||||
copy_bin_and_libs ${cfgZfs.package}/lib/udev/zvol_id
|
||||
'';
|
||||
extraUtilsCommandsTest =
|
||||
mkIf (!config.boot.initrd.systemd.enable) ''
|
||||
|
@ -632,7 +634,12 @@ in
|
|||
zfs = "${cfgZfs.package}/sbin/zfs";
|
||||
awk = "${pkgs.gawk}/bin/awk";
|
||||
};
|
||||
storePaths = [
|
||||
"${cfgZfs.package}/lib/udev/vdev_id"
|
||||
"${cfgZfs.package}/lib/udev/zvol_id"
|
||||
];
|
||||
};
|
||||
services.udev.packages = [cfgZfs.package]; # to hook zvol naming, in stage 1
|
||||
};
|
||||
|
||||
systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/zpool".source = pkgs.writeShellScript "zpool-sync-shutdown" ''
|
||||
|
|
|
@ -826,6 +826,7 @@ in {
|
|||
soapui = handleTest ./soapui.nix {};
|
||||
soft-serve = handleTest ./soft-serve.nix {};
|
||||
sogo = handleTest ./sogo.nix {};
|
||||
soju = handleTest ./soju.nix {};
|
||||
solanum = handleTest ./solanum.nix {};
|
||||
sonarr = handleTest ./sonarr.nix {};
|
||||
sonic-server = handleTest ./sonic-server.nix {};
|
||||
|
|
|
@ -178,6 +178,14 @@ in {
|
|||
"docker load --input='${examples.bashUncompressed}'",
|
||||
"docker rmi ${examples.bashUncompressed.imageName}",
|
||||
)
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.bashLayeredUncompressed}'",
|
||||
"docker rmi ${examples.bashLayeredUncompressed.imageName}",
|
||||
)
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.bashLayeredZstdCompressed}'",
|
||||
"docker rmi ${examples.bashLayeredZstdCompressed.imageName}",
|
||||
)
|
||||
|
||||
with subtest(
|
||||
"Check if the nix store is correctly initialized by listing "
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
let
|
||||
certs = import ./common/acme/server/snakeoil-certs.nix;
|
||||
domain = certs.domain;
|
||||
|
||||
user = "testuser";
|
||||
pass = "hunter2";
|
||||
in
|
||||
{
|
||||
name = "soju";
|
||||
meta.maintainers = with lib.maintainers; [ Benjamin-L ];
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
services.soju = {
|
||||
enable = true;
|
||||
adminSocket.enable = true;
|
||||
hostName = domain;
|
||||
tlsCertificate = certs.${domain}.cert;
|
||||
tlsCertificateKey = certs.${domain}.key;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("soju")
|
||||
machine.wait_for_file("/run/soju/admin")
|
||||
|
||||
machine.succeed("sojuctl user create -username ${user} -password ${pass}")
|
||||
'';
|
||||
})
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "soundtracker";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchzip {
|
||||
# Past releases get moved to the "old releases" directory.
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
# Nonetheless, only the name of the file seems to affect which file is
|
||||
# downloaded, so this path should be fine both for old and current releases.
|
||||
url = "mirror://sourceforge/soundtracker/soundtracker-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-kNt0BSRaEQY+oa1xbuZ1l6nCqXhcktVugxzcC3ZDaX0=";
|
||||
hash = "sha256-g96Z1SdFGMq7WFI6x+UtmAHPZF0C+tHUOjNhmK2ld8I=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
|
@ -75,5 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
hydraPlatforms = platforms.linux; # sdl-config times out on darwin
|
||||
};
|
||||
})
|
||||
|
|
|
@ -45,7 +45,7 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "touchosc";
|
||||
version = "1.2.9.200";
|
||||
version = "1.3.0.202";
|
||||
|
||||
suffix = {
|
||||
aarch64-linux = "linux-arm64";
|
||||
|
@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
|
|||
src = fetchurl {
|
||||
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
|
||||
hash = {
|
||||
aarch64-linux = "sha256-JrpwD4xD4t9e3qmBCl6hfHv/InnRBRsYIsNNrxwQojo=";
|
||||
armv7l-linux = "sha256-8e50jznyHUJt9aL5K/emp0T8VSLdXMuBl6KCMot8kIY=";
|
||||
x86_64-linux = "sha256-lQi1HFW53LdS6Q86s0exp0WmTMTz4g48yZC73DaM2lo=";
|
||||
aarch64-linux = "sha256-qsjZ/oo2V6mknrMktuTP188hp57oiPxO/iwp3G57JXU=";
|
||||
armv7l-linux = "sha256-33SnAYumfnZlxKms3fANt9wRJghaQHUstZbKqTxBF3Q=";
|
||||
x86_64-linux = "sha256-4SE2iw45sLyapYLCd31xT/aZMTmetsjmgfWFf0FrluI=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
, unstableGitUpdater
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation {
|
||||
pname = "btcdeb";
|
||||
version = "0.3.20-unstable-2024-02-06";
|
||||
version = "0.3.20-unstable-2024-03-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitcoin-core";
|
||||
repo = "btcdeb";
|
||||
rev = "b9288fc3371eb1d9be0cae2549be25de66659be8";
|
||||
hash = "sha256-IieLNMA3m6g2Kn7g3iewmUL9c+meMR4hrrwVYqNZoh8=";
|
||||
rev = "675b7820f0eec8a76f68ade7ea35974a561d49dd";
|
||||
hash = "sha256-J9E0edRbFONMut1/ZFaUqgWAtEUifc+pmGypeUQ0m4c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openvi";
|
||||
version = "7.4.27";
|
||||
version = "7.5.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnsonjh";
|
||||
repo = "OpenVi";
|
||||
rev = version;
|
||||
hash = "sha256-3cqe6woJvJt0ckI3aOhF0gARKy8VMCfWxIiiglkHBTo=";
|
||||
hash = "sha256-6FP56tlPQXbphyJBDct5hBK81XsU6TJjKDZM4eHqitQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses perl ];
|
||||
|
|
|
@ -11,7 +11,11 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ libX11 libXt ];
|
||||
|
||||
configureFlags = [ "--prefix=$(out)" ];
|
||||
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
|
||||
"-Wno-error=implicit-int"
|
||||
"-Wno-error=implicit-function-declaration"
|
||||
"-Wno-error=incompatible-function-pointer-types"
|
||||
]);
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/bin
|
||||
|
|
|
@ -1,23 +1,41 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, makeWrapper, freetype, SDL2
|
||||
, glib, pcre2, openal, rtmidi, fluidsynth, jack2, alsa-lib, qt5, libvncserver
|
||||
, discord-gamesdk, libpcap, libslirp
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
freetype,
|
||||
SDL2,
|
||||
glib,
|
||||
pcre2,
|
||||
openal,
|
||||
rtmidi,
|
||||
fluidsynth,
|
||||
jack2,
|
||||
alsa-lib,
|
||||
qt5,
|
||||
libvncserver,
|
||||
discord-gamesdk,
|
||||
libpcap,
|
||||
libslirp,
|
||||
|
||||
, enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch
|
||||
, enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch
|
||||
, enableVncRenderer ? false
|
||||
, unfreeEnableDiscord ? false
|
||||
, unfreeEnableRoms ? false
|
||||
enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch,
|
||||
enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch,
|
||||
enableVncRenderer ? false,
|
||||
unfreeEnableDiscord ? false,
|
||||
unfreeEnableRoms ? false,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "86Box";
|
||||
version = "4.1";
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "86Box";
|
||||
repo = "86Box";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-JYOJFXiUTLRs6AEMYNx88PwcVw13ChQzV1ZE5OtX6Ds=";
|
||||
hash = "sha256-ioE0EVIXv/biXXvLqwhmtZ/RJM0nLqcE+i+CU+WXBY4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -40,54 +58,54 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libslirp
|
||||
qt5.qtbase
|
||||
qt5.qttools
|
||||
] ++ lib.optional stdenv.isLinux alsa-lib
|
||||
++ lib.optional enableVncRenderer libvncserver;
|
||||
] ++ lib.optional stdenv.isLinux alsa-lib ++ lib.optional enableVncRenderer libvncserver;
|
||||
|
||||
cmakeFlags = lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
|
||||
cmakeFlags =
|
||||
lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
|
||||
++ lib.optional enableNewDynarec "-DNEW_DYNAREC=ON"
|
||||
++ lib.optional enableVncRenderer "-DVNC=ON"
|
||||
++ lib.optional (!enableDynarec) "-DDYNAREC=OFF"
|
||||
++ lib.optional (!unfreeEnableDiscord) "-DDISCORD=OFF";
|
||||
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop
|
||||
postInstall =
|
||||
lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop
|
||||
|
||||
for size in 48 64 72 96 128 192 256 512; do
|
||||
install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \
|
||||
$src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png
|
||||
done;
|
||||
''
|
||||
+ lib.optionalString unfreeEnableRoms ''
|
||||
mkdir -p $out/share/86Box
|
||||
ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms
|
||||
'';
|
||||
for size in 48 64 72 96 128 192 256 512; do
|
||||
install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \
|
||||
$src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png
|
||||
done;
|
||||
''
|
||||
+ lib.optionalString unfreeEnableRoms ''
|
||||
mkdir -p $out/share/86Box
|
||||
ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
roms = fetchFromGitHub {
|
||||
owner = "86Box";
|
||||
repo = "roms";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-1HtoizO0QIGNjQTW0clzRp40h1ulw55+iTYz12UJSms=";
|
||||
hash = "sha256-58nNTOLund/KeDlNwzwwihjFVigs/P0K8SN07zExE2c=";
|
||||
};
|
||||
};
|
||||
|
||||
# Some libraries are loaded dynamically, but QLibrary doesn't seem to search
|
||||
# the runpath, so use a wrapper instead.
|
||||
preFixup = let
|
||||
libPath = lib.makeLibraryPath ([
|
||||
libpcap
|
||||
] ++ lib.optional unfreeEnableDiscord discord-gamesdk);
|
||||
libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in ''
|
||||
makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}")
|
||||
'';
|
||||
preFixup =
|
||||
let
|
||||
libPath = lib.makeLibraryPath ([ libpcap ] ++ lib.optional unfreeEnableDiscord discord-gamesdk);
|
||||
libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in
|
||||
''
|
||||
makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Emulator of x86-based machines based on PCem.";
|
||||
mainProgram = "86Box";
|
||||
homepage = "https://86box.net/";
|
||||
license = with licenses; [ gpl2Only ]
|
||||
++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree;
|
||||
license = with licenses; [ gpl2Only ] ++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree;
|
||||
maintainers = [ maintainers.jchw ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
, doxygen
|
||||
, fetchFromGitHub
|
||||
, ffmpeg
|
||||
, freeimage
|
||||
, libmediainfo
|
||||
, libraw
|
||||
, libsodium
|
||||
|
@ -28,13 +27,13 @@
|
|||
}:
|
||||
mkDerivation rec {
|
||||
pname = "megasync";
|
||||
version = "4.9.0.0";
|
||||
version = "4.9.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "meganz";
|
||||
repo = "MEGAsync";
|
||||
rev = "v${version}_Linux";
|
||||
sha256 = "sha256-s0E8kJ4PJmhaxVcWPCyCk/KbcX4V3IESdZhSosPlZuM=";
|
||||
sha256 = "sha256-Y1nfY5iP64iSCYwzqxbjZAQNHyj4yVbSudSInm+yJzY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -54,7 +53,6 @@ mkDerivation rec {
|
|||
cryptopp
|
||||
curl
|
||||
ffmpeg
|
||||
freeimage
|
||||
libmediainfo
|
||||
libraw
|
||||
libsodium
|
||||
|
@ -72,7 +70,6 @@ mkDerivation rec {
|
|||
./noinstall-distro-version.patch
|
||||
# megasync target is not part of the install rule thanks to a commented block
|
||||
./install-megasync.patch
|
||||
./ffmpeg_44.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -98,7 +95,7 @@ mkDerivation rec {
|
|||
"--with-cryptopp"
|
||||
"--with-curl"
|
||||
"--with-ffmpeg"
|
||||
"--with-freeimage"
|
||||
"--without-freeimage"
|
||||
"--without-readline"
|
||||
"--without-termcap"
|
||||
"--with-sodium"
|
||||
|
@ -111,10 +108,10 @@ mkDerivation rec {
|
|||
'';
|
||||
|
||||
preBuild = ''
|
||||
qmake CONFIG+="release" MEGA.pro
|
||||
qmake CONFIG+="nofreeimage release" MEGA.pro
|
||||
pushd MEGASync
|
||||
lrelease MEGASync.pro
|
||||
DESKTOP_DESTDIR="$out" qmake PREFIX="$out" -o Makefile MEGASync.pro CONFIG+=release
|
||||
DESKTOP_DESTDIR="$out" qmake PREFIX="$out" -o Makefile MEGASync.pro CONFIG+="nofreeimage release"
|
||||
popd
|
||||
'';
|
||||
|
||||
|
@ -124,6 +121,6 @@ mkDerivation rec {
|
|||
homepage = "https://mega.nz/";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = [ maintainers.michojel ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
Index: megasync-4.6.1.0/src/MEGASync/mega/src/gfx/freeimage.cpp
|
||||
===================================================================
|
||||
--- megasync-4.6.1.0.orig/src/MEGASync/mega/src/gfx/freeimage.cpp
|
||||
+++ megasync-4.6.1.0/src/MEGASync/mega/src/gfx/freeimage.cpp
|
||||
@@ -253,7 +253,8 @@ bool GfxProcFreeImage::readbitmapFfmpeg(
|
||||
|
||||
// Force seeking to key frames
|
||||
formatContext->seek2any = false;
|
||||
- videoStream->skip_to_keyframe = true;
|
||||
+ // no longer exposed in ffmpeg 4.4; the line above should be sufficient
|
||||
+ //videoStream->skip_to_keyframe = true;
|
||||
if (decoder->capabilities & CAP_TRUNCATED)
|
||||
{
|
||||
codecContext->flags |= CAP_TRUNCATED;
|
|
@ -29,13 +29,13 @@ let
|
|||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "organicmaps";
|
||||
version = "2024.03.18-5";
|
||||
version = "2024.03.31-8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "organicmaps";
|
||||
repo = "organicmaps";
|
||||
rev = "${version}-android";
|
||||
hash = "sha256-KoQlS2dW0tTZSDnGKF2F0+JeqMb0Fm0brz1gVCC8xY4=";
|
||||
hash = "sha256-U8tKrL5tnhT/RMvxROk8Q4lO22ylqiMM1QonZ1Rn+CY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -27,11 +27,11 @@
|
|||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "parsec-bin";
|
||||
version = "150_91a";
|
||||
version = "150_93b";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://web.archive.org/web/20231209190803if_/https://builds.parsec.app/package/parsec-linux.deb";
|
||||
sha256 = "sha256-/qugI7k0NYpq7p9l9auD2Pp+SFoFZ9jAZswpreVfgO4=";
|
||||
url = "https://web.archive.org/web/20240329180120/https://builds.parsec.app/package/parsec-linux.deb";
|
||||
sha256 = "sha256-wfsauQMubnGKGfL9c0Zee5g3nn0eEnOFalQNL3d4weE=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -12,13 +12,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "passky-desktop";
|
||||
version = "8.1.1";
|
||||
version = "8.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rabbit-Company";
|
||||
repo = "Passky-Desktop";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "1ma8s1bngjdzclcc4m5pcmavk38sidaskmz7dgfnv84y35si18dr";
|
||||
sha256 = "sha256-QQ0+qIkDPNCHeWmcF6FkbDrrt/r3fIkNi0dv6XlV1rc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -15,13 +15,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xmrig";
|
||||
version = "6.21.1";
|
||||
version = "6.21.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xmrig";
|
||||
repo = "xmrig";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xMfNWqr43Gxu+ET8oP9l97+tBsL/b6DNuFU4j9wy0UA=";
|
||||
hash = "sha256-0ej2+g+B9K50JIs0wi1SfLBsaYTsk+0/cImLLZLNtmc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -176,12 +176,12 @@ stdenv.mkDerivation rec {
|
|||
--prefix PATH : ${binpath}
|
||||
--suffix PATH : ${lib.makeBinPath [ xdg-utils coreutils ]}
|
||||
${optionalString (enableFeatures != []) ''
|
||||
--add-flags "--enable-features=${strings.concatStringsSep "," enableFeatures}"
|
||||
--add-flags "--enable-features=${strings.concatStringsSep "," enableFeatures}\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+,WaylandWindowDecorations}}"
|
||||
''}
|
||||
${optionalString (disableFeatures != []) ''
|
||||
--add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}"
|
||||
''}
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}"
|
||||
${optionalString vulkanSupport ''
|
||||
--prefix XDG_DATA_DIRS : "${addOpenGLRunpath.driverLink}/share"
|
||||
''}
|
||||
|
|
|
@ -51,11 +51,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opera";
|
||||
version = "108.0.5067.29";
|
||||
version = "109.0.5097.38";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
|
||||
hash = "sha256-lPazFtTWb/AbK/5H5MQK+dn0imJqUHiL6/KRq1CNxfo=";
|
||||
hash = "sha256-eljVXaHN7gPqpoL3z+Fz/BH6b+1qxSHtFln6NCxl9tc=";
|
||||
};
|
||||
|
||||
unpackPhase = "dpkg-deb -x $src .";
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ buildGoModule, lib, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "tfswitch";
|
||||
version = "1.0.0";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warrensbox";
|
||||
repo = "terraform-switcher";
|
||||
rev = version;
|
||||
sha256 = "sha256-zUFnJCYh6XM0HiET45ZRa/ESS/n3XdYKkUJuLiDDRAg=";
|
||||
sha256 = "sha256-Gp7+TEE7rmlabZhley/crpYZiqiKcc6uqSr6leZsmgU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-DsC9djgt7Er2m2TacUldpJP43jC0IBklPnu41Saf4DY=";
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "werf";
|
||||
version = "1.2.301";
|
||||
version = "1.2.305";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "werf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-w7gHcHXvCWGzIiq4NvKjha/gs7W8fmNnZPe99lHstIg=";
|
||||
hash = "sha256-WbSGbwm3/GXRZBvnleJYXxXBhIj+NwKAMLBZdUkf4PE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-pPWX9KtWDgJrQKt9PX1gb0v/DCop8lOxJyAjFZr3RpI=";
|
||||
vendorHash = "sha256-BN2baLI91tJyGFEuuS9lAzKsKwPPpKm0eUK7Hxwbvkk=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
, nixosTests
|
||||
, gettext
|
||||
, python3
|
||||
, giflib
|
||||
, darwin
|
||||
, ghostscript
|
||||
, imagemagickBig
|
||||
, jbig2enc
|
||||
|
@ -22,16 +24,32 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "2.7.1";
|
||||
version = "2.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paperless-ngx";
|
||||
repo = "paperless-ngx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-k19dQeXuPwggTfrsxL4oesExAz4tkT/GN6lt7sLU3Nk=";
|
||||
hash = "sha256-vXW2d45Mth3Y95xPPH8bFjVLWVdUl+WuvSXJyPD3FyU=";
|
||||
};
|
||||
|
||||
# subpath installation is broken with uvicorn >= 0.26
|
||||
# https://github.com/NixOS/nixpkgs/issues/298719
|
||||
# https://github.com/paperless-ngx/paperless-ngx/issues/5494
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: {
|
||||
version = "0.25.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "encode";
|
||||
repo = "uvicorn";
|
||||
rev = "0.25.0";
|
||||
hash = "sha256-ng98DTw49zyFjrPnEwfnPfONyjKKZYuLl0qduxSppYk=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
python = python3;
|
||||
|
||||
path = lib.makeBinPath [
|
||||
ghostscript
|
||||
|
@ -64,6 +82,9 @@ let
|
|||
|
||||
buildInputs = [
|
||||
pango
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
giflib
|
||||
darwin.apple_sdk.frameworks.CoreText
|
||||
];
|
||||
|
||||
CYPRESS_INSTALL_BINARY = "0";
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "seqkit";
|
||||
version = "2.8.0";
|
||||
version = "2.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "shenwei356";
|
||||
repo = "seqkit";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JsrmRUbSNCFJ58tIblKq+VRXCD1mBeCAcosDGiVb5Gs=";
|
||||
sha256 = "sha256-LtPf99spy2ByTnSMJ5k1mWkh+Nct3Fg4Y9mXARxuXlA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0//kySYhNmfiwiys/Ku0/8RzKpnxO0+byD8pcIkvDY0=";
|
||||
|
|
|
@ -14,14 +14,11 @@
|
|||
, ninja
|
||||
, ant
|
||||
, openjdk
|
||||
, perl536Packages
|
||||
, perl
|
||||
, perlPackages
|
||||
, makeWrapper
|
||||
}:
|
||||
let
|
||||
# log says: polymake does not work with perl 5.37 or newer;
|
||||
perlPackages = perl536Packages;
|
||||
inherit (perlPackages) perl;
|
||||
in
|
||||
|
||||
# polymake compiles its own version of sympol and atint because we
|
||||
# don't have those packages. other missing optional dependencies:
|
||||
# javaview, libnormaliz, scip, soplex, jreality.
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
buildLua (finalAttrs: {
|
||||
pname = "uosc";
|
||||
version = "5.1.1";
|
||||
version = "5.2.0";
|
||||
scriptPath = "src/uosc";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tomasklaen";
|
||||
repo = "uosc";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-+4k8T1yX3IRXK3XkUShsuJSH9w1Zla7CaRENcIqX4iM=";
|
||||
hash = "sha256-0GPDna9uOuhFDhA9A1fbkoKkgSB76qiDzJVQ9gjGcWo=";
|
||||
};
|
||||
passthru.updateScript = gitUpdater {};
|
||||
|
||||
|
@ -26,15 +26,6 @@ buildLua (finalAttrs: {
|
|||
vendorHash = "sha256-nkY0z2GiDxfNs98dpe+wZNI3dAXcuHaD/nHiZ2XnZ1Y=";
|
||||
};
|
||||
|
||||
# Patch lua script to get the path to its `ziggy` binary form the environment
|
||||
patches = [
|
||||
# uosc#814: Support overriding `ziggy_path` via environment variable
|
||||
(fetchpatch {
|
||||
url = "https://github.com/tomasklaen/uosc/commit/4fdf68a1bcb510824d66f35ecc7672a6452a44b2.patch";
|
||||
hash = "sha256-igUqFf8e7LVIIjGxACdIWAeZxjF/yqaCL4QRXrzNQXk=";
|
||||
})
|
||||
];
|
||||
|
||||
# the script uses custom "texture" fonts as the background for ui elements.
|
||||
# In order for mpv to find them, we need to adjust the fontconfig search path.
|
||||
postInstall = "cp -r src/fonts $out/share";
|
||||
|
|
|
@ -7,19 +7,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "conmon-rs";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-B8uloch+ucOLIIR64GE5Z8ahe2NLqPmDGcugQVSqpl4=";
|
||||
hash = "sha256-+htd9RJGSFzzyEQSBJGIzurQDQgpJ+sJHLPe3aPH0cg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ capnproto protobuf ];
|
||||
doCheck = false;
|
||||
|
||||
cargoHash = "sha256-hEhAnNppiyY6EcdHfri534ih8VUfpT7lO9L4mFJ6Caw=";
|
||||
cargoHash = "sha256-CcWji/qMd7eX0O3cR9/FLID17WpSfz4kEAhDgKb3jds=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An OCI container runtime monitor written in Rust";
|
||||
|
|
|
@ -517,7 +517,7 @@ rec {
|
|||
|
||||
buildLayeredImage = lib.makeOverridable ({ name, compressor ? "gz", ... }@args:
|
||||
let
|
||||
stream = streamLayeredImage args;
|
||||
stream = streamLayeredImage (builtins.removeAttrs args ["compressor"]);
|
||||
compress = compressorForImage compressor name;
|
||||
in
|
||||
runCommand "${baseNameOf name}.tar${compress.ext}"
|
||||
|
@ -1287,7 +1287,7 @@ rec {
|
|||
# Wrapper around streamNixShellImage to build an image from the result
|
||||
buildNixShellImage = { drv, compressor ? "gz", ... }@args:
|
||||
let
|
||||
stream = streamNixShellImage args;
|
||||
stream = streamNixShellImage (builtins.removeAttrs args ["compressor"]);
|
||||
compress = compressorForImage compressor drv.name;
|
||||
in
|
||||
runCommand "${drv.name}-env.tar${compress.ext}"
|
||||
|
|
|
@ -509,7 +509,23 @@ rec {
|
|||
contents = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
# buildImage without explicit tag
|
||||
# buildLayeredImage without compression
|
||||
bashLayeredUncompressed = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "bash-layered-uncompressed";
|
||||
tag = "latest";
|
||||
compressor = "none";
|
||||
contents = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
# buildLayeredImage with zstd compression
|
||||
bashLayeredZstdCompressed = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "bash-layered-zstd";
|
||||
tag = "latest";
|
||||
compressor = "zstd";
|
||||
contents = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
# streamLayeredImage without explicit tag
|
||||
bashNoTagStreamLayered = pkgs.dockerTools.streamLayeredImage {
|
||||
name = "bash-no-tag-stream-layered";
|
||||
contents = pkgs.bashInteractive;
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
{ lib
|
||||
, python3Packages
|
||||
, python312Packages
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, ...
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
python312Packages.buildPythonPackage rec {
|
||||
pname = "ark-pixel-font";
|
||||
version = "2023.11.26";
|
||||
version = "2024.04.05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TakWolf";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-6a9wNmcXlEesPthpMt+GrWyO3x6WVtemVTXP8rbWmLk=";
|
||||
hash = "sha256-G34cu/mSt/p8UPJt+Q1T2qy6d9LGgT1Jslt9syRz5eo=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
nativeBuildInputs = with python312Packages; [
|
||||
pixel-font-builder
|
||||
unidata-blocks
|
||||
character-encoding-utils
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ast-grep";
|
||||
version = "0.20.2";
|
||||
version = "0.20.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ast-grep";
|
||||
repo = "ast-grep";
|
||||
rev = version;
|
||||
hash = "sha256-hq5C6VMnkJ/Y75y7i5ipTUE7s5HsLnmomyFZJlQp/5Y=";
|
||||
hash = "sha256-R8xzj6QcLXdttk7fxqLmJht3vSGryWKf2/Swod4R23w=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-klQa8LB473tB3slDfA7p3SSzXBnzhCRZWeIeHskm71c=";
|
||||
cargoHash = "sha256-490NoWXvGv8vvW0oHYlal/dIPq9y99At9mepDTcEWko=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-expand";
|
||||
version = "1.0.81";
|
||||
version = "1.0.82";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dtolnay";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-ZOoMWvtuLDhbJu+qzVPHGTCqh2b3PHUggfxNtUW1DoU=";
|
||||
hash = "sha256-3NukL5DyyBMR1yiSP7SWhREP/vFl+Zd2gsGxC//7edI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-cTz9ZR+79yPqTaDqXjSlqXd7NxHDl6Q75N26z+vi7ck=";
|
||||
cargoHash = "sha256-niKg9IxNranrm52bXbp231cx/47kY+fd2ycdkudAWVo=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cargo subcommand to show result of macro expansion";
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, darwin
|
||||
, libiconv
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "cargo-unfmt";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fprasx";
|
||||
repo = "cargo-unfmt";
|
||||
rev = "0f4882f65d248e32812e0e854fa11d7db60921e7";
|
||||
hash = "sha256-nvn4nZkkNQQvzShwoxtFqHeyhXQPm2GJoTKBI+MkFgM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-mMeHTYCUIZR3jVvTxfyH4I9wGfUdCWcyn9djnksAY8k=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
|
||||
|
||||
# Doc tests are broken on 0.3.3
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unformat code into perfect rectangles";
|
||||
homepage = "https://github.com/fprasx/cargo-unfmt";
|
||||
license = licenses.gpl3Plus;
|
||||
mainProgram = "cargo-unfmt";
|
||||
maintainers = with maintainers; [ cafkafk ];
|
||||
};
|
||||
}
|
|
@ -19,7 +19,7 @@ buildGoModule rec {
|
|||
meta = {
|
||||
description = "Admin tool to view and inspect multiple x509 Certificates";
|
||||
homepage = "https://github.com/mgit-at/cert-viewer";
|
||||
license = lib.licenses.apsl20;
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.mkg20001 ];
|
||||
mainProgram = "cert-viewer";
|
||||
};
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "charm-freeze";
|
||||
version = "0.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charmbracelet";
|
||||
repo = "freeze";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ItcdgQUPrz2hpWS6nDYfnZaCdfocR3QgJTQ4TXzPQOw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-01tTr5NSyg52KGspYh9Rw98uQld6U+31Fy7jnyBoPx8=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to generate images of code and terminal output";
|
||||
mainProgram = "freeze";
|
||||
homepage = "https://github.com/charmbracelet/freeze";
|
||||
changelog = "https://github.com/charmbracelet/freeze/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ caarlos0 maaslalani ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "dhcpig";
|
||||
version = "1.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kamorin";
|
||||
repo = "DHCPig";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-MquLChDuJe3DdkxxKV4W0o49IIt7Am+yuhdOqUqexS8=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
scapy
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 pig.py $out/bin/dhcpig
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to perform advanced DHCP exhaustion attack";
|
||||
homepage = "https://github.com/kamorin/DHCPig";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ tochiaha ];
|
||||
mainProgram = "dhcpig";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"dependencies": {}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, buildDubPackage, fetchFromGitHub, clang, ldc, which }:
|
||||
buildDubPackage rec {
|
||||
pname = "dstep";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jacob-carlborg";
|
||||
repo = "dstep";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZFz2+GtBk3StqXo/9x47xrDFdz5XujHR62hj0p3AjcY=";
|
||||
};
|
||||
|
||||
dubLock = ./dub-lock.json;
|
||||
|
||||
nativeBuildInputs = [ ldc which clang ];
|
||||
|
||||
preConfigure = ''
|
||||
./configure --llvm-path ${lib.getLib clang.cc}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 bin/dstep -t $out/bin
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for converting C and Objective-C headers to D modules";
|
||||
homepage = "https://github.com/jacob-carlborg/dstep";
|
||||
license = licenses.boost;
|
||||
mainProgram = "dstep";
|
||||
maintainers = with maintainers; [ imrying ];
|
||||
};
|
||||
}
|
|
@ -15,7 +15,7 @@ let
|
|||
canRunGitGr = stdenv.hostPlatform.emulatorAvailable buildPackages;
|
||||
gitGr = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/git-gr";
|
||||
pname = "git-gr";
|
||||
version = "1.2.1";
|
||||
version = "1.4.1";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
|
@ -24,12 +24,12 @@ rustPlatform.buildRustPackage {
|
|||
owner = "9999years";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5Pr1z+RmY92cfT7KtFnUKpzhniUN6RjDKBekWiYCCuU=";
|
||||
hash = "sha256-8Z4ZLejNS6KQ/MXmQuZ0Tq9VmuJ5Nhxo4TS0tOlg/R4=";
|
||||
};
|
||||
|
||||
buildFeatures = [ "clap_mangen" ];
|
||||
|
||||
cargoHash = "sha256-5JLTSBBTPGUbuqUql/cMJKBLlO2uzuU1EDhfScaeCUg=";
|
||||
cargoHash = "sha256-REtY+UgtJCoTDgpI/+O341WsC4WJ4PS7/yFwWSVKKRo=";
|
||||
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
--- a/CMakeLists.txt 2023-02-01 23:55:18.171758209 +0100
|
||||
+++ b/CMakeLists.txt 2023-02-02 19:32:16.574426531 +0100
|
||||
@@ -23,25 +23,11 @@
|
||||
set (VCFEVAL_AVAILABLE 0)
|
||||
endif()
|
||||
|
||||
-execute_process(
|
||||
- COMMAND ${CMAKE_SOURCE_DIR}/external/make_dependencies.sh
|
||||
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
- RESULT_VARIABLE EXTERNAL_SUCCESS)
|
||||
|
||||
-if(NOT "${EXTERNAL_SUCCESS}" STREQUAL "0")
|
||||
- message(FATAL_ERROR "Building external dependencies has failed")
|
||||
-endif()
|
||||
-
|
||||
-set(Boost_USE_STATIC_LIBS ON) # only find static libs
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
-set(Boost_USE_STATIC_RUNTIME ON)
|
||||
|
||||
# un-break library finding
|
||||
-set(Boost_NO_BOOST_CMAKE ON)
|
||||
-set(Boost_NO_SYSTEM_PATHS ON)
|
||||
|
||||
-set(BOOST_ROOT ${CMAKE_BINARY_DIR})
|
||||
-message("Using our own Boost, which was built at ${HAPLOTYPES_SOURCE_DIR}/external/boost_install")
|
||||
|
||||
find_package(Boost 1.55.0 COMPONENTS thread iostreams regex unit_test_framework filesystem system program_options REQUIRED)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
@@ -51,7 +51,8 @@
|
||||
link_directories (${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
# make sure we use the bundled zlib version
|
||||
-set(ZLIB_LIBRARIES ${CMAKE_BINARY_DIR}/lib/libz.a)
|
||||
+# Additional flags for nix, found by trial and error
|
||||
+set(ZLIB_LIBRARIES -lz -lbz2 -lcurl -lcrypto -llzma)
|
||||
|
||||
include_directories (${HAPLOTYPES_SOURCE_DIR}/external/klib)
|
||||
include_directories (${HAPLOTYPES_SOURCE_DIR}/external/intervaltree)
|
||||
@@ -84,11 +86,6 @@
|
||||
${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
|
||||
-execute_process(COMMAND git describe --tags --always
|
||||
- OUTPUT_VARIABLE HAPLOTYPES_VERSION
|
||||
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
- OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
-)
|
||||
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/c++/include/Version.hh.in"
|
||||
"${CMAKE_BINARY_DIR}/include/Version.hh")
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
autoconf,
|
||||
bcftools,
|
||||
boost,
|
||||
bzip2,
|
||||
cmake,
|
||||
curl,
|
||||
fetchFromGitHub,
|
||||
htslib,
|
||||
lib,
|
||||
makeWrapper,
|
||||
perl,
|
||||
python3,
|
||||
rtg-tools,
|
||||
samtools,
|
||||
stdenv,
|
||||
xz,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
let
|
||||
# Bcftools needs perl
|
||||
runtime = [
|
||||
bcftools
|
||||
htslib
|
||||
my-python
|
||||
perl
|
||||
samtools
|
||||
];
|
||||
my-python-packages =
|
||||
p: with p; [
|
||||
bx-python
|
||||
pysam
|
||||
pandas
|
||||
psutil
|
||||
scipy
|
||||
];
|
||||
my-python = python3.withPackages my-python-packages;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hap.py";
|
||||
version = "0.3.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Illumina";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-K8XXhioMGMHw56MKvp0Eo8S6R36JczBzGRaBz035zRQ=";
|
||||
};
|
||||
# For illumina script
|
||||
BOOST_ROOT = "${boost.out}";
|
||||
ZLIBSTATIC = "${zlib.static}";
|
||||
# For cmake : boost lib and includedir are in differernt location
|
||||
BOOST_LIBRARYDIR = "${boost.out}/lib";
|
||||
BOOST_INCLUDEDIR = "${boost.dev}/include";
|
||||
|
||||
patches = [
|
||||
# Compatibility with nix for boost and library flags : zlib, bzip2, curl, crypto, lzma
|
||||
./boost-library-flags.patch
|
||||
# Update to python3
|
||||
./python3.patch
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
cmake
|
||||
makeWrapper
|
||||
];
|
||||
buildInputs = [
|
||||
boost
|
||||
bzip2
|
||||
curl
|
||||
htslib
|
||||
my-python
|
||||
rtg-tools
|
||||
xz
|
||||
zlib
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/hap.py \
|
||||
--set PATH ${lib.makeBinPath runtime} \
|
||||
--add-flags "--engine-vcfeval-path=${rtg-tools}/bin/rtg"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Compare genetics variants against a gold dataset";
|
||||
homepage = "https://github.com/Illumina/hap.py";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ apraga ];
|
||||
mainProgram = "hap.py";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,342 @@
|
|||
diff --git a/src/c++/lib/tools/Roc.cpp b/src/c++/lib/tools/Roc.cpp
|
||||
index fabe2be..2c6bb49 100644
|
||||
--- a/src/c++/lib/tools/Roc.cpp
|
||||
+++ b/src/c++/lib/tools/Roc.cpp
|
||||
@@ -34,6 +34,9 @@
|
||||
*/
|
||||
|
||||
#include "helpers/Roc.hh"
|
||||
+#include <stdexcept>
|
||||
+#include <limits>
|
||||
+
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
diff --git a/src/cmake/cxx.cmake b/src/cmake/cxx.cmake
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
diff --git a/src/python/Haplo/happyroc.py b/src/python/Haplo/happyroc.py
|
||||
index 152bd18..e439957 100644
|
||||
--- a/src/python/Haplo/happyroc.py
|
||||
+++ b/src/python/Haplo/happyroc.py
|
||||
@@ -97,7 +97,7 @@ def roc(roc_table, output_path,
|
||||
header = l.split("\t")
|
||||
else:
|
||||
rec = {}
|
||||
- for k, v in itertools.izip(header, l.split("\t")):
|
||||
+ for k, v in zip(header, l.split("\t")):
|
||||
rec[k] = v
|
||||
|
||||
if filter_handling:
|
||||
@@ -160,11 +160,11 @@ def roc(roc_table, output_path,
|
||||
|
||||
if "all" not in result:
|
||||
# minimal empty DF
|
||||
- minidata = [{"Type": "SNP", "Subtype": "*", "Filter": "ALL", "Genotype": "*", "Subset": "*", "QQ": "*"} for _ in xrange(2)]
|
||||
+ minidata = [{"Type": "SNP", "Subtype": "*", "Filter": "ALL", "Genotype": "*", "Subset": "*", "QQ": "*"} for _ in range(2)]
|
||||
minidata[1]["Type"] = "INDEL"
|
||||
result["all"] = pandas.DataFrame(minidata, columns=RESULT_ALLCOLUMNS)
|
||||
for i, c in enumerate(RESULT_ALLCOLUMNS):
|
||||
- result["all"][c] = result["all"][c].astype(RESULT_ALLDTYPES[i], raise_on_error=False)
|
||||
+ result["all"][c] = result["all"][c].astype(RESULT_ALLDTYPES[i], errors="ignore")
|
||||
|
||||
for k, v in result.items():
|
||||
result[k] = _postprocessRocData(pandas.DataFrame(v, columns=RESULT_ALLCOLUMNS))
|
||||
diff --git a/src/python/Haplo/partialcredit.py b/src/python/Haplo/partialcredit.py
|
||||
index d9e22bb..0f2b2cf 100644
|
||||
--- a/src/python/Haplo/partialcredit.py
|
||||
+++ b/src/python/Haplo/partialcredit.py
|
||||
@@ -202,7 +202,7 @@ def partialCredit(vcfname,
|
||||
try:
|
||||
res = runParallel(pool,
|
||||
preprocessWrapper,
|
||||
- itertools.izip(itertools.repeat(vcfname), locations),
|
||||
+ zip(itertools.repeat(vcfname), locations),
|
||||
{"reference": reference,
|
||||
"decompose": decompose,
|
||||
"leftshift": leftshift,
|
||||
diff --git a/src/python/Haplo/quantify.py b/src/python/Haplo/quantify.py
|
||||
index 042d13e..b1d362e 100755
|
||||
--- a/src/python/Haplo/quantify.py
|
||||
+++ b/src/python/Haplo/quantify.py
|
||||
@@ -152,7 +152,7 @@ def run_quantify(filename,
|
||||
run_str += " -v %s" % pipes.quote(write_vcf)
|
||||
|
||||
if regions:
|
||||
- for k, v in regions.iteritems():
|
||||
+ for k, v in regions.items():
|
||||
run_str += " -R '%s:%s'" % (k, v)
|
||||
|
||||
if roc_regions:
|
||||
diff --git a/src/python/Somatic/Mutect.py b/src/python/Somatic/Mutect.py
|
||||
index 7ac923c..81f08b5 100755
|
||||
--- a/src/python/Somatic/Mutect.py
|
||||
+++ b/src/python/Somatic/Mutect.py
|
||||
@@ -148,7 +148,7 @@ def extractMutectSNVFeatures(vcfname, tag, avg_depth=None):
|
||||
n_allele_alt_count = 0
|
||||
else:
|
||||
n_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
n_allele_alt_count += float(rec[n_sample + "AD"][a + 1])
|
||||
|
||||
if n_allele_alt_count + n_allele_ref_count == 0:
|
||||
@@ -163,7 +163,7 @@ def extractMutectSNVFeatures(vcfname, tag, avg_depth=None):
|
||||
t_allele_alt_count = 0
|
||||
else:
|
||||
t_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
t_allele_alt_count += float(rec[t_sample + "AD"][a + 1])
|
||||
|
||||
if t_allele_alt_count + t_allele_ref_count == 0:
|
||||
@@ -344,7 +344,7 @@ def extractMutectIndelFeatures(vcfname, tag, avg_depth=None):
|
||||
n_allele_alt_count = 0
|
||||
else:
|
||||
n_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
n_allele_alt_count += float(rec[n_sample + "AD"][a + 1])
|
||||
|
||||
if n_allele_alt_count + n_allele_ref_count == 0:
|
||||
@@ -359,7 +359,7 @@ def extractMutectIndelFeatures(vcfname, tag, avg_depth=None):
|
||||
t_allele_alt_count = 0
|
||||
else:
|
||||
t_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
t_allele_alt_count += float(rec[t_sample + "AD"][a + 1])
|
||||
|
||||
if t_allele_alt_count + t_allele_ref_count == 0:
|
||||
diff --git a/src/python/Tools/bcftools.py b/src/python/Tools/bcftools.py
|
||||
index 6146b7a..6d80d14 100755
|
||||
--- a/src/python/Tools/bcftools.py
|
||||
+++ b/src/python/Tools/bcftools.py
|
||||
@@ -128,8 +128,8 @@ def concatenateParts(output, *args):
|
||||
to_delete.append(tf2.name)
|
||||
to_delete.append(tf1.name + ".csi")
|
||||
to_delete.append(tf2.name + ".csi")
|
||||
- half1 = [tf1.name] + list(args[:len(args)/2])
|
||||
- half2 = [tf2.name] + list(args[len(args)/2:])
|
||||
+ half1 = [tf1.name] + list(args[:len(args)//2])
|
||||
+ half2 = [tf2.name] + list(args[len(args)//2:])
|
||||
concatenateParts(*half1)
|
||||
runBcftools("index", tf1.name)
|
||||
concatenateParts(*half2)
|
||||
diff --git a/src/python/Tools/metric.py b/src/python/Tools/metric.py
|
||||
index 71ccc99..372626d 100755
|
||||
--- a/src/python/Tools/metric.py
|
||||
+++ b/src/python/Tools/metric.py
|
||||
@@ -115,7 +115,7 @@ def replaceNaNs(xobject):
|
||||
if type(xobject[k]) is dict or type(xobject[k]) is list or type(xobject[k]) is float:
|
||||
xobject[k] = replaceNaNs(xobject[k])
|
||||
elif type(xobject) is list:
|
||||
- for k in xrange(0, len(xobject)):
|
||||
+ for k in range(0, len(xobject)):
|
||||
if type(xobject[k]) is dict or type(xobject[k]) is list or type(xobject[k]) is float:
|
||||
xobject[k] = replaceNaNs(xobject[k])
|
||||
elif type(xobject) is float:
|
||||
diff --git a/src/python/Tools/parallel.py b/src/python/Tools/parallel.py
|
||||
index 9d49760..5fcb37e 100755
|
||||
--- a/src/python/Tools/parallel.py
|
||||
+++ b/src/python/Tools/parallel.py
|
||||
@@ -17,9 +17,9 @@ import logging
|
||||
import traceback
|
||||
import subprocess
|
||||
import multiprocessing
|
||||
-import cPickle
|
||||
+import pickle
|
||||
import tempfile
|
||||
-from itertools import islice, izip, repeat
|
||||
+from itertools import islice, repeat
|
||||
|
||||
from . import LoggingWriter
|
||||
|
||||
@@ -93,7 +93,7 @@ def runParallel(pool, fun, par, *args, **kwargs):
|
||||
|
||||
"""
|
||||
if pool:
|
||||
- result = pool.map(parMapper, izip(par, repeat( { "fun": fun, "args": args, "kwargs": kwargs } )))
|
||||
+ result = pool.map(parMapper, zip(par, repeat( { "fun": fun, "args": args, "kwargs": kwargs } )))
|
||||
else:
|
||||
result = []
|
||||
for c in par:
|
||||
diff --git a/src/python/Tools/sessioninfo.py b/src/python/Tools/sessioninfo.py
|
||||
index 75650ec..b49bf59 100644
|
||||
--- a/src/python/Tools/sessioninfo.py
|
||||
+++ b/src/python/Tools/sessioninfo.py
|
||||
@@ -34,7 +34,6 @@ def sessionInfo():
|
||||
'version': version,
|
||||
'runInfo': [{"key": "commandline", "value": " ".join(sys.argv)}],
|
||||
'uname': " / ".join(platform.uname()),
|
||||
- 'dist': " / ".join(platform.dist()),
|
||||
'mac_ver': " / ".join([platform.mac_ver()[0], platform.mac_ver()[2]]),
|
||||
'python_implementation': platform.python_implementation(),
|
||||
'python_version': platform.python_version(),
|
||||
diff --git a/src/python/Tools/vcfcallerinfo.py b/src/python/Tools/vcfcallerinfo.py
|
||||
index eb7e86e..947f2c4 100755
|
||||
--- a/src/python/Tools/vcfcallerinfo.py
|
||||
+++ b/src/python/Tools/vcfcallerinfo.py
|
||||
@@ -33,8 +33,8 @@ class CallerInfo(object):
|
||||
|
||||
def asDict(self):
|
||||
kvd = ["name", "version", "parameters"]
|
||||
- return {"aligners": [dict(y for y in itertools.izip(kvd, x)) for x in self.aligners],
|
||||
- "callers": [dict(y for y in itertools.izip(kvd, x)) for x in self.callers]}
|
||||
+ return {"aligners": [dict(y for y in zip(kvd, x)) for x in self.aligners],
|
||||
+ "callers": [dict(y for y in zip(kvd, x)) for x in self.callers]}
|
||||
|
||||
def addVCF(self, vcfname):
|
||||
""" Add caller versions from a VCF
|
||||
diff --git a/src/python/hap.py b/src/python/hap.py
|
||||
index 8045936..93279a4 100755
|
||||
--- a/src/python/hap.py
|
||||
+++ b/src/python/hap.py
|
||||
@@ -188,7 +188,7 @@ def main():
|
||||
parser.print_help()
|
||||
exit(1)
|
||||
|
||||
- print "Hap.py %s" % Tools.version
|
||||
+ print("Hap.py %s" % Tools.version)
|
||||
if args.version:
|
||||
exit(0)
|
||||
|
||||
diff --git a/src/python/ovc.py b/src/python/ovc.py
|
||||
index 2837255..20b4442 100755
|
||||
--- a/src/python/ovc.py
|
||||
+++ b/src/python/ovc.py
|
||||
@@ -34,7 +34,7 @@ lines = 1
|
||||
for line in f:
|
||||
l = line.split("\t")
|
||||
if len(l) > 3 and (last-1) > int(l[1]):
|
||||
- print "Overlap at %s:%i (line %i)" % (l[0], int(l[1]), lines)
|
||||
+ print(Overlap at %s:%i (line %i)) % (l[0], int(l[1]), lines)
|
||||
exit(1)
|
||||
elif len(l) > 3:
|
||||
last = int(l[2])
|
||||
diff --git a/src/python/pre.py b/src/python/pre.py
|
||||
index 5ca1644..a37a4b2 100755
|
||||
--- a/src/python/pre.py
|
||||
+++ b/src/python/pre.py
|
||||
@@ -47,8 +47,8 @@ import Haplo.partialcredit
|
||||
def hasChrPrefix(chrlist):
|
||||
""" returns if list of chr names has a chr prefix or not """
|
||||
|
||||
- noprefix = map(str, range(23)) + ["X", "Y", "MT"]
|
||||
- withprefix = ["chr" + x for x in map(str, range(23)) + ["X", "Y", "M"]]
|
||||
+ noprefix = [str(x) for x in range(23)] + ["X", "Y", "MT"]
|
||||
+ withprefix = ["chr" + str(x) for x in range(23)] + ["X", "Y", "M"]
|
||||
|
||||
count_noprefix = len(list(set(noprefix) & set(chrlist)))
|
||||
count_prefix = len(list(set(withprefix) & set(chrlist)))
|
||||
@@ -126,7 +126,7 @@ def preprocess(vcf_input,
|
||||
|
||||
if gender == "auto":
|
||||
logging.info(mf)
|
||||
- if "female" in mf:
|
||||
+ if b"female" in mf:
|
||||
gender = "female"
|
||||
else:
|
||||
gender = "male"
|
||||
@@ -392,7 +392,7 @@ def main():
|
||||
exit(0)
|
||||
|
||||
if args.version:
|
||||
- print "pre.py %s" % Tools.version # noqa:E999
|
||||
+ print(pre.py %s) % Tools.version # noqa:E999
|
||||
exit(0)
|
||||
|
||||
args.input = args.input[0]
|
||||
diff --git a/src/python/qfy.py b/src/python/qfy.py
|
||||
index 4f247ee..59ed68a 100755
|
||||
--- a/src/python/qfy.py
|
||||
+++ b/src/python/qfy.py
|
||||
@@ -203,8 +203,8 @@ def quantify(args):
|
||||
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "Benchmarking Summary:"
|
||||
- print essential_numbers.to_string(index=False)
|
||||
+ print("Benchmarking Summary:")
|
||||
+ print(essential_numbers.to_string(index=False))
|
||||
|
||||
# keep this for verbose output
|
||||
if not args.verbose:
|
||||
@@ -213,12 +213,12 @@ def quantify(args):
|
||||
except:
|
||||
pass
|
||||
|
||||
- for t in res.iterkeys():
|
||||
+ for t in res.keys():
|
||||
metrics_output["metrics"].append(dataframeToMetricsTable("roc." + t, res[t]))
|
||||
|
||||
# gzip JSON output
|
||||
if args.write_json:
|
||||
with gzip.open(args.reports_prefix + ".metrics.json.gz", "w") as fp:
|
||||
- json.dump(metrics_output, fp)
|
||||
+ fp.write(json.dumps(metrics_output, default=np_encoder).encode('ascii'))
|
||||
|
||||
|
||||
@@ -362,7 +363,7 @@ def main():
|
||||
exit(0)
|
||||
|
||||
if args.version:
|
||||
- print "qfy.py %s" % Tools.version
|
||||
+ print(qfy.py %s) % Tools.version
|
||||
exit(0)
|
||||
|
||||
if args.fp_bedfile and args.preprocessing_truth_confregions:
|
||||
diff --git a/src/python/som.py b/src/python/som.py
|
||||
index e942351..c01d522 100755
|
||||
--- a/src/python/som.py
|
||||
+++ b/src/python/som.py
|
||||
@@ -640,7 +640,7 @@ def main():
|
||||
"overlap):\n" + ambie.to_string(index=False))
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "FP/ambiguity classes with info (multiple classes can " \
|
||||
+ print(FP/ambiguity classes with info (multiple classes can ) \
|
||||
"overlap):\n" + ambie.to_string(index=False)
|
||||
ambie.to_csv(args.output + ".ambiclasses.csv")
|
||||
metrics_output["metrics"].append(dataframeToMetricsTable("ambiclasses", ambie))
|
||||
@@ -659,7 +659,7 @@ def main():
|
||||
formatters={'reason': '{{:<{}s}}'.format(ambie['reason'].str.len().max()).format}, index=False))
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "Reasons for defining as ambiguous (multiple reasons can overlap):\n" + ambie.to_string(
|
||||
+ print(Reasons for defining as ambiguous (multiple reasons can overlap):\n) + ambie.to_string(
|
||||
formatters={'reason': '{{:<{}s}}'.format(ambie['reason'].str.len().max()).format}, index=False)
|
||||
ambie.to_csv(args.output + ".ambireasons.csv")
|
||||
metrics_output["metrics"].append(dataframeToMetricsTable("ambireasons", ambie))
|
||||
@@ -936,7 +936,7 @@ def main():
|
||||
logging.info("\n" + res.to_string())
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "\n" + res.to_string()
|
||||
+ print(\n) + res.to_string()
|
||||
|
||||
res["sompyversion"] = vstring
|
||||
|
||||
diff --git a/src/python/qfy.py b/src/python/qfy.py
|
||||
index 59ed68a..be8d7e1 100755
|
||||
--- a/src/python/qfy.py
|
||||
+++ b/src/python/qfy.py
|
||||
@@ -33,6 +33,7 @@ import pandas
|
||||
import json
|
||||
import tempfile
|
||||
import gzip
|
||||
+import numpy as np
|
||||
|
||||
scriptDir = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
|
||||
sys.path.append(os.path.abspath(os.path.join(scriptDir, '..', 'lib', 'python27')))
|
||||
@@ -45,6 +46,10 @@ import Haplo.happyroc
|
||||
import Haplo.gvcf2bed
|
||||
from Tools import fastasize
|
||||
|
||||
+# Cannot convert data to json without a custom enconder
|
||||
+def np_encoder(object):
|
||||
+ if isinstance(object, np.generic):
|
||||
+ return object.item()
|
||||
|
||||
def quantify(args):
|
||||
""" Run quantify and write tables """
|
|
@ -11,12 +11,12 @@
|
|||
}:
|
||||
flutter.buildFlutterApplication rec {
|
||||
pname = "intiface-central";
|
||||
version = "2.5.3";
|
||||
version = "2.5.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "intiface";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-i0G3wCfJ9Q7DEmVMrQv2K6fy4YRWsEMNns9zMZkJxvY=";
|
||||
hash = "sha256-EcOFiaWqljNZIvsCkhuCEChEC51ERxM74EYE6u7Q4U8=";
|
||||
};
|
||||
patches = [
|
||||
./corrosion.patch
|
||||
|
@ -28,7 +28,7 @@ flutter.buildFlutterApplication rec {
|
|||
name = "${pname}-${version}-cargo-deps";
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/intiface-engine-flutter-bridge";
|
||||
hash = "sha256-0sCHa3rMaLYaUG3E3fmsLi0dSdb9vGyv7qNR3JQkXuU=";
|
||||
hash = "sha256-tkJcwT2lt8+FT9GZ0ROrm1jkOxoq875O3wZkgZl22r4=";
|
||||
};
|
||||
cargoRoot = "intiface-engine-flutter-bridge";
|
||||
|
||||
|
|
|
@ -24,11 +24,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "archive",
|
||||
"sha256": "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03",
|
||||
"sha256": "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.4.6"
|
||||
"version": "3.4.9"
|
||||
},
|
||||
"args": {
|
||||
"dependency": "transitive",
|
||||
|
@ -54,11 +54,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "bloc",
|
||||
"sha256": "3820f15f502372d979121de1f6b97bfcf1630ebff8fe1d52fb2b0bfa49be5b49",
|
||||
"sha256": "f53a110e3b48dcd78136c10daa5d51512443cea5e1348c9d80a320095fa2db9e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.1.2"
|
||||
"version": "8.1.3"
|
||||
},
|
||||
"boolean_selector": {
|
||||
"dependency": "transitive",
|
||||
|
@ -104,11 +104,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_daemon",
|
||||
"sha256": "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65",
|
||||
"sha256": "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.0"
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"build_resolvers": {
|
||||
"dependency": "transitive",
|
||||
|
@ -154,11 +154,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_value",
|
||||
"sha256": "a8de5955205b4d1dbbbc267daddf2178bd737e4bab8987c04a500478c9651e74",
|
||||
"sha256": "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.6.3"
|
||||
"version": "8.7.0"
|
||||
},
|
||||
"buttplug": {
|
||||
"dependency": "direct main",
|
||||
|
@ -274,11 +274,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dbus",
|
||||
"sha256": "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263",
|
||||
"sha256": "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.8"
|
||||
"version": "0.7.10"
|
||||
},
|
||||
"device_info_plus": {
|
||||
"dependency": "direct main",
|
||||
|
@ -410,11 +410,11 @@
|
|||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "flutter_lints",
|
||||
"sha256": "ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5",
|
||||
"sha256": "e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.1"
|
||||
},
|
||||
"flutter_local_notifications": {
|
||||
"dependency": "direct main",
|
||||
|
@ -460,21 +460,31 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_markdown",
|
||||
"sha256": "8afc9a6aa6d8e8063523192ba837149dbf3d377a37c0b0fc579149a1fbd4a619",
|
||||
"sha256": "35108526a233cc0755664d445f8a6b4b61e6f8fe993b3658b80b4a26827fc196",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.18"
|
||||
"version": "0.6.18+2"
|
||||
},
|
||||
"flutter_rust_bridge": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_rust_bridge",
|
||||
"sha256": "e12415c3bce49bcbc3fed383f0ea41ad7d828f6cf0eccba0588ffa5a812fe522",
|
||||
"sha256": "02720226035257ad0b571c1256f43df3e1556a499f6bcb004849a0faaa0e87f0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.82.1"
|
||||
"version": "1.82.6"
|
||||
},
|
||||
"flutter_spinkit": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_spinkit",
|
||||
"sha256": "b39c753e909d4796906c5696a14daf33639a76e017136c8d82bf3e620ce5bb8e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.2.0"
|
||||
},
|
||||
"flutter_test": {
|
||||
"dependency": "direct dev",
|
||||
|
@ -502,11 +512,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "github",
|
||||
"sha256": "e20582edb07b859cc226ab2fd64fd246f7cdcbfc7098f46e241c03deb81b5682",
|
||||
"sha256": "45d7ffc34f4958b8f9910175e10fc00f976ad0b44ca5ee06fcfd7269a2dbb77f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.19.0"
|
||||
"version": "9.20.0"
|
||||
},
|
||||
"glob": {
|
||||
"dependency": "transitive",
|
||||
|
@ -618,6 +628,36 @@
|
|||
"source": "hosted",
|
||||
"version": "6.7.1"
|
||||
},
|
||||
"leak_tracker": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker",
|
||||
"sha256": "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.0.0"
|
||||
},
|
||||
"leak_tracker_flutter_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_flutter_testing",
|
||||
"sha256": "b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
},
|
||||
"leak_tracker_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_testing",
|
||||
"sha256": "a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
},
|
||||
"lints": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -662,31 +702,31 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "matcher",
|
||||
"sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e",
|
||||
"sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.12.16"
|
||||
"version": "0.12.16+1"
|
||||
},
|
||||
"material_color_utilities": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "material_color_utilities",
|
||||
"sha256": "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41",
|
||||
"sha256": "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.0"
|
||||
"version": "0.8.0"
|
||||
},
|
||||
"meta": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "meta",
|
||||
"sha256": "a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e",
|
||||
"sha256": "d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
"version": "1.11.0"
|
||||
},
|
||||
"mime": {
|
||||
"dependency": "transitive",
|
||||
|
@ -698,6 +738,16 @@
|
|||
"source": "hosted",
|
||||
"version": "1.0.4"
|
||||
},
|
||||
"multicast_dns": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "multicast_dns",
|
||||
"sha256": "316cc47a958d4bd3c67bd238fe8b44fdfb6133bad89cb191c0c3bd3edb14e296",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.2+6"
|
||||
},
|
||||
"nested": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -752,11 +802,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "package_info_plus",
|
||||
"sha256": "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017",
|
||||
"sha256": "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.2.0"
|
||||
"version": "5.0.1"
|
||||
},
|
||||
"package_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
@ -772,11 +822,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "path",
|
||||
"sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917",
|
||||
"sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.8.3"
|
||||
"version": "1.9.0"
|
||||
},
|
||||
"path_provider": {
|
||||
"dependency": "direct main",
|
||||
|
@ -792,11 +842,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_android",
|
||||
"sha256": "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1",
|
||||
"sha256": "e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.0"
|
||||
"version": "2.2.1"
|
||||
},
|
||||
"path_provider_foundation": {
|
||||
"dependency": "transitive",
|
||||
|
@ -902,11 +952,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "petitparser",
|
||||
"sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750",
|
||||
"sha256": "eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.4.0"
|
||||
"version": "6.0.1"
|
||||
},
|
||||
"platform": {
|
||||
"dependency": "transitive",
|
||||
|
@ -922,11 +972,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "plugin_platform_interface",
|
||||
"sha256": "da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d",
|
||||
"sha256": "f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.6"
|
||||
"version": "2.1.7"
|
||||
},
|
||||
"pointycastle": {
|
||||
"dependency": "transitive",
|
||||
|
@ -952,11 +1002,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "provider",
|
||||
"sha256": "cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f",
|
||||
"sha256": "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.0.5"
|
||||
"version": "6.1.1"
|
||||
},
|
||||
"pub_semver": {
|
||||
"dependency": "transitive",
|
||||
|
@ -982,11 +1032,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "puppeteer",
|
||||
"sha256": "59e723cc5b69537159a7c34efd645dc08a6a1ac4647d7d7823606802c0f93cdb",
|
||||
"sha256": "eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.2.0"
|
||||
"version": "3.6.0"
|
||||
},
|
||||
"quiver": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1022,21 +1072,21 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "sentry",
|
||||
"sha256": "830667eadc0398fea3a3424ed1b74568e2db603a42758d0922e2f2974ce55a60",
|
||||
"sha256": "a460aa48568d47140dd0557410b624d344ffb8c05555107ac65035c1097cf1ad",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.10.1"
|
||||
"version": "7.18.0"
|
||||
},
|
||||
"sentry_flutter": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "sentry_flutter",
|
||||
"sha256": "6730f41b304c6fb0fa590dacccaf73ba11082fc64b274cfe8a79776f2b95309c",
|
||||
"sha256": "3d0d1d4e0e407d276ae8128d123263ccbc37e988bae906765efd6f37d544f4c6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.10.1"
|
||||
"version": "7.18.0"
|
||||
},
|
||||
"settings_ui": {
|
||||
"dependency": "direct main",
|
||||
|
@ -1102,11 +1152,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_web",
|
||||
"sha256": "d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf",
|
||||
"sha256": "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.1"
|
||||
"version": "2.2.2"
|
||||
},
|
||||
"shared_preferences_windows": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1184,6 +1234,16 @@
|
|||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
},
|
||||
"sprintf": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "sprintf",
|
||||
"sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"stack_trace": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -1288,91 +1348,91 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "url_launcher",
|
||||
"sha256": "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27",
|
||||
"sha256": "b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.14"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"url_launcher_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_android",
|
||||
"sha256": "b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330",
|
||||
"sha256": "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.0"
|
||||
"version": "6.2.0"
|
||||
},
|
||||
"url_launcher_ios": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_ios",
|
||||
"sha256": "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f",
|
||||
"sha256": "bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.5"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"url_launcher_linux": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_linux",
|
||||
"sha256": "b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e",
|
||||
"sha256": "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.6"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"url_launcher_macos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_macos",
|
||||
"sha256": "b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88",
|
||||
"sha256": "b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.7"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"url_launcher_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_platform_interface",
|
||||
"sha256": "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618",
|
||||
"sha256": "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.5"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"url_launcher_web": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_web",
|
||||
"sha256": "2942294a500b4fa0b918685aff406773ba0a4cd34b7f42198742a94083020ce5",
|
||||
"sha256": "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.20"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"url_launcher_windows": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_windows",
|
||||
"sha256": "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069",
|
||||
"sha256": "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.8"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"uuid": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "uuid",
|
||||
"sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313",
|
||||
"sha256": "cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.7"
|
||||
"version": "4.3.3"
|
||||
},
|
||||
"vector_math": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1394,6 +1454,16 @@
|
|||
"source": "hosted",
|
||||
"version": "3.0.2"
|
||||
},
|
||||
"vm_service": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "vm_service",
|
||||
"sha256": "b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "13.0.0"
|
||||
},
|
||||
"watcher": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -1428,11 +1498,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32",
|
||||
"sha256": "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3",
|
||||
"sha256": "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.0.9"
|
||||
"version": "5.1.0"
|
||||
},
|
||||
"win32_registry": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1468,11 +1538,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "xml",
|
||||
"sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84",
|
||||
"sha256": "af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.3.0"
|
||||
"version": "6.4.2"
|
||||
},
|
||||
"yaml": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1496,7 +1566,7 @@
|
|||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.2.0-194.0.dev <4.0.0",
|
||||
"flutter": ">=3.13.0"
|
||||
"dart": ">=3.2.0 <4.0.0",
|
||||
"flutter": ">=3.16.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, perl
|
||||
, udev
|
||||
, openssl
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "koji";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "its-danny";
|
||||
repo = "koji";
|
||||
rev = version;
|
||||
hash = "sha256-2kBjHX7izo4loJ8oyPjE9FtCvUODC3Sm4T8ETIdeGZM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-owppYDt0YdWoDvfmzVfiIPjLgTAT9eTI1LpRr4Y3XQA=";
|
||||
|
||||
OPENSSL_NO_VENDOR = 1;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
perl
|
||||
udev
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl.dev
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An interactive CLI for creating conventional commits";
|
||||
homepage = "https://github.com/its-danny/koji";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ ByteSudoer ];
|
||||
mainProgram = "koji";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://lightningcss.dev/";
|
||||
changelog = "https://github.com/parcel-bundler/lightningcss/releases/tag/v${version}";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ toastal ];
|
||||
maintainers = with maintainers; [ johnrtitor toastal ];
|
||||
mainProgram = "lightningcss";
|
||||
# never built on aarch64-linux since first introduction in nixpkgs
|
||||
broken = stdenv.isLinux && stdenv.isAarch64;
|
||||
|
|
|
@ -68,7 +68,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
|||
description = "MaaAssistantArknights stripped-down version of FastDeploy";
|
||||
homepage = "https://github.com/MaaAssistantArknights/FastDeploy";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.apsl20;
|
||||
license = licenses.asl20;
|
||||
broken = cudaSupport && stdenv.hostPlatform.system != "x86_64-linux";
|
||||
};
|
||||
})
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "nwg-hello";
|
||||
version = "0.1.8";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-hello";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-WNich+DsRvYS4GiLWZLWRvvWxCAlzrK9Q7aRX7dKjeQ=";
|
||||
hash = "sha256-Z5Pwn/uJERWfHELXK+1SJ2vh//ZV9gqblD/GqnznJII=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
description = "Cross platform port of the macOS CoreFoundation";
|
||||
homepage = "https://github.com/gerickson/opencflite";
|
||||
license = lib.licenses.apsl20;
|
||||
license = lib.licenses.apple-psl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
{ stdenv, lib, fetchgit }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "passt";
|
||||
version = "0.2023_11_10.5ec3634";
|
||||
src = fetchgit {
|
||||
url = "git://passt.top/passt";
|
||||
rev = "5ec3634b07215337c2e69d88f9b1d74711897d7d";
|
||||
hash = "sha256-76CD9PYD/NcBkmRYFSZaYl381QJjuWo0VsNdh31d6/M=";
|
||||
};
|
||||
nativeBuildInputs = [ ];
|
||||
buildInputs = [];
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin $out/share/man/man1
|
||||
cp passt pasta qrap $out/bin/
|
||||
cp passt.1 pasta.1 qrap.1 $out/share/man/man1/
|
||||
'' + (lib.optionalString stdenv.hostPlatform.avx2Support ''
|
||||
cp passt.avx2 pasta.avx2 $out/bin/
|
||||
runHook postInstall
|
||||
'');
|
||||
meta = with lib; {
|
||||
homepage = "https://passt.top/passt/about/";
|
||||
description = "Translation layer between a Layer-2 network interface and native Layer-4 sockets";
|
||||
longDescription = ''
|
||||
passt implements a translation layer between a Layer-2 network interface
|
||||
and native Layer-4 sockets (TCP, UDP, ICMP/ICMPv6 echo) on a host.
|
||||
It doesn't require any capabilities or privileges, and it can be used as
|
||||
a simple replacement for Slirp.
|
||||
|
||||
pasta (same binary as passt, different command) offers equivalent
|
||||
functionality, for network namespaces: traffic is forwarded using a tap
|
||||
interface inside the namespace, without the need to create further
|
||||
interfaces on the host, hence not requiring any capabilities or
|
||||
privileges.
|
||||
'';
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ _8aed ];
|
||||
};
|
||||
}
|
|
@ -85,7 +85,9 @@ python.pkgs.buildPythonApplication rec {
|
|||
]);
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"cssutils"
|
||||
"django-csp"
|
||||
"django-filter"
|
||||
"python-dateutil"
|
||||
];
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@ python.pkgs.buildPythonApplication rec {
|
|||
--replace-fail vat_moss_forked==2020.3.20.0.11.0 vat-moss \
|
||||
--replace-fail "bleach==5.0.*" bleach \
|
||||
--replace-fail "dnspython==2.6.*" dnspython \
|
||||
--replace-fail "django-countries==7.5.*" django-countries \
|
||||
--replace-fail "django-filter==24.1" django-filter \
|
||||
--replace-fail "importlib_metadata==7.*" importlib_metadata \
|
||||
--replace-fail "markdown==3.6" markdown \
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "protoc-go-inject-tag";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "favadi";
|
||||
repo = "protoc-go-inject-tag";
|
||||
rev = "v${version}";
|
||||
sha256 = "01jsrx83pygvjx3nzfnwvb2vn5gagl79m9i67v7cfg1lzz168spj";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tMpcJ37yGr7i91Kwz57FmJ+u2x0CAus0+yWOR10fJLo=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Inject custom tags to protobuf golang struct";
|
||||
homepage = "https://github.com/favadi/protoc-go-inject-tag/tree/v1.4.0";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [elrohirgt];
|
||||
mainProgram = "protoc-go-inject-tag";
|
||||
};
|
||||
}
|
|
@ -6,6 +6,59 @@
|
|||
(fetchNuGet { pname = "ConsoleMenu-simple"; version = "2.6.1"; sha256 = "1vbi77schslq3nsardm4v8mrk0zi0phczwm2np1bl9z7c84h5cym"; })
|
||||
(fetchNuGet { pname = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
|
||||
(fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
|
||||
(fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
|
||||
(fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
|
||||
(fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
|
||||
(fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
|
||||
(fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
|
||||
(fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
|
||||
(fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
|
||||
(fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
|
||||
(fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
|
||||
(fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
|
||||
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
|
||||
(fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
|
||||
(fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
|
||||
(fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
|
||||
(fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
|
||||
(fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
|
||||
(fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
||||
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
||||
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
|
||||
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
|
||||
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||
]
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
buildDotnetModule rec {
|
||||
pname = "pupdate";
|
||||
version = "3.9.1";
|
||||
version = "3.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mattpannella";
|
||||
repo = "${pname}";
|
||||
rev = "${version}";
|
||||
hash = "sha256-3Bts/jTyivZ+ch7UjFo3oGVRmVK2QhCYh8NkeQhDYDY=";
|
||||
hash = "sha256-xr5XD0V3kt4fDm8GNotGuttAeWwwlAr2iFA/RezvC4w=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, gdb
|
||||
}:
|
||||
|
||||
let
|
||||
pwndbg-py = python3.pkgs.pwndbg;
|
||||
|
||||
pythonPath = python3.pkgs.makePythonPath [ pwndbg-py ];
|
||||
|
||||
binPath = lib.makeBinPath ([
|
||||
python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30
|
||||
python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32
|
||||
]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pwndbg";
|
||||
version = lib.getVersion pwndbg-py;
|
||||
format = "other";
|
||||
|
||||
inherit (pwndbg-py) src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/pwndbg
|
||||
cp gdbinit.py $out/share/pwndbg
|
||||
chmod +x $out/share/pwndbg/gdbinit.py
|
||||
|
||||
# Don't require an in-package venv
|
||||
touch $out/share/pwndbg/.skip-venv
|
||||
|
||||
makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
|
||||
--add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
|
||||
--prefix PATH : ${binPath} \
|
||||
--set PYTHONPATH ${pythonPath} \
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Exploit Development and Reverse Engineering with GDB Made Easy";
|
||||
mainProgram = "pwndbg";
|
||||
homepage = "https://github.com/pwndbg/pwndbg";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mic92 patryk4815 msanft ];
|
||||
# not supported on aarch64-darwin see: https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "simdutf";
|
||||
version = "5.2.0";
|
||||
version = "5.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simdutf";
|
||||
repo = "simdutf";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-4yo962iiwSPW1JeQq5mLse5DJUub7AWqMDA+AdpsRBo=";
|
||||
hash = "sha256-aGuztJLHfC/GZuvZSieWOOYN5VyvxYCZKGX1nQQDvxo=";
|
||||
};
|
||||
|
||||
# Fix build on darwin
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, ncurses
|
||||
, SDL2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "tangerine";
|
||||
version = "unstable-2024-04-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Aeva";
|
||||
repo = "tangerine";
|
||||
rev = "a628e95d181d396246214df5194ac6b18698d811";
|
||||
hash = "sha256-vn4/eH5o0UhTNfN2UB4r0eKNn90PbH3UPfarHsnQPIk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "no-install-during-build.patch";
|
||||
url = "https://github.com/Aeva/tangerine/pull/12/commits/2d7d1ae1e21e8fe52df2c4a33e947b2ff6b07812.patch";
|
||||
hash = "sha256-zLAx5FOvtUsUZM/nUCFW8Z1Xe3+oV95Nv1s3GaNcV/c=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ ncurses SDL2 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A system for creating 3D models procedurally from a set of Signed Distance Function (SDF) primitive shapes and combining operators";
|
||||
homepage = "https://github.com/Aeva/tangerine";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.viraptor ];
|
||||
broken = stdenv.isDarwin; # third_party/naive-surface-nets doesn't find std::execution
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
autoreconfHook,
|
||||
fetchFromGitHub,
|
||||
autoconf-archive,
|
||||
pkg-config,
|
||||
openssl,
|
||||
tpm2-tss,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tpm2-openssl";
|
||||
version = "1.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tpm2-software";
|
||||
repo = "tpm2-openssl";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-mZ4Z/GxJFwwfyFd1SAiVlQqOjkFSzsZePeuEZtq8Mcg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
autoconf-archive
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
tpm2-tss
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-modulesdir=$$out/lib/ossl-modules" ];
|
||||
|
||||
postPatch = ''
|
||||
echo ${finalAttrs.version} > VERSION
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenSSL Provider for TPM2 integration";
|
||||
homepage = "https://github.com/tpm2-software/tpm2-openssl";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ stv0g ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
|
@ -4,16 +4,16 @@
|
|||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "typos-lsp";
|
||||
version = "0.1.16";
|
||||
version = "0.1.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tekumara";
|
||||
repo = "typos-lsp";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-wXwdAPaj2dY6R6rUl/3WGeUwV+/waQdHv1dmzTqFNow=";
|
||||
hash = "sha256-Q/V9WabxtsUQ69r7qHzslko8anWyuB3VqVRQJ6gl9O8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qXQPxMlBwLb2NVae+vKZPzufNrQeuz0cAdMflpsjDf4=";
|
||||
cargoHash = "sha256-Rus79FpYBgz1CPK4n805Au0ncom8rhD3zD82a2DyR3k=";
|
||||
|
||||
# fix for compilation on aarch64
|
||||
# see https://github.com/NixOS/nixpkgs/issues/145726
|
||||
|
|
|
@ -14,16 +14,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "uiua";
|
||||
version = "0.10.0";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uiua-lang";
|
||||
repo = "uiua";
|
||||
rev = version;
|
||||
hash = "sha256-fiMTLdJqyZEC9LEbVYCnN5WncLxjpXmxCXSd0ZMvHNY=";
|
||||
hash = "sha256-gHEv8o1reKh7FfPQ2vettGy1Mvl6iVAoh6YL06iVFHs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-L8hA6s+/IJeH+6d6ZvHhgne5NsN6QBqZJSAfaVnwBYQ=";
|
||||
cargoHash = "sha256-bUwwHdhZD7ga+u1VNBfR5nEEnHrCXV6kcQgdOL10hGM=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isDarwin [
|
||||
rustPlatform.bindgenHook
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
lib,
|
||||
formats,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
qt6,
|
||||
libsForQt5,
|
||||
variants ? [ "qt6" ],
|
||||
/*
|
||||
An example of how you can override the background on the NixOS logo
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.where-is-my-sddm-theme.override {
|
||||
themeConfig.General = {
|
||||
background = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
backgroundMode = "none";
|
||||
};
|
||||
})
|
||||
];
|
||||
*/
|
||||
themeConfig ? null,
|
||||
}:
|
||||
|
||||
let
|
||||
user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
|
||||
validVariants = [
|
||||
"qt5"
|
||||
"qt6"
|
||||
];
|
||||
in
|
||||
|
||||
lib.checkListOfEnum "where-is-my-sddm-theme: variant" validVariants variants
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "where-is-my-sddm-theme";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stepanzubkov";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/D3i4QcE5+GbiAw32bFYJ7UxW/5NAl9FqQfiQc4akzI=";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs =
|
||||
[ ]
|
||||
++ lib.optional (lib.elem "qt5" variants) [ libsForQt5.qtgraphicaleffects ]
|
||||
++ lib.optional (lib.elem "qt6" variants) [ qt6.qt5compat ];
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/share/sddm/themes/
|
||||
''
|
||||
+ lib.optionalString (lib.elem "qt6" variants) ''
|
||||
cp -r where_is_my_sddm_theme/ $out/share/sddm/themes/
|
||||
''
|
||||
+ lib.optionalString (lib.elem "qt5" variants) ''
|
||||
cp -r where_is_my_sddm_theme_qt5/ $out/share/sddm/themes/
|
||||
''
|
||||
+ lib.optionalString (lib.isAttrs themeConfig) ''
|
||||
ln -sf ${user-cfg} $out/share/sddm/themes/where_is_my_sddm_theme/theme.conf.user
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The most minimalistic SDDM theme among all themes";
|
||||
homepage = "https://github.com/stepanzubkov/where-is-my-sddm-theme";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ name-snrl ];
|
||||
};
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,207 @@
|
|||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
copyDesktopItems,
|
||||
curl,
|
||||
pkg-config,
|
||||
protobuf,
|
||||
xcbuild,
|
||||
fontconfig,
|
||||
freetype,
|
||||
libgit2,
|
||||
openssl,
|
||||
sqlite,
|
||||
zlib,
|
||||
zstd,
|
||||
alsa-lib,
|
||||
libxkbcommon,
|
||||
wayland,
|
||||
xorg,
|
||||
stdenv,
|
||||
darwin,
|
||||
makeFontsConf,
|
||||
vulkan-loader,
|
||||
makeDesktopItem,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zed";
|
||||
version = "0.129.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zed-industries";
|
||||
repo = "zed";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5VNPgZR1E/s5mpwU46zG640KucdyS+vnieveMzVdPNs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE=";
|
||||
"blade-graphics-0.3.0" = "sha256-0TmunFnq9MBxm4TrAkI0PxB58qJEf7oWLWhHq5cVsQ8=";
|
||||
"bromberg_sl2-0.6.0" = "sha256-+bwdnk3EgYEAxQSP4KpEPicCfO+r2er1DRZjvfF4jSM=";
|
||||
"font-kit-0.11.0" = "sha256-+4zMzjFyMS60HfLMEXGfXqKn6P+pOngLA45udV09DM8=";
|
||||
"lsp-types-0.94.1" = "sha256-kplgPsafrgZFMI1D9pQCwmg+FKMn5HNWLbcgdXHUFVU=";
|
||||
"nvim-rs-0.6.0-pre" = "sha256-bdWWuCsBv01mnPA5e5zRpq48BgOqaqIcAu+b7y1NnM8=";
|
||||
"pathfinder_simd-0.5.3" = "sha256-bakBcAQZJdHQPXybe0zoMzE49aOHENQY7/ZWZUMt+pM=";
|
||||
"taffy-0.3.11" = "sha256-0hXOEj6IjSW8e1t+rvxBFX6V9XRum3QO2Des1XlHJEw=";
|
||||
"tree-sitter-0.20.100" = "sha256-k8au4++UJyaOCNo0cqokaQ5Is3BmIiCBSxiUkbrzhFQ=";
|
||||
"tree-sitter-bash-0.20.4" = "sha256-VP7rJfE/k8KV1XN1w5f0YKjCnDMYU1go/up0zj1mabM=";
|
||||
"tree-sitter-c-sharp-0.20.0" = "sha256-DlnGIky33CuRKkVVS+tOTBLVOVzASXqdaUrZawh6LZc=";
|
||||
"tree-sitter-clojure-0.0.9" = "sha256-H0OEnsoJxcDqlJ32ac7KCS2stT02XKrZ/v4mGMoN2EI=";
|
||||
"tree-sitter-cpp-0.20.0" = "sha256-2QYEFkpwcRmh2kf4qEAL2a5lGSa316CetOhF73e7rEM=";
|
||||
"tree-sitter-css-0.19.0" = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
|
||||
"tree-sitter-dart-0.0.1" = "sha256-FE6zXy0lAUWWayrM3urZFnQaEYBcnmaVANcUUnvw1q4=";
|
||||
"tree-sitter-elixir-0.1.0" = "sha256-hBHqQ3eBjknRPJjP+lQJU6NPFhUMtiv4FbKsTw28Bog=";
|
||||
"tree-sitter-elm-5.6.4" = "sha256-0LpuyebOB5ew9fULBcaw8aUbF7HM5sXQpv+Jroz4tXg=";
|
||||
"tree-sitter-glsl-0.1.4" = "sha256-TRuiT3ndCeDCsCFokAN8cosNKccB0NjWVRiBJuBJXZw=";
|
||||
"tree-sitter-go-0.19.1" = "sha256-5+L5QqVjZyeh+sKfxKZWrjIBFE5xM9KZlHcLiHzJCIA=";
|
||||
"tree-sitter-gomod-1.0.2" = "sha256-OPtqXe6OMC9c5dgFH8Msj+6DU01LvLKVbCzGLj0PnLI=";
|
||||
"tree-sitter-gowork-0.0.1" = "sha256-lM4L4Ap/c8uCr4xUw9+l/vaGb3FxxnuZI0+xKYFDPVg=";
|
||||
"tree-sitter-hcl-0.0.1" = "sha256-saVKSYUJY7OuIuNm9EpQnhFO/vQGKxCXuv3EKYOJzfs=";
|
||||
"tree-sitter-heex-0.0.1" = "sha256-6LREyZhdTDt3YHVRPDyqCaDXqcsPlHOoMFDb2B3+3xM=";
|
||||
"tree-sitter-jsdoc-0.20.0" = "sha256-fKscFhgZ/BQnYnE5EwurFZgiE//O0WagRIHVtDyes/Y=";
|
||||
"tree-sitter-json-0.20.0" = "sha256-fZNftzNavJQPQE4S1VLhRyGQRoJgbWA5xTPa8ZI5UX4=";
|
||||
"tree-sitter-markdown-0.0.1" = "sha256-F8VVd7yYa4nCrj/HEC13BTC7lkV3XSb2Z3BNi/VfSbs=";
|
||||
"tree-sitter-nix-0.0.1" = "sha256-+o+f1TlhcrcCB3TNw1RyCjVZ+37e11nL+GWBPo0Mxxg=";
|
||||
"tree-sitter-nu-0.0.1" = "sha256-V6EZfba5e0NdOG4n3DNI25luNXfcCN3+/vNYuz9llUk=";
|
||||
"tree-sitter-ocaml-0.20.4" = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
|
||||
"tree-sitter-proto-0.0.2" = "sha256-W0diP2ByAXYrc7Mu/sbqST6lgVIyHeSBmH7/y/X3NhU=";
|
||||
"tree-sitter-racket-0.0.1" = "sha256-ie64no94TtAWsSYaBXmic4oyRAA01fMl97+JWcFU1E8=";
|
||||
"tree-sitter-scheme-0.2.0" = "sha256-K3+zmykjq2DpCnk17Ko9LOyGQTBZb1/dgVXIVynCYd4=";
|
||||
"tree-sitter-toml-0.5.1" = "sha256-5nLNBxFeOGE+gzbwpcrTVnuL1jLUA0ZLBVw2QrOLsDQ=";
|
||||
"tree-sitter-typescript-0.20.2" = "sha256-cpOAtfvlffS57BrXaoa2xa9NUYw0AsHxVI8PrcpgZCQ=";
|
||||
"tree-sitter-vue-0.0.1" = "sha256-8v2e03A/Uj6zCJTH4j6TPwDQcNFeze1jepMADT6UVis=";
|
||||
"tree-sitter-yaml-0.0.1" = "sha256-S59jLlipBI2kwFuZDMmpv0TOZpGyXpbAizN3yC6wJ5I=";
|
||||
"tree-sitter-zig-0.0.1" = "sha256-a3W7eBUN4V3HD3YPr1+3tpuWQfIQy1Wu8qxCQx0hEnI=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
curl
|
||||
pkg-config
|
||||
protobuf
|
||||
rustPlatform.bindgenHook
|
||||
] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
curl
|
||||
fontconfig
|
||||
freetype
|
||||
libgit2
|
||||
openssl
|
||||
sqlite
|
||||
zlib
|
||||
zstd
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
libxkbcommon
|
||||
wayland
|
||||
xorg.libxcb
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks;
|
||||
[
|
||||
AppKit
|
||||
CoreAudio
|
||||
CoreFoundation
|
||||
CoreGraphics
|
||||
CoreMedia
|
||||
CoreServices
|
||||
CoreText
|
||||
Foundation
|
||||
IOKit
|
||||
Metal
|
||||
Security
|
||||
SystemConfiguration
|
||||
VideoToolbox
|
||||
]
|
||||
);
|
||||
|
||||
buildFeatures = [ "gpui/runtime_shaders" ];
|
||||
|
||||
env = {
|
||||
ZSTD_SYS_USE_PKG_CONFIG = true;
|
||||
FONTCONFIG_FILE = makeFontsConf {
|
||||
fontDirectories = [
|
||||
"${src}/assets/fonts/zed-mono"
|
||||
"${src}/assets/fonts/zed-sans"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
patchelf --add-rpath ${vulkan-loader}/lib $out/bin/*
|
||||
patchelf --add-rpath ${wayland}/lib $out/bin/*
|
||||
'';
|
||||
|
||||
checkFlags = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
# Fails with "On 2823 Failed to find test1:A"
|
||||
"--skip=test_base_keymap"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/Zed $out/bin/zed
|
||||
install -D ${src}/crates/zed/resources/app-icon@2x.png $out/share/icons/hicolor/1024x1024@2x/apps/Zed.png
|
||||
install -D ${src}/crates/zed/resources/app-icon.png $out/share/icons/hicolor/512x512/apps/Zed.png
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "dev.zed.Zed";
|
||||
exec = "zed %F";
|
||||
tryExec = "zed";
|
||||
icon = "Zed";
|
||||
comment = meta.description;
|
||||
desktopName = "Zed";
|
||||
genericName = "Text Editor";
|
||||
categories = [
|
||||
"Utility"
|
||||
"TextEditor"
|
||||
"Development"
|
||||
];
|
||||
keywords = [
|
||||
"Text"
|
||||
"Editor"
|
||||
];
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
mimeTypes = [
|
||||
"inode/directory"
|
||||
"text/plain"
|
||||
"text/x-makefile"
|
||||
"text/x-c++hdr"
|
||||
"text/x-c++src"
|
||||
"text/x-chdr"
|
||||
"text/x-csrc"
|
||||
"text/x-java"
|
||||
"text/x-moc"
|
||||
"text/x-pascal"
|
||||
"text/x-tcl"
|
||||
"text/x-tex"
|
||||
"application/x-shellscript"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "High-performance, multiplayer code editor from the creators of Atom and Tree-sitter";
|
||||
homepage = "https://zed.dev";
|
||||
changelog = "https://github.com/zed-industries/zed/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [
|
||||
GaetanLepage
|
||||
niklaskorz
|
||||
];
|
||||
mainProgram = "zed";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -27,13 +27,13 @@ lib.checkListOfEnum "${pname}: theme variants" [
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "2023-07-03";
|
||||
version = "2024.04.08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-lq6d3BForrvzEJYeEMQZplvn/p6dPjggTToAU9UcPoM=";
|
||||
hash = "sha256-Baf0BowyR4P7MDx+LmH6MHlANl+9lXlCaQispN4/i9o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 jdupes ];
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
{ lib
|
||||
, formats
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, qtgraphicaleffects
|
||||
/* An example of how you can override the background on the NixOS logo
|
||||
*
|
||||
* environment.systemPackages = [
|
||||
* (pkgs.where-is-my-sddm-theme.override {
|
||||
* themeConfig.General = {
|
||||
* background = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
* backgroundMode = "none";
|
||||
* };
|
||||
* })
|
||||
* ];
|
||||
*/
|
||||
, themeConfig ? null
|
||||
}:
|
||||
|
||||
let
|
||||
user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
|
||||
in
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "where-is-my-sddm-theme";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stepanzubkov";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/D3i4QcE5+GbiAw32bFYJ7UxW/5NAl9FqQfiQc4akzI=";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs = [ qtgraphicaleffects ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/sddm/themes/
|
||||
cp -r where_is_my_sddm_theme/ $out/share/sddm/themes/
|
||||
'' + lib.optionalString (lib.isAttrs themeConfig) ''
|
||||
ln -sf ${user-cfg} $out/share/sddm/themes/where_is_my_sddm_theme/theme.conf.user
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The most minimalistic SDDM theme among all themes";
|
||||
homepage = "https://github.com/stepanzubkov/where-is-my-sddm-theme";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ name-snrl ];
|
||||
};
|
||||
}
|
|
@ -3,12 +3,12 @@
|
|||
stdenv.mkDerivation {
|
||||
pname = "cakelisp";
|
||||
# using unstable as it's the only version that builds against gcc-13
|
||||
version = "0.3.0-unstable-2024-03-21";
|
||||
version = "0.3.0-unstable-2024-04-01";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://macoy.me/code/macoy/cakelisp";
|
||||
rev = "6bde4b8002e4825116f3b18291a012bf1729f497";
|
||||
hash = "sha256-jpwVHiDRVa6QoYxsasmiV1IdbBqZj0tU5EBruOHfzYg=";
|
||||
rev = "7f09a08623f4141d3c2940bca3e8ea646a7049cc";
|
||||
hash = "sha256-5ey2j38bhoRADMFcTGcUiOHE/UlU2mPGqzfv7dEk6oQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ gcc ];
|
||||
|
|
|
@ -32,6 +32,7 @@ let
|
|||
"mips" = "mips";
|
||||
"mips64el" = "mips64le";
|
||||
"mipsel" = "mipsle";
|
||||
"powerpc64" = "ppc64";
|
||||
"powerpc64le" = "ppc64le";
|
||||
"riscv64" = "riscv64";
|
||||
"s390x" = "s390x";
|
||||
|
|
|
@ -32,6 +32,7 @@ let
|
|||
"mips" = "mips";
|
||||
"mips64el" = "mips64le";
|
||||
"mipsel" = "mipsle";
|
||||
"powerpc64" = "ppc64";
|
||||
"powerpc64le" = "ppc64le";
|
||||
"riscv64" = "riscv64";
|
||||
"s390x" = "s390x";
|
||||
|
|
|
@ -2,13 +2,16 @@
|
|||
version ? null }:
|
||||
|
||||
let ocamlPackages = coq.ocamlPackages;
|
||||
defaultVersion = lib.switch coq.coq-version [
|
||||
{ case = "8.18"; out = "2.0.3+coq8.18"; }
|
||||
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
||||
{ case = range "8.18" "8.19"; out = "2.1.2"; }
|
||||
{ case = isEq "8.18"; out = "2.0.3+coq8.18"; }
|
||||
] null;
|
||||
location = { domain = "github.com"; owner = "coq-community"; repo = "vscoq"; };
|
||||
fetch = metaFetch ({
|
||||
release."2.0.3+coq8.18".sha256 = "sha256-VXhHCP6Ni5/OcsgoI1EbJfYCpXzwkuR8kbbKrl6dfjU=";
|
||||
release."2.0.3+coq8.18".rev = "v2.0.3+coq8.18";
|
||||
release."2.1.2".rev = "v2.1.2";
|
||||
release."2.1.2".sha256 = "sha256-GloY68fLmIv3oiEGNWwmgKv1CMAReBuXzMTUsKOs328=";
|
||||
inherit location; });
|
||||
fetched = fetch (if version != null then version else defaultVersion);
|
||||
in
|
||||
|
@ -16,12 +19,13 @@ ocamlPackages.buildDunePackage {
|
|||
pname = "vscoq-language-server";
|
||||
inherit (fetched) version;
|
||||
src = "${fetched.src}/language-server";
|
||||
nativeBuildInputs = [ coq ];
|
||||
buildInputs =
|
||||
[ coq glib gnome.adwaita-icon-theme wrapGAppsHook ] ++
|
||||
(with ocamlPackages; [ findlib
|
||||
lablgtk3-sourceview3 yojson zarith ppx_inline_test
|
||||
ppx_assert ppx_sexp_conv ppx_deriving ppx_import sexplib
|
||||
ppx_yojson_conv lsp sel ]);
|
||||
ppx_yojson_conv lsp sel ppx_optcomp ]);
|
||||
|
||||
meta = with lib; {
|
||||
description = "Language server for the vscoq vscode/codium extension";
|
||||
|
|
|
@ -308,13 +308,6 @@ backendStdenv.mkDerivation (finalAttrs: {
|
|||
# Indeed, we want to do the opposite -- fat "out" outputs that contain all the other outputs.
|
||||
propagatedBuildOutputs = false;
|
||||
|
||||
# By default, if the dev output exists it just uses that.
|
||||
# However, because we disabled propagatedBuildOutputs, dev doesn't contain libraries or
|
||||
# anything of the sort. To remedy this, we set outputSpecified to true, and use
|
||||
# outputsToInstall, which tells Nix which outputs to use when the package name is used
|
||||
# unqualified (that is, without an explicit output).
|
||||
outputSpecified = true;
|
||||
|
||||
meta = {
|
||||
description = "${redistribRelease.name}. By downloading and using the packages you accept the terms and conditions of the ${finalAttrs.meta.license.shortName}";
|
||||
sourceProvenance = [ sourceTypes.binaryNativeCode ];
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "svdtools";
|
||||
version = "0.3.11";
|
||||
version = "0.3.14";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version pname;
|
||||
hash = "sha256-LmpYsG/2oEdbAK2ePI+LYbGrVN+wC9gQS6GXNcF8XFg=";
|
||||
hash = "sha256-sTogOCpcfJHy+e3T4pEvclCddCUX+RHCQ238oz5bAEo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qsCa+YWE9dghG8T53TSDikWh+JhQt9v7A1Gn+/t5YZs=";
|
||||
cargoHash = "sha256-lRSt46yxFWSlhU6Pns3PCLJ4c6Fvi4EbOIqVx9IoPCc=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tools to handle vendor-supplied, often buggy SVD files";
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
, common-updater-scripts
|
||||
, coreutils
|
||||
, git
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
{ baseName ? "erlang"
|
||||
, version
|
||||
|
@ -43,7 +44,7 @@
|
|||
, odbcSupport ? false
|
||||
, odbcPackages ? [ unixODBC ]
|
||||
, opensslPackage ? openssl
|
||||
, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
|
||||
, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 wrapGAppsHook ]
|
||||
, preUnpack ? ""
|
||||
, postUnpack ? ""
|
||||
, patches ? [ ]
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{ stdenv, lib, fetchFromGitHub, ant, jdk8 }:
|
||||
{ stdenv, lib, fetchFromGitHub, ant, jdk, stripJavaArchivesHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jna";
|
||||
version = "5.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "java-native-access";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
repo = "jna";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-a5l9khKLWfvTHv53utfbw344/UNQOnIU93+wZNQ0ji4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ant jdk8 ];
|
||||
nativeBuildInputs = [ ant jdk stripJavaArchivesHook ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
@ -27,11 +27,11 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
changelog = "https://github.com/java-native-access/jna/blob/${finalAttrs.version}/CHANGES.md";
|
||||
description = "Java Native Access";
|
||||
homepage = "https://github.com/java-native-access/jna";
|
||||
license = with licenses; [ lgpl21 asl20 ];
|
||||
maintainers = with maintainers; [ nagy ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
changelog = "https://github.com/java-native-access/jna/blob/${version}/CHANGES.md";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
baseVersion = "3.2";
|
||||
baseVersion = "3.3";
|
||||
revision = "0";
|
||||
hash = "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=";
|
||||
hash = "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk=";
|
||||
})
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "c-blosc2";
|
||||
version = "2.13.2";
|
||||
version = "2.14.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Blosc";
|
||||
repo = "c-blosc2";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-RNIvg6p/+brW7oboTDH0bbRfIQDaZwtZbbWFbftfWTk=";
|
||||
sha256 = "sha256-0rizBygyNW9Sr7qnQZoN/Wv2ZIAYuJTQ5tkW6iwIw7Y=";
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/144170
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, fixDarwinDylibNames
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "capstone";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "capstone-engine";
|
||||
repo = "capstone";
|
||||
rev = version;
|
||||
sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
fixDarwinDylibNames
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Advanced disassembly library";
|
||||
homepage = "http://www.capstone-engine.org";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice ris ];
|
||||
mainProgram = "cstool";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
|
@ -7,15 +7,17 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "capstone";
|
||||
version = "4.0.2";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquynh";
|
||||
owner = "capstone-engine";
|
||||
repo = "capstone";
|
||||
rev = version;
|
||||
sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g=";
|
||||
sha256 = "sha256-kKmL5sae9ruWGu1gas1mel9qM52qQOD+zLj8cRE3isg=";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
|
|
|
@ -80,13 +80,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gdal";
|
||||
version = "3.8.4";
|
||||
version = "3.8.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OSGeo";
|
||||
repo = "gdal";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-R9VLof13OXPbWGHOG1Q4WZWSPoF739C6WuNWxoIwKTw=";
|
||||
hash = "sha256-Z+mYlyOX9vJ772qwZMQfCbD/V7RL6+9JLHTzoZ55ot0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -26,13 +26,13 @@ assert (blas.isILP64 == lapack.isILP64 &&
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "igraph";
|
||||
version = "0.10.10";
|
||||
version = "0.10.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "igraph";
|
||||
repo = finalAttrs.pname;
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-xFX48qAr0x0iNRns/aGH9UKL0wGJyfccQLdEXUFI/TU=";
|
||||
hash = "sha256-RUxA9j2VDzwuYO/1HtyF3/ejGCJ7Gdjm7U8/Q8JxTbI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
stdenv, lib, mkDerivation, fetchpatch,
|
||||
stdenv, lib, mkDerivation,
|
||||
extra-cmake-modules, kdoctools, qttools,
|
||||
acl, attr, libkrb5, util-linux,
|
||||
karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
|
||||
kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
|
||||
kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
|
||||
qtbase, qtscript, qtx11extras, solid, kcrash, kded
|
||||
qtbase, qtscript, qtx11extras, solid, kcrash, kded,
|
||||
withKcms ? true
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
|
@ -29,7 +30,11 @@ mkDerivation {
|
|||
separateDebugInfo = true;
|
||||
patches = [
|
||||
./0001-Remove-impure-smbd-search-path.patch
|
||||
];
|
||||
];
|
||||
postPatch = lib.optionalString (!withKcms) ''
|
||||
substituteInPlace src/CMakeLists.txt \
|
||||
--replace-fail "add_subdirectory(kcms)" ""
|
||||
'';
|
||||
meta = {
|
||||
homepage = "https://api.kde.org/frameworks/kio/html/";
|
||||
};
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue