mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 12:15:34 +03:00
Merge master into staging-next
This commit is contained in:
commit
d0bd8b838a
110 changed files with 5035 additions and 1951 deletions
|
@ -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.
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -22,7 +22,7 @@ file.
|
|||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ ericsagnes ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
doc = ./default.md;
|
||||
buildDocsInSandbox = true;
|
||||
};
|
||||
|
|
|
@ -113,7 +113,7 @@ in
|
|||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ ericsagnes ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
doc = ./default.md;
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = [ ];
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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};
|
||||
};
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
}:
|
||||
|
||||
assert libXtSupport -> libX11Support;
|
||||
assert libraqmSupport -> freetypeSupport;
|
||||
|
||||
let
|
||||
arch =
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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 = [ ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
})
|
||||
|
|
38
pkgs/by-name/ch/chcase/package.nix
Normal file
38
pkgs/by-name/ch/chcase/package.nix
Normal 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 ];
|
||||
};
|
||||
})
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
8
pkgs/by-name/cl/claude-code/package-lock.json
generated
8
pkgs/by-name/cl/claude-code/package-lock.json
generated
|
@ -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": {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -142,7 +142,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
lgpl3Only
|
||||
];
|
||||
maintainers = with maintainers; [
|
||||
ericsagnes
|
||||
lovesegfault
|
||||
techknowlogick
|
||||
kiike
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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"
|
||||
|
|
87
pkgs/by-name/gp/gpt-box/package.nix
Normal file
87
pkgs/by-name/gp/gpt-box/package.nix
Normal 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 ];
|
||||
};
|
||||
}
|
2249
pkgs/by-name/gp/gpt-box/pubspec.lock.json
Normal file
2249
pkgs/by-name/gp/gpt-box/pubspec.lock.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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
|
|
@ -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;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
})
|
||||
|
|
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
license = licenses.asl20;
|
||||
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -26,7 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
homepage = "https://chewing.im/";
|
||||
license = licenses.lgpl21Only;
|
||||
maintainers = with maintainers; [
|
||||
ericsagnes
|
||||
ShamrockLee
|
||||
];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -51,7 +51,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
linsui
|
||||
ericsagnes
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
})
|
||||
|
|
|
@ -106,7 +106,6 @@ buildBazelPackage rec {
|
|||
license = licenses.free;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [
|
||||
ericsagnes
|
||||
pineapplehunter
|
||||
];
|
||||
};
|
||||
|
|
|
@ -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=";
|
||||
|
|
|
@ -94,7 +94,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
license = lib.licenses.lgpl21;
|
||||
mainProgram = "notion";
|
||||
maintainers = with lib.maintainers; [
|
||||
jfb
|
||||
raboof
|
||||
NotAShelf
|
||||
];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
})
|
||||
|
|
|
@ -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=";
|
||||
|
|
|
@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
|
|||
mainProgram = "ponymix";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -58,7 +58,6 @@ buildRubyGem rec {
|
|||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
auntie
|
||||
ericsagnes
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "tmuxinator";
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -89,7 +89,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://www.wireguard.com/";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [
|
||||
ericsagnes
|
||||
zx2c4
|
||||
globin
|
||||
ma27
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 extension’s 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 extension’s 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 don’t 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
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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) [
|
||||
|
|
|
@ -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;
|
||||
})
|
||||
];
|
||||
}))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
@ -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"]),
|
||||
)
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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; [
|
||||
|
|
|
@ -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; [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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; [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue