Merge master into staging-nixos
This commit is contained in:
@@ -210,7 +210,7 @@ module.exports = async ({ github, context, core, dry }) => {
|
||||
}
|
||||
}
|
||||
|
||||
// Check for any human reviews other than GitHub actions and other GitHub apps.
|
||||
// Check for any human reviews other than the PR author, GitHub actions and other GitHub apps.
|
||||
// Accounts could be deleted as well, so don't count them.
|
||||
const reviews = (
|
||||
await github.paginate(github.rest.pulls.listReviews, {
|
||||
@@ -218,7 +218,11 @@ module.exports = async ({ github, context, core, dry }) => {
|
||||
pull_number,
|
||||
})
|
||||
).filter(
|
||||
(r) => r.user && !r.user.login.endsWith('[bot]') && r.user.type !== 'Bot',
|
||||
(r) =>
|
||||
r.user &&
|
||||
!r.user.login.endsWith('[bot]') &&
|
||||
r.user.type !== 'Bot' &&
|
||||
r.user.id !== pull_request.user?.id,
|
||||
)
|
||||
|
||||
const approvals = new Set(
|
||||
|
||||
@@ -353,6 +353,8 @@
|
||||
|
||||
- `plasma6`: Fixed the `ksycoca` cache not being re-built when `$XDG_CACHE_HOME` is set to something that isn't `$HOME/.cache`.
|
||||
|
||||
- `dragonflydb` has been updated from version 0.1.0 to version 1.34.2.
|
||||
|
||||
## Nixpkgs Library {#sec-nixpkgs-release-25.11-lib}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -5417,12 +5417,6 @@
|
||||
githubId = 202474;
|
||||
name = "Jens Reimann";
|
||||
};
|
||||
ctucx = {
|
||||
email = "katja@ctu.cx";
|
||||
github = "katjakwast";
|
||||
githubId = 176372446;
|
||||
name = "Katja Kwast";
|
||||
};
|
||||
cupcakearmy = {
|
||||
name = "Niccolo Borgioli";
|
||||
email = "nix@nicco.io";
|
||||
@@ -29007,6 +29001,12 @@
|
||||
githubId = 450885;
|
||||
name = "Francesco Zanini";
|
||||
};
|
||||
zaphyra = {
|
||||
email = "katja@zaphyra.eu";
|
||||
github = "katjakwast";
|
||||
githubId = 176372446;
|
||||
name = "Katja Kwast";
|
||||
};
|
||||
zareix = {
|
||||
email = "contact@raphael-catarino.fr";
|
||||
github = "zareix";
|
||||
|
||||
@@ -281,6 +281,8 @@
|
||||
|
||||
- `services.quorum` has been removed as the `quorum` package was broken and abandoned upstream.
|
||||
|
||||
- `orjail` package has been removed as it is broken by the latest firejail release and seems unmaintained.
|
||||
|
||||
- `teleport` has been upgraded from major version 17 to major version 18.
|
||||
Refer to [upstream upgrade instructions](https://goteleport.com/docs/upgrading/overview/)
|
||||
and [release notes for v18](https://goteleport.com/docs/changelog/#1800-070325).
|
||||
|
||||
@@ -71,7 +71,7 @@ in
|
||||
defaultChannel = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = "https://nixos.org/channels/nixos-unstable";
|
||||
default = "https://channels.nixos.org/nixos-unstable";
|
||||
description = "Default NixOS channel to which the root user is subscribed.";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2312,8 +2312,7 @@ in
|
||||
environment.etc = lib.mapAttrs' makePAMService enabledServices;
|
||||
|
||||
systemd =
|
||||
lib.optionalAttrs
|
||||
(lib.any (service: service.updateWtmp) (lib.attrValues config.security.pam.services))
|
||||
lib.mkIf (lib.any (service: service.updateWtmp) (lib.attrValues config.security.pam.services))
|
||||
{
|
||||
tmpfiles.packages = [ pkgs.util-linux.lastlog ]; # /lib/tmpfiles.d/lastlog2-tmpfiles.conf
|
||||
services.lastlog2-import = {
|
||||
|
||||
@@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "wgsl-analyzer";
|
||||
publisher = "wgsl-analyzer";
|
||||
version = "0.11.94";
|
||||
hash = "sha256-FfQnNFAEh1PwT2M25km+7nEO70mDDQ75p0KHjBlAcLE=";
|
||||
version = "0.11.130";
|
||||
hash = "sha256-bwtyLkMo9+3XQwUzKqSHOlCrSPqJMqKAPF17aeyr4QI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "puae";
|
||||
version = "0-unstable-2025-08-19";
|
||||
version = "0-unstable-2025-11-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-uae";
|
||||
rev = "9e2aa770a9b6b0a4e1f4fc05eb0db6c8e7aba8ee";
|
||||
hash = "sha256-YTS0OgYJCGawpsDHvU79dDA+iePna5Fcab2Le3vdVSk=";
|
||||
rev = "0043cf9c061bd9b81dbc1869c2761017139cfc63";
|
||||
hash = "sha256-xi/7zT+4LNfSMwfA+rvxdvsgpQRHceK6Heqrcy84RVk=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
1755c55e08aec3872db177464e0bc3f48c89aa40c1ec32605b472d88f6e92963eb08a10aa37bc47e837ae693db18652f40dfbcd6bf26f07278f0566a19c72cd5 poster.jpg
|
||||
3ec33eae8153b6e2bdfff8157b332e6f0cfbc14d0c30e6a34042deecf0cff01ee19ca54314678b5ad970ae669da8cb91425e96253caf91d95ae01a62917827b7 Sintel.de.srt
|
||||
ceac1ea59a9224b26946c6683acfaae27e1551c696fb2c632b55151c17f3faa8f930bbd93904cd7a13a896ad3d670b01e2f2bc1a8851060e05fedd85f804ba17 Sintel.en.srt
|
||||
6efbc68f872c212f6579c5a5d42d6c2a60d775d32be8a7badcd147dbfc07b24cb2cc97e04a796af4002fcd4c8860a7061aed5d59a1280e4352d1bbd701d612a8 Sintel.es.srt
|
||||
5619ad5bc7ca82e7f1f3b5e9197ab6ef6f5edd7293d396a3c036fef95d5ef592cf9e8d403e8532f4ba71a93fc9556614bfba3473eceae392d2e3175116c06f95 Sintel.fr.srt
|
||||
fa93c051491b4e11f8e7a643c2138198f795315c942134b94ceace1adda4a5b28dc58b01b507e0da4c26784fc968f47bca1409f985eec2bf80c3e694662ed7c5 Sintel.it.srt
|
||||
63426110ed7aa60ed3525078fa324cef4276393b4ada55e0a8cf8292500fdd59c2984e299a4e4f65e4f273b8ae2624da22700de4a55054b00e9d987f606c3c7f Sintel.mp4
|
||||
5fb04c25fda9dada8c808a9f289cec2cca001d60966b69d61ad663240a869c76dd0aff605122823ccbe199e266331f6a4b11a414bba92999a7041c4b534ef432 Sintel.nl.srt
|
||||
510f052cbbda0b9fc31679b9a26cc16766df9054fc15b66cff475975725a1e8452e69a28a6f90bb965330a49e49bbf42a90efb13de07eaece7d273ef1ca7978a Sintel.pl.srt
|
||||
510dc0eca608bd0fdd9633ea80365c916f8c4f0fd8e2fdf77534f455f03814401d210df47d940be4fd2fb7ab4c3ff5038a548846c5fa9badbe77b1731b3cae29 Sintel.pt.srt
|
||||
57c014bd3d781a94850f85fd6c9364421e17cb2c4e25e22c0a8578f50c874e3f2eaf5a0b3da615db7dc95efbe2e6be7c7238e2e1ba27671c818b9e34b05ee1d0 Sintel.ru.srt
|
||||
Binary file not shown.
@@ -2,15 +2,29 @@
|
||||
lib,
|
||||
testers,
|
||||
fetchtorrent,
|
||||
emptyDirectory,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
# This meta attribute isn't used anywhere, as the actual derivation
|
||||
# realizations are only empty directories. It's maintained here as a record
|
||||
# of the details of the intermediate product that exists briefly while
|
||||
# building the test derivations.
|
||||
#
|
||||
# Ideally we'd use a smaller download, but neither of the Bittorrent backends
|
||||
# supported by fetchtorrent appear to support torrents that are only reliably
|
||||
# seeded by HTTP sources rather than other people using Bittorrent clients.
|
||||
# Sintel was the smallest torrent I could find that had a free license and
|
||||
# was reliably seeded by other Bittorrent clients.
|
||||
#
|
||||
# For more information, see the discussion at
|
||||
# https://github.com/NixOS/nixpkgs/pull/432091/files/bd13421b2b70f3f125061018c800439ef2d43e8d#r2264073113
|
||||
sintel.meta = {
|
||||
description = "An open source short film to show off open source technologies.";
|
||||
longDescription = ''
|
||||
An independently produced short film, initiated by the Blender Foundation
|
||||
as a means to further improve andvalidate the free/open source 3D
|
||||
as a means to further improve and validate the free/open source 3D
|
||||
creation suite Blender.
|
||||
'';
|
||||
license = lib.licenses.cc-by-30;
|
||||
@@ -18,74 +32,100 @@ let
|
||||
};
|
||||
|
||||
# Via https://webtorrent.io/free-torrents
|
||||
http.url = "https://webtorrent.io/torrents/sintel.torrent";
|
||||
http.url = "${./test-sintel.torrent}";
|
||||
magnet.url = "magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent";
|
||||
|
||||
flattened.hash = "sha256-EzbmBiTEWOlFUNaV5R4eDeD9EBbp6d93rfby88ACg0s=";
|
||||
unflattened.hash = "sha256-lVrlo1AwmFcxwsIsY976VYqb3hAprFH1xWYdmlTuw0U=";
|
||||
# Sintel isn't a massive download, but it's not small. There's also no real
|
||||
# value in storing copies of it in Nix caches, which is what happens by
|
||||
# default when this test succeeds. Avoid that by verifying the downloaded
|
||||
# files using `sha512sum` in the post-fetch hook, then deleting the files so
|
||||
# the actual derivation result is an empty directory.
|
||||
#
|
||||
# Chain `&&` in the postFetch phase because the transmission backend does not
|
||||
# run that phase with `errexit` enabled.
|
||||
flattened.postFetch = ''
|
||||
pushd "$out" &&
|
||||
sha512sum --check --strict ${./test-hashes.sha512sum} &&
|
||||
sed 's/.* //' ${./test-hashes.sha512sum} | xargs rm --verbose &&
|
||||
popd
|
||||
'';
|
||||
unflattened.postFetch = ''
|
||||
pushd "$out" &&
|
||||
pushd Sintel &&
|
||||
sha512sum --check --strict ${./test-hashes.sha512sum} &&
|
||||
sed 's/.* //' ${./test-hashes.sha512sum} | xargs rm --verbose &&
|
||||
popd &&
|
||||
rm --dir --verbose Sintel &&
|
||||
popd
|
||||
'';
|
||||
|
||||
# Fixed output derivation hash is identical for all derivations: the empty
|
||||
# directory.
|
||||
fetchtorrentWithHash =
|
||||
args:
|
||||
fetchtorrent (
|
||||
{
|
||||
hash = builtins.convertHash {
|
||||
hash = emptyDirectory.outputHash;
|
||||
toHashFormat = "sri";
|
||||
hashAlgo = emptyDirectory.outputHashAlgo;
|
||||
};
|
||||
}
|
||||
// args
|
||||
);
|
||||
in
|
||||
# Seems almost but not quite worth using lib.mapCartesianProduct...
|
||||
builtins.mapAttrs (n: v: testers.invalidateFetcherByDrvHash fetchtorrent v) {
|
||||
builtins.mapAttrs (n: v: testers.invalidateFetcherByDrvHash fetchtorrentWithHash v) {
|
||||
http-link = {
|
||||
inherit (http) url;
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
http-link-transmission = {
|
||||
inherit (http) url;
|
||||
backend = "transmission";
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
magnet-link = {
|
||||
inherit (magnet) url;
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
magnet-link-transmission = {
|
||||
inherit (magnet) url;
|
||||
backend = "transmission";
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
http-link-rqbit = {
|
||||
inherit (http) url;
|
||||
backend = "rqbit";
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
magnet-link-rqbit = {
|
||||
inherit (magnet) url;
|
||||
backend = "rqbit";
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
http-link-rqbit-flattened = {
|
||||
inherit (http) url;
|
||||
backend = "rqbit";
|
||||
flatten = true;
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
magnet-link-rqbit-flattened = {
|
||||
inherit (magnet) url;
|
||||
backend = "rqbit";
|
||||
flatten = true;
|
||||
inherit (flattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (flattened) postFetch;
|
||||
};
|
||||
http-link-rqbit-unflattened = {
|
||||
inherit (http) url;
|
||||
backend = "rqbit";
|
||||
flatten = false;
|
||||
inherit (unflattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (unflattened) postFetch;
|
||||
};
|
||||
magnet-link-rqbit-unflattened = {
|
||||
inherit (magnet) url;
|
||||
backend = "rqbit";
|
||||
flatten = false;
|
||||
inherit (unflattened) hash;
|
||||
inherit (sintel) meta;
|
||||
inherit (unflattened) postFetch;
|
||||
};
|
||||
}
|
||||
|
||||
+5
-4
@@ -5,7 +5,7 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"@sourcegraph/amp": "^0.0.1762056193-g37ad2e"
|
||||
"@sourcegraph/amp": "^0.0.1762646500-gac8d42"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/keyring": {
|
||||
@@ -228,9 +228,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@sourcegraph/amp": {
|
||||
"version": "0.0.1762056193-g37ad2e",
|
||||
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1762056193-g37ad2e.tgz",
|
||||
"integrity": "sha512-dWhc7ajnw1QGCYwrOGwCbpyzedf5n2RoTCM97ibpzgpphDLCdyGTXh2XTC6mrxM2CNQLp5jJaWxvcDk9nM80Vg==",
|
||||
"version": "0.0.1762646500-gac8d42",
|
||||
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1762646500-gac8d42.tgz",
|
||||
"integrity": "sha512-+1w32tuDcCTUSULBwWeVrOLYGIvS1z/hNWSG4p9v5TC40asudJ6DVHSgIEO4alY4v8lJ3NnDQ1t8FrdwClZi6g==",
|
||||
"license": "Sourcegraph Commercial License",
|
||||
"dependencies": {
|
||||
"@napi-rs/keyring": "1.1.9"
|
||||
},
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "amp-cli";
|
||||
version = "0.0.1762056193-g37ad2e";
|
||||
version = "0.0.1762646500-gac8d42";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@sourcegraph/amp/-/amp-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-so/nlX4N9qhNLsK0OllmpfiqzyEBtPrt7KD/MoAChGc=";
|
||||
hash = "sha256-jChd6cb2IBmEBu/gbCywaHJpN2Mj3EUp8YSKQ9HQd0A=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -45,7 +45,7 @@ buildNpmPackage (finalAttrs: {
|
||||
chmod +x bin/amp-wrapper.js
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-xhN5XJs8E7yCRQWRPlH9iZyh5FocUjFMto5QweaV8aI=";
|
||||
npmDepsHash = "sha256-uuGqTutlApLDDFHlK+ACrox5B2KpJGYJP6M4CeCj2v0=";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ripgrep
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
llvmPackages,
|
||||
_experimental-update-script-combinators,
|
||||
unstableGitUpdater,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "artichoke";
|
||||
version = "0-unstable-2025-09-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "artichoke";
|
||||
repo = "artichoke";
|
||||
rev = "8227e6dbb298631c67b4ca2cc4c911d0ef87f38a";
|
||||
hash = "sha256-Pyffs4QB/SkayRwlMmIVagNiamznJp4Dt3nqRDJYfqU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JD+qt0pu5wxIuLa3Bd9eadQFE7dyKzqxsAKPebG7+Zg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
stdout="$("$out/bin/artichoke" -e 'puts "Hello World!"')"
|
||||
[[ "$stdout" == 'Hello World!' ]]
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = _experimental-update-script-combinators.sequence [
|
||||
(unstableGitUpdater { })
|
||||
(nix-update-script {
|
||||
# Updating `cargoHash`
|
||||
extraArgs = [ "--version=skip" ];
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Ruby implementation written in Rust and Ruby";
|
||||
homepage = "https://www.artichokeruby.org/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
kachick
|
||||
];
|
||||
mainProgram = "artichoke";
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
};
|
||||
}
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "jwestman";
|
||||
owner = "GNOME";
|
||||
repo = "blueprint-compiler";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-3vAFkP/psM/IsFtzVOIVSU77Z+RV4d3N70U7ggrDqfo=";
|
||||
@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = with lib; {
|
||||
description = "Markup language for GTK user interface files";
|
||||
mainProgram = "blueprint-compiler";
|
||||
homepage = "https://gitlab.gnome.org/jwestman/blueprint-compiler";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/blueprint-compiler";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [
|
||||
benediktbroich
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cloud-hypervisor";
|
||||
version = "48.0";
|
||||
version = "49.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloud-hypervisor";
|
||||
repo = "cloud-hypervisor";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cfS3sO1GQIxF9UlzKP9iE/UuJwGVIkNBN7GDF/ltn4Q=";
|
||||
hash = "sha256-bPPs/4XMcvOH4BGfQrjQdvgjGWae4UEZjzPKjalDN3w=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QvW1loljt9KzY0h2pG7n9NCkJJOYr/VxftsyqATm9DA=";
|
||||
cargoHash = "sha256-5EK9V9yiF/UjmlYSKBIJgQOA1YU33ezicLikWYnKFAo=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "courier-unicode";
|
||||
version = "2.3.2";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/courier/courier-unicode/${version}/courier-unicode-${version}.tar.bz2";
|
||||
sha256 = "sha256-tkXS8AqrvGgjIO3mlspQIBJm9xChvOxKxQQmlcmef2k=";
|
||||
hash = "sha256-6Ay88OOmzC56Z+waGDDWxOiqD/aXcy7B0R5UTg5kVw8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "croncpp";
|
||||
version = "2023.03.30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mariusbancila";
|
||||
repo = "croncpp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SBjNzy54OGEMemBp+c1gaH90Dc7ySL915z4E64cBWTI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++11/14/17 header-only cross-platform library for handling CRON expressions";
|
||||
homepage = "https://github.com/mariusbancila/croncpp";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ typedrat ];
|
||||
};
|
||||
})
|
||||
@@ -9,26 +9,26 @@ let
|
||||
inherit (stdenv) hostPlatform;
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://downloads.cursor.com/lab/2025.10.28-0a91dc2/linux/x64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-mZ0T7rrKzwvaNUbrHBy3XO04vZSO6RQ4RmJmrdfaoJA=";
|
||||
url = "https://downloads.cursor.com/lab/2025.11.06-8fe8a63/linux/x64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-otTYUTmGqqXT4Jx+r1RlFjJD7FYU62QRl+y69eo/khs=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://downloads.cursor.com/lab/2025.10.28-0a91dc2/linux/arm64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-bchHYPQ0O/0YWiPdj3wnq43p/fKFoP4KXpeSVWpLYpE=";
|
||||
url = "https://downloads.cursor.com/lab/2025.11.06-8fe8a63/linux/arm64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-jPqgGdtjLg4qZWktz1/X1LI0+e6RYcCtuLw91k1Xofg=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://downloads.cursor.com/lab/2025.10.28-0a91dc2/darwin/x64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-PWx5QAs84gWNOHYZL20uFnW+m4rApRT6g4LtabjL+lw=";
|
||||
url = "https://downloads.cursor.com/lab/2025.11.06-8fe8a63/darwin/x64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-UVR+iomdZzmPfj4o4N4FfUSCa9ttJre7Ipso5weIn1k=";
|
||||
};
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://downloads.cursor.com/lab/2025.10.28-0a91dc2/darwin/arm64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-VW76Lx2VKspiGkphp74ib4+F5FCdu8793f+xvD67OpM=";
|
||||
url = "https://downloads.cursor.com/lab/2025.11.06-8fe8a63/darwin/arm64/agent-cli-package.tar.gz";
|
||||
hash = "sha256-t5s9TfLLA/VLCYNF+fsf9wgfk2W96eQSIbW/cdUKMuY=";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "cursor-cli";
|
||||
version = "0-unstable-2025-10-28";
|
||||
version = "0-unstable-2025-11-06";
|
||||
|
||||
src = sources.${hostPlatform.system};
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ mkDprintPlugin }:
|
||||
mkDprintPlugin {
|
||||
description = "Biome (JS/TS) wrapper plugin";
|
||||
hash = "sha256-kelyuSZpbah1l+qVZMIK9VhWLr7DWjZIm9HwD64bCTw=";
|
||||
hash = "sha256-WEabcffl/sARrVc00Qr6QdEjFG4BZgHRrk3eeEfFV4g=";
|
||||
initConfig = {
|
||||
configExcludes = [ "**/node_modules" ];
|
||||
configKey = "biome";
|
||||
@@ -16,6 +16,6 @@ mkDprintPlugin {
|
||||
};
|
||||
pname = "dprint-plugin-biome";
|
||||
updateUrl = "https://plugins.dprint.dev/dprint/biome/latest.json";
|
||||
url = "https://plugins.dprint.dev/biome-0.11.1.wasm";
|
||||
version = "0.11.1";
|
||||
url = "https://plugins.dprint.dev/biome-0.11.3.wasm";
|
||||
version = "0.11.3";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
diff --git a/src/external_libs.cmake b/src/external_libs.cmake
|
||||
index 62e6e879..8934777f 100644
|
||||
--- a/src/external_libs.cmake
|
||||
+++ b/src/external_libs.cmake
|
||||
@@ -1,7 +1,6 @@
|
||||
add_third_party(
|
||||
lua
|
||||
- GIT_REPOSITORY https://github.com/dragonflydb/lua
|
||||
- GIT_TAG Dragonfly-5.4.6a
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/lua/. <SOURCE_DIR>
|
||||
CONFIGURE_COMMAND echo
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND ${DFLY_TOOLS_MAKE} all
|
||||
@@ -19,18 +18,16 @@ endif()
|
||||
|
||||
add_third_party(
|
||||
dconv
|
||||
- URL https://github.com/google/double-conversion/archive/refs/tags/v3.3.0.tar.gz
|
||||
- PATCH_COMMAND ${SED_REPL} "/static const std::ctype/d"
|
||||
- <SOURCE_DIR>/double-conversion/string-to-double.cc
|
||||
- COMMAND ${SED_REPL} "/std::use_facet</d" <SOURCE_DIR>/double-conversion/string-to-double.cc
|
||||
- COMMAND ${SED_REPL} "s/cType.tolower/std::tolower/g" <SOURCE_DIR>/double-conversion/string-to-double.cc
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/dconv/. <SOURCE_DIR>
|
||||
+ PATCH_COMMAND echo
|
||||
+ CMAKE_PASS_FLAGS "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
LIB libdouble-conversion.a
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
reflex
|
||||
- URL https://github.com/Genivia/RE-flex/archive/refs/tags/v5.2.2.tar.gz
|
||||
- PATCH_COMMAND autoreconf -fi
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/reflex/. <SOURCE_DIR>
|
||||
+ PATCH_COMMAND echo
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --disable-avx2 --prefix=${THIRD_PARTY_LIB_DIR}/reflex
|
||||
CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER}
|
||||
)
|
||||
@@ -41,16 +38,14 @@ set(REFLEX "${THIRD_PARTY_LIB_DIR}/reflex/bin/reflex")
|
||||
|
||||
add_third_party(
|
||||
jsoncons
|
||||
- GIT_REPOSITORY https://github.com/dragonflydb/jsoncons
|
||||
- GIT_TAG Dragonfly.178
|
||||
- GIT_SHALLOW 1
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/jsoncons/. <SOURCE_DIR>
|
||||
CMAKE_PASS_FLAGS "-DJSONCONS_BUILD_TESTS=OFF -DJSONCONS_HAS_POLYMORPHIC_ALLOCATOR=ON"
|
||||
LIB "none"
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
lz4
|
||||
- URL https://github.com/lz4/lz4/archive/refs/tags/v1.10.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/lz4/. <SOURCE_DIR>
|
||||
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND echo skip
|
||||
@@ -65,7 +60,7 @@ set(MIMALLOC_C_FLAGS "-O3 -g -DMI_STAT=1 -DNDEBUG")
|
||||
file(MAKE_DIRECTORY ${MIMALLOC_INCLUDE_DIR})
|
||||
|
||||
ExternalProject_Add(mimalloc2_project
|
||||
- URL https://github.com/microsoft/mimalloc/archive/refs/tags/v2.2.4.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/mimalloc224/. <SOURCE_DIR>
|
||||
DOWNLOAD_DIR ${THIRD_PARTY_DIR}/mimalloc2
|
||||
SOURCE_DIR ${THIRD_PARTY_DIR}/mimalloc2
|
||||
# INSTALL_DIR ${MIMALLOC_ROOT_DIR}
|
||||
@@ -118,21 +113,21 @@ set_target_properties(TRDP::mimalloc2 PROPERTIES IMPORTED_LOCATION ${MIMALLOC_RO
|
||||
|
||||
add_third_party(
|
||||
croncpp
|
||||
- URL https://github.com/mariusbancila/croncpp/archive/refs/tags/v2023.03.30.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/croncpp/. <SOURCE_DIR>
|
||||
LIB "none"
|
||||
)
|
||||
|
||||
if (WITH_SEARCH)
|
||||
add_third_party(
|
||||
uni-algo
|
||||
- URL https://github.com/uni-algo/uni-algo/archive/refs/tags/v1.0.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/uni-algo/. <SOURCE_DIR>
|
||||
|
||||
CMAKE_PASS_FLAGS "-DCMAKE_CXX_STANDARD:STRING=17"
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
hnswlib
|
||||
- URL https://github.com/nmslib/hnswlib/archive/refs/tags/v0.7.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/hnswlib/. <SOURCE_DIR>
|
||||
|
||||
BUILD_COMMAND echo SKIP
|
||||
INSTALL_COMMAND cp -R <SOURCE_DIR>/hnswlib ${THIRD_PARTY_LIB_DIR}/hnswlib/include/
|
||||
@@ -142,21 +137,20 @@ endif()
|
||||
|
||||
add_third_party(
|
||||
fast_float
|
||||
- URL https://github.com/fastfloat/fast_float/archive/refs/tags/v5.2.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/fast_float/. <SOURCE_DIR>
|
||||
LIB "none"
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
flatbuffers
|
||||
- URL https://github.com/google/flatbuffers/archive/refs/tags/v23.5.26.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/flatbuffers/. <SOURCE_DIR>
|
||||
CMAKE_PASS_FLAGS "-DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_LIBCXX_WITH_CLANG=OFF
|
||||
-DFLATBUFFERS_BUILD_FLATC=OFF"
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
hdr_histogram
|
||||
- GIT_REPOSITORY https://github.com/HdrHistogram/HdrHistogram_c/
|
||||
- GIT_TAG 652d51bcc36744fd1a6debfeb1a8a5f58b14022c
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/hdr_histogram/. <SOURCE_DIR>
|
||||
CMAKE_PASS_FLAGS "-DHDR_LOG_REQUIRED=OFF -DHDR_HISTOGRAM_BUILD_PROGRAMS=OFF
|
||||
-DHDR_HISTOGRAM_INSTALL_SHARED=OFF"
|
||||
LIB libhdr_histogram_static.a
|
||||
@@ -1,132 +0,0 @@
|
||||
diff --git a/helio/cmake/third_party.cmake b/helio/cmake/third_party.cmake
|
||||
index aeb78d9..e9d4e6b 100644
|
||||
--- a/helio/cmake/third_party.cmake
|
||||
+++ b/helio/cmake/third_party.cmake
|
||||
@@ -143,7 +143,7 @@ endfunction()
|
||||
|
||||
FetchContent_Declare(
|
||||
gtest
|
||||
- URL https://github.com/google/googletest/archive/release-1.11.0.zip
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(gtest)
|
||||
@@ -154,7 +154,7 @@ endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
benchmark
|
||||
- URL https://github.com/google/benchmark/archive/v1.6.1.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(benchmark)
|
||||
@@ -169,7 +169,7 @@ endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
abseil_cpp
|
||||
- URL https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
PATCH_COMMAND patch -p1 < "${CMAKE_CURRENT_LIST_DIR}/../patches/abseil-20211102.patch"
|
||||
)
|
||||
|
||||
@@ -183,11 +183,7 @@ endif()
|
||||
|
||||
FetchContent_Declare(
|
||||
glog
|
||||
- GIT_REPOSITORY https://github.com/romange/glog
|
||||
- GIT_TAG Absl
|
||||
-
|
||||
- GIT_PROGRESS TRUE
|
||||
- GIT_SHALLOW TRUE
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(glog)
|
||||
@@ -233,10 +229,7 @@ endif()
|
||||
|
||||
add_third_party(
|
||||
gperf
|
||||
- URL https://github.com/gperftools/gperftools/archive/gperftools-2.9.1.tar.gz
|
||||
- #GIT_REPOSITORY https://github.com/gperftools/gperftools
|
||||
- #GIT_TAG gperftools-2.9.1
|
||||
- GIT_SHALLOW TRUE
|
||||
+ DOWNLOAD_COMMAND true
|
||||
PATCH_COMMAND autoreconf -i # update runs every time for some reason
|
||||
# CMAKE_PASS_FLAGS "-DGPERFTOOLS_BUILD_HEAP_PROFILER=OFF -DGPERFTOOLS_BUILD_HEAP_CHECKER=OFF \
|
||||
# -DGPERFTOOLS_BUILD_DEBUGALLOC=OFF -DBUILD_TESTING=OFF \
|
||||
@@ -260,11 +253,12 @@ else()
|
||||
endif()
|
||||
|
||||
add_third_party(mimalloc
|
||||
- URL https://github.com/microsoft/mimalloc/archive/refs/tags/v2.0.5.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
|
||||
# Add -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-O0 to debug
|
||||
CMAKE_PASS_FLAGS "-DCMAKE_BUILD_TYPE=Release -DMI_BUILD_SHARED=OFF -DMI_BUILD_TESTS=OFF \
|
||||
- -DMI_INSTALL_TOPLEVEL=ON -DMI_OVERRIDE=${MI_OVERRIDE} -DCMAKE_C_FLAGS=-g"
|
||||
+ -DMI_INSTALL_TOPLEVEL=ON -DMI_OVERRIDE=${MI_OVERRIDE} -DCMAKE_C_FLAGS=-g \
|
||||
+ -DCMAKE_INSTALL_LIBDIR=${THIRD_PARTY_LIB_DIR}/mimalloc/lib"
|
||||
|
||||
BUILD_COMMAND make -j4 mimalloc-static
|
||||
INSTALL_COMMAND make install
|
||||
@@ -274,7 +268,7 @@ add_third_party(mimalloc
|
||||
)
|
||||
|
||||
add_third_party(jemalloc
|
||||
- URL https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2
|
||||
+ URL REPLACEJEMALLOCURL
|
||||
PATCH_COMMAND ./autogen.sh
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${THIRD_PARTY_LIB_DIR}/jemalloc --with-jemalloc-prefix=je_ --disable-libdl
|
||||
)
|
||||
@@ -282,24 +276,23 @@ add_third_party(jemalloc
|
||||
|
||||
add_third_party(
|
||||
xxhash
|
||||
- URL https://github.com/Cyan4973/xxHash/archive/v0.8.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
SOURCE_SUBDIR cmake_unofficial
|
||||
- CMAKE_PASS_FLAGS "-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF"
|
||||
+ CMAKE_PASS_FLAGS "-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF \
|
||||
+ -DCMAKE_INSTALL_LIBDIR=${THIRD_PARTY_LIB_DIR}/xxhash/lib"
|
||||
)
|
||||
|
||||
|
||||
add_third_party(
|
||||
uring
|
||||
- GIT_REPOSITORY https://github.com/axboe/liburing.git
|
||||
- GIT_TAG liburing-2.1
|
||||
+ DOWNLOAD_COMMAND true
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${THIRD_PARTY_LIB_DIR}/uring
|
||||
BUILD_IN_SOURCE 1
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
rapidjson
|
||||
- GIT_REPOSITORY https://github.com/Tencent/rapidjson.git
|
||||
- GIT_TAG 1a803826f1197b5e30703afe4b9c0e7dd48074f5
|
||||
+ DOWNLOAD_COMMAND true
|
||||
CMAKE_PASS_FLAGS "-DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF \
|
||||
-DRAPIDJSON_BUILD_DOC=OFF"
|
||||
LIB "none"
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 0dc0824..d5b38b3 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
add_third_party(
|
||||
lua
|
||||
- URL https://github.com/lua/lua/archive/refs/tags/v5.4.4.tar.gz
|
||||
+ URL REPLACELUAURL
|
||||
PATCH_COMMAND patch -p1 -i "${CMAKE_SOURCE_DIR}/patches/lua-v5.4.4.patch"
|
||||
CONFIGURE_COMMAND echo
|
||||
BUILD_IN_SOURCE 1
|
||||
@@ -11,7 +11,8 @@ add_third_party(
|
||||
|
||||
add_third_party(
|
||||
dconv
|
||||
- URL https://github.com/google/double-conversion/archive/refs/tags/v3.2.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
+ CMAKE_PASS_FLAGS "-DCMAKE_INSTALL_LIBDIR=${THIRD_PARTY_LIB_DIR}/dconv/lib"
|
||||
LIB libdouble-conversion.a
|
||||
)
|
||||
|
||||
@@ -1,553 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 846b4448..b4900ead 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -39,6 +39,7 @@ option (PRINT_UNSYMBOLIZED_STACK_TRACES
|
||||
"Print file offsets in traces instead of symbolizing" OFF)
|
||||
option (WITH_CUSTOM_PREFIX "Enable support for user-generated message prefixes" ON)
|
||||
option (WITH_GFLAGS "Use gflags" ON)
|
||||
+option (WITH_ABSL "Use absl flags" OFF)
|
||||
option (WITH_GTEST "Use Google Test" ON)
|
||||
option (WITH_PKGCONFIG "Enable pkg-config support" ON)
|
||||
option (WITH_SYMBOLIZE "Enable symbolize module" ON)
|
||||
@@ -87,6 +88,13 @@ if (WITH_GFLAGS)
|
||||
endif (gflags_FOUND)
|
||||
endif (WITH_GFLAGS)
|
||||
|
||||
+if (WITH_ABSL)
|
||||
+ set (HAVE_ABSL_FLAGS 1)
|
||||
+ set (ac_cv_have_abslflags 1)
|
||||
+else (WITH_ABSL)
|
||||
+set (ac_cv_have_abslflags 0)
|
||||
+endif (WITH_ABSL)
|
||||
+
|
||||
find_package (Threads)
|
||||
find_package (Unwind)
|
||||
|
||||
@@ -1025,7 +1033,7 @@ write_basic_package_version_file (
|
||||
${CMAKE_CURRENT_BINARY_DIR}/glog-config-version.cmake
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
|
||||
-export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake)
|
||||
+# export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake)
|
||||
export (PACKAGE glog)
|
||||
|
||||
get_filename_component (_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
|
||||
diff --git a/src/base/commandlineflags.h b/src/base/commandlineflags.h
|
||||
index bcb12dea..1c9d9294 100644
|
||||
--- a/src/base/commandlineflags.h
|
||||
+++ b/src/base/commandlineflags.h
|
||||
@@ -57,6 +57,25 @@
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
+#else
|
||||
+#ifdef HAVE_ABSL_FLAGS
|
||||
+#include <absl/flags/flag.h>
|
||||
+
|
||||
+#define FLAG(name) absl::GetFlag(FLAGS_##name)
|
||||
+
|
||||
+#define DEFINE_bool(name, value, meaning) \
|
||||
+ ABSL_FLAG(bool, name, value, meaning)
|
||||
+
|
||||
+#define DEFINE_int32(name, value, meaning) \
|
||||
+ ABSL_FLAG(GOOGLE_NAMESPACE::int32, name, value, meaning)
|
||||
+
|
||||
+#define DEFINE_uint32(name, value, meaning) \
|
||||
+ ABSL_FLAG(GOOGLE_NAMESPACE::uint32, name, value, meaning)
|
||||
+
|
||||
+#define DEFINE_string(name, value, meaning) \
|
||||
+ ABSL_FLAG(std::string, name, value, meaning)
|
||||
+
|
||||
+
|
||||
#else
|
||||
|
||||
#include <glog/logging.h>
|
||||
@@ -108,6 +127,7 @@
|
||||
} \
|
||||
using fLS::FLAGS_##name
|
||||
|
||||
+#endif
|
||||
#endif // HAVE_LIB_GFLAGS
|
||||
|
||||
// Define GLOG_DEFINE_* using DEFINE_* . By using these macros, we
|
||||
diff --git a/src/base/mutex.h b/src/base/mutex.h
|
||||
index e82c597f..a58c1412 100644
|
||||
--- a/src/base/mutex.h
|
||||
+++ b/src/base/mutex.h
|
||||
@@ -319,11 +319,6 @@ class WriterMutexLock {
|
||||
void operator=(const WriterMutexLock&);
|
||||
};
|
||||
|
||||
-// Catch bug where variable name is omitted, e.g. MutexLock (&mu);
|
||||
-#define MutexLock(x) COMPILE_ASSERT(0, mutex_lock_decl_missing_var_name)
|
||||
-#define ReaderMutexLock(x) COMPILE_ASSERT(0, rmutex_lock_decl_missing_var_name)
|
||||
-#define WriterMutexLock(x) COMPILE_ASSERT(0, wmutex_lock_decl_missing_var_name)
|
||||
-
|
||||
} // namespace MUTEX_NAMESPACE
|
||||
|
||||
using namespace MUTEX_NAMESPACE;
|
||||
diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in
|
||||
index b225b7ec..a4c58c96 100644
|
||||
--- a/src/config.h.cmake.in
|
||||
+++ b/src/config.h.cmake.in
|
||||
@@ -34,6 +34,8 @@
|
||||
/* define if you have google gflags library */
|
||||
#cmakedefine HAVE_LIB_GFLAGS
|
||||
|
||||
+#cmakedefine HAVE_ABSL_FLAGS
|
||||
+
|
||||
/* define if you have google gmock library */
|
||||
#cmakedefine HAVE_LIB_GMOCK
|
||||
|
||||
diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in
|
||||
index 95a573b1..54cd838f 100644
|
||||
--- a/src/glog/logging.h.in
|
||||
+++ b/src/glog/logging.h.in
|
||||
@@ -89,6 +89,10 @@
|
||||
#include <gflags/gflags.h>
|
||||
#endif
|
||||
|
||||
+#if @ac_cv_have_abslflags@
|
||||
+#include <absl/flags/declare.h>
|
||||
+#endif
|
||||
+
|
||||
#if @ac_cv_cxx11_atomic@ && __cplusplus >= 201103L
|
||||
#include <atomic>
|
||||
#elif defined(GLOG_OS_WINDOWS)
|
||||
@@ -395,6 +399,14 @@ typedef void(*CustomPrefixCallback)(std::ostream& s, const LogMessageInfo& l, vo
|
||||
#undef DECLARE_uint32
|
||||
#endif
|
||||
|
||||
+#if @ac_cv_have_abslflags@
|
||||
+#define DECLARE_VARIABLE 1
|
||||
+#define DECLARE_bool(name) ABSL_DECLARE_FLAG(bool, name)
|
||||
+#define DECLARE_int32(name) ABSL_DECLARE_FLAG(@ac_google_namespace@::int32, name)
|
||||
+#define DECLARE_uint32(name) ABSL_DECLARE_FLAG(@ac_google_namespace@::uint32, name)
|
||||
+#define DECLARE_string(name) ABSL_DECLARE_FLAG(std::string, name)
|
||||
+#endif
|
||||
+
|
||||
#ifndef DECLARE_VARIABLE
|
||||
#define DECLARE_VARIABLE(type, shorttype, name, tn) \
|
||||
namespace fL##shorttype { \
|
||||
diff --git a/src/glog/vlog_is_on.h.in b/src/glog/vlog_is_on.h.in
|
||||
index 7526fc34..16e60f46 100644
|
||||
--- a/src/glog/vlog_is_on.h.in
|
||||
+++ b/src/glog/vlog_is_on.h.in
|
||||
@@ -64,6 +64,14 @@
|
||||
#include <glog/log_severity.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
+
|
||||
+#if @ac_cv_have_abslflags@
|
||||
+ extern int32_t absl_proxy_v;
|
||||
+ #define VLEVEL (@ac_google_namespace@::absl_proxy_v)
|
||||
+#else
|
||||
+ #define VLEVEL (FLAGS_v)
|
||||
+#endif
|
||||
+
|
||||
// We emit an anonymous static int* variable at every VLOG_IS_ON(n) site.
|
||||
// (Normally) the first time every VLOG_IS_ON(n) site is hit,
|
||||
// we determine what variable will dynamically control logging at this site:
|
||||
@@ -74,7 +82,7 @@
|
||||
__extension__ \
|
||||
({ static @ac_google_namespace@::SiteFlag vlocal__ = {NULL, NULL, 0, NULL}; \
|
||||
@ac_google_namespace@::int32 verbose_level__ = (verboselevel); \
|
||||
- (vlocal__.level == NULL ? @ac_google_namespace@::InitVLOG3__(&vlocal__, &FLAGS_v, \
|
||||
+ (vlocal__.level == NULL ? @ac_google_namespace@::InitVLOG3__(&vlocal__, &VLEVEL, \
|
||||
__FILE__, verbose_level__) : *vlocal__.level >= verbose_level__); \
|
||||
})
|
||||
#else
|
||||
diff --git a/src/logging.cc b/src/logging.cc
|
||||
index 4028ccc0..fc618d3a 100644
|
||||
--- a/src/logging.cc
|
||||
+++ b/src/logging.cc
|
||||
@@ -103,7 +103,9 @@ using std::fdopen;
|
||||
#endif
|
||||
|
||||
// There is no thread annotation support.
|
||||
+#ifndef EXCLUSIVE_LOCKS_REQUIRED
|
||||
#define EXCLUSIVE_LOCKS_REQUIRED(mu)
|
||||
+#endif
|
||||
|
||||
static bool BoolFromEnv(const char *varname, bool defval) {
|
||||
const char* const valstr = getenv(varname);
|
||||
@@ -351,8 +353,9 @@ static const char* GetAnsiColorCode(GLogColor color) {
|
||||
|
||||
// Safely get max_log_size, overriding to 1 if it somehow gets defined as 0
|
||||
static uint32 MaxLogSize() {
|
||||
- return (FLAGS_max_log_size > 0 && FLAGS_max_log_size < 4096
|
||||
- ? FLAGS_max_log_size
|
||||
+ uint32 maxlogsize = FLAG(max_log_size);
|
||||
+ return (maxlogsize > 0 && maxlogsize < 4096
|
||||
+ ? maxlogsize
|
||||
: 1);
|
||||
}
|
||||
|
||||
@@ -721,7 +724,7 @@ inline void LogDestination::SetStderrLogging(LogSeverity min_severity) {
|
||||
// Prevent any subtle race conditions by wrapping a mutex lock around
|
||||
// all this stuff.
|
||||
MutexLock l(&log_mutex);
|
||||
- FLAGS_stderrthreshold = min_severity;
|
||||
+ absl::SetFlag(&FLAGS_stderrthreshold, min_severity);
|
||||
}
|
||||
|
||||
inline void LogDestination::LogToStderr() {
|
||||
@@ -747,8 +750,8 @@ static void ColoredWriteToStderrOrStdout(FILE* output, LogSeverity severity,
|
||||
const char* message, size_t len) {
|
||||
bool is_stdout = (output == stdout);
|
||||
const GLogColor color = (LogDestination::terminal_supports_color() &&
|
||||
- ((!is_stdout && FLAGS_colorlogtostderr) ||
|
||||
- (is_stdout && FLAGS_colorlogtostdout)))
|
||||
+ ((!is_stdout && FLAG(colorlogtostderr)) ||
|
||||
+ (is_stdout && FLAG(colorlogtostdout))))
|
||||
? SeverityToColor(severity)
|
||||
: COLOR_DEFAULT;
|
||||
|
||||
@@ -789,7 +792,7 @@ static void ColoredWriteToStdout(LogSeverity severity, const char* message,
|
||||
FILE* output = stdout;
|
||||
// We also need to send logs to the stderr when the severity is
|
||||
// higher or equal to the stderr threshold.
|
||||
- if (severity >= FLAGS_stderrthreshold) {
|
||||
+ if (severity >= FLAG(stderrthreshold)) {
|
||||
output = stderr;
|
||||
}
|
||||
ColoredWriteToStderrOrStdout(output, severity, message, len);
|
||||
@@ -808,7 +811,7 @@ static void WriteToStderr(const char* message, size_t len) {
|
||||
|
||||
inline void LogDestination::MaybeLogToStderr(LogSeverity severity,
|
||||
const char* message, size_t message_len, size_t prefix_len) {
|
||||
- if ((severity >= FLAGS_stderrthreshold) || FLAGS_alsologtostderr) {
|
||||
+ if ((severity >= FLAG(stderrthreshold)) || FLAG(alsologtostderr)) {
|
||||
ColoredWriteToStderr(severity, message, message_len);
|
||||
#ifdef GLOG_OS_WINDOWS
|
||||
(void) prefix_len;
|
||||
@@ -835,8 +838,8 @@ inline void LogDestination::MaybeLogToStderr(LogSeverity severity,
|
||||
inline void LogDestination::MaybeLogToEmail(LogSeverity severity,
|
||||
const char* message, size_t len) {
|
||||
if (severity >= email_logging_severity_ ||
|
||||
- severity >= FLAGS_logemaillevel) {
|
||||
- string to(FLAGS_alsologtoemail);
|
||||
+ severity >= FLAG(logemaillevel)) {
|
||||
+ string to(FLAG(alsologtoemail));
|
||||
if (!addresses_.empty()) {
|
||||
if (!to.empty()) {
|
||||
to += ",";
|
||||
@@ -862,7 +865,7 @@ inline void LogDestination::MaybeLogToLogfile(LogSeverity severity,
|
||||
time_t timestamp,
|
||||
const char* message,
|
||||
size_t len) {
|
||||
- const bool should_flush = severity > FLAGS_logbuflevel;
|
||||
+ const bool should_flush = severity > FLAG(logbuflevel);
|
||||
LogDestination* destination = log_destination(severity);
|
||||
destination->logger_->Write(should_flush, timestamp, message, len);
|
||||
}
|
||||
@@ -871,9 +874,9 @@ inline void LogDestination::LogToAllLogfiles(LogSeverity severity,
|
||||
time_t timestamp,
|
||||
const char* message,
|
||||
size_t len) {
|
||||
- if (FLAGS_logtostdout) { // global flag: never log to file
|
||||
+ if (FLAG(logtostdout)) { // global flag: never log to file
|
||||
ColoredWriteToStdout(severity, message, len);
|
||||
- } else if (FLAGS_logtostderr) { // global flag: never log to file
|
||||
+ } else if (FLAG(logtostderr)) { // global flag: never log to file
|
||||
ColoredWriteToStderr(severity, message, len);
|
||||
} else {
|
||||
for (int i = severity; i >= 0; --i) {
|
||||
@@ -1032,25 +1035,25 @@ void LogFileObject::FlushUnlocked(){
|
||||
bytes_since_flush_ = 0;
|
||||
}
|
||||
// Figure out when we are due for another flush.
|
||||
- const int64 next = (FLAGS_logbufsecs
|
||||
+ const int64 next = (FLAG(logbufsecs)
|
||||
* static_cast<int64>(1000000)); // in usec
|
||||
next_flush_time_ = CycleClock_Now() + UsecToCycles(next);
|
||||
}
|
||||
|
||||
bool LogFileObject::CreateLogfile(const string& time_pid_string) {
|
||||
string string_filename = base_filename_;
|
||||
- if (FLAGS_timestamp_in_logfile_name) {
|
||||
+ if (FLAG(timestamp_in_logfile_name)) {
|
||||
string_filename += time_pid_string;
|
||||
}
|
||||
string_filename += filename_extension_;
|
||||
const char* filename = string_filename.c_str();
|
||||
//only write to files, create if non-existant.
|
||||
int flags = O_WRONLY | O_CREAT;
|
||||
- if (FLAGS_timestamp_in_logfile_name) {
|
||||
+ if (FLAG(timestamp_in_logfile_name)) {
|
||||
//demand that the file is unique for our timestamp (fail if it exists).
|
||||
flags = flags | O_EXCL;
|
||||
}
|
||||
- int fd = open(filename, flags, FLAGS_logfile_mode);
|
||||
+ int fd = open(filename, flags, FLAG(logfile_mode));
|
||||
if (fd == -1) return false;
|
||||
#ifdef HAVE_FCNTL
|
||||
// Mark the file close-on-exec. We don't really care if this fails
|
||||
@@ -1083,7 +1086,7 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) {
|
||||
file_ = fdopen(fd, "a"); // Make a FILE*.
|
||||
if (file_ == NULL) { // Man, we're screwed!
|
||||
close(fd);
|
||||
- if (FLAGS_timestamp_in_logfile_name) {
|
||||
+ if (FLAG(timestamp_in_logfile_name)) {
|
||||
unlink(filename); // Erase the half-baked evidence: an unusable log file, only if we just created it.
|
||||
}
|
||||
return false;
|
||||
@@ -1125,8 +1128,8 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) {
|
||||
|
||||
// Make an additional link to the log file in a place specified by
|
||||
// FLAGS_log_link, if indicated
|
||||
- if (!FLAGS_log_link.empty()) {
|
||||
- linkpath = FLAGS_log_link + "/" + linkname;
|
||||
+ if (!FLAG(log_link).empty()) {
|
||||
+ linkpath = FLAG(log_link) + "/" + linkname;
|
||||
unlink(linkpath.c_str()); // delete old one if it exists
|
||||
if (symlink(filename, linkpath.c_str()) != 0) {
|
||||
// silently ignore failures
|
||||
@@ -1165,7 +1168,7 @@ void LogFileObject::Write(bool force_flush,
|
||||
rollover_attempt_ = 0;
|
||||
|
||||
struct ::tm tm_time;
|
||||
- if (FLAGS_log_utc_time) {
|
||||
+ if (FLAG(log_utc_time)) {
|
||||
gmtime_r(×tamp, &tm_time);
|
||||
} else {
|
||||
localtime_r(×tamp, &tm_time);
|
||||
@@ -1253,14 +1256,14 @@ void LogFileObject::Write(bool force_flush,
|
||||
<< ' '
|
||||
<< setw(2) << tm_time.tm_hour << ':'
|
||||
<< setw(2) << tm_time.tm_min << ':'
|
||||
- << setw(2) << tm_time.tm_sec << (FLAGS_log_utc_time ? " UTC\n" : "\n")
|
||||
+ << setw(2) << tm_time.tm_sec << (FLAG(log_utc_time) ? " UTC\n" : "\n")
|
||||
<< "Running on machine: "
|
||||
<< LogDestination::hostname() << '\n';
|
||||
|
||||
if(!g_application_fingerprint.empty()) {
|
||||
file_header_stream << "Application fingerprint: " << g_application_fingerprint << '\n';
|
||||
}
|
||||
- const char* const date_time_format = FLAGS_log_year_in_prefix
|
||||
+ const char* const date_time_format = FLAG(log_year_in_prefix)
|
||||
? "yyyymmdd hh:mm:ss.uuuuuu"
|
||||
: "mmdd hh:mm:ss.uuuuuu";
|
||||
file_header_stream << "Running duration (h:mm:ss): "
|
||||
@@ -1284,7 +1287,7 @@ void LogFileObject::Write(bool force_flush,
|
||||
// greater than 4096, thereby indicating an error.
|
||||
errno = 0;
|
||||
fwrite(message, 1, message_len, file_);
|
||||
- if ( FLAGS_stop_logging_if_full_disk &&
|
||||
+ if ( FLAG(stop_logging_if_full_disk) &&
|
||||
errno == ENOSPC ) { // disk full, stop writing to disk
|
||||
stop_writing = true; // until the disk is
|
||||
return;
|
||||
@@ -1307,7 +1310,7 @@ void LogFileObject::Write(bool force_flush,
|
||||
FlushUnlocked();
|
||||
#ifdef GLOG_OS_LINUX
|
||||
// Only consider files >= 3MiB
|
||||
- if (FLAGS_drop_log_memory && file_length_ >= (3U << 20U)) {
|
||||
+ if (FLAG(drop_log_memory) && file_length_ >= (3U << 20U)) {
|
||||
// Don't evict the most recent 1-2MiB so as not to impact a tailer
|
||||
// of the log file and to avoid page rounding issue on linux < 4.7
|
||||
uint32 total_drop_length =
|
||||
@@ -1348,7 +1351,7 @@ void LogCleaner::Disable() {
|
||||
}
|
||||
|
||||
void LogCleaner::UpdateCleanUpTime() {
|
||||
- const int64 next = (FLAGS_logcleansecs
|
||||
+ const int64 next = (FLAG(logcleansecs)
|
||||
* 1000000); // in usec
|
||||
next_cleanup_time_ = CycleClock_Now() + UsecToCycles(next);
|
||||
}
|
||||
@@ -1664,7 +1667,7 @@ void LogMessage::Init(const char* file,
|
||||
// I20201018 160715 f5d4fbb0 logging.cc:1153]
|
||||
// (log level, GMT year, month, date, time, thread_id, file basename, line)
|
||||
// We exclude the thread_id for the default thread.
|
||||
- if (FLAGS_log_prefix && (line != kNoLogPrefix)) {
|
||||
+ if (FLAG(log_prefix) && (line != kNoLogPrefix)) {
|
||||
std::ios saved_fmt(NULL);
|
||||
saved_fmt.copyfmt(stream());
|
||||
stream().fill('0');
|
||||
@@ -1672,7 +1675,7 @@ void LogMessage::Init(const char* file,
|
||||
if (custom_prefix_callback == NULL) {
|
||||
#endif
|
||||
stream() << LogSeverityNames[severity][0];
|
||||
- if (FLAGS_log_year_in_prefix) {
|
||||
+ if (FLAG(log_year_in_prefix)) {
|
||||
stream() << setw(4) << 1900 + logmsgtime_.year();
|
||||
}
|
||||
stream() << setw(2) << 1 + logmsgtime_.month()
|
||||
@@ -1703,11 +1706,11 @@ void LogMessage::Init(const char* file,
|
||||
}
|
||||
data_->num_prefix_chars_ = data_->stream_.pcount();
|
||||
|
||||
- if (!FLAGS_log_backtrace_at.empty()) {
|
||||
+ if (!FLAG(log_backtrace_at).empty()) {
|
||||
char fileline[128];
|
||||
snprintf(fileline, sizeof(fileline), "%s:%d", data_->basename_, line);
|
||||
#ifdef HAVE_STACKTRACE
|
||||
- if (FLAGS_log_backtrace_at == fileline) {
|
||||
+ if (FLAG(log_backtrace_at) == fileline) {
|
||||
string stacktrace;
|
||||
DumpStackTraceToString(&stacktrace);
|
||||
stream() << " (stacktrace:\n" << stacktrace << ") ";
|
||||
@@ -1746,7 +1749,7 @@ ostream& LogMessage::stream() {
|
||||
// Flush buffered message, called by the destructor, or any other function
|
||||
// that needs to synchronize the log.
|
||||
void LogMessage::Flush() {
|
||||
- if (data_->has_been_flushed_ || data_->severity_ < FLAGS_minloglevel) {
|
||||
+ if (data_->has_been_flushed_ || data_->severity_ < FLAG(minloglevel)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1808,7 +1811,7 @@ static char fatal_message[256];
|
||||
void ReprintFatalMessage() {
|
||||
if (fatal_message[0]) {
|
||||
const size_t n = strlen(fatal_message);
|
||||
- if (!FLAGS_logtostderr) {
|
||||
+ if (!FLAG(logtostderr)) {
|
||||
// Also write to stderr (don't color to avoid terminal checks)
|
||||
WriteToStderr(fatal_message, n);
|
||||
}
|
||||
@@ -1837,8 +1840,8 @@ void LogMessage::SendToLog() EXCLUSIVE_LOCKS_REQUIRED(log_mutex) {
|
||||
// global flag: never log to file if set. Also -- don't log to a
|
||||
// file if we haven't parsed the command line flags to get the
|
||||
// program name.
|
||||
- if (FLAGS_logtostderr || FLAGS_logtostdout || !IsGoogleLoggingInitialized()) {
|
||||
- if (FLAGS_logtostdout) {
|
||||
+ if (FLAG(logtostderr) || FLAG(logtostdout) || !IsGoogleLoggingInitialized()) {
|
||||
+ if (FLAG(logtostdout)) {
|
||||
ColoredWriteToStdout(data_->severity_, data_->message_text_,
|
||||
data_->num_chars_to_log_);
|
||||
} else {
|
||||
@@ -1891,7 +1894,7 @@ void LogMessage::SendToLog() EXCLUSIVE_LOCKS_REQUIRED(log_mutex) {
|
||||
fatal_time = logmsgtime_.timestamp();
|
||||
}
|
||||
|
||||
- if (!FLAGS_logtostderr && !FLAGS_logtostdout) {
|
||||
+ if (!FLAG(logtostderr) && !FLAG(logtostdout)) {
|
||||
for (int i = 0; i < NUM_SEVERITIES; ++i) {
|
||||
if (LogDestination::log_destinations_[i]) {
|
||||
LogDestination::log_destinations_[i]->logger_->Write(true, 0, "", 0);
|
||||
@@ -2238,7 +2241,7 @@ static bool SendEmailInternal(const char*dest, const char *subject,
|
||||
subject, body, dest);
|
||||
}
|
||||
|
||||
- string logmailer = FLAGS_logmailer;
|
||||
+ string logmailer = FLAG(logmailer);
|
||||
if (logmailer.empty()) {
|
||||
logmailer = "/bin/mail";
|
||||
}
|
||||
@@ -2338,9 +2341,9 @@ const vector<string>& GetLoggingDirectories() {
|
||||
if (logging_directories_list == NULL) {
|
||||
logging_directories_list = new vector<string>;
|
||||
|
||||
- if ( !FLAGS_log_dir.empty() ) {
|
||||
+ if ( !FLAG(log_dir).empty() ) {
|
||||
// A dir was specified, we should use it
|
||||
- logging_directories_list->push_back(FLAGS_log_dir);
|
||||
+ logging_directories_list->push_back(FLAG(log_dir));
|
||||
} else {
|
||||
GetTempDirectories(logging_directories_list);
|
||||
#ifdef GLOG_OS_WINDOWS
|
||||
@@ -2654,7 +2657,7 @@ LogMessageTime::LogMessageTime(std::tm t) {
|
||||
|
||||
LogMessageTime::LogMessageTime(std::time_t timestamp, WallTime now) {
|
||||
std::tm t;
|
||||
- if (FLAGS_log_utc_time)
|
||||
+ if (FLAG(log_utc_time))
|
||||
gmtime_r(×tamp, &t);
|
||||
else
|
||||
localtime_r(×tamp, &t);
|
||||
@@ -2673,7 +2676,7 @@ void LogMessageTime::init(const std::tm& t, std::time_t timestamp,
|
||||
void LogMessageTime::CalcGmtOffset() {
|
||||
std::tm gmt_struct;
|
||||
int isDst = 0;
|
||||
- if ( FLAGS_log_utc_time ) {
|
||||
+ if ( FLAG(log_utc_time )) {
|
||||
localtime_r(×tamp_, &gmt_struct);
|
||||
isDst = gmt_struct.tm_isdst;
|
||||
gmt_struct = time_struct_;
|
||||
diff --git a/src/raw_logging.cc b/src/raw_logging.cc
|
||||
index 43159832..8532362b 100644
|
||||
--- a/src/raw_logging.cc
|
||||
+++ b/src/raw_logging.cc
|
||||
@@ -123,8 +123,8 @@ static char crash_buf[kLogBufSize + 1] = { 0 }; // Will end in '\0'
|
||||
GLOG_ATTRIBUTE_FORMAT(printf, 4, 5)
|
||||
void RawLog__(LogSeverity severity, const char* file, int line,
|
||||
const char* format, ...) {
|
||||
- if (!(FLAGS_logtostdout || FLAGS_logtostderr ||
|
||||
- severity >= FLAGS_stderrthreshold || FLAGS_alsologtostderr ||
|
||||
+ if (!(FLAG(logtostdout) || FLAG(logtostderr) ||
|
||||
+ severity >= FLAG(stderrthreshold) || FLAG(alsologtostderr) ||
|
||||
!IsGoogleLoggingInitialized())) {
|
||||
return; // this stderr log message is suppressed
|
||||
}
|
||||
diff --git a/src/utilities.cc b/src/utilities.cc
|
||||
index a332f1a1..a9d5102a 100644
|
||||
--- a/src/utilities.cc
|
||||
+++ b/src/utilities.cc
|
||||
@@ -141,7 +141,7 @@ static void DumpStackTrace(int skip_count, DebugWriter *writerfn, void *arg) {
|
||||
int depth = GetStackTrace(stack, ARRAYSIZE(stack), skip_count+1);
|
||||
for (int i = 0; i < depth; i++) {
|
||||
#if defined(HAVE_SYMBOLIZE)
|
||||
- if (FLAGS_symbolize_stacktrace) {
|
||||
+ if (FLAG(symbolize_stacktrace)) {
|
||||
DumpPCAndSymbol(writerfn, arg, stack[i], " ");
|
||||
} else {
|
||||
DumpPC(writerfn, arg, stack[i], " ");
|
||||
diff --git a/src/vlog_is_on.cc b/src/vlog_is_on.cc
|
||||
index e478a366..4b7a5cae 100644
|
||||
--- a/src/vlog_is_on.cc
|
||||
+++ b/src/vlog_is_on.cc
|
||||
@@ -43,14 +43,24 @@
|
||||
#include <glog/logging.h>
|
||||
#include <glog/raw_logging.h>
|
||||
#include "base/googleinit.h"
|
||||
+#include "config.h"
|
||||
|
||||
// glog doesn't have annotation
|
||||
#define ANNOTATE_BENIGN_RACE(address, description)
|
||||
|
||||
using std::string;
|
||||
|
||||
+#ifdef HAVE_ABSL_FLAGS
|
||||
+
|
||||
+ABSL_FLAG(int32_t, v, 0, "Show all VLOG(m) messages for m <= this."
|
||||
+" Overridable by --vmodule.").OnUpdate([] {
|
||||
+ GOOGLE_NAMESPACE::absl_proxy_v = absl::GetFlag(FLAGS_v);
|
||||
+ });
|
||||
+
|
||||
+#else
|
||||
GLOG_DEFINE_int32(v, 0, "Show all VLOG(m) messages for m <= this."
|
||||
" Overridable by --vmodule.");
|
||||
+#endif
|
||||
|
||||
GLOG_DEFINE_string(vmodule, "", "per-module verbose level."
|
||||
" Argument is a comma-separated list of <module name>=<log level>."
|
||||
@@ -60,6 +70,8 @@ GLOG_DEFINE_string(vmodule, "", "per-module verbose level."
|
||||
|
||||
_START_GOOGLE_NAMESPACE_
|
||||
|
||||
+int32_t absl_proxy_v = 0;
|
||||
+
|
||||
namespace glog_internal_namespace_ {
|
||||
|
||||
// Used by logging_unittests.cc so can't make it static here.
|
||||
@@ -132,7 +144,8 @@ static void VLOG2Initializer() {
|
||||
// Can now parse --vmodule flag and initialize mapping of module-specific
|
||||
// logging levels.
|
||||
inited_vmodule = false;
|
||||
- const char* vmodule = FLAGS_vmodule.c_str();
|
||||
+ string vmodule_str = FLAG(vmodule);
|
||||
+ const char* vmodule = vmodule_str.c_str();
|
||||
const char* sep;
|
||||
VModuleInfo* head = NULL;
|
||||
VModuleInfo* tail = NULL;
|
||||
@@ -164,7 +177,7 @@ static void VLOG2Initializer() {
|
||||
|
||||
// This can be called very early, so we use SpinLock and RAW_VLOG here.
|
||||
int SetVLOGLevel(const char* module_pattern, int log_level) {
|
||||
- int result = FLAGS_v;
|
||||
+ int result = FLAG(v);
|
||||
size_t const pattern_len = strlen(module_pattern);
|
||||
bool found = false;
|
||||
{
|
||||
@@ -0,0 +1,150 @@
|
||||
diff --git a/helio/cmake/third_party.cmake b/helio/cmake/third_party.cmake
|
||||
index 810a8fa..8b11922 100644
|
||||
--- a/helio/cmake/third_party.cmake
|
||||
+++ b/helio/cmake/third_party.cmake
|
||||
@@ -151,7 +151,7 @@ endfunction()
|
||||
|
||||
FetchContent_Declare(
|
||||
gtest
|
||||
- URL https://github.com/google/googletest/archive/v1.15.2.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(gtest)
|
||||
@@ -162,7 +162,7 @@ endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
benchmark
|
||||
- URL https://github.com/google/benchmark/archive/v1.9.1.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(benchmark)
|
||||
@@ -181,7 +181,7 @@ endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
abseil_cpp
|
||||
- URL https://github.com/abseil/abseil-cpp/releases/download/20250512.1/abseil-cpp-20250512.1.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
PATCH_COMMAND patch -p1 < "${CMAKE_CURRENT_LIST_DIR}/../patches/abseil-20250512.1.patch"
|
||||
)
|
||||
|
||||
@@ -204,11 +204,7 @@ if (LEGACY_GLOG)
|
||||
|
||||
FetchContent_Declare(
|
||||
glog
|
||||
- GIT_REPOSITORY https://github.com/romange/glog
|
||||
- GIT_TAG Absl
|
||||
-
|
||||
- GIT_PROGRESS TRUE
|
||||
- GIT_SHALLOW TRUE
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(glog)
|
||||
@@ -278,7 +274,7 @@ if (WITH_GPERF)
|
||||
|
||||
add_third_party(
|
||||
gperf
|
||||
- URL https://github.com/gperftools/gperftools/archive/gperftools-2.16.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/gperf/. <SOURCE_DIR>
|
||||
|
||||
# GIT_SHALLOW TRUE
|
||||
# Remove building the unneeded programs (they fail on macos)
|
||||
@@ -312,9 +308,7 @@ set(MIMALLOC_INCLUDE_DIR ${THIRD_PARTY_LIB_DIR}/mimalloc/include)
|
||||
set (MIMALLOC_PATCH_COMMAND patch -p1 -d ${THIRD_PARTY_DIR}/mimalloc/ -i ${CMAKE_CURRENT_LIST_DIR}/../patches/mimalloc-v2.1.6.patch)
|
||||
|
||||
add_third_party(mimalloc
|
||||
- #GIT_REPOSITORY https://github.com/microsoft/mimalloc.git
|
||||
- #GIT_TAG 0f6d8293c74796fa913e4b5eb4361f1e4734f7c6
|
||||
- URL https://github.com/microsoft/mimalloc/archive/refs/tags/v2.1.6.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/mimalloc216/. <SOURCE_DIR>
|
||||
PATCH_COMMAND "${MIMALLOC_PATCH_COMMAND}"
|
||||
# -DCMAKE_BUILD_TYPE=Release
|
||||
# Add -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-O0 to debug
|
||||
@@ -328,7 +322,7 @@ add_third_party(mimalloc
|
||||
)
|
||||
|
||||
add_third_party(jemalloc
|
||||
- URL https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/jemalloc/. <SOURCE_DIR>
|
||||
PATCH_COMMAND ./autogen.sh
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${THIRD_PARTY_LIB_DIR}/jemalloc --with-jemalloc-prefix=je_ --disable-libdl
|
||||
)
|
||||
@@ -336,7 +330,7 @@ add_third_party(jemalloc
|
||||
|
||||
add_third_party(
|
||||
xxhash
|
||||
- URL https://github.com/Cyan4973/xxHash/archive/v0.8.3.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/xxhash/. <SOURCE_DIR>
|
||||
|
||||
# A bug in xxhash 0.8.1 that searches for a file that doesn't exist
|
||||
PATCH_COMMAND touch <SOURCE_DIR>/xxhsum.1
|
||||
@@ -347,7 +341,7 @@ add_third_party(
|
||||
|
||||
add_third_party(
|
||||
uring
|
||||
- URL https://github.com/axboe/liburing/archive/refs/tags/liburing-2.8.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/uring/. <SOURCE_DIR>
|
||||
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${THIRD_PARTY_LIB_DIR}/uring
|
||||
BUILD_COMMAND make -C src
|
||||
@@ -356,7 +350,7 @@ add_third_party(
|
||||
|
||||
add_third_party(
|
||||
pugixml
|
||||
- URL https://github.com/zeux/pugixml/archive/refs/tags/v1.15.tar.gz
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/pugixml/. <SOURCE_DIR>
|
||||
)
|
||||
|
||||
if (WITH_AWS)
|
||||
@@ -364,9 +358,7 @@ if (WITH_AWS)
|
||||
|
||||
add_third_party(
|
||||
aws
|
||||
- GIT_REPOSITORY https://github.com/aws/aws-sdk-cpp.git
|
||||
- GIT_TAG 3e51fa016655eeb6b6610bdf8fe7cf33ebbf3e00
|
||||
- GIT_SHALLOW TRUE
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/aws-sdk-cpp/. <SOURCE_DIR>
|
||||
PATCH_COMMAND "${AWS_PATCH_COMMAND}"
|
||||
CMAKE_PASS_FLAGS "-DBUILD_ONLY=s3 -DNO_HTTP_CLIENT=ON -DENABLE_TESTING=OFF -DAUTORUN_UNIT_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
LIB libaws-cpp-sdk-s3.a libaws-cpp-sdk-core.a libaws-crt-cpp.a libaws-c-mqtt.a libaws-c-event-stream.a libaws-c-s3.a libaws-c-auth.a libaws-c-http.a libaws-c-io.a libs2n.a libaws-c-compression.a libaws-c-cal.a libaws-c-sdkutils.a libaws-checksums.a libaws-c-common.a
|
||||
@@ -376,8 +368,7 @@ endif()
|
||||
if (WITH_GCP)
|
||||
add_third_party(
|
||||
rapidjson
|
||||
- GIT_REPOSITORY https://github.com/Tencent/rapidjson.git
|
||||
- GIT_TAG ab1842a
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/rapidjson/. <SOURCE_DIR>
|
||||
CMAKE_PASS_FLAGS "-DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF \
|
||||
-DRAPIDJSON_BUILD_DOC=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
LIB "none"
|
||||
@@ -386,24 +377,23 @@ endif()
|
||||
|
||||
add_third_party(
|
||||
cares
|
||||
- URL https://codeload.github.com/c-ares/c-ares/tar.gz/refs/tags/v1.34.5
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/cares/. <SOURCE_DIR>
|
||||
CMAKE_PASS_FLAGS "-DCARES_SHARED:BOOL=OFF -DCARES_STATIC:BOOL=ON -DCARES_STATIC_PIC:BOOL=ON \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
zstd
|
||||
- URL https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.zst
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/zstd/. <SOURCE_DIR>
|
||||
SOURCE_SUBDIR "build/cmake"
|
||||
-
|
||||
+
|
||||
# for debug pass : "CFLAGS=-fPIC -O0 -ggdb"
|
||||
CMAKE_PASS_FLAGS "-DZSTD_BUILD_SHARED=OFF -DZSTD_BUILD_PROGRAMS=OFF -DZSTD_BUILD_TESTS=OFF"
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
expected
|
||||
- GIT_REPOSITORY https://github.com/martinmoene/expected-lite.git
|
||||
- GIT_TAG f17940fabae07063cabb67abf2c8d164d3146044 # Important fixes for monadic functions
|
||||
+ DOWNLOAD_COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/deps-nixpkgs/expected/. <SOURCE_DIR>
|
||||
CMAKE_PASS_FLAGS "-DEXPECTED_LITE_OPT_BUILD_TESTS=0"
|
||||
LIB "none"
|
||||
)
|
||||
@@ -1,109 +1,252 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
# Dependencies
|
||||
abseil-cpp,
|
||||
c-ares,
|
||||
croncpp,
|
||||
double-conversion,
|
||||
gperftools,
|
||||
mimalloc,
|
||||
rapidjson,
|
||||
liburing,
|
||||
xxHash,
|
||||
expected-lite,
|
||||
fast-float,
|
||||
flatbuffers_23,
|
||||
gbenchmark,
|
||||
glog,
|
||||
gperftools,
|
||||
gtest,
|
||||
hdrhistogram_c,
|
||||
hnswlib,
|
||||
jemalloc,
|
||||
gcc-unwrapped,
|
||||
liburing,
|
||||
lz4,
|
||||
pcre2,
|
||||
pugixml,
|
||||
rapidjson,
|
||||
re2,
|
||||
re-flex,
|
||||
uni-algo,
|
||||
xxHash,
|
||||
zstd,
|
||||
|
||||
# Build tools
|
||||
autoconf,
|
||||
autoconf-archive,
|
||||
automake,
|
||||
automake116x,
|
||||
bison,
|
||||
cmake,
|
||||
gcc-unwrapped,
|
||||
ninja,
|
||||
|
||||
# Runtime dependencies
|
||||
boost,
|
||||
libunwind,
|
||||
libtool,
|
||||
libunwind,
|
||||
openssl,
|
||||
zlib,
|
||||
|
||||
# Options
|
||||
withAws ? true,
|
||||
withGcp ? true,
|
||||
withGperf ? true,
|
||||
withPcre ? true,
|
||||
withRe2 ? true,
|
||||
withSearch ? true,
|
||||
withAsan ? false,
|
||||
withUsan ? false,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "dragonflydb";
|
||||
version = "0.1.0";
|
||||
version = "1.34.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
owner = "dragonflydb";
|
||||
repo = "dragonfly";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-P6WMW/n+VezWDXGagT4B+ZYyCp8oufDV6MTrpKpLZcs=";
|
||||
hash = "sha256-n70IB32tZDe665hVLrKC0BSSJutmYhtPJvfNa48xaqA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Needed exactly 5.4.4 for patch to work
|
||||
lua = fetchurl {
|
||||
url = "https://github.com/lua/lua/archive/refs/tags/v5.4.4.tar.gz";
|
||||
hash = "sha256-L/ibvqIqfIuRDWsAb1ukVZ7c9GiiVTfO35mI7ZD2tFA=";
|
||||
aws-sdk-cpp-1-11-162 = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-sdk-cpp";
|
||||
tag = "1.11.162";
|
||||
hash = "sha256-NxVE7H8BOetpbBkB2PTVBoHSXYm6cTp41F1LJmhtBbs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Needed exactly 20211102.0 for patch to work
|
||||
abseil-cpp_202111 = fetchFromGitHub {
|
||||
owner = "abseil";
|
||||
repo = "abseil-cpp";
|
||||
rev = "20211102.0";
|
||||
sha256 = "sha256-sSXT6D4JSrk3dA7kVaxfKkzOMBpqXQb0WbMYWG+nGwk=";
|
||||
glog-absl = fetchFromGitHub {
|
||||
owner = "romange";
|
||||
repo = "glog";
|
||||
rev = "Absl";
|
||||
hash = "sha256-68Hx3kIPgyMSdHCUpYr68Cw8V4Umtyd+4VLZc3zUb1s=";
|
||||
};
|
||||
|
||||
jsoncons-dragonfly = fetchFromGitHub {
|
||||
owner = "dragonflydb";
|
||||
repo = "jsoncons";
|
||||
rev = "Dragonfly.178";
|
||||
hash = "sha256-cxM95DFFo5z+eImgZzJw+ykaeSDtBF+hw5qo6gnL53s=";
|
||||
};
|
||||
|
||||
lua-dragonfly = fetchFromGitHub {
|
||||
owner = "dragonflydb";
|
||||
repo = "lua";
|
||||
rev = "Dragonfly-5.4.6a";
|
||||
hash = "sha256-uLNe+hLihu4wMW/wstGnYdPa2bGPC5UiNE+VyNIYY2c=";
|
||||
};
|
||||
|
||||
mimalloc216 = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "mimalloc";
|
||||
tag = "v2.1.6";
|
||||
hash = "sha256-Ff3+RP+lAXCOeHJ87oG3c02rPP4WQIbg5L/CVe6gA3M=";
|
||||
};
|
||||
|
||||
mimalloc224 = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "mimalloc";
|
||||
tag = "v2.2.4";
|
||||
hash = "sha256-+8xZT+mVEqlqabQc+1buVH/X6FZxvCd0rWMyjPu9i4o=";
|
||||
};
|
||||
|
||||
withUnwind = !stdenv.targetPlatform.isAarch64;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version src;
|
||||
|
||||
patches = [
|
||||
./external-libs.patch
|
||||
./helio-third-party.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
mkdir -p ./build/{third_party,_deps}
|
||||
ln -s ${double-conversion.src} ./build/third_party/dconv
|
||||
ln -s ${mimalloc.src} ./build/third_party/mimalloc
|
||||
ln -s ${rapidjson.src} ./build/third_party/rapidjson
|
||||
ln -s ${gbenchmark.src} ./build/_deps/benchmark-src
|
||||
ln -s ${gtest.src} ./build/_deps/gtest-src
|
||||
cp -R --no-preserve=mode,ownership ${gperftools.src} ./build/third_party/gperf
|
||||
cp -R --no-preserve=mode,ownership ${liburing.src} ./build/third_party/uring
|
||||
cp -R --no-preserve=mode,ownership ${xxHash.src} ./build/third_party/xxhash
|
||||
cp -R --no-preserve=mode,ownership ${abseil-cpp_202111} ./build/_deps/abseil_cpp-src
|
||||
cp -R --no-preserve=mode,ownership ${glog.src} ./build/_deps/glog-src
|
||||
chmod u+x ./build/third_party/uring/configure
|
||||
cp ./build/third_party/xxhash/cli/xxhsum.{1,c} ./build/third_party/xxhash
|
||||
patch -p1 -d ./build/_deps/glog-src < ${./glog.patch}
|
||||
sed '
|
||||
s@REPLACEJEMALLOCURL@file://${jemalloc.src}@
|
||||
s@REPLACELUAURL@file://${lua}@
|
||||
' ${./fixes.patch} | patch -p1
|
||||
chmod +x helio/blaze.sh
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
# Create directory for nixpkgs dependencies
|
||||
mkdir -p build/_deps build/deps-nixpkgs
|
||||
|
||||
# Copy FetchContent dependencies (in helio/cmake/third_party.cmake)
|
||||
# These go to build/_deps/ where FetchContent expects them
|
||||
cp -r --no-preserve=mode,ownership ${abseil-cpp.src} build/_deps/abseil_cpp-src
|
||||
cp -r --no-preserve=mode,ownership ${gbenchmark.src} build/_deps/benchmark-src
|
||||
cp -r --no-preserve=mode,ownership ${glog-absl} build/_deps/glog-src
|
||||
cp -r --no-preserve=mode,ownership ${gtest.src} build/_deps/gtest-src
|
||||
|
||||
# Copy add_third_party dependencies to deps-nixpkgs
|
||||
cp -r --no-preserve=mode,ownership ${croncpp.src} build/deps-nixpkgs/croncpp
|
||||
cp -r --no-preserve=mode,ownership ${double-conversion.src} build/deps-nixpkgs/dconv
|
||||
cp -r --no-preserve=mode,ownership ${expected-lite.src} build/deps-nixpkgs/expected
|
||||
cp -r --no-preserve=mode,ownership ${fast-float.src} build/deps-nixpkgs/fast_float
|
||||
cp -r --no-preserve=mode,ownership ${flatbuffers_23.src} build/deps-nixpkgs/flatbuffers
|
||||
cp -r --no-preserve=mode,ownership ${hdrhistogram_c.src} build/deps-nixpkgs/hdr_histogram
|
||||
cp -r --no-preserve=mode,ownership ${jemalloc.src} build/deps-nixpkgs/jemalloc
|
||||
cp -r --no-preserve=mode,ownership ${jsoncons-dragonfly} build/deps-nixpkgs/jsoncons
|
||||
cp -r --no-preserve=mode,ownership ${liburing.src} build/deps-nixpkgs/uring
|
||||
cp -r --no-preserve=mode,ownership ${lua-dragonfly} build/deps-nixpkgs/lua
|
||||
cp -r --no-preserve=mode,ownership ${lz4.src} build/deps-nixpkgs/lz4
|
||||
cp -r --no-preserve=mode,ownership ${mimalloc216} build/deps-nixpkgs/mimalloc216
|
||||
cp -r --no-preserve=mode,ownership ${mimalloc224} build/deps-nixpkgs/mimalloc224
|
||||
cp -r --no-preserve=mode,ownership ${pugixml.src} build/deps-nixpkgs/pugixml
|
||||
cp -r --no-preserve=mode,ownership ${re-flex.src} build/deps-nixpkgs/reflex
|
||||
cp -r --no-preserve=mode,ownership ${xxHash.src} build/deps-nixpkgs/xxhash
|
||||
cp -r --no-preserve=mode,ownership ${zstd.src} build/deps-nixpkgs/zstd
|
||||
|
||||
# c-ares is provided as a tarball, extract it
|
||||
mkdir -p build/deps-nixpkgs/cares
|
||||
tar -xzf ${c-ares.src} -C build/deps-nixpkgs/cares --strip-components=1
|
||||
|
||||
${
|
||||
if withAws then
|
||||
''
|
||||
cp -r --no-preserve=mode,ownership ${aws-sdk-cpp-1-11-162} build/deps-nixpkgs/aws-sdk-cpp
|
||||
''
|
||||
else
|
||||
""
|
||||
}
|
||||
|
||||
${
|
||||
if withGcp then
|
||||
''
|
||||
cp -r --no-preserve=mode,ownership ${rapidjson.src} build/deps-nixpkgs/rapidjson
|
||||
''
|
||||
else
|
||||
""
|
||||
}
|
||||
|
||||
${
|
||||
if withGperf then
|
||||
''
|
||||
cp -r --no-preserve=mode,ownership ${gperftools.src} build/deps-nixpkgs/gperf
|
||||
''
|
||||
else
|
||||
""
|
||||
}
|
||||
|
||||
${
|
||||
if withSearch then
|
||||
''
|
||||
cp -r --no-preserve=mode,ownership ${hnswlib.src} build/deps-nixpkgs/hnswlib
|
||||
cp -r --no-preserve=mode,ownership ${uni-algo.src} build/deps-nixpkgs/uni-algo
|
||||
''
|
||||
else
|
||||
""
|
||||
}
|
||||
|
||||
# Fix permissions
|
||||
chmod -R u+w build/deps-nixpkgs build/_deps
|
||||
chmod u+x build/deps-nixpkgs/reflex/configure
|
||||
chmod u+x build/deps-nixpkgs/uring/configure
|
||||
touch build/deps-nixpkgs/xxhash/xxhsum.1
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
autoconf-archive
|
||||
automake
|
||||
automake116x
|
||||
bison
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
libunwind
|
||||
libtool
|
||||
openssl
|
||||
];
|
||||
zlib
|
||||
]
|
||||
++ lib.optional withPcre pcre2
|
||||
++ lib.optional withRe2 re2
|
||||
++ lib.optional withUnwind libunwind;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
(lib.cmakeFeature "CMAKE_AR" "${gcc-unwrapped}/bin/gcc-ar")
|
||||
(lib.cmakeFeature "CMAKE_RANLIB" "${gcc-unwrapped}/bin/gcc-ranlib")
|
||||
(lib.cmakeBool "ENABLE_GIT_VERSION" false)
|
||||
(lib.cmakeBool "WITH_ASAN" withAsan)
|
||||
(lib.cmakeBool "WITH_AWS" withAws)
|
||||
(lib.cmakeBool "WITH_GCP" withGcp)
|
||||
(lib.cmakeBool "WITH_GPERF" withGperf)
|
||||
(lib.cmakeBool "WITH_SEARCH" withSearch)
|
||||
(lib.cmakeBool "WITH_USAN" withUsan)
|
||||
];
|
||||
|
||||
ninjaFlags = [ "dragonfly" ];
|
||||
|
||||
# dragonflydb's tests rely heavily on outdated Python packages we don't
|
||||
# have in nixpkgs, and it would be a highly non-trivial endeavor to
|
||||
# recreate all of them locally to get them to run properly.
|
||||
doCheck = false;
|
||||
dontUseNinjaInstall = true;
|
||||
|
||||
dontUseNinjaInstall = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp ./dragonfly $out/bin
|
||||
install -Dm755 ./dragonfly $out/bin/dragonfly
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -112,6 +255,9 @@ stdenv.mkDerivation {
|
||||
homepage = "https://dragonflydb.io/";
|
||||
license = licenses.bsl11;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ yureien ];
|
||||
maintainers = with maintainers; [
|
||||
typedrat
|
||||
yureien
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# the Equicord repository. Dates as tags (and automatic releases) were the compromise
|
||||
# we came to with upstream. Please do not change the version schema (e.g., to semver)
|
||||
# unless upstream changes the tag schema from dates.
|
||||
version = "2025-11-02";
|
||||
version = "2025-11-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Equicord";
|
||||
repo = "Equicord";
|
||||
tag = "${finalAttrs.version}";
|
||||
hash = "sha256-SThWYUi4h3OpsP28ouHW1f8+m1dr+wMAYhA/90LBYPg=";
|
||||
hash = "sha256-tddAMGNcaFj1hygrkQZfutWtgI+JHdYN5BHeW37562w=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm_10.fetchDeps {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
callPackage,
|
||||
python312Packages,
|
||||
python313Packages,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
ffmpeg-headless,
|
||||
@@ -27,7 +27,7 @@ let
|
||||
inherit version src;
|
||||
};
|
||||
|
||||
python = python312Packages.python.override {
|
||||
python = python313Packages.python.override {
|
||||
packageOverrides = self: super: {
|
||||
joserfc = super.joserfc.overridePythonAttrs (oldAttrs: {
|
||||
version = "1.1.0";
|
||||
@@ -141,7 +141,6 @@ python3Packages.buildPythonApplication rec {
|
||||
distlib
|
||||
fastapi
|
||||
filelock
|
||||
future
|
||||
importlib-metadata
|
||||
importlib-resources
|
||||
google-generativeai
|
||||
|
||||
@@ -1,74 +1,95 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
buildGoModule,
|
||||
buildNpmPackage,
|
||||
stdenv,
|
||||
olm,
|
||||
nodejs,
|
||||
npmHooks,
|
||||
unstableGitUpdater,
|
||||
withGoolm ? false,
|
||||
}:
|
||||
|
||||
let
|
||||
cppStdLib = if stdenv.hostPlatform.isDarwin then "-lc++" else "-lstdc++";
|
||||
buildGoModule (
|
||||
finalAttrs:
|
||||
let
|
||||
ver = "0.2025.11";
|
||||
revDate = "2025-11-01";
|
||||
rev = "be0d4487871c196d0c47bb1b6ac7ce9252d424de";
|
||||
srcHash = "sha256-x7M7d8obnt8mpH1ZRev8c39PE5ZlgssgusGvrLaF/vg=";
|
||||
vendorHash = "sha256-TDvTZ0n324pNPAPMZMhWq0LdDUqFrzBXNVNdfMlxqeQ=";
|
||||
npmDepsHash = "sha256-4Ir4uq9Hg6Hwj21P/H7xWdVPzYrDrXiouEtjnLJj4Ko=";
|
||||
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gomuks-web";
|
||||
version = "0.4.0-unstable-2025-04-22";
|
||||
in
|
||||
{
|
||||
pname = "gomuks-web";
|
||||
version = "${ver}-unstable-${revDate}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tulir";
|
||||
repo = "gomuks";
|
||||
rev = "fd257ed74c9df42e5b6d14d3c6a283f557f61666";
|
||||
hash = "sha256-jMDLfiwkUme2bxE+ZEtUoNMwZ7GuGGzCV2dH1V87YtQ=";
|
||||
};
|
||||
inherit vendorHash;
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
name = "${finalAttrs.pname}_${finalAttrs.version}-frontend";
|
||||
src = "${finalAttrs.src}/web";
|
||||
inherit (finalAttrs) version;
|
||||
|
||||
npmDepsHash = "sha256-Mt2gJ1lLT3oQ3RKr3XTVFXkS/Xmjy0gahbdaxxrO+6g=";
|
||||
|
||||
installPhase = ''
|
||||
cp -r dist $out
|
||||
'';
|
||||
};
|
||||
|
||||
vendorHash = "sha256-qeSxxd9ml2ENAYSPkdd1OWqy2DULnwLUVkKje47uT/I=";
|
||||
|
||||
buildInputs = [
|
||||
(if withGoolm then stdenv.cc.cc.lib else olm)
|
||||
];
|
||||
|
||||
CGO_LDFLAGS = lib.optional withGoolm cppStdLib;
|
||||
|
||||
tags = lib.optional withGoolm "goolm";
|
||||
|
||||
subPackages = [ "cmd/gomuks" ];
|
||||
|
||||
preBuild = ''
|
||||
cp -r ${finalAttrs.frontend} ./web/dist
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/gomuks $out/bin/gomuks-web
|
||||
'';
|
||||
|
||||
passthru.updateScript = {
|
||||
inherit (finalAttrs) frontend;
|
||||
updateScript = unstableGitUpdater {
|
||||
branch = "main";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gomuks";
|
||||
repo = "gomuks";
|
||||
hash = srcHash;
|
||||
inherit rev;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
mainProgram = "gomuks-web";
|
||||
description = "Matrix client written in Go";
|
||||
homepage = "https://github.com/tulir/gomuks";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ ctucx ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
npmHooks.npmConfigHook
|
||||
];
|
||||
|
||||
env = {
|
||||
npmRoot = "web";
|
||||
npmDeps = fetchNpmDeps {
|
||||
src = "${finalAttrs.src}/web";
|
||||
hash = npmDepsHash;
|
||||
};
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./web/build-wasm.sh \
|
||||
--replace-fail 'go.mau.fi/gomuks/version.Tag=$(git describe --exact-match --tags 2>/dev/null)' "go.mau.fi/gomuks/version.Tag=v${ver}" \
|
||||
--replace-fail 'go.mau.fi/gomuks/version.Commit=$(git rev-parse HEAD)' "go.mau.fi/gomuks/version.Commit=${rev}"
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
tags = [ "goolm" ];
|
||||
|
||||
ldflags = [
|
||||
"-X 'go.mau.fi/gomuks/version.Tag=v${ver}'"
|
||||
"-X 'go.mau.fi/gomuks/version.Commit=${rev}'"
|
||||
"-X \"go.mau.fi/gomuks/version.BuildTime=$(date -Iseconds)\""
|
||||
"-X \"maunium.net/go/mautrix.GoModVersion=$(cat go.mod | grep 'maunium.net/go/mautrix ' | head -n1 | awk '{ print $2 })\""
|
||||
];
|
||||
|
||||
subPackages = [
|
||||
"cmd/gomuks"
|
||||
"cmd/gomuks-terminal"
|
||||
"cmd/archivemuks"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
CGO_ENABLED=0 go generate ./web
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/gomuks $out/bin/gomuks-web
|
||||
'';
|
||||
|
||||
passthru.updateScript = {
|
||||
inherit (finalAttrs) frontend;
|
||||
updateScript = unstableGitUpdater {
|
||||
branch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
mainProgram = "gomuks-web";
|
||||
description = "Matrix client written in Go";
|
||||
homepage = "https://github.com/tulir/gomuks";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = [ lib.maintainers.zaphyra ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
rust,
|
||||
buildPackages,
|
||||
rustPlatform,
|
||||
hdr10plus_tool,
|
||||
cargo-c,
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
let
|
||||
inherit (lib) optionals concatStringsSep;
|
||||
inherit (rust.envVars) setEnv;
|
||||
inherit (buildPackages.rust.envVars) setEnv;
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
cairo,
|
||||
pixman,
|
||||
libsecret,
|
||||
electron_36,
|
||||
electron_37,
|
||||
xcbuild,
|
||||
buildPackages,
|
||||
callPackage,
|
||||
@@ -23,7 +23,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
electron = electron_36;
|
||||
electron = electron_37;
|
||||
yarn-berry = yarn-berry_4;
|
||||
|
||||
releaseData = lib.importJSON ./release-data.json;
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "keychain";
|
||||
version = "2.9.7";
|
||||
version = "2.9.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "funtoo";
|
||||
repo = "keychain";
|
||||
rev = version;
|
||||
sha256 = "sha256-/8OY/URIhVl8bTlJPRGidExHzkwzckm/v3QUq7Fxe04=";
|
||||
sha256 = "sha256-xk3ooFhBkgv93Po5oC4TZRmMhJJXDv7yekoE102FQd8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
rustPlatform,
|
||||
fetchCrate,
|
||||
cargo-c,
|
||||
rust,
|
||||
buildPackages,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
@@ -27,19 +27,19 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
${rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
${rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
${rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rust,
|
||||
buildPackages,
|
||||
rustPlatform,
|
||||
cargo-c,
|
||||
python3,
|
||||
@@ -37,13 +37,13 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
postBuild = ''
|
||||
pushd imagequant-sys
|
||||
${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
popd
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
pushd imagequant-sys
|
||||
${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
popd
|
||||
'';
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
autoreconfHook,
|
||||
aclSupport ? stdenv.hostPlatform.isLinux,
|
||||
acl,
|
||||
coreutils,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
@@ -30,6 +31,14 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ popt ] ++ lib.optionals aclSupport [ acl ];
|
||||
|
||||
preCheck = ''
|
||||
sed -i 's#/bin/date#${lib.getExe' coreutils "date"}#' test/*.sh
|
||||
# Skip this test because it depends on a working root user, which we don't have in the sandbox
|
||||
# Exiting with 77 signals that the test is skipped, and we only place it on line 2 because the shebang is on line 1
|
||||
sed -i '2iexit 77' test/test-0110.sh
|
||||
'';
|
||||
doCheck = true;
|
||||
|
||||
passthru.tests = {
|
||||
nixos-logrotate = nixosTests.logrotate;
|
||||
};
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "maildrop";
|
||||
version = "3.1.8";
|
||||
version = "3.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/courier/maildrop/${version}/maildrop-${version}.tar.bz2";
|
||||
sha256 = "sha256-foJsAxkXRE8berccH82QODWVZEhG4rOyYONSsc4D6VA=";
|
||||
hash = "sha256-PFiQ9NQzItTmPz6Aw6YJzeYF9ylm1iNPyIZBjZSdJLk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
version = "1.27.10";
|
||||
hash = "sha256-O/gU5EKeEoyQDsO1aJh3twbZzSnKb1pLt9t4GfYlHEE=";
|
||||
npmDepsHash = "sha256-r4hategU6aE05fvpXkgMNtFyWTv6eumLzlevjOT0/dM=";
|
||||
vendorHash = "sha256-TM8b16Y+629gBz5XlXXimDWBAfOq9w8es4v984zVUbk=";
|
||||
version = "1.27.11";
|
||||
hash = "sha256-0moTf5DEI+tw6Kx6/6cWzGdgem7rAfsj4iJg9I7Pjbk=";
|
||||
npmDepsHash = "sha256-P9uTFeJ8ikK3Hp9bFt33mIzqp9duvMs1fYw1ErwXg1A=";
|
||||
vendorHash = "sha256-MgxpoNj8Rv98AnqvWWewoFgvHWSD16MXLlkkVoQRGTE=";
|
||||
}
|
||||
|
||||
@@ -162,11 +162,11 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "microsoft-edge";
|
||||
version = "142.0.3595.53";
|
||||
version = "142.0.3595.65";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-cSSKWxIkQe8jrv7gL5lX2Cs9roU8eD2MIHuLGQMnycM=";
|
||||
hash = "sha256-aqQH4ttBWTjpzAEeWpheEJiu1FUMKMJu9j8Gu2pldbA=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "miro";
|
||||
version = "0.7.0";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vincent-uden";
|
||||
repo = "miro";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tkZSyxdcHeumBMlinwA3DT2Y/FgLzbeuVbsFbTfvINg=";
|
||||
hash = "sha256-2RyBjWeb94bxiZ7hy//654YP1bc6bl13slNxRwrhtyk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-4NE9nMmOTQpWvMsGexW6GpBGao4yQoofrzGaaM4+rWE=";
|
||||
cargoHash = "sha256-wRlze8VZ9I4O/eycWvlNPUsa/ucBeZ8SWtD9eJ+Uxvs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
rustPlatform.bindgenHook
|
||||
|
||||
@@ -77,7 +77,6 @@ buildGoModule (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
dit7ya
|
||||
caarlos0
|
||||
delafthi
|
||||
];
|
||||
mainProgram = "mods";
|
||||
};
|
||||
|
||||
@@ -45,7 +45,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [
|
||||
pkosel
|
||||
kachick
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
tor,
|
||||
firejail,
|
||||
iptables,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "orjail";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orjail";
|
||||
repo = "orjail";
|
||||
rev = "v${version}";
|
||||
sha256 = "06bwqb3l7syy4c1d8xynxwakmdxvm3qfm8r834nidsknvpdckd9z";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs make-helper.bsh
|
||||
mkdir bin
|
||||
mv usr/sbin/orjail bin/orjail
|
||||
rm -r usr
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"DESTDIR=${placeholder "out"}"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Specify binary paths: tor, firejail, iptables
|
||||
# mktemp fails with /tmp path prefix, will work without it anyway
|
||||
# https://github.com/orjail/orjail/issues/78
|
||||
# firejail will fail reading /etc/hosts, therefore remove --hostname arg
|
||||
# https://github.com/netblue30/firejail/issues/2758
|
||||
substituteInPlace $out/bin/orjail \
|
||||
--replace ''$'TORBIN=\n' ''$'TORBIN=${tor}/bin/tor\n' \
|
||||
--replace ''$'FIREJAILBIN=\n' ''$'FIREJAILBIN=${firejail}/bin/firejail\n' \
|
||||
--replace 'iptables -' '${iptables}/bin/iptables -' \
|
||||
--replace 'mktemp /tmp/' 'mktemp ' \
|
||||
--replace '--hostname=host ' ""
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Force programs to exclusively use tor network";
|
||||
mainProgram = "orjail";
|
||||
homepage = "https://github.com/orjail/orjail";
|
||||
license = licenses.wtfpl;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -37,7 +37,6 @@ rustPlatform.buildRustPackage rec {
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
moni
|
||||
kachick
|
||||
];
|
||||
mainProgram = "ox";
|
||||
};
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
python3.pkgs.toPythonApplication (
|
||||
python3.pkgs.pyglossary.override {
|
||||
enableGui = true;
|
||||
enableCmd = true;
|
||||
}
|
||||
)
|
||||
|
||||
@@ -2,4 +2,8 @@
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.toPythonApplication python3.pkgs.pyglossary
|
||||
python3.pkgs.toPythonApplication (
|
||||
python3.pkgs.pyglossary.override {
|
||||
enableCmd = true;
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
rust,
|
||||
buildPackages,
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchCrate,
|
||||
@@ -43,11 +43,11 @@ rustPlatform.buildRustPackage rec {
|
||||
checkType = "debug";
|
||||
|
||||
postBuild = ''
|
||||
${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
}:
|
||||
let
|
||||
pname = "remnote";
|
||||
version = "1.21.24";
|
||||
version = "1.22.0";
|
||||
src = fetchurl {
|
||||
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
|
||||
hash = "sha256-jJ7I5Xgq6RHZ4pT8VTMikX1f38C9FqLtJaSSgc2rWHA=";
|
||||
hash = "sha256-4zIUPAQV814fmvIrHP+Dvn9eNeSY/Zmn0G2nr7llto8=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
in
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
rustPlatform,
|
||||
cargo-c,
|
||||
validatePkgConfig,
|
||||
rust,
|
||||
buildPackages,
|
||||
libiconv,
|
||||
curl,
|
||||
apacheHttpd,
|
||||
@@ -42,19 +42,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
${rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
${rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
${rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "sarasa-gothic";
|
||||
version = "1.0.33";
|
||||
version = "1.0.34";
|
||||
|
||||
src = fetchurl {
|
||||
# Use the 'ttc' files here for a smaller closure size.
|
||||
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
|
||||
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${finalAttrs.version}/Sarasa-TTC-${finalAttrs.version}.zip";
|
||||
hash = "sha256-aIZWTrG1NimE6cPzs1drrTfvbHAuObUOjlPgZv3PaSg=";
|
||||
hash = "sha256-wCUKEGq6qL+rsRXEuLOqfRLWsWkMd8khfQ+rFKfEkRQ=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
asciinema,
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
lib,
|
||||
makeWrapper,
|
||||
nodejs,
|
||||
stdenv,
|
||||
versionCheckHook,
|
||||
yarnBuildHook,
|
||||
yarnConfigHook,
|
||||
yarnInstallHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "svg-term";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "marionebl";
|
||||
repo = "svg-term-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-sB4/SM48UmqaYKj6kzfjzITroL0l/QL4Gg5GSrQ+pdk=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-4Q1NP3VhnACcrZ1XUFPtgSlk1Eh8Kp02rOgijoRJFcI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
nodejs
|
||||
yarnBuildHook
|
||||
yarnConfigHook
|
||||
yarnInstallHook
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
# Some things work without asciinema on the PATH, but --command does not.
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/svg-term --prefix PATH : ${lib.makeBinPath [ asciinema ]}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Share terminal sessions as razor-sharp animated SVG everywhere";
|
||||
homepage = "https://github.com/marionebl/svg-term-cli";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "svg-term";
|
||||
maintainers = with lib.maintainers; [ samestep ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "uni-algo";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uni-algo";
|
||||
repo = "uni-algo";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-IyQrL/DWDj87GplSGJC4iQJAzNURLh9TRko5l+EIfuU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unicode Algorithms Implementation for C/C++";
|
||||
homepage = "https://github.com/uni-algo/uni-algo";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ typedrat ];
|
||||
};
|
||||
})
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
rust,
|
||||
buildPackages,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
@@ -29,11 +29,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
${buildPackages.rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
|
||||
''
|
||||
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd yr \
|
||||
|
||||
@@ -14,21 +14,10 @@ version_aarch64_darwin=$(jq -r .zoomArm64.version <<<"$mac_data")
|
||||
version_x86_64_darwin=$(jq -r .zoom.version <<<"$mac_data")
|
||||
version_x86_64_linux=$(jq -r .zoom.version <<<"$linux_data")
|
||||
|
||||
echo >&2 "=== Downloading packages and computing hashes..."
|
||||
# We precalculate the hashes before calling update-source-version
|
||||
# because it attempts to calculate each architecture's package's hash
|
||||
# by running `nix-build --system <architecture> -A zoom-us.src` which
|
||||
# causes cross compiling headaches; using nix-prefetch-url with
|
||||
# hard-coded URLs is simpler. Keep these URLs in sync with the ones
|
||||
# in package.nix where `srcs` is defined.
|
||||
hash_aarch64_darwin=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_aarch64_darwin}/zoomusInstallerFull.pkg?archType=arm64"))
|
||||
hash_x86_64_darwin=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_x86_64_darwin}/zoomusInstallerFull.pkg"))
|
||||
hash_x86_64_linux=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_x86_64_linux}/zoom_x86_64.pkg.tar.xz"))
|
||||
|
||||
echo >&2 "=== Updating package.nix ..."
|
||||
# update-source-version expects to be at the root of nixpkgs
|
||||
(cd "$nixpkgs" && update-source-version zoom-us "$version_aarch64_darwin" $hash_aarch64_darwin --system=aarch64-darwin --version-key=versions.aarch64-darwin)
|
||||
(cd "$nixpkgs" && update-source-version zoom-us "$version_x86_64_darwin" $hash_x86_64_darwin --system=x86_64-darwin --version-key=versions.x86_64-darwin)
|
||||
(cd "$nixpkgs" && update-source-version zoom-us "$version_x86_64_linux" $hash_x86_64_linux --system=x86_64-linux --version-key=versions.x86_64-linux --source-key=unpacked.src)
|
||||
(cd "$nixpkgs" && update-source-version --ignore-same-version --print-changes --version-key=versions.aarch64-darwin pkgsCross.aarch64-darwin.zoom-us "$version_aarch64_darwin")
|
||||
(cd "$nixpkgs" && update-source-version --ignore-same-version --print-changes --version-key=versions.x86_64-darwin pkgsCross.x86_64-darwin.zoom-us "$version_x86_64_darwin")
|
||||
(cd "$nixpkgs" && update-source-version --ignore-same-version --print-changes --version-key=versions.x86_64-linux pkgsCross.gnu64.zoom-us "$version_x86_64_linux" --source-key=unpacked.src)
|
||||
|
||||
echo >&2 "=== Done!"
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ax-platform";
|
||||
version = "1.1.2";
|
||||
version = "1.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "ax";
|
||||
tag = version;
|
||||
hash = "sha256-DHB/BcD913gano5N7dlAbB+Tfg1dMTRP3AR1HwJjkLg=";
|
||||
hash = "sha256-HZRo7jo5f3nnAha3evLTmI3caLhz7kIbP9CA6zaH4Zg=";
|
||||
};
|
||||
|
||||
env.ALLOW_BOTORCH_LATEST = "1";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pueblo";
|
||||
version = "0.0.11";
|
||||
version = "0.0.12";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
# should work for us as well.
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-IQ5NFn1EMh5oLgRlth7VWQmSyMx2/7cmC/U1VW1B4OE=";
|
||||
hash = "sha256-oo2RNJQUVDqxhfBI6h1KCAgsMjDe7ns3F9qD4eKLVic=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pythonOlder,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
@@ -38,8 +39,6 @@ buildPythonPackage rec {
|
||||
version = "2.4.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Argmaster";
|
||||
repo = "pygerber";
|
||||
@@ -92,6 +91,11 @@ buildPythonPackage rec {
|
||||
"test/gerberx3/test_language_server/tests.py"
|
||||
];
|
||||
|
||||
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# FileNotFoundError: [Errno 2] No such file or directory: 'open'
|
||||
"test_project_render_with_file_type_tags"
|
||||
];
|
||||
|
||||
pytestFlags = [ "--override-ini=required_plugins=" ];
|
||||
|
||||
pythonImportsCheck = [ "pygerber" ];
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
# for GUI only
|
||||
pygobject3,
|
||||
gtk3,
|
||||
enableCmd ? false,
|
||||
prompt-toolkit,
|
||||
tqdm,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -58,6 +61,10 @@ buildPythonPackage rec {
|
||||
]
|
||||
++ lib.optionals enableGui [
|
||||
pygobject3
|
||||
]
|
||||
++ lib.optionals enableCmd [
|
||||
prompt-toolkit
|
||||
tqdm
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals enableGui [
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
diff --git c/pyproject.toml w/pyproject.toml
|
||||
index abfb59ac..8f9c2121 100644
|
||||
--- c/pyproject.toml
|
||||
+++ w/pyproject.toml
|
||||
@@ -416,11 +416,10 @@ version = "5.1.1"
|
||||
description = "A tool for converting dictionary files aka glossaries."
|
||||
readme = "README.md"
|
||||
authors = [{ name = "Saeed Rasooli", email = "saeed.gnu@gmail.com" }]
|
||||
-license = { text = "GPLv3+" }
|
||||
+license = "GPL-3.0-or-later"
|
||||
keywords = ["dictionary", "glossary"]
|
||||
classifiers = [
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
- "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
||||
"Operating System :: OS Independent",
|
||||
"Typing :: Typed",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
@@ -430,6 +429,9 @@ classifiers = [
|
||||
requires-python = ">= 3.11"
|
||||
dependencies = []
|
||||
|
||||
+[project.scripts]
|
||||
+pyglossary = "pyglossary.ui.main:main"
|
||||
+
|
||||
[project.optional-dependencies]
|
||||
all = ["PyICU", "lxml", "beautifulsoup4"]
|
||||
|
||||
diff --git c/setup.py w/setup.py
|
||||
index fd38a060..19df9ee3 100755
|
||||
--- c/setup.py
|
||||
+++ w/setup.py
|
||||
@@ -8,8 +8,7 @@ import sys
|
||||
from glob import glob
|
||||
from os.path import dirname, exists, isdir, join
|
||||
|
||||
-from setuptools import setup
|
||||
-from setuptools.command.install import install
|
||||
+from setuptools import setup, find_packages
|
||||
|
||||
VERSION = "5.1.1"
|
||||
log = logging.getLogger("root")
|
||||
@@ -46,29 +45,6 @@ def getPipSafeVersion() -> str:
|
||||
return VERSION
|
||||
|
||||
|
||||
-class my_install(install):
|
||||
- def run(self) -> None:
|
||||
- install.run(self)
|
||||
- if os.sep == "/":
|
||||
- binPath = join(self.install_scripts, "pyglossary")
|
||||
- log.info(f"creating script file {binPath!r}")
|
||||
- if not exists(self.install_scripts):
|
||||
- os.makedirs(self.install_scripts)
|
||||
- # let it fail on wrong permissions.
|
||||
- elif not isdir(self.install_scripts):
|
||||
- raise OSError(
|
||||
- "installation path already exists "
|
||||
- f"but is not a directory: {self.install_scripts}",
|
||||
- )
|
||||
- open(binPath, "w", encoding="ascii").write("""#!/usr/bin/env -S python3 -O
|
||||
-import sys
|
||||
-from os.path import dirname
|
||||
-sys.path.insert(0, dirname(__file__))
|
||||
-from pyglossary.ui.main import main
|
||||
-main()""")
|
||||
- os.chmod(binPath, 0o755)
|
||||
-
|
||||
-
|
||||
root_data_file_names = [
|
||||
"about",
|
||||
"LICENSE",
|
||||
@@ -146,19 +122,14 @@ setup(
|
||||
name="pyglossary",
|
||||
version=getPipSafeVersion(),
|
||||
python_requires=">=3.10.0",
|
||||
- cmdclass={
|
||||
- "install": my_install,
|
||||
- },
|
||||
description="A tool for converting dictionary files aka glossaries.",
|
||||
long_description_content_type="text/markdown",
|
||||
long_description=long_description,
|
||||
author="Saeed Rasooli",
|
||||
author_email="saeed.gnu@gmail.com",
|
||||
- license="GPLv3+",
|
||||
+ license="GPL-3.0-or-later",
|
||||
url="https://github.com/ilius/pyglossary",
|
||||
- packages=[
|
||||
- "pyglossary",
|
||||
- ],
|
||||
+ packages=find_packages(),
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
"pyglossary = pyglossary.ui.main:main",
|
||||
@@ -47,14 +47,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pymobiledevice3";
|
||||
version = "5.0.3";
|
||||
version = "5.1.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doronz88";
|
||||
repo = "pymobiledevice3";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-fw7KGijIgIXXFbtNpq1QBrxUP4F6ivLQXQn94YZnQL4=";
|
||||
hash = "sha256-HKkLkkPCu9d7iBy7FEPWR6cnNuYFgxSGN6beMCCiuyo=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -39,18 +39,17 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scipp";
|
||||
version = "25.08.0";
|
||||
version = "25.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scipp";
|
||||
repo = "Scipp";
|
||||
# https://github.com/scipp/scipp/pull/3722
|
||||
tag = version;
|
||||
hash = "sha256-nLccJlFnnVTpamph2oIaMxRD5ljrw6GlCnnTx7LfrO0=";
|
||||
hash = "sha256-/gCLWRpBnOjNMBEpJe0JSda496iXDFnCE+R+zIaRkWo=";
|
||||
};
|
||||
env = {
|
||||
SKIP_CONAN = "true";
|
||||
SKIP_REMOTE_SOURCES = "true";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -303,6 +303,7 @@ mapAliases {
|
||||
argo = throw "'argo' has been renamed to/replaced by 'argo-workflows'"; # Converted to throw 2025-10-27
|
||||
aria = throw "'aria' has been renamed to/replaced by 'aria2'"; # Converted to throw 2025-10-27
|
||||
arrayfire = throw "arrayfire was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23
|
||||
artichoke = throw "artichoke has been removed due to being archived upstream."; # Added 2025-11-04
|
||||
artim-dark = aritim-dark; # Added 2025-07-27
|
||||
aseprite-unfree = throw "'aseprite-unfree' has been renamed to/replaced by 'aseprite'"; # Converted to throw 2025-10-27
|
||||
asitop = throw "'asitop' has been renamed to/replaced by 'macpm'"; # Converted to throw 2025-10-27
|
||||
|
||||
Reference in New Issue
Block a user