Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot] 2025-05-09 12:06:12 +00:00 committed by GitHub
commit d0bd8b838a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
110 changed files with 5035 additions and 1951 deletions

View file

@ -1881,7 +1881,7 @@ let
This function does not add support for deduplication and `disabledModules`,
although that could be achieved by wrapping the returned module and setting
the `_key` module attribute.
the `key` module attribute.
The reason for this omission is that the file path is not guaranteed to be
a unique identifier for the module, as two instances of the module may
reference different `arg`s in their closures.

View file

@ -7440,12 +7440,6 @@
githubId = 7820865;
name = "Eric Dallo";
};
ericsagnes = {
email = "eric.sagnes@gmail.com";
github = "ericsagnes";
githubId = 367880;
name = "Eric Sagnes";
};
ericson2314 = {
email = "John.Ericson@Obsidian.Systems";
matrix = "@ericson2314:matrix.org";
@ -11403,12 +11397,6 @@
githubId = 110620;
name = "Jevin Maltais";
};
jfb = {
email = "james@yamtime.com";
github = "tftio";
githubId = 143075;
name = "James Felix Black";
};
jfchevrette = {
email = "jfchevrette@gmail.com";
github = "jfchevrette";

View file

@ -22,7 +22,7 @@ file.
};
meta = {
maintainers = with lib.maintainers; [ ericsagnes ];
maintainers = with lib.maintainers; [ ];
doc = ./default.md;
buildDocsInSandbox = true;
};

View file

@ -113,7 +113,7 @@ in
};
meta = {
maintainers = with lib.maintainers; [ ericsagnes ];
maintainers = with lib.maintainers; [ ];
doc = ./default.md;
};

View file

@ -188,6 +188,7 @@ let
[ "--docker-image ${service.dockerImage}" ]
++ optional service.dockerDisableCache "--docker-disable-cache"
++ optional service.dockerPrivileged "--docker-privileged"
++ optional (service.dockerPullPolicy != null) "--docker-pull-policy ${service.dockerPullPolicy}"
++ map (v: "--docker-volumes ${escapeShellArg v}") service.dockerVolumes
++ map (v: "--docker-extra-hosts ${escapeShellArg v}") service.dockerExtraHosts
++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages
@ -482,6 +483,19 @@ in
Docker image to be used.
'';
};
dockerPullPolicy = mkOption {
type = types.nullOr (
types.enum [
"always"
"never"
"if-not-present"
]
);
default = null;
description = ''
Default pull-policy for Docker images
'';
};
dockerVolumes = mkOption {
type = types.listOf types.str;
default = [ ];

View file

@ -90,6 +90,12 @@ in
"extraConfig"
] "Use services.postgresql.settings instead.")
(mkRemovedOptionModule [
"services"
"postgresql"
"recoveryConfig"
] "PostgreSQL v12+ doesn't support recovery.conf.")
(mkRenamedOptionModule
[ "services" "postgresql" "logLinePrefix" ]
[ "services" "postgresql" "settings" "log_line_prefix" ]
@ -588,14 +594,6 @@ in
'';
};
recoveryConfig = mkOption {
type = types.nullOr types.lines;
default = null;
description = ''
Contents of the {file}`recovery.conf` file.
'';
};
superUser = mkOption {
type = types.str;
default = "postgres";
@ -741,10 +739,6 @@ in
fi
ln -sfn "${configFile}/postgresql.conf" "${cfg.dataDir}/postgresql.conf"
${optionalString (cfg.recoveryConfig != null) ''
ln -sfn "${pkgs.writeText "recovery.conf" cfg.recoveryConfig}" \
"${cfg.dataDir}/recovery.conf"
''}
'';
# Wait for PostgreSQL to be ready to accept connections.

View file

@ -55,6 +55,10 @@ let
preferLocalBuild = true;
allowSubstitutes = false;
packages = lib.unique (map toString udevPackages);
nativeBuildInputs = [
pkgs.systemdMinimal
];
}
''
mkdir -p $out
@ -147,6 +151,11 @@ let
exit 1
fi
# Verify all the udev rules
echo "Verifying udev rules using udevadm verify..."
udevadm verify --resolve-names=never --no-style $out
echo "OK"
# If auto-configuration is disabled, then remove
# udev's 80-drivers.rules file, which contains rules for
# automatically calling modprobe.

View file

@ -121,11 +121,14 @@ import ./make-test-python.nix (
# "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}"
# )
# Assert that some extension is in a specific state
def checkState(target, extension):
state = machine.succeed(
def getState(extension):
return machine.succeed(
f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'"
)
# Assert that some extension is in a specific state
def checkState(target, extension):
state = getState(extension)
assert target in state, f"{state} instead of {target}"
def checkExtension(extension, disable):
@ -143,6 +146,10 @@ import ./make-test-python.nix (
# Enable and optionally disable
machine.succeed(f"${run "gnome-extensions enable {extension}"}")
wait_time = 5
while getState(extension) == "ACTIVATING" and (wait_time := wait_time - 1) > 0:
machine.log(f"Extension {extension} is still activating, waiting {wait_time} more seconds")
machine.sleep(1)
checkState("ACTIVE", extension)
if disable:

View file

@ -38,17 +38,17 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.36";
version = "7.38";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash =
if stdenv.hostPlatform.isDarwin then
"sha256-++LWAnOUNVe3EOkBMlHizaBSQ5B2DJPhNUT8w2mTuiI="
"sha256-2DmwbOQ1sNVL3krlG27KOdhuwalZRjafuWzWFYiWpng="
else
{
x86_64-linux = "sha256-wQIDTumxQI8S446u87noYvIx/pyfCa/Xe1U/Ot/7ESY=";
aarch64-linux = "sha256-5AkwRG1+xDVAhEOUTdpK1G7+qjE68zr4hs55mMQivmM=";
x86_64-linux = "sha256-GiN20Dj+kBNbOI1CASCDJFIUbOYfBc5K/bwf42Pc3Zk=";
aarch64-linux = "sha256-CziepFXytiMJ7eMtCziaYphYgYQJywQ9JtrLHzBU5Cw=";
}
.${stdenv.hostPlatform.system};
};

View file

@ -7,12 +7,12 @@
vimUtils,
}:
let
version = "0-unstable-2025-04-24";
version = "0-unstable-2025-04-28";
src = fetchFromGitHub {
owner = "nvim-pack";
repo = "nvim-spectre";
rev = "4497feffb18db4bab6e698bcb695228c19421282";
hash = "sha256-pWSHOvV0VEouCyhrtn63k7+Lvs6reS81YJJCR3Ygnwg=";
rev = "197150cd3f30eeb1b3fd458339147533d91ac385";
hash = "sha256-ATW1QJ2aXHcUtGK6MNLSq4VkML3FLQphVcLqfzoX9PI=";
};
spectre_oxi = rustPlatform.buildRustPackage {

View file

@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2025-04-24";
version = "0-unstable-2025-05-08";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "a39eb4dc4ba05f5c7d292f7547a1502986b07e9f";
hash = "sha256-MlNQMQY+0XDftaEOiiE+uZePYLsCzG4auRfqpw8Qzw4=";
rev = "732d05c2c136856a3f173574233a2431a015a6f5";
hash = "sha256-5PVN8qG0ONsro6jH/8rAIma+4DlKAUoS/6aUPqBqbe4=";
fetchSubmodules = true;
};

View file

@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "vice-${type}";
version = "0-unstable-2025-04-22";
version = "0-unstable-2025-05-08";
src = fetchFromGitHub {
owner = "libretro";
repo = "vice-libretro";
rev = "e5b036f0be19f7a70fde75cc0e8b1b43476adc13";
hash = "sha256-GzvsXPZcBfGvA0g7zLR3R7w5CEIw2slL3EyQdcDjqCc=";
rev = "5f094cfb57d1f656027a9d26bda681b6ecc46419";
hash = "sha256-XqWAh3e2Q/i7c8nxqDP+sJHGdYWCyqdk2pwJ+JPsdVk=";
};
makefile = "Makefile";

View file

@ -61,6 +61,7 @@
}:
assert libXtSupport -> libX11Support;
assert libraqmSupport -> freetypeSupport;
let
arch =

View file

@ -1,7 +1,7 @@
{
lib,
fetchFromGitHub,
buildPythonApplication,
fetchFromGitHub,
pytestCheckHook,
git,
testers,
@ -10,32 +10,34 @@
buildPythonApplication rec {
pname = "mu-repo";
version = "1.8.2";
version = "1.9.0";
src = fetchFromGitHub {
owner = "fabioz";
repo = "mu-repo";
rev = "mu_repo_${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-COc7hbu72eA+ikZQkz6zXtFyaa/AKhoF+Zvsr6ZVOuY=";
tag = "mu_repo_${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-aSRf0B/skoZLsn4dykWOFKVNtHYCsD9RtZ1frHDrcJU=";
};
propagatedBuildInputs = [ git ];
dependencies = [ git ];
nativeCheckInputs = [
pytestCheckHook
git
];
disabledTests = [ "test_action_diff" ];
passthru.tests.version = testers.testVersion {
package = mu-repo;
};
meta = with lib; {
meta = {
description = "Tool to help in dealing with multiple git repositories";
homepage = "http://fabioz.github.io/mu-repo/";
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ sikmir ];
license = lib.licenses.gpl3;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ sikmir ];
mainProgram = "mu";
};
}

View file

@ -9,7 +9,7 @@ let
versions =
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.93";
stable = "0.0.94";
ptb = "0.0.141";
canary = "0.0.668";
development = "0.0.74";
@ -26,7 +26,7 @@ let
x86_64-linux = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-/CTgRWMi7RnsIrzWrXHE5D9zFte7GgqimxnvJTj3hFY=";
hash = "sha256-035nfbEyvdsNxZh6fkXh2JhY7EXQtwUnS4sUKr74MRQ=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";

View file

@ -2,12 +2,11 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
pkg-config,
adwaita-icon-theme,
gmime3,
webkitgtk_4_0,
webkitgtk_4_1,
ronn,
libsass,
notmuch,
@ -28,30 +27,21 @@
extraPythonPackages ? [ ],
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "astroid";
version = "0.16";
version = "0.17";
src = fetchFromGitHub {
owner = "astroidmail";
repo = "astroid";
rev = "v${version}";
sha256 = "sha256-6xQniOLNUk8tDkooDN3Tp6sb43GqoynO6+fN9yhNqZ4=";
tag = "v${finalAttrs.version}";
hash = "sha256-FDStUt989sQXX6kpqStrdjOdAMlLAepcDba9ul9tcps=";
};
patches = [
(fetchpatch {
name = "symbolic-icons.patch";
url = "https://github.com/astroidmail/astroid/commit/7c2022f06a4146ad62e858bcaacdb4ee817851b9.patch";
hash = "sha256-hZHOg1wUR8Kpd6017fWzhMmG+/WQxSOCnsiyIvUcpbU=";
})
(fetchpatch {
# error: 'is_regular' was not declared in this scope
name = "boost_is_regular.patch";
url = "https://github.com/astroidmail/astroid/commit/abd84171dc6c4e639f3e86649ddc7ff211077244.patch";
hash = "sha256-IY60AnWm18ZwrCFsOvBg76UginpMo7gXBf8GT87FqW4=";
})
];
postPatch = ''
sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc
sed -i "s~ -geom 10x10~~g" src/config.cc
'';
nativeBuildInputs = [
cmake
@ -66,7 +56,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gtkmm3
gmime3
webkitgtk_4_0
webkitgtk_4_1
libsass
libpeas
python3
@ -79,11 +69,6 @@ stdenv.mkDerivation rec {
vim
];
postPatch = ''
sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc
sed -i "s~ -geom 10x10~~g" src/config.cc
'';
pythonPath = with python3.pkgs; requiredPythonModules extraPythonPackages;
preFixup = ''
buildPythonPath "$out $pythonPath"
@ -92,15 +77,15 @@ stdenv.mkDerivation rec {
)
'';
meta = with lib; {
meta = {
homepage = "https://astroidmail.github.io/";
description = "GTK frontend to the notmuch mail system";
mainProgram = "astroid";
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
bdimcheff
SuprDewd
];
license = licenses.gpl3Plus;
platforms = platforms.linux;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
};
}
})

View file

@ -99,8 +99,8 @@ rec {
thunderbird-128 = common {
applicationName = "Thunderbird ESR";
version = "128.9.2esr";
sha512 = "3c8df53304611c1a7f8c02d50cfa1017f4d64c50a93fd6603ce0766cbb5d63c7bc5e0276f155c35817c3efa49f683c05583ddf24257bf8c25f585b67fd732cb5";
version = "128.10.0esr";
sha512 = "b02582ea4fa0297a06d30eda1555bbf3ed79ae7a35a8993f2a70b0ec84af28a4d084cd7ebe1c73676e689ff9366e779cc5ef67a197638949bf232a40b740d1b6";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-128";

View file

@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Safely store secrets in a VCS repo";
homepage = "https://github.com/StackExchange/blackbox";
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
license = licenses.mit;
platforms = platforms.all;
};

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "${lib.optionalString enablePython "py"}abpoa";
version = "1.5.3";
version = "1.5.4";
src = fetchFromGitHub {
owner = "yangao07";
repo = "abPOA";
tag = "v${finalAttrs.version}";
hash = "sha256-90mkXp4cC0Omnx0C7ab7NNs/M2oedIcICTUJl3qhcyo=";
hash = "sha256-E6XdiRULgJy9rf4NfXGBqUC+m0pMZKMsA5pHvCNNLJk=";
};
patches = [ ./simd-arch.patch ];
@ -67,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = lib.optionalString (!enablePython) ''
runHook preInstall
install -Dm755 ./bin/abpoa -t $out/bin
install -Dm755 ./bin/abpoa* $out/bin/abpoa
runHook postInstall
'';

View file

@ -77,7 +77,6 @@ stdenv.mkDerivation (finalAttrs: {
# See: https://github.com/NixOS/nixpkgs/issues/279226
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
ericsagnes
synthetica
eljamm
];

View file

@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
description = "Hiragana text to Kana Kanji mixed text Japanese input method";
homepage = "https://anthy.osdn.jp/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
platforms = platforms.unix;
};

View file

@ -8,19 +8,19 @@
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "atuin";
version = "18.5.0";
version = "18.6.1";
src = fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
hash = "sha256-VXbnf/TfMWGHHXccKZBX4/RWDT/J1kpSBzhML4973mo=";
tag = "v${finalAttrs.version}";
hash = "sha256-aRaUiGH2CTPtmbfrtLlNfoQzQWG817eazWctqwRlOCE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-MQNveOBItVOHFNarU5xXl8xHoooSAVbA7JnxxuRI9To=";
cargoHash = "sha256-umagQYzOMr3Jh1RewjT0aX5FpYxs9N/70NZXoGaAfi4=";
# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.
@ -73,4 +73,4 @@ rustPlatform.buildRustPackage rec {
];
mainProgram = "atuin";
};
}
})

View file

@ -15,14 +15,14 @@
libpulseaudio,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "audio-recorder";
version = "2.1.3";
version = "3.3.4";
src = fetchurl {
name = "${pname}-${version}.tar.gz";
url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ebionic.tar.gz";
sha256 = "160pnmnmc9zwzyclsci3w1qwlgxkfx1y3x5ck6i587w78570an1r";
name = "audio-recorder-${finalAttrs.version}.tar.gz";
url = "https://launchpad.net/~audio-recorder/+archive/ubuntu/ppa/+files/audio-recorder_${finalAttrs.version}%7Ejammy.tar.gz";
hash = "sha256-RQ8zAT98EdVgdHENX0WDDYGvu7XjoB7f2FPv2JYJqug=";
};
# https://bugs.launchpad.net/audio-recorder/+bug/1784622
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
])
++ lib.optional pulseaudioSupport libpulseaudio;
meta = with lib; {
meta = {
description = "Audio recorder for GNOME and Unity Desktops";
mainProgram = "audio-recorder";
longDescription = ''
@ -65,8 +65,8 @@ stdenv.mkDerivation rec {
formats such as OGG audio, Flac, MP3 and WAV.
'';
homepage = "https://launchpad.net/~audio-recorder";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.msteen ];
};
}
})

View file

@ -2,35 +2,40 @@
lib,
fetchurl,
appimageTools,
makeWrapper,
}:
let
appimageTools.wrapAppImage rec {
pname = "badlion-client";
version = "4.3.0";
version = "4.5.4";
src = fetchurl {
name = "badlion-client-linux";
# https://www.badlion.net/download/client/latest/linux
url = "https://web.archive.org/web/20240529090437if_/https://client-updates-cdn77.badlion.net/BadlionClient";
hash = "sha256-9elNLSqCO21m1T2D+WABKotD9FfW3FrcOxbnPdyVd+w=";
src = appimageTools.extractType2 {
inherit pname version;
src = fetchurl {
name = "badlion-client-linux";
# https://www.badlion.net/download/client/latest/linux
url = "https://web.archive.org/web/20250416011033/https://client-updates.badlion.net/BadlionClient";
hash = "sha256-M2aG3vb1EBpvx8ODs67Ua1R7lBXSe2oIcSwFzSz91n4=";
};
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [ makeWrapper ];
extraInstallCommands = ''
install -Dm444 ${appimageContents}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop
install -Dm444 ${appimageContents}/BadlionClient.png $out/share/pixmaps/BadlionClient.png
install -Dm444 ${src}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop
install -Dm444 ${src}/BadlionClient.png $out/share/pixmaps/BadlionClient.png
substituteInPlace $out/share/applications/BadlionClient.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=badlion-client'
--replace-fail "Exec=AppRun --no-sandbox %U" "Exec=badlion-client"
wrapProgram $out/bin/badlion-client \
--set APPIMAGE 1
'';
meta = with lib; {
extraPkgs = pkgs: [ pkgs.xorg.libxshmfence ];
meta = {
description = "Most Complete All-In-One Mod Library for Minecraft with 100+ Mods, FPS Improvements, and more";
homepage = "https://client.badlion.net";
license = with licenses; [ unfree ];
license = lib.licenses.unfree;
maintainers = [ ];
mainProgram = "badlion-client";
platforms = [ "x86_64-linux" ];

View file

@ -1,20 +1,20 @@
{
lib,
stdenv,
fetchurl,
requireFile,
nasm,
}:
let
inherit (stdenv.hostPlatform.parsed.cpu) bits;
arch = "bandwidth${toString bits}";
arch = "bandwidth${toString stdenv.hostPlatform.parsed.cpu.bits}";
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "bandwidth";
version = "1.11.2d";
src = fetchurl {
url = "https://zsmith.co/archives/bandwidth-${version}.tar.gz";
src = requireFile {
message = "This file does not have a valid url.";
name = "bandwidth-${finalAttrs.version}.tar.gz";
hash = "sha256-7IrNiCXKf1vyRGl73Ccu3aYMqPVc4PpEr6lnSqIa4Q8=";
};
@ -48,16 +48,18 @@ stdenv.mkDerivation rec {
];
installPhase = ''
mkdir -p $out/bin
cp ${arch} $out/bin/bandwidth
runHook preInstall
install -Dm755 ${arch} $out/bin/bandwidth
runHook postInstall
'';
meta = with lib; {
homepage = "https://zsmith.co/bandwidth.html";
meta = {
description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
license = licenses.gpl2Plus;
platforms = platforms.x86 ++ platforms.arm ++ platforms.aarch64;
maintainers = with maintainers; [ r-burns ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.x86 ++ lib.platforms.arm ++ lib.platforms.aarch64;
maintainers = with lib.maintainers; [ r-burns ];
mainProgram = "bandwidth";
};
}
})

View file

@ -1,47 +1,34 @@
{
lib,
stdenv,
python3,
buildGoModule,
fetchFromGitHub,
makeWrapper,
makeBinaryWrapper,
medusa,
}:
stdenv.mkDerivation rec {
buildGoModule (finalAttrs: {
pname = "brutespray";
version = "1.8.1";
version = "2.3.1";
src = fetchFromGitHub {
owner = "x90skysn3k";
repo = "brutespray";
rev = "brutespray-${version}";
sha256 = "sha256-O9HOsj0R6oHI7jjG4FBqbrSAQSVomgeD7tyPDNCNmIo=";
tag = "v${finalAttrs.version}";
hash = "sha256-oH7Gun/nKScv2buLwM6faiz9/3sl9l4JzkKbdTnGz0Q=";
};
postPatch = ''
substituteInPlace brutespray.py \
--replace "/usr/share/brutespray" "$out/share/brutespray"
'';
vendorHash = "sha256-TBLjCXb1W5FHBrzxBI0/3NMuM9eCizLiz489jyZsEso=";
dontBuild = true;
nativeBuildInputs = [
python3.pkgs.wrapPython
makeWrapper
];
buildInputs = [ python3 ];
nativeBuildInputs = [ makeBinaryWrapper ];
installPhase = ''
install -Dm0755 brutespray.py $out/bin/brutespray
patchShebangs $out/bin
patchPythonScript $out/bin/brutespray
postInstall = ''
wrapProgram $out/bin/brutespray \
--prefix PATH : ${lib.makeBinPath [ medusa ]}
mkdir -p $out/share/brutespray
cp -r wordlist/ $out/share/brutespray/wordlist
cp -r wordlist $out/share/brutespray/wordlist
'';
meta = with lib; {
meta = {
homepage = "https://github.com/x90skysn3k/brutespray";
description = "Tool to do brute-forcing from Nmap output";
mainProgram = "brutespray";
@ -49,7 +36,7 @@ stdenv.mkDerivation rec {
This tool automatically attempts default credentials on found services
directly from Nmap output.
'';
license = licenses.mit;
license = lib.licenses.mit;
maintainers = [ ];
};
}
})

View file

@ -6,19 +6,19 @@
libunwind,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bugstalker";
version = "0.2.2";
version = "0.3.0";
src = fetchFromGitHub {
owner = "godzie44";
repo = "BugStalker";
rev = "v${version}";
hash = "sha256-JacRt+zNwL7hdpdh5h9Mxztqi47f5eUbcZyx6ct/5Bc=";
rev = "v${finalAttrs.version}";
hash = "sha256-8Iqg2coFsPQY3ws5MEC1LhTu+Z1lXeI3ccjgoBS454o=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-w599KFLbyxFQzxIk6s9obPv804TLreOCMj/eApeSk7A=";
cargoHash = "sha256-a5YI6bOo/rsi9hZO1BcVMjJtdrYq2aHqxtlO3F+P+8s=";
buildInputs = [ libunwind ];
@ -35,4 +35,4 @@ rustPlatform.buildRustPackage rec {
mainProgram = "bs";
platforms = [ "x86_64-linux" ];
};
}
})

View file

@ -23,15 +23,15 @@ let
in
with python3.pkgs;
buildPythonApplication rec {
version = "4.8";
version = "5.0";
pname = "buku";
pyproject = true;
src = fetchFromGitHub {
owner = "jarun";
repo = "buku";
rev = "v${version}";
sha256 = "sha256-kPVlfTYUusf5CZnKB53WZcCHo3MEnA2bLUHTRPGPn+8=";
tag = "v${version}";
sha256 = "sha256-b3j3WLMXl4sXZpIObC+F7RRpo07cwJpAK7lQ7+yIzro=";
};
nativeBuildInputs = [

View file

@ -7,64 +7,64 @@
cmake,
icu,
boost,
pkg-config,
sqlite,
cg3,
}:
let
cg3 = stdenv.mkDerivation rec {
pname = "cg3";
version = "1.3.9";
stdenv.mkDerivation (finalAttrs: {
pname = "cg3";
version = "1.5.1";
src = fetchFromGitHub {
owner = "GrammarSoft";
repo = "cg3";
rev = "v${version}";
sha256 = "sha256-TiEhhk90w5GibGZ4yalIf+4qLA8NoU6+GIPN6QNTz2A=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
icu
boost
];
doCheck = true;
postFixup = ''
substituteInPlace "$out"/lib/pkgconfig/cg3.pc \
--replace '=''${prefix}//' '=/'
'';
passthru.tests.minimal =
runCommand "${pname}-test"
{
buildInputs = [
cg3
dieHook
];
}
''
echo 'DELIMITERS = "."; ADD (tag) (*);' >grammar.cg3
printf '"<a>"\n\t"a" tag\n\n' >want.txt
printf '"<a>"\n\t"a"\n\n' | vislcg3 -g grammar.cg3 >got.txt
diff -s want.txt got.txt || die "Grammar application did not produce expected parse"
touch $out
'';
# TODO, consider optionals:
# - Enable tcmalloc unless darwin?
# - Enable python bindings?
meta = with lib; {
homepage = "https://github.com/GrammarSoft/cg3";
description = "Constraint Grammar interpreter, compiler and applicator vislcg3";
maintainers = with maintainers; [ unhammer ];
license = licenses.gpl3Plus;
platforms = platforms.all;
};
src = fetchFromGitHub {
owner = "GrammarSoft";
repo = "cg3";
tag = "v${finalAttrs.version}";
hash = "sha256-R3ePghkr4m6FmiHfhPVdLRAJaipIBhGLOX0Hz1nNPv4=";
};
in
cg3
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
icu
boost
sqlite
];
doCheck = true;
postFixup = ''
substituteInPlace "$out"/lib/pkgconfig/cg3.pc \
--replace-fail '=''${prefix}//' '=/'
'';
passthru.tests.minimal =
runCommand "cg3-test"
{
buildInputs = [
cg3
dieHook
];
}
''
echo 'DELIMITERS = "."; ADD (tag) (*);' >grammar.cg3
printf '"<a>"\n\t"a" tag\n\n' >want.txt
printf '"<a>"\n\t"a"\n\n' | vislcg3 -g grammar.cg3 >got.txt
diff -s want.txt got.txt || die "Grammar application did not produce expected parse"
touch $out
'';
# TODO, consider optionals:
# - Enable tcmalloc unless darwin?
# - Enable python bindings?
meta = {
homepage = "https://github.com/GrammarSoft/cg3";
description = "Constraint Grammar interpreter, compiler and applicator vislcg3";
maintainers = with lib.maintainers; [ unhammer ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
};
})

View file

@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
vala,
pkg-config,
blueprint-compiler,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "chcase";
version = "2.3.0";
src = fetchFromGitHub {
owner = "ryonakano";
repo = "chcase";
tag = finalAttrs.version;
hash = "sha256-3TuAnuWV3Sm1T76Go4NWe2eA55ImR1TFYoCUnqfp9DE=";
};
nativeBuildInputs = [
meson
ninja
vala
pkg-config
blueprint-compiler
];
meta = {
homepage = "https://github.com/ryonakano/chcase";
description = "Small library to convert case of a given string";
license = lib.licenses.lgpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ emaryn ];
};
})

View file

@ -1,26 +1,24 @@
{
lib,
fetchFromGitHub,
python3,
python3Packages,
}:
with python3.pkgs;
buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "check-jsonschema";
version = "0.30.0";
format = "setuptools";
disabled = pythonOlder "3.7";
version = "0.33.0";
pyproject = true;
src = fetchFromGitHub {
owner = "python-jsonschema";
repo = "check-jsonschema";
tag = version;
hash = "sha256-qaNSL7ZPEWJ8Zc/XPEWtUJYQnUJ7jNdla1I0d6+GReM=";
hash = "sha256-dygE9vFQpoDtTBtN4zoWY1JXUxBSgiX3GDzdk72BmgI=";
};
propagatedBuildInputs = [
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
ruamel-yaml
jsonschema
requests
@ -28,27 +26,26 @@ buildPythonApplication rec {
regress
];
nativeCheckInputs = [
nativeCheckInputs = with python3Packages; [
pytestCheckHook
pytest-xdist
responses
identify
];
disabledTests = [ "test_schemaloader_yaml_data" ];
pythonImportsCheck = [
"check_jsonschema"
"check_jsonschema.cli"
];
disabledTests = [
"test_schemaloader_yaml_data"
];
meta = with lib; {
meta = {
description = "Jsonschema CLI and pre-commit hook";
mainProgram = "check-jsonschema";
homepage = "https://github.com/python-jsonschema/check-jsonschema";
changelog = "https://github.com/python-jsonschema/check-jsonschema/blob/${version}/CHANGELOG.rst";
license = licenses.asl20;
maintainers = with maintainers; [ sudosubin ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ sudosubin ];
};
}

View file

@ -1,26 +1,20 @@
{
stdenv,
lib,
stdenv,
fetchFromGitHub,
chruby,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "chruby-fish";
version = "0.8.2";
version = "1.0.0";
src = fetchFromGitHub {
owner = "JeanMertz";
repo = "chruby-fish";
rev = "v${version}";
sha256 = "15q0ywsn9pcypbpvlq0wb41x4igxm9bsvhg9a05dqw1n437qjhyb";
tag = "v${finalAttrs.version}";
hash = "sha256-Lk6XvmKgEjXVjO3jMjJkCxoX7TGMxq3ib0Ohh/J4IPI=";
};
postInstall = ''
sed -i -e '1iset CHRUBY_ROOT ${chruby}' $out/share/chruby/auto.fish
sed -i -e '1iset CHRUBY_ROOT ${chruby}' $out/share/chruby/chruby.fish
'';
installFlags = [ "PREFIX=$(out)" ];
meta = {
@ -30,4 +24,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.cohei ];
};
}
})

View file

@ -1,65 +1,78 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
wrapGAppsHook4,
pkg-config,
blueprint-compiler,
meson,
ninja,
rustc,
fetchurl,
cargo,
desktop-file-utils,
gtk4,
libadwaita,
glib,
poppler,
gtksourceview5,
nix-update-script,
}:
let
version = "1.3.1";
appid = "de.leopoldluley.Clapgrep";
poppler' = poppler.overrideAttrs (oldAttrs: rec {
version = "25.01.0";
src = fetchurl {
url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
hash = "sha256-fu/BIiB7u9cqMDxeB0P0lB6K6GHiTc8FAeGM4dFBQRI=";
};
patches = [ ];
doCheck = false;
});
in
rustPlatform.buildRustPackage {
stdenv.mkDerivation (finalAttrs: {
pname = "clapgrep";
inherit version;
version = "25.04";
src = fetchFromGitHub {
owner = "luleyleo";
repo = "clapgrep";
tag = "v${version}";
hash = "sha256-MYV8MrCIpa8eqp2iCLTNLZrVQOyGsMEGqlnEF43fyls=";
tag = "v${finalAttrs.version}";
hash = "sha256-mx52z+YpHdq4zSmH1d3KlNhj3ezpoWMGB0FEr4B20sg=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-tpWv8CznTxoAgOf0mb99peqUTQSfv+16dAmX8n7XVDQ=";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
hash = "sha256-hTejIaXIAi8opZdE2X3vEi+VYoSti8RNB41ikVOWGPk=";
};
nativeBuildInputs = [
meson
ninja
wrapGAppsHook4
pkg-config
blueprint-compiler
rustc
rustPlatform.cargoSetupHook
cargo
desktop-file-utils
];
buildInputs = [
gtk4
libadwaita
glib
poppler'
gtksourceview5
];
env.APP_ID = appid;
# see Justfile
postInstall = ''
mv $out/bin/clapgrep-gnome $out/bin/clapgrep
install -D assets/${appid}.desktop -t $out/share/applications
install -D assets/${appid}.metainfo.xml -t $out/share/metainfo
install -D assets/icons/hicolor/scalable/apps/${appid}.svg -t $out/share/icons/hicolor/scalable/apps
mkdir -p assets/locale
cat po/LINGUAS | while read lang; do
mkdir -p assets/locale/$lang/LC_MESSAGES;
msgfmt -o assets/locale/$lang/LC_MESSAGES/${appid}.mo po/$lang.po;
done
cp -r assets/locale -t $out/share
'';
passthru.updateScript = nix-update-script { };
meta = {
@ -70,4 +83,4 @@ rustPlatform.buildRustPackage {
maintainers = with lib.maintainers; [ pluiedev ];
mainProgram = "clapgrep";
};
}
})

View file

@ -5,13 +5,13 @@
"packages": {
"": {
"dependencies": {
"@anthropic-ai/claude-code": "^0.2.105"
"@anthropic-ai/claude-code": "^0.2.106"
}
},
"node_modules/@anthropic-ai/claude-code": {
"version": "0.2.105",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.105.tgz",
"integrity": "sha512-GR4fOK6WTTgMzM66eHBZsaOA2fKZULgfeZoi87v6Fv6hXGy8SPbrdAH8ULKAPlBqxGlPkUo1KcfyXD5VE28Olw==",
"version": "0.2.106",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.106.tgz",
"integrity": "sha512-bryGjkA4VhQ4E7McxHVGgectYP/J9zhtkOP9nMNkLPepi5m85tyPHOZgTIhA3R3N7wrIRHPlpMv5y2GjGOo5TQ==",
"hasInstallScript": true,
"license": "SEE LICENSE IN README.md",
"dependencies": {

View file

@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "claude-code";
version = "0.2.105";
version = "0.2.106";
nodejs = nodejs_20;
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
hash = "sha256-es1FjTbD4xtSzziAQL2uW129+sfq0gKN3u/9DARtqPY=";
hash = "sha256-hS/aPB4hL1+jeJjIu+ztS2TVLO4lL7IKhBTMXlRO58Y=";
};
npmDepsHash = "sha256-GewrAlGEDdqfYJgdeCyc/i8KmLruwJYo9FlZN1dNa/g=";
npmDepsHash = "sha256-HZ3d04tLeZkSLACIu79K5QIYpkYNcSyvp07OXIgFdss=";
postPatch = ''
cp ${./package-lock.json} package-lock.json

View file

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "clickhouse-backup";
version = "2.6.15";
version = "2.6.16";
src = fetchFromGitHub {
owner = "Altinity";
repo = "clickhouse-backup";
rev = "v${version}";
hash = "sha256-WHIrgKWO8yHHbQ5i3qvCYjxuRPj8sRasjxQ2J1N8q7o=";
hash = "sha256-3RckJDhMtmK/Yusad1McFee/ECYomAwxY+WlimkPPCs=";
};
vendorHash = "sha256-4qPZihOuaD8lKF31fhyTDG7gBa0gExLVavazGZWDyAk=";
vendorHash = "sha256-tgDNKujpmDk6wcP9jEwfSbRWzJqiPs7aAWkkaD195Ss=";
ldflags = [
"-X main.version=${version}"

View file

@ -1,24 +0,0 @@
diff --git a/src/src/app.cpp b/src/src/app.cpp
index 81130fd..f98d37b 100644
--- a/src/src/app.cpp
+++ b/src/src/app.cpp
@@ -602,7 +602,8 @@ bool CodeBlocksApp::OnInit()
m_BatchWindowAutoClose = true;
m_pSingleInstance = nullptr;
- wxTheClipboard->Flush();
+ if (wxTheClipboard->IsOpened())
+ wxTheClipboard->Flush();
wxCmdLineParser& parser = *Manager::GetCmdLineParser();
parser.SetDesc(cmdLineDesc);
@@ -851,7 +852,8 @@ bool CodeBlocksApp::OnInit()
int CodeBlocksApp::OnExit()
{
- wxTheClipboard->Flush();
+ if (wxTheClipboard->IsOpened())
+ wxTheClipboard->Flush();
if (g_DDEServer) delete g_DDEServer;

View file

@ -16,12 +16,12 @@
stdenv.mkDerivation rec {
name = "${pname}-${lib.optionalString contribPlugins "full-"}${version}";
version = "20.03";
pname = "codeblocks";
version = "25.03";
src = fetchurl {
url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks-${version}.tar.xz";
sha256 = "1idaksw1vacmm83krxh5zlb12kad3dkz9ixh70glw1gaibib7vhm";
url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.xz";
hash = "sha256-sPaqWQjTNtf0H5V2skGKx9J++8WSgqqMkXHYjOp0BJ4=";
};
nativeBuildInputs = [
@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
zip
wrapGAppsHook3
];
buildInputs =
[
wxGTK32
@ -39,114 +40,15 @@ stdenv.mkDerivation rec {
hunspell
boost
];
enableParallelBuilding = true;
patches = [
./writable-projects.patch
./fix-clipboard-flush.patch
# Fix build on non-x86 machines
(fetchpatch {
name = "remove-int3.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/d76c015c456561d2c7987935a5f4dc6c0932b0c4.patch";
sha256 = "sha256-dpH33vGf2aNdYTeLwxglYDNbvwoY2bGSG6YFRyoGw+A=";
})
(fetchpatch {
name = "remove-pragmas.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/966949d5ab7f3cb86e2a2c7ef4e853ee209b5a1a.patch";
sha256 = "sha256-XjejjGOvDk3gl1/n9R69XATGLj5n7tOZNyG8vIlwfyg=";
})
# Fix build with GCC 11
(fetchpatch {
name = "use-gcc11-openfilelist.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/a5ea6ff7ff301d739d3dc8145db1578f504ee4ca.patch";
sha256 = "sha256-kATaLej8kJf4xm0VicHfRetOepX8O9gOhwdna0qylvQ=";
})
(fetchpatch {
name = "use-gcc11-ccmanager.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/04b7c50fb8c6a29b2d84579ee448d2498414d855.patch";
sha256 = "sha256-VPy/M6IvNBxUE4hZRbLExFm0DJf4gmertrqrvsXQNz4=";
})
# Fix build with wxGTK 3.1.5
(fetchpatch {
name = "use-wxgtk315.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/2345b020b862ec855038dd32a51ebb072647f28d.patch";
sha256 = "sha256-RRjwZA37RllnG8cJdBEnASpEd8z0+ru96fjntO42OvU=";
})
(fetchpatch {
name = "fix-taskbar-icons.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/40eb88e3f2b933f19f9933e06c8d0899c54f5e25.patch";
hash = "sha256-Gj5gtxX5QNYAeF+QrPS/bBHLLEmflSxUHSLUK3GSs0I=";
})
(fetchpatch {
name = "fix-warnings.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/56ac0396fad7a5b4bbb40bb8c4b5fe1755078aef.patch";
excludes = [ "src/src/environmentsettingsdlg.h" ];
hash = "sha256-tl4rF9iAf1TzCIbKhVFqcxvr1IiPdwqLYZg0SY5BJ7I=";
})
(fetchpatch {
name = "fix-getstring.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/dbdf5c5ea9e3161233f0588a7616b7e4fedc7870.patch";
sha256 = "sha256-DrEMFluN8vs0LERa7ULGshl7HdejpsuvXAMjIr/K1fQ=";
})
# Fix build with wxGTK 3.1.6
(fetchpatch {
name = "remove-code-for-old-wx-1.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/8035dfdff321754819f79e3165401aa59bd8c7f7.patch";
hash = "sha256-Z8Ap03W/XH5VwKFVudJr7rugb0BgI2dKJgQS4yIWbEM=";
})
(fetchpatch {
name = "remove-code-for-old-wx-2.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/9a9c6a9d5e3e0f6eff5594ecd61a2222f073be9c.patch";
hash = "sha256-SwYixvbRuXQ+jA1ijmClWkzqzzr0viVuFOAsihGc5dM=";
})
(fetchpatch {
name = "remove-code-for-old-wx-3.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/c28746f4887f10e6f9f10eeafae0fb22ecdbf9c7.patch";
hash = "sha256-1lcIiCnY2nBuUsffXC2rdglOE3ccIbogcgTx4M2Ee2I=";
})
(fetchpatch {
name = "fix-notebookstyles.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/29315df024251850832583f73e67e515dae10830.patch";
hash = "sha256-Uc1V0eEbNljnN+1Dqb/35MLSSoLjyuRZMTofgcXRyb8=";
})
(fetchpatch {
name = "fix-regex.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/46720043319758cb0e798eb23520063583c40eaa.patch";
hash = "sha256-Aix58T0JJcX/7VZukU/9i/nXh9GJywXC3yXEyUZK0js=";
})
(fetchpatch {
name = "fix-build-with-clang.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/92cb2239662952e3b59b31e03edd653bb8066e64.patch";
hash = "sha256-XI7JW9Nuueb7muKpaC2icM/CxhrCJtO48cLHK+BVWXI=";
})
(fetchpatch {
name = "fix-build-with-clang-2.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/edc6b145bcdcaf2823ef9c7da51a211f65d6f5d0.patch";
hash = "sha256-GuttBL4gp1IBn3ia2O8wtOR6xOSGrzwCKXwFLI3RO5o=";
})
(fetchpatch {
name = "fix-normalize.patch";
url = "https://github.com/archlinux/svntogit-community/raw/458eacb60bc0e71e3d333943cebbc41e75ed0956/trunk/sc_wxtypes-normalize.patch";
hash = "sha256-7wEwDLwuNUWHUwHjFyq74sHiuEha1VexRLEX42rPZSs=";
})
# Fix HiDPI
(fetchpatch {
name = "update-about-dialog.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/a4aacc92640b587ad049cd6aa68c637e536e9ab5.patch";
hash = "sha256-2S4sVn+Dq5y9xcxCkzQ+WeR+qWxAOLbQUZEnk060RI0=";
})
(fetchpatch {
name = "add-display-info.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/f2f127cf5cd97c7da6a957a3f7764cb25cc9017e.patch";
hash = "sha256-C0dVfC0NIHMXfWNlOwjzoGz5tmG2dlnU/EE92Jjebbs=";
})
(fetchpatch {
name = "fix-hidpi.patch";
url = "https://github.com/arnholm/codeblocks_sfmirror/commit/b2e4f1279804e1d11b71bc75eeb37072c3589296.patch";
hash = "sha256-/Xp6ww9C3V6I67tTA4MrGpSGo3J0MXzFjzQU7RxY84U=";
})
];
preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
patches = [ ./writable-projects.patch ];
preConfigure = "substituteInPlace ./configure --replace-fail /bin/file ${file}/bin/file";
postConfigure = lib.optionalString stdenv.hostPlatform.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig";
configureFlags =
[ "--enable-pch=no" ]
++ lib.optionals contribPlugins [
@ -156,13 +58,14 @@ stdenv.mkDerivation rec {
)
"--with-boost-libdir=${boost}/lib"
];
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
ln -s $out/lib/codeblocks/plugins $out/share/codeblocks/plugins
'';
meta = with lib; {
maintainers = [ maintainers.linquize ];
platforms = platforms.all;
meta = {
maintainers = [ lib.maintainers.linquize ];
platforms = lib.platforms.all;
description = "Open source, cross platform, free C, C++ and Fortran IDE";
longDescription = ''
Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users.
@ -170,6 +73,6 @@ stdenv.mkDerivation rec {
Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.
'';
homepage = "http://www.codeblocks.org";
license = licenses.gpl3;
license = lib.licenses.gpl3;
};
}

View file

@ -5,25 +5,26 @@
SDL2,
libGL,
cmake,
makeWrapper,
makeBinaryWrapper,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "CroMagRally";
version = "3.0.0-unstable-2023-05-21";
version = "3.0.1";
src = fetchFromGitHub {
owner = "jorio";
repo = "CroMagRally";
rev = "5983de40c180b50bbbec8b04f5f5f1ceccd1901b";
hash = "sha256-QbUkrNY7DZQts8xaimE83yXpCweKvnn0uDb1CawLfEE=";
tag = finalAttrs.version;
hash = "sha256-6KmvILl5tZYxbDYg58LVstmtqoCogc6TV11oagKvqcg=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
makeWrapper
makeBinaryWrapper
];
buildInputs = [
SDL2
libGL
@ -31,22 +32,24 @@ stdenv.mkDerivation {
installPhase = ''
runHook preInstall
mkdir -p "$out/share/CroMagRally"
mv Data ReadMe.txt "$out/share/CroMagRally/"
install -Dm755 {.,$out/bin}/CroMagRally
wrapProgram $out/bin/CroMagRally --chdir "$out/share/CroMagRally"
install -Dm644 $src/packaging/cromagrally.desktop $out/share/applications/cromagrally.desktop
install -Dm644 $src/packaging/cromagrally-desktopicon.png $out/share/pixmaps/cromagrally-desktopicon.png
mkdir -p $out/share/CroMagRally
mv Data ReadMe.txt $out/share/CroMagRally/
install -Dm755 CroMagRally $out/bin/CroMagRally
wrapProgram $out/bin/CroMagRally --chdir $out/share/CroMagRally
install -Dm644 ${finalAttrs.src}/packaging/io.jor.cromagrally.desktop $out/share/applications/cromagrally.desktop
install -Dm644 ${finalAttrs.src}/packaging/io.jor.cromagrally.png $out/share/pixmaps/io.jor.cromagrally.png
runHook postInstall
'';
meta = with lib; {
meta = {
description = "Port of Cro-Mag Rally, a 2000 Macintosh game by Pangea Software, for modern operating systems";
homepage = "https://github.com/jorio/CroMagRally";
changelog = "https://github.com/jorio/CroMagRally/releases";
license = licenses.cc-by-sa-40;
maintainers = with maintainers; [ lux ];
platforms = platforms.linux;
license = lib.licenses.cc-by-sa-40;
maintainers = with lib.maintainers; [ lux ];
platforms = lib.platforms.linux;
mainProgram = "CroMagRally";
};
}
})

View file

@ -2,21 +2,31 @@
lib,
rustPlatform,
fetchFromGitHub,
fetchpatch2,
}:
rustPlatform.buildRustPackage rec {
pname = "csvlens";
version = "0.11.0";
version = "0.12.0";
src = fetchFromGitHub {
owner = "YS-L";
repo = "csvlens";
tag = "v${version}";
hash = "sha256-JlyDw+VL/vpKTvvBlDIwVIovhKJX2pV4UTY47cLR1IE=";
hash = "sha256-kyUfpZaOpLP8nGrXH8t9cOutXFkZsmZnPmIu3t6uaWU=";
};
patches = [
(fetchpatch2 {
# https://github.com/YS-L/csvlens/pull/129
name = "fix-flaky-test.patch";
url = "https://github.com/YS-L/csvlens/commit/8544e9d4179eef10e8d1a625a41c0e1ef3eb188b.patch";
hash = "sha256-j02H+R14Hfm7ZEHFPRGqTY/GEzj5ETXp72kk7os9Zso=";
})
];
useFetchCargoVendor = true;
cargoHash = "sha256-nfw8mMauOTDCBh9O2ye96p8WXDFta4DXXb9kJVz7f3E=";
cargoHash = "sha256-lr1pqFodqgsKHRFGonXj0nG4elomiSMETulBdCLMR3w=";
meta = with lib; {
description = "Command line csv viewer";

View file

@ -26,7 +26,7 @@ let
doInstallCheck = false;
});
version = "1.6";
version = "1.6.1";
in
rustPlatform.buildRustPackage {
pname = "devenv";
@ -36,11 +36,11 @@ rustPlatform.buildRustPackage {
owner = "cachix";
repo = "devenv";
rev = "v${version}";
hash = "sha256-ui6UwatBHN2WFvStGUHVOdBu72MsG/7b0GeyRdTCyEw=";
hash = "sha256-CEVWxRaln3sp0541QpMfcfmI2w+RN72UgNLV5Dy9sco=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-XS6F/Sp5peJdzAormYPjAA4SJfusMH6PRYIM3Tw5AUw=";
cargoHash = "sha256-t4Cj7JlBVrMP02Dqibq2IgdKy6ejv+CeffmcPAkh7BE=";
buildAndTestSubdir = "devenv";

View file

@ -4,34 +4,37 @@
fetchFromGitHub,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "falcoctl";
version = "0.5.1";
version = "0.11.1";
src = fetchFromGitHub {
owner = "falcosecurity";
repo = "falcoctl";
rev = "v${version}";
hash = "sha256-X4fZBTEbOIQbfmuxDODEkYW43ntVIkwFDULYq+ps+9s=";
tag = "v${finalAttrs.version}";
hash = "sha256-3YsxshQh+LQBpKt7YG52rwOdWyjkfn+kTa6nsHpkA+A=";
};
vendorHash = "sha256-26EXoXMWK/zPX4M7kG3QRAb4aqtIWgSnSgXcxKUwfZk=";
vendorHash = "sha256-uIs3e2E8ThW7n9SXX2lu63KFmsy/QrVGQ4NgY1J+Qr0=";
ldflags = [
"-s"
"-w"
"-X github.com/falcosecurity/falcoctl/cmd/version.semVersion=${version}"
"-X github.com/falcosecurity/falcoctl/cmd/version.semVersion=${finalAttrs.version}"
];
meta = with lib; {
# require network
doCheck = false;
meta = {
description = "Administrative tooling for Falco";
mainProgram = "falcoctl";
homepage = "https://github.com/falcosecurity/falcoctl";
license = licenses.asl20;
maintainers = with maintainers; [
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
developer-guy
kranurag7
LucaGuerra
];
};
}
})

View file

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "firefox-sync-client";
version = "1.8.0";
version = "1.9.0";
src = fetchFromGitHub {
owner = "Mikescher";
repo = "firefox-sync-client";
rev = "v${version}";
hash = "sha256-Ax+v4a8bVuym1bp9dliXX85PXJk2Qlik3ME+adGiL1s=";
hash = "sha256-tzYuYSifV/a9SPb5KyabhQ29ByXuAgQgi3t0VMHVSH8=";
};
vendorHash = "sha256-MYetPdnnvIBzrYrA+eM9z1P3+P5FumYKH+brvvlwkm4=";
vendorHash = "sha256-kDh/5SOwKPYl9sC9W17bnzG73fGI5iX6lSjcB3IjOss=";
meta = {
description = "Commandline-utility to list/view/edit/delete entries in a firefox-sync account.";

View file

@ -142,7 +142,6 @@ stdenv.mkDerivation (finalAttrs: {
lgpl3Only
];
maintainers = with maintainers; [
ericsagnes
lovesegfault
techknowlogick
kiike

View file

@ -9,13 +9,13 @@
buildGoModule rec {
pname = "go-blueprint";
version = "0.10.8";
version = "0.10.9";
src = fetchFromGitHub {
owner = "Melkeydev";
repo = "go-blueprint";
rev = "v${version}";
hash = "sha256-oEp+qMWN2SIW9MBVbfk72Ogu9nbuR++YsTeRpbbQ2LY=";
hash = "sha256-5xVmMHQE0Jl15ZZnmvJQDUsCBfMaE5hWUighUdfoN/g=";
};
ldflags = [

View file

@ -4,22 +4,22 @@
fetchFromGitHub,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "gomplate";
version = "4.2.0";
version = "4.3.2";
src = fetchFromGitHub {
owner = "hairyhenderson";
repo = "gomplate";
tag = "v${version}";
hash = "sha256-PupwL0VzZiWz+96Mv1o6QSmj7iLyvVIQMcdRlGqmpRs=";
tag = "v${finalAttrs.version}";
hash = "sha256-94zZuig/AN/UzZx66YbrkBX2Nq+/gPLXlcOz1ar8weE=";
};
vendorHash = "sha256-1BOrffMtYz/cEsVaMseZQJlGsAdax+c1CvebwP8jaL4=";
vendorHash = "sha256-AS69mXZ5Faedj1cv7bfOfBfvdMQrCH1o9p6UN/O8ZLs=";
ldflags = [
"-s"
"-X github.com/${src.owner}/${pname}/v4/version.Version=${version}"
"-X github.com/${finalAttrs.src.owner}/${finalAttrs.pname}/v4/version.Version=${finalAttrs.version}"
];
preCheck = ''
@ -27,6 +27,7 @@ buildGoModule rec {
rm net/net_test.go \
internal/tests/integration/datasources_blob_test.go \
internal/tests/integration/datasources_git_test.go \
internal/tests/integration/test_ec2_utils_test.go \
render_test.go
# some tests rely on external tools we'd rather not depend on
rm internal/tests/integration/datasources_consul_test.go \
@ -37,15 +38,15 @@ buildGoModule rec {
rm $out/bin/gen
'';
meta = with lib; {
meta = {
description = "Flexible commandline tool for template rendering";
mainProgram = "gomplate";
homepage = "https://gomplate.ca/";
changelog = "https://github.com/hairyhenderson/gomplate/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [
changelog = "https://github.com/hairyhenderson/gomplate/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
ris
jlesquembre
];
};
}
})

View file

@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "goshs";
version = "1.0.3";
version = "1.0.5";
src = fetchFromGitHub {
owner = "patrickhener";
repo = "goshs";
tag = "v${finalAttrs.version}";
hash = "sha256-Sthe19Wb3zBg4kOh+aDC0CxAwMD9+LcNsy6u7qEj+f8=";
hash = "sha256-j/GsNkaheYDavxxoibR61knMR3x7o1pkc6NcmGrHSxY=";
};
vendorHash = "sha256-+bb+3ZYzRVxRh1WQEKa+WqH29fHErNWaTcHO70wCwPY=";
vendorHash = "sha256-LzuY3l6QQnMtAoVM2i206BuoTkVLVHg1DTWZhjIepY8=";
ldflags = [
"-s"

View file

@ -0,0 +1,87 @@
{
lib,
flutter329,
fetchFromGitHub,
autoPatchelfHook,
copyDesktopItems,
makeDesktopItem,
runCommand,
yq,
gpt-box,
_experimental-update-script-combinators,
gitUpdater,
}:
flutter329.buildFlutterApplication rec {
pname = "gpt-box";
version = "1.0.385";
src = fetchFromGitHub {
owner = "lollipopkit";
repo = "flutter_gpt_box";
tag = "v${version}";
hash = "sha256-gl8kANxZLNXSuZxcK9WqfXxVWsCpZCbV+qmSt2ZnI6E=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {
computer = "sha256-qaD6jn78zDyZBktwJ4WTQa8oCvCWQJOBDaozBVsXNb8=";
fl_build = "sha256-CSKe2yEIisftM0q79HbDTghShirWg02zi9v+hD5R57g=";
fl_lib = "sha256-gAZqxPOBMXfy0mHEd7Jud0QJwyRbqC4nIRDIA81TZxM=";
flutter_highlight = "sha256-jSATD4Ww5FHEscGNiTN/FE1+iQHzg/XMbsC9f5XcNGw=";
openai_dart = "sha256-FP8J8ul8F68vrEdEZAmzNS921evtRfCIOlV2Aubifaw=";
webdav_client = "sha256-aTkMcrXksHLEG4UpeE1MBmCKpX5l11+y/p4tICrOTGk=";
};
nativeBuildInputs = [
copyDesktopItems
autoPatchelfHook
];
desktopItems = [
(makeDesktopItem {
name = "gpt-box";
exec = "gpt-box";
icon = "gpt-box";
genericName = "GPT Box";
desktopName = "GPT Box";
categories = [ "Utility" ];
keywords = [
"gpt"
"chat"
"openai"
"ai"
];
})
];
postInstall = ''
install -Dm0644 assets/app_icon.png $out/share/pixmaps/gpt-box.png
'';
passthru = {
pubspecSource =
runCommand "pubspec.lock.json"
{
nativeBuildInputs = [ yq ];
inherit (gpt-box) src;
}
''
cat $src/pubspec.lock | yq > $out
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater { rev-prefix = "v"; })
(_experimental-update-script-combinators.copyAttrOutputToFile "gpt-box.pubspecSource" ./pubspec.lock.json)
];
};
meta = {
description = "Third-party client for OpenAI API";
homepage = "https://github.com/lollipopkit/flutter_gpt_box";
mainProgram = "GPTBox";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ emaryn ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -6,26 +6,26 @@
python3Packages.buildPythonApplication rec {
pname = "grabserial";
version = "2.0.2";
version = "2.1.8";
src = fetchFromGitHub {
owner = "tbird20d";
repo = "grabserial";
rev = "v${version}";
sha256 = "0ryk4w8q6zfmia71nwnk5b7xaxw0sf45dw9q50xp7k76i3k5f9f3";
tag = "v${version}";
hash = "sha256-XHI5r4OkJUtMuH83jKvNttEpKpqARjxj9SDLzhSPxSc=";
};
propagatedBuildInputs = [ python3Packages.pyserial ];
dependencies = [ python3Packages.pyserial ];
# no usable tests
doCheck = false;
meta = with lib; {
meta = {
description = "Python based serial dump and timing program";
mainProgram = "grabserial";
homepage = "https://github.com/tbird20d/grabserial";
license = licenses.gpl2;
maintainers = with maintainers; [ vmandela ];
platforms = platforms.linux;
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ vmandela ];
platforms = lib.platforms.linux;
};
}

View file

@ -30,7 +30,7 @@
"@hapi/boom": "^10.0.0",
"@puppeteer/browsers": "^2.3.1",
"chokidar": "^3.5.2",
"dompurify": "^2.5.4",
"dompurify": "^3.2.4",
"express": "^4.21.1",
"express-prom-bundle": "^6.5.0",
"jimp": "^0.22.12",
@ -49,18 +49,18 @@
},
"devDependencies": {
"@grafana/eslint-config": "^6.0.0",
"@types/dompurify": "2.3.4",
"@types/dompurify": "^3.2.0",
"@types/express": "^4.17.14",
"@types/jest": "^29.5.12",
"@types/jsdom": "20.0.0",
"@types/multer": "^1.4.7",
"@types/node": "^22.13.1",
"@types/node": "^20.17.27",
"@types/pixelmatch": "^5.2.6",
"@types/supertest": "^2.0.15",
"@typescript-eslint/eslint-plugin": "5.37.0",
"@typescript-eslint/parser": "5.37.0",
"@yao-pkg/pkg": "^6.3.0",
"axios": "1.7.4",
"axios": "1.8.2",
"cross-env": "7.0.3",
"eslint": "8.23.1",
"fast-png": "^6.2.0",
@ -88,6 +88,6 @@
},
"bin": "build/app.js",
"engines": {
"node": ">= 22"
"node": ">= 20"
}
}

View file

@ -14,18 +14,18 @@
mkYarnPackage rec {
pname = "grafana-image-renderer";
version = "3.12.3";
version = "3.12.5";
src = fetchFromGitHub {
owner = "grafana";
repo = "grafana-image-renderer";
rev = "v${version}";
hash = "sha256-twB2V5iecLEMTrp+prFmDoJvcGLVQlLJ+DTSl/9V8S8=";
hash = "sha256-dcWmMcvWwG4wGEEyFKa1R0jGGpK5x1F5Amr74JzJaLE=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-TcsWApSR48OUIcQGko3XIaFCp22vFJbHcxrdFxUyRZU=";
hash = "sha256-BBu+vOO0UgX3L7Svj0HgVKHR2lSe4tD6c9HDgJZdhHU=";
};
packageJSON = ./package.json;

View file

@ -2,14 +2,12 @@ Do not use vendored libraries
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -14,10 +14,7 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
add_subdirectory(onigmo)
@@ -18,8 +18,6 @@
if(GRN_WITH_BUNDLED_ONIGMO)
add_subdirectory(onigmo)
endif()
-add_subdirectory(mruby)
-add_subdirectory(mecab)
-add_subdirectory(message_pack)
if(GRN_WITH_MRUBY)
add_subdirectory(groonga-log)
endif()

View file

@ -2,8 +2,8 @@ Fix CMake install path
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1141,11 +1141,11 @@
@@ -1879,11 +1879,11 @@
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
-set(bindir "\${exec_prefix}/${CMAKE_INSTALL_BINDIR}")

View file

@ -15,7 +15,6 @@
suggestSupport ? false,
zeromq,
libevent,
openssl,
lz4Support ? false,
lz4,
zlibSupport ? true,
@ -24,11 +23,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "groonga";
version = "14.0.6";
version = "15.0.4";
src = fetchurl {
url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz";
hash = "sha256-1caTQAycvpG2PgtbxIn58HrxvWjxKgiczRSC72nWzGw=";
hash = "sha256-ESPUEBpV6hg8KQeSzjklPgf4R0DlYdpwxp9M6YdTV/Q=";
};
patches = [
@ -74,12 +73,12 @@ stdenv.mkDerivation (finalAttrs: {
};
};
meta = with lib; {
meta = {
homepage = "https://groonga.org/";
description = "Open-source fulltext search engine and column store";
license = licenses.lgpl21;
maintainers = [ maintainers.ericsagnes ];
platforms = platforms.all;
license = lib.licenses.lgpl21;
maintainers = [ ];
platforms = lib.platforms.all;
longDescription = ''
Groonga is an open-source fulltext search engine and column store.
It lets you write high-performance applications that requires fulltext search.

View file

@ -1,10 +1,9 @@
{
fetchurl,
lib,
stdenv,
fetchFromGitHub,
smartmontools,
autoreconfHook,
gettext,
cmake,
gtkmm3,
pkg-config,
wrapGAppsHook3,
@ -12,29 +11,28 @@
adwaita-icon-theme,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gsmartcontrol";
version = "1.1.4";
version = "2.0.2";
src = fetchurl {
url = "https://github.com/ashaduri/gsmartcontrol/releases/download/v${version}/gsmartcontrol-${version}.tar.bz2";
sha256 = "sha256-/ECfK4qEzEC7ED1sgkAbnUwBgtWjsiPJOVnHrWYZGEc=";
src = fetchFromGitHub {
owner = "ashaduri";
repo = "gsmartcontrol";
tag = "v${finalAttrs.version}";
hash = "sha256-eLzwFZ1PYqijFTxos9Osf7A2v4C8toM+TGV4/bU82NE=";
};
patches = [
./fix-paths.patch
];
postPatch = ''
substituteInPlace data/org.gsmartcontrol.policy --replace "/usr/sbin" $out/bin
substituteInPlace data/gsmartcontrol.in.desktop \
--replace-fail "@CMAKE_INSTALL_FULL_BINDIR@/" ""
'';
nativeBuildInputs = [
autoreconfHook
gettext
cmake
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtkmm3
pcre-cpp
@ -60,9 +58,10 @@ stdenv.mkDerivation rec {
It allows you to inspect the drive's SMART data to determine its health,
as well as run various tests on it.
'';
homepage = "https://gsmartcontrol.shaduri.dev/";
homepage = "https://gsmartcontrol.shaduri.dev";
mainProgram = "gsmartcontrol";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ qknight ];
platforms = with lib.platforms; linux;
platforms = lib.platforms.linux;
};
}
})

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
description = "GTK enabled dropin replacement for xmessage";
homepage = "https://trmusson.dreamhosters.com/programs.html#gxmessage";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ jfb ];
maintainers = with lib.maintainers; [ ];
platforms = with lib.platforms; linux;
mainProgram = "gxmessage";
};

View file

@ -3,49 +3,27 @@
fetchpatch,
python3,
fetchFromGitHub,
wrapQtAppsHook,
qt5,
cups,
}:
python3.pkgs.buildPythonApplication rec {
pname = "inkcut";
version = "2.1.5";
version = "2.1.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
tag = "v${version}";
sha256 = "sha256-S5IrNWVoUp1w+P7DrKlOUOyY3Q16CHSct9ndZOB3UpU=";
hash = "sha256-qfgzJTFr4VTV/x4PVnUKJzIndfjXB8z2jTWLXvadBuY=";
};
patches = [
# fix opening the extension on inkscape 1.2
# https://github.com/inkcut/inkcut/pull/340
(fetchpatch {
url = "https://github.com/inkcut/inkcut/commit/d5d5d0ab3c588c576b668f4c7b07a10609ba2fd0.patch";
hash = "sha256-szfiOujuV7OOwYK/OU51m9FK6dzkbWds+h0cr5dGIg4=";
})
# fix loading a document from stdin (as used from the extension)
# https://github.com/inkcut/inkcut/issues/341
(fetchpatch {
url = "https://github.com/inkcut/inkcut/commit/748ab4157f87afec37dadd715094e87d02c9c739.patch";
hash = "sha256-ZGiwZru2bUYu749YSz5vxmGwLTAoYIAsafcX6PmdbYo=";
revert = true;
})
# fix distutils deprecation error
# https://github.com/inkcut/inkcut/pull/343
(fetchpatch {
url = "https://github.com/inkcut/inkcut/commit/9fb95204981bcc51401a1bc10caa02d1fae0d6cb.patch";
hash = "sha256-nriys7IWPGykZjVz+DIDsE9Tm40DewkHQlIUaxFwtzM=";
})
];
postPatch = ''
substituteInPlace inkcut/device/transports/printer/plugin.py \
--replace ", 'lpr', " ", '${cups}/bin/lpr', "
'';
nativeBuildInputs = [ wrapQtAppsHook ];
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
propagatedBuildInputs = with python3.pkgs; [
enamlx

View file

@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/enkore/j4-dmenu-desktop";
license = licenses.gpl3Only;
mainProgram = "j4-dmenu-desktop";
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
platforms = platforms.linux;
};
})

View file

@ -7,19 +7,22 @@
vala,
pkg-config,
wrapGAppsHook3,
blueprint-compiler,
pantheon,
gtksourceview5,
chcase,
libadwaita,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "konbucase";
version = "4.1.2";
version = "4.4.0";
src = fetchFromGitHub {
owner = "ryonakano";
repo = "konbucase";
rev = finalAttrs.version;
hash = "sha256-md7drxg1JuW6TRJauKOk4Aqjx/V1RVZ+POa5v6DtKwk=";
tag = finalAttrs.version;
hash = "sha256-56P2RueZSsuQth8IB73r3WYXCQ+rEyfQpGXhLAAeFlY=";
fetchSubmodules = true;
};
@ -29,25 +32,28 @@ stdenv.mkDerivation (finalAttrs: {
vala
pkg-config
wrapGAppsHook3
blueprint-compiler
];
buildInputs = [
pantheon.granite7
gtksourceview5
chcase
libadwaita
];
postInstall = ''
mv $out/bin/com.github.ryonakano.konbucase $out/bin/konbucase
substituteInPlace $out/share/applications/com.github.ryonakano.konbucase.desktop \
--replace 'Exec=com.github.ryonakano.konbucase' 'Exec=${placeholder "out"}/bin/konbucase'
--replace-fail "Exec=com.github.ryonakano.konbucase" "Exec=konbucase"
'';
meta = with lib; {
meta = {
homepage = "https://github.com/ryonakano/konbucase";
description = "Case converting app suitable for coding or typing";
license = licenses.gpl3Only;
maintainers = with maintainers; [ galaxy ];
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ galaxy ];
platforms = lib.platforms.linux;
mainProgram = "konbucase";
};
})

View file

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
license = licenses.asl20;
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
platforms = platforms.unix;
};

View file

@ -29,13 +29,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "labwc";
version = "0.8.3";
version = "0.8.4";
src = fetchFromGitHub {
owner = "labwc";
repo = "labwc";
tag = finalAttrs.version;
hash = "sha256-iOSPvg737YCtKFHHZy56N+JYqcyfUIguSZ3QQ0keb/E=";
hash = "sha256-JeEw1xKwgsTMllZXvNaXXdgmZnmIFUyG/cJ14QFQf/E=";
};
outputs = [

View file

@ -26,7 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://chewing.im/";
license = licenses.lgpl21Only;
maintainers = with maintainers; [
ericsagnes
ShamrockLee
];
platforms = platforms.all;

View file

@ -51,7 +51,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
linsui
ericsagnes
];
platforms = lib.platforms.linux;
};

View file

@ -2,31 +2,40 @@
lib,
python3Packages,
fetchFromGitHub,
qt5,
qt6,
}:
python3Packages.buildPythonApplication rec {
pname = "meteo-qt";
version = "3.4";
format = "setuptools";
version = "4.2";
pyproject = true;
src = fetchFromGitHub {
owner = "dglent";
repo = "meteo-qt";
tag = "v${version}";
hash = "sha256-J9R6UGfj3vaPfn0vmjeRMsHryc/1pxoKyIE9wteVYbY=";
hash = "sha256-s02A5WwJffjbB497sXyugkIolqyK3OpEY7aBgnOBdbM=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "lrelease-pro-qt6" "${qt6.qttools}/libexec/lrelease-pro"
'';
nativeBuildInputs = [
qt5.qttools
qt5.wrapQtAppsHook
qt6.qttools
qt6.wrapQtAppsHook
python3Packages.pyqt6
];
build-system = with python3Packages; [ sip ];
build-system = with python3Packages; [
setuptools
sip
];
dependencies = with python3Packages; [
lxml
pyqt5
pyqt6
];
postFixup = ''

View file

@ -4,7 +4,6 @@
fetchFromGitHub,
fetchurl,
runCommand,
writeText,
biber,
# nativeBuildInputs
@ -95,13 +94,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "miktex";
version = "25.2";
version = "25.4";
src = fetchFromGitHub {
owner = "miktex";
repo = "miktex";
tag = finalAttrs.version;
hash = "sha256-egN9+BRO/EAcbrn/jZac4Lb79H5N/LEjReMPGHVM/yM=";
hash = "sha256-3QGW8rsettA+Jtrsi9C5ONIG4vP+iuUEUi9dGHfWMSY=";
};
patches = [
@ -231,7 +230,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
meta = {
description = "A modern TeX distribution";
description = "Modern TeX distribution";
homepage = "https://miktex.org";
platforms = lib.platforms.linux;
license = with lib.licenses; [
@ -240,8 +239,6 @@ stdenv.mkDerivation (finalAttrs: {
gpl3Plus
publicDomain
];
maintainers = with lib.maintainers; [
qbisi
];
maintainers = with lib.maintainers; [ qbisi ];
};
})

View file

@ -106,7 +106,6 @@ buildBazelPackage rec {
license = licenses.free;
platforms = platforms.linux;
maintainers = with maintainers; [
ericsagnes
pineapplehunter
];
};

View file

@ -9,14 +9,14 @@
buildGoModule rec {
pname = "museum";
version = "1.0.2";
version = "1.0.4";
src = fetchFromGitHub {
owner = "ente-io";
repo = "ente";
sparseCheckout = [ "server" ];
rev = "photos-v${version}";
hash = "sha256-d66dCTs68sIL6iCV4vDvErER3LAz/SdkqOj0aJBro8k=";
hash = "sha256-tFXOLzGGMrjVImOOl3RGaX3i/FwhjbGqKRdxv/xxKTs=";
};
vendorHash = "sha256-px4pMqeH73Fe06va4+n6hklIUDMbPmAQNKKRIhwv6ec=";

View file

@ -94,7 +94,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl21;
mainProgram = "notion";
maintainers = with lib.maintainers; [
jfb
raboof
NotAShelf
];

View file

@ -13,16 +13,16 @@
let
pname = "nwg-drawer";
version = "0.6.4";
version = "0.6.5";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-drawer";
rev = "v${version}";
hash = "sha256-uctM2fi3lfSrvKSinkjAXD3bLyJOVC0DTyDoAKXgB54=";
hash = "sha256-fWh2htmLIM0IHRYOs8fzrjwq1IRLDJpWniY24BVFtFE=";
};
vendorHash = "sha256-VW9K56pdzA6CAqyJ859WOCEtHTASW8lnQGuW1zBUJYw=";
vendorHash = "sha256-iUFOWPr306CteR+5Cz/kE+XoG/qr3BBdM9duZm4TOU4=";
in
buildGoModule {
inherit
@ -63,7 +63,7 @@ buildGoModule {
description = "Application drawer for sway Wayland compositor";
homepage = "https://github.com/nwg-piotr/nwg-drawer";
changelog = "https://github.com/nwg-piotr/nwg-drawer/releases/tag/${src.rev}";
license = with lib.licenses; [ mit ];
license = with lib.licenses; [ agpl3Plus ];
mainProgram = "nwg-drawer";
maintainers = with lib.maintainers; [ ];
platforms = with lib.platforms; linux;

View file

@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/patroclos/PAmix/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ericsagnes ];
maintainers = with lib.maintainers; [ ];
mainProgram = "pamix";
};
})

View file

@ -17,13 +17,13 @@ buildGoModule (finalAttrs: {
webkitgtk_4_1
];
pname = "paretosecurity";
version = "0.2.14";
version = "0.2.15";
src = fetchFromGitHub {
owner = "ParetoSecurity";
repo = "agent";
rev = finalAttrs.version;
hash = "sha256-/3TTSaio24cuXmPvPVRZE4JqddWYezyAFCqYJRiMG7M=";
hash = "sha256-8lRIDW17oyQpoGuHGckSxL++jaeX3qPr2kvXBAeszjc=";
};
vendorHash = "sha256-YnyACP/hJYxi4AWMwr0We4YUTbWwahKAIYN6RnHmzls=";

View file

@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
mainProgram = "ponymix";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
};
}

View file

@ -8,17 +8,17 @@
rustPlatform.buildRustPackage rec {
pname = "rabbitmqadmin-ng";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitHub {
owner = "rabbitmq";
repo = "rabbitmqadmin-ng";
tag = "v${version}";
hash = "sha256-M3YaqBwSj/5d936oOVA6JmqWYEU8kDYP+2ImjlOiAqo=";
hash = "sha256-b6xa12jop0YbbUNYNrCvCEJH17lx/Ski3maKUWVVAjE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-Ik3G9McsFO+NIEBuB9N1HSXeIpULSPTHx4V2ulpgDio=";
cargoHash = "sha256-qPbh8kRm57ferdv2+hGaOXFCK49hYzDrVb6ePbaPuAM=";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];

View file

@ -7,7 +7,7 @@
ninja,
python3,
nix-update-script,
abseil-cpp,
abseil-cpp_202401,
curl,
gtest,
nlohmann_json,
@ -16,7 +16,7 @@
libwebm,
mbedtls,
mimalloc,
protobuf,
protobuf_29,
zlib,
}:
@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
# pssh_box.py.
ps.protobuf
]))
abseil-cpp
abseil-cpp_202401
curl
gtest
nlohmann_json
@ -69,9 +69,9 @@ stdenv.mkDerivation (finalAttrs: {
libwebm
mbedtls
mimalloc
(protobuf.override {
(protobuf_29.override {
# must be the same version as for shaka-packager
inherit abseil-cpp;
abseil-cpp = abseil-cpp_202401;
})
zlib
];

View file

@ -41,7 +41,7 @@
stdenv.mkDerivation rec {
pname = "slurm";
version = "24.11.4.1";
version = "24.11.5.1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases.
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
repo = "slurm";
# The release tags use - instead of .
rev = "${pname}-${builtins.replaceStrings [ "." ] [ "-" ] version}";
hash = "sha256-qfTkvORa03LxbLXWfUoTw1bV17w7geA9QA3i+fWSCqE=";
hash = "sha256-0c8b+quLeWpCyuCOcp/B8Yd0dxr90UtSV/tgeTi7tbk=";
};
outputs = [

View file

@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Nix based static site generator";
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
homepage = "https://styx-static.github.io/styx-site/";
downloadPage = "https://github.com/styx-static/styx/";
platforms = platforms.all;

View file

@ -3,6 +3,7 @@
fetchFromGitHub,
davfs2,
cmake,
extra-cmake-modules,
stdenv,
pkg-config,
kdePackages,
@ -10,25 +11,32 @@
stdenv.mkDerivation rec {
pname = "tail-tray";
version = "0.2.21";
version = "0.2.22";
src = fetchFromGitHub {
owner = "SneWs";
repo = "tail-tray";
tag = "v${version}";
sha256 = "sha256-zdmU4GdEVOT8wUgOxJAGsLQEb35O/RUjc8HcYpwIkiM=";
sha256 = "sha256-1tYuZBJFIGwub3wJR/Ms1Dybhn3KMzKYrpgzZEXwqWU=";
};
nativeBuildInputs = with kdePackages; [
wrapQtAppsHook
qttools
cmake
extra-cmake-modules
pkg-config
];
buildInputs = with kdePackages; [
qtbase
davfs2
knotifyconfig
];
cmakeFlags = [
"-DKNOTIFICATIONS_ENABLED=ON"
"-DDAVFS_ENABLED=ON"
];
patches = [

View file

@ -8,13 +8,13 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.78.0";
version = "0.78.1";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
tag = "v${version}";
hash = "sha256-ldGv4hD+WR4c3Ajozu+u4qy/DOCKQIk9tECOfPpNbjU=";
hash = "sha256-tGQGBZAg9nu3s2ulhz65/dmYWWBdaCod0baMoRXOCVU=";
};
nativeBuildInputs = [

View file

@ -58,7 +58,6 @@ buildRubyGem rec {
license = licenses.mit;
maintainers = with maintainers; [
auntie
ericsagnes
];
platforms = platforms.unix;
mainProgram = "tmuxinator";

View file

@ -1,5 +1,6 @@
{
lib,
python3Packages,
fetchFromGitHub,
gexiv2,
gobject-introspection,
@ -8,7 +9,6 @@
intltool,
libnotify,
librsvg,
python3,
runtimeShell,
wrapGAppsHook3,
fehSupport ? false,
@ -17,9 +17,10 @@
imagemagick,
appindicatorSupport ? true,
libayatana-appindicator,
bash,
}:
python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "variety";
version = "0.8.13";
@ -44,8 +45,8 @@ python3.pkgs.buildPythonApplication rec {
librsvg
] ++ lib.optional appindicatorSupport libayatana-appindicator;
propagatedBuildInputs =
with python3.pkgs;
dependencies =
with python3Packages;
[
beautifulsoup4
configobj
@ -73,14 +74,17 @@ python3.pkgs.buildPythonApplication rec {
prePatch = ''
substituteInPlace variety_lib/varietyconfig.py \
--replace "__variety_data_directory__ = \"../data\"" \
--replace-fail "__variety_data_directory__ = \"../data\"" \
"__variety_data_directory__ = \"$out/share/variety\""
substituteInPlace variety/VarietyWindow.py \
--replace '[script,' '["${runtimeShell}", script,' \
--replace 'check_output(script)' 'check_output(["${runtimeShell}", script])'
--replace-fail '[script,' '["${runtimeShell}", script,' \
--replace-fail 'check_output(script)' 'check_output(["${runtimeShell}", script])'
substituteInPlace data/variety-autostart.desktop.template \
--replace-fail "/bin/bash" "${lib.getExe bash}" \
--replace-fail "{VARIETY_PATH}" "variety"
'';
meta = with lib; {
meta = {
homepage = "https://github.com/varietywalls/variety";
description = "Wallpaper manager for Linux systems";
mainProgram = "variety";
@ -96,8 +100,8 @@ python3.pkgs.buildPythonApplication rec {
Variety also includes a range of image effects, such as oil painting and
blur, as well as options to layer quotes and a clock onto the background.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
p3psi
zfnmxt
];

View file

@ -89,7 +89,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.wireguard.com/";
license = licenses.gpl2Only;
maintainers = with maintainers; [
ericsagnes
zx2c4
globin
ma27

View file

@ -8,7 +8,7 @@
python3Packages.buildPythonApplication rec {
pname = "yutto";
version = "2.0.2";
version = "2.0.3";
pyproject = true;
pythonRelaxDeps = true;
@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
owner = "yutto-dev";
repo = "yutto";
tag = "v${version}";
hash = "sha256-msq74sGnUHkaf+e6SFYAtu9nzcXnr+PU21g2O7uR5M0=";
hash = "sha256-giwCLA9M1XR0neLJVfO017Q1wK34yVQpOxUzgShDJL0=";
};
build-system = with python3Packages; [ hatchling ];

View file

@ -1,6 +1,6 @@
# GNOME Shell extensions
All extensions are packaged automatically. They can be found in the `pkgs.gnomeXYExtensions` for XY being a GNOME version. The package names are the extensions UUID, which can be a bit unwieldy to use. `pkgs.gnomeExtensions` is a set of manually curated extensions that match the current `gnome.gnome-shell` versions. Their name is human-friendly, compared to the other extensions sets. Some of its extensions are manually packaged.
All extensions are packaged automatically. They can be found in the `pkgs.gnomeXYExtensions` for XY being a GNOME version. The package names are the extensions UUID, which can be a bit unwieldy to use. `pkgs.gnomeExtensions` is a set of manually curated extensions that match the current `pkgs.gnome-shell` versions. Their name is human-friendly, compared to the other extensions sets. Some of its extensions are manually packaged.
## Automatically packaged extensions
@ -8,19 +8,24 @@ The actual packages are created by `buildGnomeExtension.nix`, provided the corre
### Extensions updates
For everyday updates,
#### For everyday updates,
1. Run `update-extensions.py`.
2. Update `extensionRenames.nix` according to the comment at the top.
For GNOME updates,
#### To package the extensions for new GNOME version,
1. Add a new `gnomeXYExtensions` set
2. Remove old ones for GNOME versions we dont want to support any more
3. Update `supported_versions` in `./update-extensions.py` and re-run it
4. Change `gnomeExtensions` to the new version
5. Update `./extensionsRenames.nix` accordingly
6. Update `all-packages.nix` accordingly (grep for `gnomeExtensions`)
1. Add a new `gnomeXYExtensions` set in `default.nix`.
2. Update `all-packages.nix` accordingly. (grep for `gnomeExtensions`)
3. Update `supported_versions` in `update-extensions.py`.
4. Follow the [For everyday updates](#for-everyday-updates) section.
#### For GNOME updates,
1. Follow the [To package the extensions for new GNOME version](#to-package-the-extensions-for-new-gnome-version) section if required.
2. Update `versions_to_merge` variable in `./update-extensions.py`.
3. Run `update-extensions.py --skip-fetch`, and update `extensionRenames.nix` according to the comment at the top.
4. Update `gnomeExtensions` in `default.nix` to the new versions.
## Manually packaged extensions

View file

@ -4,25 +4,26 @@
"apps-menu@gnome-shell-extensions.gcampax.github.com"
],
"persian-calendar": [
"persian-calendar@iamrezamousavi.gmail.com",
"PersianCalendar@oxygenws.com"
"PersianCalendar@oxygenws.com",
"persian-calendar@iamrezamousavi.gmail.com"
],
"system-monitor": [
"system-monitor@gnome-shell-extensions.gcampax.github.com",
"System_Monitor@bghome.gmail.com"
"System_Monitor@bghome.gmail.com",
"system-monitor@gnome-shell-extensions.gcampax.github.com"
],
"fuzzy-clock": [
"fuzzy-clock@keepawayfromfire.co.uk",
"FuzzyClock@fire-man-x",
"FuzzyClock@johngoetz",
"FuzzyClock@fire-man-x"
"fuzzy-clock@keepawayfromfire.co.uk"
],
"battery-time": [
"batterytime@typeof.pw",
"batime@martin.zurowietz.de"
"batime@martin.zurowietz.de",
"battery-time@eetumos.github.com",
"batterytime@typeof.pw"
],
"nepali-calendar": [
"nepali-date@biplab",
"nepali-calendar-gs-extension@subashghimire.info.np"
"nepali-calendar-gs-extension@subashghimire.info.np",
"nepali-date@biplab"
],
"mouse-follows-focus": [
"mouse-follows-focus@crisidev.org",
@ -33,8 +34,8 @@
"power-profile@fthx"
],
"fullscreen-to-empty-workspace": [
"fullscreen-to-empty-workspace@aiono.dev",
"fullscreen-to-empty-workspace2@corgijan.dev"
"fullscreen-to-empty-workspace2@corgijan.dev",
"fullscreen-to-empty-workspace@aiono.dev"
],
"eur-usd": [
"eur-usd-gshell@vezza.github.com",

View file

@ -76,6 +76,7 @@ rec {
gnome45Extensions = mapUuidNames (produceExtensionsList "45");
gnome46Extensions = mapUuidNames (produceExtensionsList "46");
gnome47Extensions = mapUuidNames (produceExtensionsList "47");
gnome48Extensions = mapUuidNames (produceExtensionsList "48");
# Keep the last three versions in here
gnomeExtensions = lib.trivial.pipe (gnome45Extensions // gnome46Extensions // gnome47Extensions) [

View file

@ -27,6 +27,9 @@
vte,
wrapGAppsHook3,
xdg-utils,
gtk4,
desktop-file-utils,
xdg-user-dirs,
}:
let
# Helper method to reduce redundancy
@ -128,7 +131,10 @@ lib.trivial.pipe super [
inherit gjs;
util_linux = util-linux;
xdg_utils = xdg-utils;
nautilus_gsettings_path = "${glib.getSchemaPath nautilus}";
gtk_update_icon_cache = "${gtk4.out}/bin/gtk4-update-icon-cache";
update_desktop_database = "${desktop-file-utils.out}/bin/update-desktop-database";
xdg_user_dirs = lib.getExe xdg-user-dirs;
nautilus_gsettings_path = glib.getSchemaPath nautilus;
})
];
}))

View file

@ -1,19 +1,59 @@
diff --git a/app/ding.js b/app/ding.js
index 1062bc7..c312d48 100755
diff --git a/app/adw-ding.js b/app/adw-ding.js
index 42cb878c..929ddce2 100755
--- a/app/adw-ding.js
+++ b/app/adw-ding.js
@@ -1,4 +1,4 @@
-#!/usr/bin/env -S gjs -m
+#!@gjs@/bin/gjs -m
/* DING: Desktop Icons New Generation for GNOME Shell
/* ADW-DING: Desktop Icons New Generation for GNOME Shell
*
@@ -535,7 +535,7 @@ const adWDingApp = GObject.registerClass(
]);
const updated = await GLib.spawn_command_line_async(
- 'gtk-update-icon-cache ' +
+ '@gtk_update_icon_cache@ ' +
'-q -t -f ' +
`${iconCachePath}`
);
@@ -566,7 +566,7 @@ const adWDingApp = GObject.registerClass(
// and we need to do it manually for the app to be
// available sooner
const updated = await GLib.spawn_command_line_async(
- 'update-desktop-database -q ' +
+ '@update_desktop_database@ -q ' +
`${GLib.path_get_dirname(appDesktopFile)}`
);
diff --git a/app/adwPreferencesWindow.js b/app/adwPreferencesWindow.js
index 93d53554..8f5bb8fe 100644
--- a/app/adwPreferencesWindow.js
+++ b/app/adwPreferencesWindow.js
@@ -540,7 +540,7 @@ const AdwPreferencesWindow = class {
}
setDesktopFolder(path) {
- const command = 'xdg-user-dirs-update --set DESKTOP';
+ const command = '@xdg_user_dirs@/bin/xdg-user-dirs-update --set DESKTOP';
try {
GLib.spawn_command_line_async(
@@ -564,7 +564,7 @@ const AdwPreferencesWindow = class {
}
getCurrentDesktopFolder() {
- const command = 'xdg-user-dir DESKTOP';
+ const command = '@xdg_user_dirs@/bin/xdg-user-dir DESKTOP';
const decoder = new TextDecoder();
const [, out,, status] = GLib.spawn_command_line_sync(command);
diff --git a/app/enums.js b/app/enums.js
index 2b541f3..594d288 100644
index 5434fa7a..e36d3670 100644
--- a/app/enums.js
+++ b/app/enums.js
@@ -124,7 +124,8 @@ export const THUMBNAILS_DIR = '.cache/thumbnails';
export const DND_HOVER_TIMEOUT = 500; // In milliseconds
@@ -134,7 +134,8 @@ export const THUMBNAILS_DIR = '.cache/thumbnails';
export const DND_HOVER_TIMEOUT = 1500; // In milliseconds
export const DND_SHELL_HOVER_POLL = 200; // In milliseconds
export const TOOLTIP_HOVER_TIMEOUT = 1000; // In milliseconds
-export const XDG_EMAIL_CMD = 'xdg-email';
@ -23,40 +63,40 @@ index 2b541f3..594d288 100644
export const ZIP_CMD = 'zip';
export const ZIP_CMD_OPTIONS = '-r';
diff --git a/app/preferences.js b/app/preferences.js
index 6849a86..83a7247 100644
index 95ffe60b..75370403 100644
--- a/app/preferences.js
+++ b/app/preferences.js
@@ -29,6 +29,7 @@ const Preferences = class {
this._programVersion = Data.programversion;
@@ -30,6 +30,7 @@ const Preferences = class {
this._mainApp = Data.mainApp;
this._Enums = Data.Enums;
let schemaSource = GioSSS.get_default();
+ const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
this._desktopManager = null;
// Gtk
@@ -36,7 +37,7 @@ const Preferences = class {
this.gtkSettings = new Gio.Settings({settings_schema: schemaGtk});
// Adw Style Manager
@@ -52,7 +53,7 @@ const Preferences = class {
// Gnome Files
- let schemaObj = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
+ let schemaObj = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
const schemaObj =
- schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
+ schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
if (!schemaObj) {
this.nautilusSettings = null;
this.CLICK_POLICY_SINGLE = false;
@@ -48,7 +49,7 @@ const Preferences = class {
@@ -69,7 +70,7 @@ const Preferences = class {
// Compression
- const compressionSchema = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
+ const compressionSchema = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
if (!compressionSchema)
const compressionSchema =
- schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
+ schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
if (!compressionSchema) {
this.nautilusCompression = null;
else
diff --git a/dingManager.js b/dingManager.js
index f1b497f..29f2156 100644
index 7a0de9e3..bbc23704 100644
--- a/dingManager.js
+++ b/dingManager.js
@@ -401,7 +401,7 @@ const DingManager = class {
@@ -482,7 +482,7 @@ const DingManager = class {
async _doKillAllOldDesktopProcesses() {
const procFolder = Gio.File.new_for_path('/proc');
const processes = await FileUtils.enumerateDir(procFolder);
@ -64,21 +104,21 @@ index f1b497f..29f2156 100644
+ const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([
this.path,
'app',
'ding.js',
@@ -425,7 +425,7 @@ const DingManager = class {
}
'adw-ding.js',
@@ -510,7 +510,7 @@ const DingManager = class {
if (contents.startsWith(thisPath)) {
- let proc = new Gio.Subprocess({argv: ['/bin/kill', filename]});
+ let proc = new Gio.Subprocess({argv: ['@util_linux@/bin/kill', filename]});
let proc =
- new Gio.Subprocess({argv: ['/bin/kill', filename]});
+ new Gio.Subprocess({argv: ['@util_linux@/bin/kill', filename]});
proc.init(null);
console.log(`Killing old DING process ${filename}`);
await proc.wait_async_promise(null);
diff --git a/prefs.js b/prefs.js
index 5ed03f6..5302836 100644
index 50430fa5..82fca2e3 100644
--- a/prefs.js
+++ b/prefs.js
@@ -30,7 +30,8 @@ export default class dingPreferences extends ExtensionPreferences {
@@ -34,7 +34,8 @@ export default class dingPreferences extends ExtensionPreferences {
const schemaSource = GioSSS.get_default();
const schemaGtk = schemaSource.lookup(Enums.SCHEMA_GTK, true);
const gtkSettings = new Gio.Settings({settings_schema: schemaGtk});
@ -86,5 +126,5 @@ index 5ed03f6..5302836 100644
+ const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
+ const schemaNautilus = schemaSourceNautilus.lookup(Enums.SCHEMA_NAUTILUS, true);
const version = this.metadata['version-name'];
let nautilusSettings;
if (!schemaNautilus)

View file

@ -17,6 +17,7 @@
"fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
"FuzzyClock@johngoetz" = "fuzzy-clock";
"battery-time@eetumos.github.com" = "battery-time-3";
"batterytime@typeof.pw" = "battery-time-2";
"batime@martin.zurowietz.de" = "battery-time";

File diff suppressed because one or more lines are too long

View file

@ -1,16 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../.. -i python3 -p python3
### After making change:
### - Format the script by running: nix run nixpkgs#black pkgs/desktops/gnome/extensions/update-extensions.py
### - Run the unit test by running: python3 -m unittest pkgs/desktops/gnome/extensions/update-extensions.py
### - Run the type checking by running: nix run nixpkgs#mypy pkgs/desktops/gnome/extensions/update-extensions.py
import base64
import json
import logging
import argparse
import unittest
import subprocess
import urllib.error
import urllib.request
from contextlib import contextmanager
from operator import itemgetter
from pathlib import Path
from typing import List, Dict, Optional, Any, Tuple, Set
from typing import Any
# We don't want all those deprecated legacy extensions
# Group extensions by GNOME "major" version for compatibility reasons
@ -24,26 +31,22 @@ supported_versions = {
"45": "45",
"46": "46",
"47": "47",
"48": "48",
}
# shell versions that we want to put into the gnomeExtensions attr set
versions_to_merge = ["45", "46", "47"]
# Some type alias to increase readability of complex compound types
PackageName = str
ShellVersion = str
Uuid = str
ExtensionVersion = int
# Keep track of all names that have been used till now to detect collisions.
# This works because we deterministically process all extensions in historical order
# The outer dict level is the shell version, as we are tracking duplicates only per same Shell version.
# key: shell version, value: Dict with key: pname, value: list of UUIDs with that pname
package_name_registry: Dict[ShellVersion, Dict[PackageName, List[Uuid]]] = {}
for shell_version in supported_versions.keys():
package_name_registry[shell_version] = {}
updater_dir_path = Path(__file__).resolve().parent
def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]:
def fetch_extension_data(uuid: str, version: str) -> tuple[str, str]:
"""
Download the extension and hash it. We use `nix-prefetch-url` for this for efficiency reasons.
Returns a tuple with the hash (Nix-compatible) of the zip file's content and the base64-encoded content of its metadata.json.
@ -51,22 +54,28 @@ def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]:
# The download URLs follow this schema
uuid = uuid.replace("@", "")
url: str = f"https://extensions.gnome.org/extension-data/{uuid}.v{version}.shell-extension.zip"
url: str = (
f"https://extensions.gnome.org/extension-data/{uuid}.v{version}.shell-extension.zip"
)
# Download extension and add the zip content to nix-store
for _ in range(0, 10):
process = subprocess.run(
["nix-prefetch-url", "--unpack", "--print-path", url], capture_output=True, text=True
["nix-prefetch-url", "--unpack", "--print-path", url],
capture_output=True,
text=True,
)
if process.returncode == 0:
break
else:
logging.warning(f"Nix-prefetch-url failed for {url}:")
logging.warning(f"Stderr: {process.stderr}")
logging.warning(f"Retrying")
logging.warning("Retrying")
if process.returncode != 0:
raise Exception("Retried 10 times, but still failed to download the extension. Exiting.")
raise Exception(
"Retried 10 times, but still failed to download the extension. Exiting."
)
lines = process.stdout.splitlines()
@ -84,8 +93,9 @@ def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]:
def generate_extension_versions(
extension_version_map: Dict[ShellVersion, ExtensionVersion], uuid: str
) -> Dict[ShellVersion, Dict[str, str]]:
extension_version_map: dict[ShellVersion, ExtensionVersion],
uuid: str,
) -> dict[ShellVersion, dict[str, str]]:
"""
Takes in a mapping from shell versions to extension versions and transforms it the way we need it:
- Only take one extension version per GNOME Shell major version (as per `supported_versions`)
@ -94,10 +104,10 @@ def generate_extension_versions(
"""
# Determine extension version per shell version
extension_versions: Dict[ShellVersion, ExtensionVersion] = {}
extension_versions: dict[ShellVersion, ExtensionVersion] = {}
for shell_version, version_prefix in supported_versions.items():
# Newest compatible extension version
extension_version: Optional[int] = max(
extension_version: int | None = max(
(
int(ext_ver)
for shell_ver, ext_ver in extension_version_map.items()
@ -112,16 +122,16 @@ def generate_extension_versions(
extension_versions[shell_version] = extension_version
# Download information once for all extension versions chosen above
extension_info_cache: Dict[ExtensionVersion, Tuple[str, str]] = {}
extension_info_cache: dict[ExtensionVersion, tuple[str, str]] = {}
for extension_version in sorted(set(extension_versions.values())):
logging.debug(
f"[{uuid}] Downloading v{extension_version}"
logging.debug(f"[{uuid}] Downloading v{extension_version}")
extension_info_cache[extension_version] = fetch_extension_data(
uuid,
str(extension_version),
)
extension_info_cache[extension_version] = \
fetch_extension_data(uuid, str(extension_version))
# Fill map
extension_versions_full: Dict[ShellVersion, Dict[str, str]] = {}
extension_versions_full: dict[ShellVersion, dict[str, str]] = {}
for shell_version, extension_version in extension_versions.items():
sha256, metadata = extension_info_cache[extension_version]
@ -136,7 +146,7 @@ def generate_extension_versions(
return extension_versions_full
def pname_from_url(url: str) -> Tuple[str, str]:
def pname_from_url(url: str) -> tuple[str, str]:
"""
Parse something like "/extension/1475/battery-time/" and output ("battery-time", "1475")
"""
@ -145,7 +155,7 @@ def pname_from_url(url: str) -> Tuple[str, str]:
return url[3], url[2]
def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
def process_extension(extension: dict[str, Any]) -> dict[str, Any] | None:
"""
Process an extension. It takes in raw scraped data and downloads all the necessary information that buildGnomeExtension.nix requires
@ -196,11 +206,11 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
# Input is a mapping str -> { version: int, … }
# We want to map shell versions to extension versions
shell_version_map: Dict[ShellVersion, int] = {
shell_version_map: dict[ShellVersion, int] = {
k: v["version"] for k, v in extension["shell_version_map"].items()
}
# Transform shell_version_map to be more useful for us. Also throw away unwanted versions
shell_version_map: Dict[ShellVersion, Dict[str, str]] = generate_extension_versions(shell_version_map, uuid) # type: ignore
shell_version_map: dict[ShellVersion, dict[str, str]] = generate_extension_versions(shell_version_map, uuid) # type: ignore
# No compatible versions found
if not shell_version_map:
@ -209,13 +219,6 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
# Fetch a human-readable name for the package.
(pname, _pname_id) = pname_from_url(extension["link"])
for shell_version in shell_version_map.keys():
if pname in package_name_registry[shell_version]:
logging.warning(f"Package name '{pname}' for GNOME '{shell_version}' is colliding.")
package_name_registry[shell_version][pname].append(uuid)
else:
package_name_registry[shell_version][pname] = [uuid]
return {
"uuid": uuid,
"name": extension["name"],
@ -227,10 +230,16 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
@contextmanager
def request(url: str, retries: int = 5, retry_codes: List[int] = [ 500, 502, 503, 504 ]):
def request(url: str, retries: int = 5, retry_codes: list[int] = [500, 502, 503, 504]):
req = urllib.request.Request(
url,
headers={
"User-Agent": "NixpkgsGnomeExtensionUpdate (+https://github.com/NixOS/nixpkgs)"
},
)
for attempt in range(retries + 1):
try:
with urllib.request.urlopen(url) as response:
with urllib.request.urlopen(req) as response:
yield response
break
except urllib.error.HTTPError as e:
@ -240,7 +249,7 @@ def request(url: str, retries: int = 5, retry_codes: List[int] = [ 500, 502, 503
raise e
def scrape_extensions_index() -> List[Dict[str, Any]]:
def scrape_extensions_index() -> list[dict[str, Any]]:
"""
Scrape the list of extensions by sending search queries to the API. We simply go over it
page by page until we hit a non-full page or a 404 error.
@ -255,7 +264,7 @@ def scrape_extensions_index() -> List[Dict[str, Any]]:
try:
with request(
f"https://extensions.gnome.org/extension-query/?n_per_page=25&page={page}"
f"https://extensions.gnome.org/extension-query/?n_per_page=25&page={page}"
) as response:
data = json.loads(response.read().decode())["extensions"]
response_length = len(data)
@ -282,19 +291,21 @@ def scrape_extensions_index() -> List[Dict[str, Any]]:
return extensions
if __name__ == "__main__":
logging.basicConfig(level=logging.DEBUG)
def fetch_extensions() -> list[dict[str, Any]]:
raw_extensions = scrape_extensions_index()
logging.info(f"Downloaded {len(raw_extensions)} extensions. Processing …")
processed_extensions: List[Dict[str, Any]] = []
processed_extensions: list[dict[str, Any]] = []
for num, raw_extension in enumerate(raw_extensions):
processed_extension = process_extension(raw_extension)
if processed_extension:
processed_extensions.append(processed_extension)
logging.debug(f"Processed {num + 1} / {len(raw_extensions)}")
return processed_extensions
def serialize_extensions(processed_extensions: list[dict[str, Any]]) -> None:
# We micro-manage a lot of the serialization process to keep the diffs optimal.
# We generally want most of the attributes of an extension on one line,
# but then each of its supported versions with metadata on a new line.
@ -306,46 +317,127 @@ if __name__ == "__main__":
else:
out.write(", ")
# Dump each extension into a single-line string forst
extension = json.dumps(extension, ensure_ascii=False)
serialized_extension = json.dumps(extension, ensure_ascii=False)
# Inject line breaks for each supported version
for version in supported_versions:
# This one only matches the first entry
extension = extension.replace(f"{{\"{version}\": {{", f"{{\n \"{version}\": {{")
serialized_extension = serialized_extension.replace(
f'{{"{version}": {{',
f'{{\n "{version}": {{',
)
# All other entries
extension = extension.replace(f", \"{version}\": {{", f",\n \"{version}\": {{")
serialized_extension = serialized_extension.replace(
f', "{version}": {{',
f',\n "{version}": {{',
)
# One last line break around the closing braces
extension = extension.replace("}}}", "}\n }}")
serialized_extension = serialized_extension.replace("}}}", "}\n }}")
out.write(extension)
out.write(serialized_extension)
out.write("\n")
out.write("]\n")
logging.info(
f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)"
def find_collisions(
extensions: list[dict[str, Any]],
versions: list[str],
) -> dict[PackageName, list[Uuid]]:
package_name_registry: dict[PackageName, set[Uuid]] = {}
for extension in extensions:
pname = extension["pname"]
uuid = extension["uuid"]
for shell_version in versions:
if shell_version in extension["shell_version_map"]:
package_name_registry.setdefault(pname, set()).add(uuid)
return {
pname: sorted(uuids)
for pname, uuids in package_name_registry.items()
if len(uuids) > 1
}
def main() -> None:
logging.basicConfig(level=logging.DEBUG)
parser = argparse.ArgumentParser()
parser.add_argument(
"--skip-fetch",
action="store_true",
help="Skip fetching extensions. When this option is set, the script does not fetch extensions from the internet, but checks for name collisions.",
)
args = parser.parse_args()
if not args.skip_fetch:
processed_extensions = fetch_extensions()
serialize_extensions(processed_extensions)
logging.info(
f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)"
)
with open(updater_dir_path / "extensions.json", "r") as out:
# Check that the generated file actually is valid JSON, just to be sure
json.load(out)
extensions = json.load(out)
collisions = find_collisions(extensions, versions_to_merge)
with open(updater_dir_path / "collisions.json", "w") as out:
# Find the name collisions only for the last 3 shell versions
last_3_versions = sorted(supported_versions.keys(), key=lambda v: float(v), reverse=True)[:3]
package_name_registry_for_versions = [v for k, v in package_name_registry.items() if k in last_3_versions]
# Merge all package names into a single dictionary
package_name_registry_filtered: Dict[PackageName, Set[Uuid]] = {}
for pkgs in package_name_registry_for_versions:
for pname, uuids in pkgs.items():
if pname not in package_name_registry_filtered:
package_name_registry_filtered[pname] = set()
package_name_registry_filtered[pname].update(uuids)
# Filter out those that are not duplicates
package_name_registry_filtered = {k: v for k, v in package_name_registry_filtered.items() if len(v) > 1}
# Convert set to list
collisions: Dict[PackageName, List[Uuid]] = {k: list(v) for k, v in package_name_registry_filtered.items()}
json.dump(collisions, out, indent=2, ensure_ascii=False)
out.write("\n")
logging.info(
"Done. Writing name collisions to collisions.json (please check manually)"
)
if __name__ == "__main__":
main()
class FindCollisions(unittest.TestCase):
extensions = [
{
"pname": "foo",
"uuid": "foo_38_to_40@doe.example",
"shell_version_map": {
"38": {},
"40": {},
},
},
{
"pname": "bar",
"uuid": "bar_42_to_45@chulsoo.example",
"shell_version_map": {
"42": {},
"43": {},
"44": {},
"45": {},
},
},
{
"pname": "bar",
"uuid": "bar_44_to_47@younghee.example",
"shell_version_map": {
"44": {},
"45": {},
"46": {},
"47": {},
},
},
]
def test_no_collision(self) -> None:
self.assertEqual(
{},
find_collisions(self.extensions, ["40", "41", "42"]),
)
def test_collision(self) -> None:
self.assertEqual(
{
"bar": [
"bar_42_to_45@chulsoo.example",
"bar_44_to_47@younghee.example",
],
},
find_collisions(self.extensions, ["45", "46", "47"]),
)

View file

@ -1,6 +1,6 @@
{
"hash": "sha256-ogWq6oLyZzzvxGTqEEoPMXdtfbobUyXcC5bXXxBxfuo=",
"hash": "sha256-vXZNi6whn0GpL02DBaGAp40vYOP6BkJrLOhhL9df2kA=",
"owner": "openjdk",
"repo": "jdk24u",
"rev": "refs/tags/jdk-24+36"
"rev": "refs/tags/jdk-24.0.1+9"
}

View file

@ -13,6 +13,10 @@ let
defaultVersion =
with lib.versions;
lib.switch coq.coq-version [
{
case = isEq "9.0";
out = "2.2.5";
}
{
case = range "8.18" "8.20";
out = "2.2.1";
@ -42,6 +46,8 @@ let
release."2.1.7".sha256 = "sha256-HsLv2ziPIUK6Q5/xz8ZvaGWggUCK1AKv47U5M7SCcKU=";
release."2.2.1".rev = "v2.2.1";
release."2.2.1".sha256 = "sha256-miIVAv/8jlP1pXnoK1MWz4O6nlmb309a8UjcCivbiB4=";
release."2.2.5".rev = "v2.2.5";
release."2.2.5".sha256 = "sha256-XyIjwem/yS7UIpQATNixgKkrMOHHs74nkAOvpU5WG1k=";
inherit location;
});
fetched = fetch (if version != null then version else defaultVersion);

View file

@ -1,6 +1,6 @@
{
stdenv,
lib,
stdenv,
fetchFromGitHub,
cmake,
wrapGAppsHook3,
@ -24,6 +24,7 @@
libtiff,
libgeotiff,
libjpeg,
qhull,
# eccodes is broken on darwin
enableGRIB ? stdenv.hostPlatform.isLinux,
eccodes,
@ -32,7 +33,6 @@
# We enable it in hdf4 and use libtirpc as a dependency here from the passthru
# of hdf4
enableLibtirpc ? stdenv.hostPlatform.isLinux,
libtirpc,
python3,
enableMPI ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin),
# Choose MPICH over OpenMPI because it currently builds on AArch and Darwin
@ -109,19 +109,31 @@ let
;
};
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnudatalanguage";
version = "1.0.1";
version = "1.1.1";
src = fetchFromGitHub {
owner = pname;
owner = "gnudatalanguage";
repo = "gdl";
rev = "v${version}";
sha256 = "sha256-IrCLL8MQp0SkWj7sbfZlma5FrnMbgdl4E/1nPGy0Y60=";
tag = "v${finalAttrs.version}";
hash = "sha256-fLsa/R8+7QZcxjqJLnHZivRF6dD4a6J6KuCqYvazaCU=";
fetchSubmodules = true;
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'FATAL_ERROR "The src' 'WARNING "The src' \
--replace-fail "find_package(Git REQUIRED)" "" \
--replace-fail "-D GIT_EXECUTABLE=''${GIT_EXECUTABLE}" ""
echo -e 'set(VERSION "${finalAttrs.version}")\n\nconfigure_file(''${SRC} ''${DST})' > CMakeModules/GenerateVersionHeader.cmake
'';
nativeBuildInputs = [ cmake ] ++ lib.optional enableWX wrapGAppsHook3;
buildInputs =
[
qhull
readline
ncurses
zlib
@ -159,10 +171,6 @@ stdenv.mkDerivation rec {
(python3.withPackages (ps: with ps; [ numpy ]))
];
nativeBuildInputs = [
cmake
] ++ lib.optional enableWX wrapGAppsHook3;
cmakeFlags =
lib.optional (!enableHDF4) "-DHDF=OFF"
++ [ (if enableHDF5 then "-DHDF5DIR=${hdf5-custom}" else "-DHDF5=OFF") ]
@ -197,6 +205,8 @@ stdenv.mkDerivation rec {
"test_call_external"
"test_tic_toc"
"test_timestamp"
"test_bugs_poly2d"
"test_formats"
]
}'")
'';
@ -217,7 +227,7 @@ stdenv.mkDerivation rec {
;
};
meta = with lib; {
meta = {
description = "Free incremental compiler of IDL";
longDescription = ''
GDL (GNU Data Language) is a free/libre/open source incremental compiler
@ -225,9 +235,9 @@ stdenv.mkDerivation rec {
GDL is aimed as a drop-in replacement for IDL.
'';
homepage = "https://github.com/gnudatalanguage/gdl";
license = licenses.gpl2Only;
maintainers = with maintainers; [ ShamrockLee ];
platforms = platforms.all;
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ ShamrockLee ];
platforms = lib.platforms.all;
mainProgram = "gdl";
};
}
})

View file

@ -4,8 +4,8 @@ let
base = callPackage ./generic.nix (
_args
// {
version = "8.3.20";
hash = "sha256-NrTmoyPNRWc6VPKW6dJma39d9XZBAxx3xP2BN7xOvrM=";
version = "8.3.21";
hash = "sha256-0HaebhHPpsWaFt4kFmi+jH8xpymVCo0GGQ360thiKwQ=";
}
);
in

View file

@ -4,8 +4,8 @@ let
base = callPackage ./generic.nix (
_args
// {
version = "8.4.6";
hash = "sha256-nPJzRQm2A/ZYlherUqlxKgPg/gWZUc3dLUYj30v3xsY=";
version = "8.4.7";
hash = "sha256-bsyxsGpN2c6jFNvnDHYtPUdlRxy26/kludowiXi/+Yg=";
}
);
in

View file

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "biliass";
version = "2.2.0";
version = "2.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "yutto-dev";
repo = "yutto";
tag = "biliass@${version}";
hash = "sha256-IrzFjjMNuD5UgdccHxIxZoeZpM1PGtVQRTWHOocnmAU=";
hash = "sha256-IQokpJbUhR8FMCJcxPSDD1X1o+Lb2j1G7d/jFEsR/Eg=";
};
sourceRoot = "${src.name}/packages/biliass";
@ -30,7 +30,7 @@ buildPythonPackage rec {
src
;
sourceRoot = "${sourceRoot}/${cargoRoot}";
hash = "sha256-yR2eVsomepIh9ILon7PrAj2EBgI/vwN3JgRSR/3R1Mk=";
hash = "sha256-tkHl6z0En+od//fCGJXK/p8Dz5KDOXltHrXhxHmHL6U=";
};
nativeBuildInputs = with rustPlatform; [

View file

@ -42,6 +42,6 @@ buildPythonPackage rec {
changelog = "https://github.com/pydanny/cached-property/releases/tag/${version}";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
};
}

View file

@ -21,6 +21,6 @@ buildPythonPackage rec {
description = "Wrapper for the pocket API";
homepage = "https://github.com/tapanpandita/pocket";
license = licenses.bsd3;
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ];
};
}

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "pytest-scim2-server";
version = "0.1.2";
version = "0.1.3";
pyproject = true;
@ -21,7 +21,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "pytest_scim2_server";
inherit version;
hash = "sha256-uWWFqkloTkvtIfpBNy93fa+c+b/FATjwytLKRde4bHg=";
hash = "sha256-iZrKKUfbqAAhugSNhqiCy6mVBoXxa0yruiQzHg0pIDY=";
};
build-system = [ hatchling ];

Some files were not shown because too many files have changed in this diff Show more