mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-13 21:25:30 +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`,
|
This function does not add support for deduplication and `disabledModules`,
|
||||||
although that could be achieved by wrapping the returned module and setting
|
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
|
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
|
a unique identifier for the module, as two instances of the module may
|
||||||
reference different `arg`s in their closures.
|
reference different `arg`s in their closures.
|
||||||
|
|
|
@ -7440,12 +7440,6 @@
|
||||||
githubId = 7820865;
|
githubId = 7820865;
|
||||||
name = "Eric Dallo";
|
name = "Eric Dallo";
|
||||||
};
|
};
|
||||||
ericsagnes = {
|
|
||||||
email = "eric.sagnes@gmail.com";
|
|
||||||
github = "ericsagnes";
|
|
||||||
githubId = 367880;
|
|
||||||
name = "Eric Sagnes";
|
|
||||||
};
|
|
||||||
ericson2314 = {
|
ericson2314 = {
|
||||||
email = "John.Ericson@Obsidian.Systems";
|
email = "John.Ericson@Obsidian.Systems";
|
||||||
matrix = "@ericson2314:matrix.org";
|
matrix = "@ericson2314:matrix.org";
|
||||||
|
@ -11403,12 +11397,6 @@
|
||||||
githubId = 110620;
|
githubId = 110620;
|
||||||
name = "Jevin Maltais";
|
name = "Jevin Maltais";
|
||||||
};
|
};
|
||||||
jfb = {
|
|
||||||
email = "james@yamtime.com";
|
|
||||||
github = "tftio";
|
|
||||||
githubId = 143075;
|
|
||||||
name = "James Felix Black";
|
|
||||||
};
|
|
||||||
jfchevrette = {
|
jfchevrette = {
|
||||||
email = "jfchevrette@gmail.com";
|
email = "jfchevrette@gmail.com";
|
||||||
github = "jfchevrette";
|
github = "jfchevrette";
|
||||||
|
|
|
@ -22,7 +22,7 @@ file.
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = with lib.maintainers; [ ericsagnes ];
|
maintainers = with lib.maintainers; [ ];
|
||||||
doc = ./default.md;
|
doc = ./default.md;
|
||||||
buildDocsInSandbox = true;
|
buildDocsInSandbox = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -113,7 +113,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = with lib.maintainers; [ ericsagnes ];
|
maintainers = with lib.maintainers; [ ];
|
||||||
doc = ./default.md;
|
doc = ./default.md;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -188,6 +188,7 @@ let
|
||||||
[ "--docker-image ${service.dockerImage}" ]
|
[ "--docker-image ${service.dockerImage}" ]
|
||||||
++ optional service.dockerDisableCache "--docker-disable-cache"
|
++ optional service.dockerDisableCache "--docker-disable-cache"
|
||||||
++ optional service.dockerPrivileged "--docker-privileged"
|
++ 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-volumes ${escapeShellArg v}") service.dockerVolumes
|
||||||
++ map (v: "--docker-extra-hosts ${escapeShellArg v}") service.dockerExtraHosts
|
++ map (v: "--docker-extra-hosts ${escapeShellArg v}") service.dockerExtraHosts
|
||||||
++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages
|
++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages
|
||||||
|
@ -482,6 +483,19 @@ in
|
||||||
Docker image to be used.
|
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 {
|
dockerVolumes = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [ ];
|
default = [ ];
|
||||||
|
|
|
@ -90,6 +90,12 @@ in
|
||||||
"extraConfig"
|
"extraConfig"
|
||||||
] "Use services.postgresql.settings instead.")
|
] "Use services.postgresql.settings instead.")
|
||||||
|
|
||||||
|
(mkRemovedOptionModule [
|
||||||
|
"services"
|
||||||
|
"postgresql"
|
||||||
|
"recoveryConfig"
|
||||||
|
] "PostgreSQL v12+ doesn't support recovery.conf.")
|
||||||
|
|
||||||
(mkRenamedOptionModule
|
(mkRenamedOptionModule
|
||||||
[ "services" "postgresql" "logLinePrefix" ]
|
[ "services" "postgresql" "logLinePrefix" ]
|
||||||
[ "services" "postgresql" "settings" "log_line_prefix" ]
|
[ "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 {
|
superUser = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "postgres";
|
default = "postgres";
|
||||||
|
@ -741,10 +739,6 @@ in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -sfn "${configFile}/postgresql.conf" "${cfg.dataDir}/postgresql.conf"
|
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.
|
# Wait for PostgreSQL to be ready to accept connections.
|
||||||
|
|
|
@ -55,6 +55,10 @@ let
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
allowSubstitutes = false;
|
allowSubstitutes = false;
|
||||||
packages = lib.unique (map toString udevPackages);
|
packages = lib.unique (map toString udevPackages);
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgs.systemdMinimal
|
||||||
|
];
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
|
@ -147,6 +151,11 @@ let
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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
|
# If auto-configuration is disabled, then remove
|
||||||
# udev's 80-drivers.rules file, which contains rules for
|
# udev's 80-drivers.rules file, which contains rules for
|
||||||
# automatically calling modprobe.
|
# automatically calling modprobe.
|
||||||
|
|
|
@ -121,11 +121,14 @@ import ./make-test-python.nix (
|
||||||
# "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}"
|
# "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}"
|
||||||
# )
|
# )
|
||||||
|
|
||||||
# Assert that some extension is in a specific state
|
def getState(extension):
|
||||||
def checkState(target, extension):
|
return machine.succeed(
|
||||||
state = machine.succeed(
|
|
||||||
f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'"
|
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}"
|
assert target in state, f"{state} instead of {target}"
|
||||||
|
|
||||||
def checkExtension(extension, disable):
|
def checkExtension(extension, disable):
|
||||||
|
@ -143,6 +146,10 @@ import ./make-test-python.nix (
|
||||||
# Enable and optionally disable
|
# Enable and optionally disable
|
||||||
|
|
||||||
machine.succeed(f"${run "gnome-extensions enable {extension}"}")
|
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)
|
checkState("ACTIVE", extension)
|
||||||
|
|
||||||
if disable:
|
if disable:
|
||||||
|
|
|
@ -38,17 +38,17 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "reaper";
|
pname = "reaper";
|
||||||
version = "7.36";
|
version = "7.38";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
||||||
hash =
|
hash =
|
||||||
if stdenv.hostPlatform.isDarwin then
|
if stdenv.hostPlatform.isDarwin then
|
||||||
"sha256-++LWAnOUNVe3EOkBMlHizaBSQ5B2DJPhNUT8w2mTuiI="
|
"sha256-2DmwbOQ1sNVL3krlG27KOdhuwalZRjafuWzWFYiWpng="
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
x86_64-linux = "sha256-wQIDTumxQI8S446u87noYvIx/pyfCa/Xe1U/Ot/7ESY=";
|
x86_64-linux = "sha256-GiN20Dj+kBNbOI1CASCDJFIUbOYfBc5K/bwf42Pc3Zk=";
|
||||||
aarch64-linux = "sha256-5AkwRG1+xDVAhEOUTdpK1G7+qjE68zr4hs55mMQivmM=";
|
aarch64-linux = "sha256-CziepFXytiMJ7eMtCziaYphYgYQJywQ9JtrLHzBU5Cw=";
|
||||||
}
|
}
|
||||||
.${stdenv.hostPlatform.system};
|
.${stdenv.hostPlatform.system};
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,12 +7,12 @@
|
||||||
vimUtils,
|
vimUtils,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "0-unstable-2025-04-24";
|
version = "0-unstable-2025-04-28";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nvim-pack";
|
owner = "nvim-pack";
|
||||||
repo = "nvim-spectre";
|
repo = "nvim-spectre";
|
||||||
rev = "4497feffb18db4bab6e698bcb695228c19421282";
|
rev = "197150cd3f30eeb1b3fd458339147533d91ac385";
|
||||||
hash = "sha256-pWSHOvV0VEouCyhrtn63k7+Lvs6reS81YJJCR3Ygnwg=";
|
hash = "sha256-ATW1QJ2aXHcUtGK6MNLSq4VkML3FLQphVcLqfzoX9PI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
spectre_oxi = rustPlatform.buildRustPackage {
|
spectre_oxi = rustPlatform.buildRustPackage {
|
||||||
|
|
|
@ -13,13 +13,13 @@
|
||||||
}:
|
}:
|
||||||
mkLibretroCore {
|
mkLibretroCore {
|
||||||
core = "ppsspp";
|
core = "ppsspp";
|
||||||
version = "0-unstable-2025-04-24";
|
version = "0-unstable-2025-05-08";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hrydgard";
|
owner = "hrydgard";
|
||||||
repo = "ppsspp";
|
repo = "ppsspp";
|
||||||
rev = "a39eb4dc4ba05f5c7d292f7547a1502986b07e9f";
|
rev = "732d05c2c136856a3f173574233a2431a015a6f5";
|
||||||
hash = "sha256-MlNQMQY+0XDftaEOiiE+uZePYLsCzG4auRfqpw8Qzw4=";
|
hash = "sha256-5PVN8qG0ONsro6jH/8rAIma+4DlKAUoS/6aUPqBqbe4=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
}:
|
}:
|
||||||
mkLibretroCore {
|
mkLibretroCore {
|
||||||
core = "vice-${type}";
|
core = "vice-${type}";
|
||||||
version = "0-unstable-2025-04-22";
|
version = "0-unstable-2025-05-08";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "libretro";
|
owner = "libretro";
|
||||||
repo = "vice-libretro";
|
repo = "vice-libretro";
|
||||||
rev = "e5b036f0be19f7a70fde75cc0e8b1b43476adc13";
|
rev = "5f094cfb57d1f656027a9d26bda681b6ecc46419";
|
||||||
hash = "sha256-GzvsXPZcBfGvA0g7zLR3R7w5CEIw2slL3EyQdcDjqCc=";
|
hash = "sha256-XqWAh3e2Q/i7c8nxqDP+sJHGdYWCyqdk2pwJ+JPsdVk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
makefile = "Makefile";
|
makefile = "Makefile";
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert libXtSupport -> libX11Support;
|
assert libXtSupport -> libX11Support;
|
||||||
|
assert libraqmSupport -> freetypeSupport;
|
||||||
|
|
||||||
let
|
let
|
||||||
arch =
|
arch =
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
fetchFromGitHub,
|
|
||||||
buildPythonApplication,
|
buildPythonApplication,
|
||||||
|
fetchFromGitHub,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
git,
|
git,
|
||||||
testers,
|
testers,
|
||||||
|
@ -10,32 +10,34 @@
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "mu-repo";
|
pname = "mu-repo";
|
||||||
version = "1.8.2";
|
version = "1.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fabioz";
|
owner = "fabioz";
|
||||||
repo = "mu-repo";
|
repo = "mu-repo";
|
||||||
rev = "mu_repo_${lib.replaceStrings [ "." ] [ "_" ] version}";
|
tag = "mu_repo_${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||||
hash = "sha256-COc7hbu72eA+ikZQkz6zXtFyaa/AKhoF+Zvsr6ZVOuY=";
|
hash = "sha256-aSRf0B/skoZLsn4dykWOFKVNtHYCsD9RtZ1frHDrcJU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ git ];
|
dependencies = [ git ];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
git
|
git
|
||||||
];
|
];
|
||||||
|
|
||||||
|
disabledTests = [ "test_action_diff" ];
|
||||||
|
|
||||||
passthru.tests.version = testers.testVersion {
|
passthru.tests.version = testers.testVersion {
|
||||||
package = mu-repo;
|
package = mu-repo;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Tool to help in dealing with multiple git repositories";
|
description = "Tool to help in dealing with multiple git repositories";
|
||||||
homepage = "http://fabioz.github.io/mu-repo/";
|
homepage = "http://fabioz.github.io/mu-repo/";
|
||||||
license = licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = with maintainers; [ sikmir ];
|
maintainers = with lib.maintainers; [ sikmir ];
|
||||||
mainProgram = "mu";
|
mainProgram = "mu";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ let
|
||||||
versions =
|
versions =
|
||||||
if stdenv.hostPlatform.isLinux then
|
if stdenv.hostPlatform.isLinux then
|
||||||
{
|
{
|
||||||
stable = "0.0.93";
|
stable = "0.0.94";
|
||||||
ptb = "0.0.141";
|
ptb = "0.0.141";
|
||||||
canary = "0.0.668";
|
canary = "0.0.668";
|
||||||
development = "0.0.74";
|
development = "0.0.74";
|
||||||
|
@ -26,7 +26,7 @@ let
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
stable = fetchurl {
|
stable = fetchurl {
|
||||||
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||||
hash = "sha256-/CTgRWMi7RnsIrzWrXHE5D9zFte7GgqimxnvJTj3hFY=";
|
hash = "sha256-035nfbEyvdsNxZh6fkXh2JhY7EXQtwUnS4sUKr74MRQ=";
|
||||||
};
|
};
|
||||||
ptb = fetchurl {
|
ptb = fetchurl {
|
||||||
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||||
|
|
|
@ -2,12 +2,11 @@
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
fetchpatch,
|
|
||||||
cmake,
|
cmake,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
adwaita-icon-theme,
|
adwaita-icon-theme,
|
||||||
gmime3,
|
gmime3,
|
||||||
webkitgtk_4_0,
|
webkitgtk_4_1,
|
||||||
ronn,
|
ronn,
|
||||||
libsass,
|
libsass,
|
||||||
notmuch,
|
notmuch,
|
||||||
|
@ -28,30 +27,21 @@
|
||||||
extraPythonPackages ? [ ],
|
extraPythonPackages ? [ ],
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "astroid";
|
pname = "astroid";
|
||||||
version = "0.16";
|
version = "0.17";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "astroidmail";
|
owner = "astroidmail";
|
||||||
repo = "astroid";
|
repo = "astroid";
|
||||||
rev = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
sha256 = "sha256-6xQniOLNUk8tDkooDN3Tp6sb43GqoynO6+fN9yhNqZ4=";
|
hash = "sha256-FDStUt989sQXX6kpqStrdjOdAMlLAepcDba9ul9tcps=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
postPatch = ''
|
||||||
(fetchpatch {
|
sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc
|
||||||
name = "symbolic-icons.patch";
|
sed -i "s~ -geom 10x10~~g" src/config.cc
|
||||||
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=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
|
@ -66,7 +56,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtkmm3
|
gtkmm3
|
||||||
gmime3
|
gmime3
|
||||||
webkitgtk_4_0
|
webkitgtk_4_1
|
||||||
libsass
|
libsass
|
||||||
libpeas
|
libpeas
|
||||||
python3
|
python3
|
||||||
|
@ -79,11 +69,6 @@ stdenv.mkDerivation rec {
|
||||||
vim
|
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;
|
pythonPath = with python3.pkgs; requiredPythonModules extraPythonPackages;
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
buildPythonPath "$out $pythonPath"
|
buildPythonPath "$out $pythonPath"
|
||||||
|
@ -92,15 +77,15 @@ stdenv.mkDerivation rec {
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://astroidmail.github.io/";
|
homepage = "https://astroidmail.github.io/";
|
||||||
description = "GTK frontend to the notmuch mail system";
|
description = "GTK frontend to the notmuch mail system";
|
||||||
mainProgram = "astroid";
|
mainProgram = "astroid";
|
||||||
maintainers = with maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
bdimcheff
|
bdimcheff
|
||||||
SuprDewd
|
SuprDewd
|
||||||
];
|
];
|
||||||
license = licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -99,8 +99,8 @@ rec {
|
||||||
thunderbird-128 = common {
|
thunderbird-128 = common {
|
||||||
applicationName = "Thunderbird ESR";
|
applicationName = "Thunderbird ESR";
|
||||||
|
|
||||||
version = "128.9.2esr";
|
version = "128.10.0esr";
|
||||||
sha512 = "3c8df53304611c1a7f8c02d50cfa1017f4d64c50a93fd6603ce0766cbb5d63c7bc5e0276f155c35817c3efa49f683c05583ddf24257bf8c25f585b67fd732cb5";
|
sha512 = "b02582ea4fa0297a06d30eda1555bbf3ed79ae7a35a8993f2a70b0ec84af28a4d084cd7ebe1c73676e689ff9366e779cc5ef67a197638949bf232a40b740d1b6";
|
||||||
|
|
||||||
updateScript = callPackage ./update.nix {
|
updateScript = callPackage ./update.nix {
|
||||||
attrPath = "thunderbirdPackages.thunderbird-128";
|
attrPath = "thunderbirdPackages.thunderbird-128";
|
||||||
|
|
|
@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Safely store secrets in a VCS repo";
|
description = "Safely store secrets in a VCS repo";
|
||||||
homepage = "https://github.com/StackExchange/blackbox";
|
homepage = "https://github.com/StackExchange/blackbox";
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "${lib.optionalString enablePython "py"}abpoa";
|
pname = "${lib.optionalString enablePython "py"}abpoa";
|
||||||
version = "1.5.3";
|
version = "1.5.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yangao07";
|
owner = "yangao07";
|
||||||
repo = "abPOA";
|
repo = "abPOA";
|
||||||
tag = "v${finalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-90mkXp4cC0Omnx0C7ab7NNs/M2oedIcICTUJl3qhcyo=";
|
hash = "sha256-E6XdiRULgJy9rf4NfXGBqUC+m0pMZKMsA5pHvCNNLJk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./simd-arch.patch ];
|
patches = [ ./simd-arch.patch ];
|
||||||
|
@ -67,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
installPhase = lib.optionalString (!enablePython) ''
|
installPhase = lib.optionalString (!enablePython) ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
install -Dm755 ./bin/abpoa -t $out/bin
|
install -Dm755 ./bin/abpoa* $out/bin/abpoa
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -77,7 +77,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
# See: https://github.com/NixOS/nixpkgs/issues/279226
|
# See: https://github.com/NixOS/nixpkgs/issues/279226
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
maintainers = with lib.maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
ericsagnes
|
|
||||||
synthetica
|
synthetica
|
||||||
eljamm
|
eljamm
|
||||||
];
|
];
|
||||||
|
|
|
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Hiragana text to Kana Kanji mixed text Japanese input method";
|
description = "Hiragana text to Kana Kanji mixed text Japanese input method";
|
||||||
homepage = "https://anthy.osdn.jp/";
|
homepage = "https://anthy.osdn.jp/";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -8,19 +8,19 @@
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
pname = "atuin";
|
pname = "atuin";
|
||||||
version = "18.5.0";
|
version = "18.6.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "atuinsh";
|
owner = "atuinsh";
|
||||||
repo = "atuin";
|
repo = "atuin";
|
||||||
rev = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-VXbnf/TfMWGHHXccKZBX4/RWDT/J1kpSBzhML4973mo=";
|
hash = "sha256-aRaUiGH2CTPtmbfrtLlNfoQzQWG817eazWctqwRlOCE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-MQNveOBItVOHFNarU5xXl8xHoooSAVbA7JnxxuRI9To=";
|
cargoHash = "sha256-umagQYzOMr3Jh1RewjT0aX5FpYxs9N/70NZXoGaAfi4=";
|
||||||
|
|
||||||
# atuin's default features include 'check-updates', which do not make sense
|
# atuin's default features include 'check-updates', which do not make sense
|
||||||
# for distribution builds. List all other default features.
|
# for distribution builds. List all other default features.
|
||||||
|
@ -73,4 +73,4 @@ rustPlatform.buildRustPackage rec {
|
||||||
];
|
];
|
||||||
mainProgram = "atuin";
|
mainProgram = "atuin";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -15,14 +15,14 @@
|
||||||
libpulseaudio,
|
libpulseaudio,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "audio-recorder";
|
pname = "audio-recorder";
|
||||||
version = "2.1.3";
|
version = "3.3.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = "${pname}-${version}.tar.gz";
|
name = "audio-recorder-${finalAttrs.version}.tar.gz";
|
||||||
url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ebionic.tar.gz";
|
url = "https://launchpad.net/~audio-recorder/+archive/ubuntu/ppa/+files/audio-recorder_${finalAttrs.version}%7Ejammy.tar.gz";
|
||||||
sha256 = "160pnmnmc9zwzyclsci3w1qwlgxkfx1y3x5ck6i587w78570an1r";
|
hash = "sha256-RQ8zAT98EdVgdHENX0WDDYGvu7XjoB7f2FPv2JYJqug=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://bugs.launchpad.net/audio-recorder/+bug/1784622
|
# https://bugs.launchpad.net/audio-recorder/+bug/1784622
|
||||||
|
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
||||||
])
|
])
|
||||||
++ lib.optional pulseaudioSupport libpulseaudio;
|
++ lib.optional pulseaudioSupport libpulseaudio;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Audio recorder for GNOME and Unity Desktops";
|
description = "Audio recorder for GNOME and Unity Desktops";
|
||||||
mainProgram = "audio-recorder";
|
mainProgram = "audio-recorder";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -65,8 +65,8 @@ stdenv.mkDerivation rec {
|
||||||
formats such as OGG audio, Flac, MP3 and WAV.
|
formats such as OGG audio, Flac, MP3 and WAV.
|
||||||
'';
|
'';
|
||||||
homepage = "https://launchpad.net/~audio-recorder";
|
homepage = "https://launchpad.net/~audio-recorder";
|
||||||
license = licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = [ maintainers.msteen ];
|
maintainers = [ lib.maintainers.msteen ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -2,35 +2,40 @@
|
||||||
lib,
|
lib,
|
||||||
fetchurl,
|
fetchurl,
|
||||||
appimageTools,
|
appimageTools,
|
||||||
|
makeWrapper,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
appimageTools.wrapAppImage rec {
|
||||||
pname = "badlion-client";
|
pname = "badlion-client";
|
||||||
version = "4.3.0";
|
version = "4.5.4";
|
||||||
|
|
||||||
|
src = appimageTools.extractType2 {
|
||||||
|
inherit pname version;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = "badlion-client-linux";
|
name = "badlion-client-linux";
|
||||||
# https://www.badlion.net/download/client/latest/linux
|
# https://www.badlion.net/download/client/latest/linux
|
||||||
url = "https://web.archive.org/web/20240529090437if_/https://client-updates-cdn77.badlion.net/BadlionClient";
|
url = "https://web.archive.org/web/20250416011033/https://client-updates.badlion.net/BadlionClient";
|
||||||
hash = "sha256-9elNLSqCO21m1T2D+WABKotD9FfW3FrcOxbnPdyVd+w=";
|
hash = "sha256-M2aG3vb1EBpvx8ODs67Ua1R7lBXSe2oIcSwFzSz91n4=";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extract { inherit pname version src; };
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
in
|
|
||||||
appimageTools.wrapType2 {
|
|
||||||
inherit pname version src;
|
|
||||||
|
|
||||||
extraInstallCommands = ''
|
extraInstallCommands = ''
|
||||||
install -Dm444 ${appimageContents}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop
|
install -Dm444 ${src}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop
|
||||||
install -Dm444 ${appimageContents}/BadlionClient.png $out/share/pixmaps/BadlionClient.png
|
install -Dm444 ${src}/BadlionClient.png $out/share/pixmaps/BadlionClient.png
|
||||||
substituteInPlace $out/share/applications/BadlionClient.desktop \
|
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";
|
description = "Most Complete All-In-One Mod Library for Minecraft with 100+ Mods, FPS Improvements, and more";
|
||||||
homepage = "https://client.badlion.net";
|
homepage = "https://client.badlion.net";
|
||||||
license = with licenses; [ unfree ];
|
license = lib.licenses.unfree;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
mainProgram = "badlion-client";
|
mainProgram = "badlion-client";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchurl,
|
requireFile,
|
||||||
nasm,
|
nasm,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (stdenv.hostPlatform.parsed.cpu) bits;
|
arch = "bandwidth${toString stdenv.hostPlatform.parsed.cpu.bits}";
|
||||||
arch = "bandwidth${toString bits}";
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "bandwidth";
|
pname = "bandwidth";
|
||||||
version = "1.11.2d";
|
version = "1.11.2d";
|
||||||
|
|
||||||
src = fetchurl {
|
src = requireFile {
|
||||||
url = "https://zsmith.co/archives/bandwidth-${version}.tar.gz";
|
message = "This file does not have a valid url.";
|
||||||
|
name = "bandwidth-${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-7IrNiCXKf1vyRGl73Ccu3aYMqPVc4PpEr6lnSqIa4Q8=";
|
hash = "sha256-7IrNiCXKf1vyRGl73Ccu3aYMqPVc4PpEr6lnSqIa4Q8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -48,16 +48,18 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
runHook preInstall
|
||||||
cp ${arch} $out/bin/bandwidth
|
|
||||||
|
install -Dm755 ${arch} $out/bin/bandwidth
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://zsmith.co/bandwidth.html";
|
|
||||||
description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
|
description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
|
||||||
license = licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = platforms.x86 ++ platforms.arm ++ platforms.aarch64;
|
platforms = lib.platforms.x86 ++ lib.platforms.arm ++ lib.platforms.aarch64;
|
||||||
maintainers = with maintainers; [ r-burns ];
|
maintainers = with lib.maintainers; [ r-burns ];
|
||||||
mainProgram = "bandwidth";
|
mainProgram = "bandwidth";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -1,47 +1,34 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
buildGoModule,
|
||||||
python3,
|
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
makeWrapper,
|
makeBinaryWrapper,
|
||||||
medusa,
|
medusa,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
buildGoModule (finalAttrs: {
|
||||||
pname = "brutespray";
|
pname = "brutespray";
|
||||||
version = "1.8.1";
|
version = "2.3.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "x90skysn3k";
|
owner = "x90skysn3k";
|
||||||
repo = "brutespray";
|
repo = "brutespray";
|
||||||
rev = "brutespray-${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
sha256 = "sha256-O9HOsj0R6oHI7jjG4FBqbrSAQSVomgeD7tyPDNCNmIo=";
|
hash = "sha256-oH7Gun/nKScv2buLwM6faiz9/3sl9l4JzkKbdTnGz0Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
vendorHash = "sha256-TBLjCXb1W5FHBrzxBI0/3NMuM9eCizLiz489jyZsEso=";
|
||||||
substituteInPlace brutespray.py \
|
|
||||||
--replace "/usr/share/brutespray" "$out/share/brutespray"
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontBuild = true;
|
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||||
nativeBuildInputs = [
|
|
||||||
python3.pkgs.wrapPython
|
|
||||||
makeWrapper
|
|
||||||
];
|
|
||||||
buildInputs = [ python3 ];
|
|
||||||
|
|
||||||
installPhase = ''
|
postInstall = ''
|
||||||
install -Dm0755 brutespray.py $out/bin/brutespray
|
|
||||||
patchShebangs $out/bin
|
|
||||||
patchPythonScript $out/bin/brutespray
|
|
||||||
wrapProgram $out/bin/brutespray \
|
wrapProgram $out/bin/brutespray \
|
||||||
--prefix PATH : ${lib.makeBinPath [ medusa ]}
|
--prefix PATH : ${lib.makeBinPath [ medusa ]}
|
||||||
|
|
||||||
mkdir -p $out/share/brutespray
|
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";
|
homepage = "https://github.com/x90skysn3k/brutespray";
|
||||||
description = "Tool to do brute-forcing from Nmap output";
|
description = "Tool to do brute-forcing from Nmap output";
|
||||||
mainProgram = "brutespray";
|
mainProgram = "brutespray";
|
||||||
|
@ -49,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||||
This tool automatically attempts default credentials on found services
|
This tool automatically attempts default credentials on found services
|
||||||
directly from Nmap output.
|
directly from Nmap output.
|
||||||
'';
|
'';
|
||||||
license = licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -6,19 +6,19 @@
|
||||||
libunwind,
|
libunwind,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
pname = "bugstalker";
|
pname = "bugstalker";
|
||||||
version = "0.2.2";
|
version = "0.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "godzie44";
|
owner = "godzie44";
|
||||||
repo = "BugStalker";
|
repo = "BugStalker";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-JacRt+zNwL7hdpdh5h9Mxztqi47f5eUbcZyx6ct/5Bc=";
|
hash = "sha256-8Iqg2coFsPQY3ws5MEC1LhTu+Z1lXeI3ccjgoBS454o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-w599KFLbyxFQzxIk6s9obPv804TLreOCMj/eApeSk7A=";
|
cargoHash = "sha256-a5YI6bOo/rsi9hZO1BcVMjJtdrYq2aHqxtlO3F+P+8s=";
|
||||||
|
|
||||||
buildInputs = [ libunwind ];
|
buildInputs = [ libunwind ];
|
||||||
|
|
||||||
|
@ -35,4 +35,4 @@ rustPlatform.buildRustPackage rec {
|
||||||
mainProgram = "bs";
|
mainProgram = "bs";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -23,15 +23,15 @@ let
|
||||||
in
|
in
|
||||||
with python3.pkgs;
|
with python3.pkgs;
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
version = "4.8";
|
version = "5.0";
|
||||||
pname = "buku";
|
pname = "buku";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jarun";
|
owner = "jarun";
|
||||||
repo = "buku";
|
repo = "buku";
|
||||||
rev = "v${version}";
|
tag = "v${version}";
|
||||||
sha256 = "sha256-kPVlfTYUusf5CZnKB53WZcCHo3MEnA2bLUHTRPGPn+8=";
|
sha256 = "sha256-b3j3WLMXl4sXZpIObC+F7RRpo07cwJpAK7lQ7+yIzro=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -7,38 +7,42 @@
|
||||||
cmake,
|
cmake,
|
||||||
icu,
|
icu,
|
||||||
boost,
|
boost,
|
||||||
|
pkg-config,
|
||||||
|
sqlite,
|
||||||
|
cg3,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
cg3 = stdenv.mkDerivation rec {
|
|
||||||
pname = "cg3";
|
pname = "cg3";
|
||||||
version = "1.3.9";
|
version = "1.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "GrammarSoft";
|
owner = "GrammarSoft";
|
||||||
repo = "cg3";
|
repo = "cg3";
|
||||||
rev = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
sha256 = "sha256-TiEhhk90w5GibGZ4yalIf+4qLA8NoU6+GIPN6QNTz2A=";
|
hash = "sha256-R3ePghkr4m6FmiHfhPVdLRAJaipIBhGLOX0Hz1nNPv4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
icu
|
icu
|
||||||
boost
|
boost
|
||||||
|
sqlite
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
substituteInPlace "$out"/lib/pkgconfig/cg3.pc \
|
substituteInPlace "$out"/lib/pkgconfig/cg3.pc \
|
||||||
--replace '=''${prefix}//' '=/'
|
--replace-fail '=''${prefix}//' '=/'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests.minimal =
|
passthru.tests.minimal =
|
||||||
runCommand "${pname}-test"
|
runCommand "cg3-test"
|
||||||
{
|
{
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cg3
|
cg3
|
||||||
|
@ -56,15 +60,11 @@ let
|
||||||
# TODO, consider optionals:
|
# TODO, consider optionals:
|
||||||
# - Enable tcmalloc unless darwin?
|
# - Enable tcmalloc unless darwin?
|
||||||
# - Enable python bindings?
|
# - Enable python bindings?
|
||||||
|
meta = {
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/GrammarSoft/cg3";
|
homepage = "https://github.com/GrammarSoft/cg3";
|
||||||
description = "Constraint Grammar interpreter, compiler and applicator vislcg3";
|
description = "Constraint Grammar interpreter, compiler and applicator vislcg3";
|
||||||
maintainers = with maintainers; [ unhammer ];
|
maintainers = with lib.maintainers; [ unhammer ];
|
||||||
license = licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
platforms = platforms.all;
|
platforms = lib.platforms.all;
|
||||||
};
|
};
|
||||||
};
|
})
|
||||||
|
|
||||||
in
|
|
||||||
cg3
|
|
||||||
|
|
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,
|
lib,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
python3,
|
python3Packages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with python3.pkgs;
|
python3Packages.buildPythonApplication rec {
|
||||||
|
|
||||||
buildPythonApplication rec {
|
|
||||||
pname = "check-jsonschema";
|
pname = "check-jsonschema";
|
||||||
version = "0.30.0";
|
version = "0.33.0";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "python-jsonschema";
|
owner = "python-jsonschema";
|
||||||
repo = "check-jsonschema";
|
repo = "check-jsonschema";
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-qaNSL7ZPEWJ8Zc/XPEWtUJYQnUJ7jNdla1I0d6+GReM=";
|
hash = "sha256-dygE9vFQpoDtTBtN4zoWY1JXUxBSgiX3GDzdk72BmgI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
build-system = with python3Packages; [ setuptools ];
|
||||||
|
|
||||||
|
dependencies = with python3Packages; [
|
||||||
ruamel-yaml
|
ruamel-yaml
|
||||||
jsonschema
|
jsonschema
|
||||||
requests
|
requests
|
||||||
|
@ -28,27 +26,26 @@ buildPythonApplication rec {
|
||||||
regress
|
regress
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = with python3Packages; [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
pytest-xdist
|
pytest-xdist
|
||||||
responses
|
responses
|
||||||
|
identify
|
||||||
];
|
];
|
||||||
|
|
||||||
|
disabledTests = [ "test_schemaloader_yaml_data" ];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"check_jsonschema"
|
"check_jsonschema"
|
||||||
"check_jsonschema.cli"
|
"check_jsonschema.cli"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = [
|
meta = {
|
||||||
"test_schemaloader_yaml_data"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Jsonschema CLI and pre-commit hook";
|
description = "Jsonschema CLI and pre-commit hook";
|
||||||
mainProgram = "check-jsonschema";
|
mainProgram = "check-jsonschema";
|
||||||
homepage = "https://github.com/python-jsonschema/check-jsonschema";
|
homepage = "https://github.com/python-jsonschema/check-jsonschema";
|
||||||
changelog = "https://github.com/python-jsonschema/check-jsonschema/blob/${version}/CHANGELOG.rst";
|
changelog = "https://github.com/python-jsonschema/check-jsonschema/blob/${version}/CHANGELOG.rst";
|
||||||
license = licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = with maintainers; [ sudosubin ];
|
maintainers = with lib.maintainers; [ sudosubin ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,20 @@
|
||||||
{
|
{
|
||||||
stdenv,
|
|
||||||
lib,
|
lib,
|
||||||
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
chruby,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "chruby-fish";
|
pname = "chruby-fish";
|
||||||
version = "0.8.2";
|
version = "1.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "JeanMertz";
|
owner = "JeanMertz";
|
||||||
repo = "chruby-fish";
|
repo = "chruby-fish";
|
||||||
rev = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
sha256 = "15q0ywsn9pcypbpvlq0wb41x4igxm9bsvhg9a05dqw1n437qjhyb";
|
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)" ];
|
installFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -30,4 +24,4 @@ stdenv.mkDerivation rec {
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
maintainers = [ lib.maintainers.cohei ];
|
maintainers = [ lib.maintainers.cohei ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -1,65 +1,78 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
|
stdenv,
|
||||||
rustPlatform,
|
rustPlatform,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
|
||||||
wrapGAppsHook4,
|
wrapGAppsHook4,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
blueprint-compiler,
|
blueprint-compiler,
|
||||||
|
meson,
|
||||||
|
ninja,
|
||||||
|
rustc,
|
||||||
|
fetchurl,
|
||||||
|
cargo,
|
||||||
|
desktop-file-utils,
|
||||||
|
|
||||||
gtk4,
|
gtk4,
|
||||||
libadwaita,
|
libadwaita,
|
||||||
glib,
|
glib,
|
||||||
|
poppler,
|
||||||
|
gtksourceview5,
|
||||||
|
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.3.1";
|
poppler' = poppler.overrideAttrs (oldAttrs: rec {
|
||||||
appid = "de.leopoldluley.Clapgrep";
|
version = "25.01.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
|
||||||
|
hash = "sha256-fu/BIiB7u9cqMDxeB0P0lB6K6GHiTc8FAeGM4dFBQRI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "clapgrep";
|
pname = "clapgrep";
|
||||||
inherit version;
|
version = "25.04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "luleyleo";
|
owner = "luleyleo";
|
||||||
repo = "clapgrep";
|
repo = "clapgrep";
|
||||||
tag = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-MYV8MrCIpa8eqp2iCLTNLZrVQOyGsMEGqlnEF43fyls=";
|
hash = "sha256-mx52z+YpHdq4zSmH1d3KlNhj3ezpoWMGB0FEr4B20sg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||||
cargoHash = "sha256-tpWv8CznTxoAgOf0mb99peqUTQSfv+16dAmX8n7XVDQ=";
|
inherit (finalAttrs) src;
|
||||||
|
hash = "sha256-hTejIaXIAi8opZdE2X3vEi+VYoSti8RNB41ikVOWGPk=";
|
||||||
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
wrapGAppsHook4
|
wrapGAppsHook4
|
||||||
pkg-config
|
pkg-config
|
||||||
blueprint-compiler
|
blueprint-compiler
|
||||||
|
rustc
|
||||||
|
rustPlatform.cargoSetupHook
|
||||||
|
cargo
|
||||||
|
desktop-file-utils
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk4
|
gtk4
|
||||||
libadwaita
|
libadwaita
|
||||||
glib
|
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 { };
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -70,4 +83,4 @@ rustPlatform.buildRustPackage {
|
||||||
maintainers = with lib.maintainers; [ pluiedev ];
|
maintainers = with lib.maintainers; [ pluiedev ];
|
||||||
mainProgram = "clapgrep";
|
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": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/claude-code": "^0.2.105"
|
"@anthropic-ai/claude-code": "^0.2.106"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-code": {
|
"node_modules/@anthropic-ai/claude-code": {
|
||||||
"version": "0.2.105",
|
"version": "0.2.106",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.105.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.106.tgz",
|
||||||
"integrity": "sha512-GR4fOK6WTTgMzM66eHBZsaOA2fKZULgfeZoi87v6Fv6hXGy8SPbrdAH8ULKAPlBqxGlPkUo1KcfyXD5VE28Olw==",
|
"integrity": "sha512-bryGjkA4VhQ4E7McxHVGgectYP/J9zhtkOP9nMNkLPepi5m85tyPHOZgTIhA3R3N7wrIRHPlpMv5y2GjGOo5TQ==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "SEE LICENSE IN README.md",
|
"license": "SEE LICENSE IN README.md",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "claude-code";
|
pname = "claude-code";
|
||||||
version = "0.2.105";
|
version = "0.2.106";
|
||||||
|
|
||||||
nodejs = nodejs_20;
|
nodejs = nodejs_20;
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
|
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 = ''
|
postPatch = ''
|
||||||
cp ${./package-lock.json} package-lock.json
|
cp ${./package-lock.json} package-lock.json
|
||||||
|
|
|
@ -8,16 +8,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "clickhouse-backup";
|
pname = "clickhouse-backup";
|
||||||
version = "2.6.15";
|
version = "2.6.16";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Altinity";
|
owner = "Altinity";
|
||||||
repo = "clickhouse-backup";
|
repo = "clickhouse-backup";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-WHIrgKWO8yHHbQ5i3qvCYjxuRPj8sRasjxQ2J1N8q7o=";
|
hash = "sha256-3RckJDhMtmK/Yusad1McFee/ECYomAwxY+WlimkPPCs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-4qPZihOuaD8lKF31fhyTDG7gBa0gExLVavazGZWDyAk=";
|
vendorHash = "sha256-tgDNKujpmDk6wcP9jEwfSbRWzJqiPs7aAWkkaD195Ss=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-X main.version=${version}"
|
"-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 {
|
stdenv.mkDerivation rec {
|
||||||
name = "${pname}-${lib.optionalString contribPlugins "full-"}${version}";
|
name = "${pname}-${lib.optionalString contribPlugins "full-"}${version}";
|
||||||
version = "20.03";
|
|
||||||
pname = "codeblocks";
|
pname = "codeblocks";
|
||||||
|
version = "25.03";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks-${version}.tar.xz";
|
url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.xz";
|
||||||
sha256 = "1idaksw1vacmm83krxh5zlb12kad3dkz9ixh70glw1gaibib7vhm";
|
hash = "sha256-sPaqWQjTNtf0H5V2skGKx9J++8WSgqqMkXHYjOp0BJ4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
|
||||||
zip
|
zip
|
||||||
wrapGAppsHook3
|
wrapGAppsHook3
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[
|
[
|
||||||
wxGTK32
|
wxGTK32
|
||||||
|
@ -39,114 +40,15 @@ stdenv.mkDerivation rec {
|
||||||
hunspell
|
hunspell
|
||||||
boost
|
boost
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
patches = [
|
|
||||||
./writable-projects.patch
|
patches = [ ./writable-projects.patch ];
|
||||||
./fix-clipboard-flush.patch
|
|
||||||
# Fix build on non-x86 machines
|
preConfigure = "substituteInPlace ./configure --replace-fail /bin/file ${file}/bin/file";
|
||||||
(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";
|
|
||||||
postConfigure = lib.optionalString stdenv.hostPlatform.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig";
|
postConfigure = lib.optionalString stdenv.hostPlatform.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig";
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ "--enable-pch=no" ]
|
[ "--enable-pch=no" ]
|
||||||
++ lib.optionals contribPlugins [
|
++ lib.optionals contribPlugins [
|
||||||
|
@ -156,13 +58,14 @@ stdenv.mkDerivation rec {
|
||||||
)
|
)
|
||||||
"--with-boost-libdir=${boost}/lib"
|
"--with-boost-libdir=${boost}/lib"
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
ln -s $out/lib/codeblocks/plugins $out/share/codeblocks/plugins
|
ln -s $out/lib/codeblocks/plugins $out/share/codeblocks/plugins
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
maintainers = [ maintainers.linquize ];
|
maintainers = [ lib.maintainers.linquize ];
|
||||||
platforms = platforms.all;
|
platforms = lib.platforms.all;
|
||||||
description = "Open source, cross platform, free C, C++ and Fortran IDE";
|
description = "Open source, cross platform, free C, C++ and Fortran IDE";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users.
|
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.
|
Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.
|
||||||
'';
|
'';
|
||||||
homepage = "http://www.codeblocks.org";
|
homepage = "http://www.codeblocks.org";
|
||||||
license = licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,25 +5,26 @@
|
||||||
SDL2,
|
SDL2,
|
||||||
libGL,
|
libGL,
|
||||||
cmake,
|
cmake,
|
||||||
makeWrapper,
|
makeBinaryWrapper,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "CroMagRally";
|
pname = "CroMagRally";
|
||||||
version = "3.0.0-unstable-2023-05-21";
|
version = "3.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jorio";
|
owner = "jorio";
|
||||||
repo = "CroMagRally";
|
repo = "CroMagRally";
|
||||||
rev = "5983de40c180b50bbbec8b04f5f5f1ceccd1901b";
|
tag = finalAttrs.version;
|
||||||
hash = "sha256-QbUkrNY7DZQts8xaimE83yXpCweKvnn0uDb1CawLfEE=";
|
hash = "sha256-6KmvILl5tZYxbDYg58LVstmtqoCogc6TV11oagKvqcg=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
makeWrapper
|
makeBinaryWrapper
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
SDL2
|
SDL2
|
||||||
libGL
|
libGL
|
||||||
|
@ -31,22 +32,24 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p "$out/share/CroMagRally"
|
|
||||||
mv Data ReadMe.txt "$out/share/CroMagRally/"
|
mkdir -p $out/share/CroMagRally
|
||||||
install -Dm755 {.,$out/bin}/CroMagRally
|
mv Data ReadMe.txt $out/share/CroMagRally/
|
||||||
wrapProgram $out/bin/CroMagRally --chdir "$out/share/CroMagRally"
|
install -Dm755 CroMagRally $out/bin/CroMagRally
|
||||||
install -Dm644 $src/packaging/cromagrally.desktop $out/share/applications/cromagrally.desktop
|
wrapProgram $out/bin/CroMagRally --chdir $out/share/CroMagRally
|
||||||
install -Dm644 $src/packaging/cromagrally-desktopicon.png $out/share/pixmaps/cromagrally-desktopicon.png
|
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
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Port of Cro-Mag Rally, a 2000 Macintosh game by Pangea Software, for modern operating systems";
|
description = "Port of Cro-Mag Rally, a 2000 Macintosh game by Pangea Software, for modern operating systems";
|
||||||
homepage = "https://github.com/jorio/CroMagRally";
|
homepage = "https://github.com/jorio/CroMagRally";
|
||||||
changelog = "https://github.com/jorio/CroMagRally/releases";
|
changelog = "https://github.com/jorio/CroMagRally/releases";
|
||||||
license = licenses.cc-by-sa-40;
|
license = lib.licenses.cc-by-sa-40;
|
||||||
maintainers = with maintainers; [ lux ];
|
maintainers = with lib.maintainers; [ lux ];
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
mainProgram = "CroMagRally";
|
mainProgram = "CroMagRally";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -2,21 +2,31 @@
|
||||||
lib,
|
lib,
|
||||||
rustPlatform,
|
rustPlatform,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
fetchpatch2,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "csvlens";
|
pname = "csvlens";
|
||||||
version = "0.11.0";
|
version = "0.12.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "YS-L";
|
owner = "YS-L";
|
||||||
repo = "csvlens";
|
repo = "csvlens";
|
||||||
tag = "v${version}";
|
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;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-nfw8mMauOTDCBh9O2ye96p8WXDFta4DXXb9kJVz7f3E=";
|
cargoHash = "sha256-lr1pqFodqgsKHRFGonXj0nG4elomiSMETulBdCLMR3w=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Command line csv viewer";
|
description = "Command line csv viewer";
|
||||||
|
|
|
@ -26,7 +26,7 @@ let
|
||||||
doInstallCheck = false;
|
doInstallCheck = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
version = "1.6";
|
version = "1.6.1";
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "devenv";
|
pname = "devenv";
|
||||||
|
@ -36,11 +36,11 @@ rustPlatform.buildRustPackage {
|
||||||
owner = "cachix";
|
owner = "cachix";
|
||||||
repo = "devenv";
|
repo = "devenv";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-ui6UwatBHN2WFvStGUHVOdBu72MsG/7b0GeyRdTCyEw=";
|
hash = "sha256-CEVWxRaln3sp0541QpMfcfmI2w+RN72UgNLV5Dy9sco=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-XS6F/Sp5peJdzAormYPjAA4SJfusMH6PRYIM3Tw5AUw=";
|
cargoHash = "sha256-t4Cj7JlBVrMP02Dqibq2IgdKy6ejv+CeffmcPAkh7BE=";
|
||||||
|
|
||||||
buildAndTestSubdir = "devenv";
|
buildAndTestSubdir = "devenv";
|
||||||
|
|
||||||
|
|
|
@ -4,34 +4,37 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule (finalAttrs: {
|
||||||
pname = "falcoctl";
|
pname = "falcoctl";
|
||||||
version = "0.5.1";
|
version = "0.11.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "falcosecurity";
|
owner = "falcosecurity";
|
||||||
repo = "falcoctl";
|
repo = "falcoctl";
|
||||||
rev = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-X4fZBTEbOIQbfmuxDODEkYW43ntVIkwFDULYq+ps+9s=";
|
hash = "sha256-3YsxshQh+LQBpKt7YG52rwOdWyjkfn+kTa6nsHpkA+A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-26EXoXMWK/zPX4M7kG3QRAb4aqtIWgSnSgXcxKUwfZk=";
|
vendorHash = "sha256-uIs3e2E8ThW7n9SXX2lu63KFmsy/QrVGQ4NgY1J+Qr0=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
"-w"
|
"-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";
|
description = "Administrative tooling for Falco";
|
||||||
mainProgram = "falcoctl";
|
mainProgram = "falcoctl";
|
||||||
homepage = "https://github.com/falcosecurity/falcoctl";
|
homepage = "https://github.com/falcosecurity/falcoctl";
|
||||||
license = licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = with maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
developer-guy
|
developer-guy
|
||||||
kranurag7
|
kranurag7
|
||||||
LucaGuerra
|
LucaGuerra
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -6,16 +6,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "firefox-sync-client";
|
pname = "firefox-sync-client";
|
||||||
version = "1.8.0";
|
version = "1.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Mikescher";
|
owner = "Mikescher";
|
||||||
repo = "firefox-sync-client";
|
repo = "firefox-sync-client";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Ax+v4a8bVuym1bp9dliXX85PXJk2Qlik3ME+adGiL1s=";
|
hash = "sha256-tzYuYSifV/a9SPb5KyabhQ29ByXuAgQgi3t0VMHVSH8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-MYetPdnnvIBzrYrA+eM9z1P3+P5FumYKH+brvvlwkm4=";
|
vendorHash = "sha256-kDh/5SOwKPYl9sC9W17bnzG73fGI5iX6lSjcB3IjOss=";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Commandline-utility to list/view/edit/delete entries in a firefox-sync account.";
|
description = "Commandline-utility to list/view/edit/delete entries in a firefox-sync account.";
|
||||||
|
|
|
@ -142,7 +142,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
lgpl3Only
|
lgpl3Only
|
||||||
];
|
];
|
||||||
maintainers = with maintainers; [
|
maintainers = with maintainers; [
|
||||||
ericsagnes
|
|
||||||
lovesegfault
|
lovesegfault
|
||||||
techknowlogick
|
techknowlogick
|
||||||
kiike
|
kiike
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "go-blueprint";
|
pname = "go-blueprint";
|
||||||
version = "0.10.8";
|
version = "0.10.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Melkeydev";
|
owner = "Melkeydev";
|
||||||
repo = "go-blueprint";
|
repo = "go-blueprint";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-oEp+qMWN2SIW9MBVbfk72Ogu9nbuR++YsTeRpbbQ2LY=";
|
hash = "sha256-5xVmMHQE0Jl15ZZnmvJQDUsCBfMaE5hWUighUdfoN/g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
|
|
|
@ -4,22 +4,22 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule (finalAttrs: {
|
||||||
pname = "gomplate";
|
pname = "gomplate";
|
||||||
version = "4.2.0";
|
version = "4.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hairyhenderson";
|
owner = "hairyhenderson";
|
||||||
repo = "gomplate";
|
repo = "gomplate";
|
||||||
tag = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-PupwL0VzZiWz+96Mv1o6QSmj7iLyvVIQMcdRlGqmpRs=";
|
hash = "sha256-94zZuig/AN/UzZx66YbrkBX2Nq+/gPLXlcOz1ar8weE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-1BOrffMtYz/cEsVaMseZQJlGsAdax+c1CvebwP8jaL4=";
|
vendorHash = "sha256-AS69mXZ5Faedj1cv7bfOfBfvdMQrCH1o9p6UN/O8ZLs=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-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 = ''
|
preCheck = ''
|
||||||
|
@ -27,6 +27,7 @@ buildGoModule rec {
|
||||||
rm net/net_test.go \
|
rm net/net_test.go \
|
||||||
internal/tests/integration/datasources_blob_test.go \
|
internal/tests/integration/datasources_blob_test.go \
|
||||||
internal/tests/integration/datasources_git_test.go \
|
internal/tests/integration/datasources_git_test.go \
|
||||||
|
internal/tests/integration/test_ec2_utils_test.go \
|
||||||
render_test.go
|
render_test.go
|
||||||
# some tests rely on external tools we'd rather not depend on
|
# some tests rely on external tools we'd rather not depend on
|
||||||
rm internal/tests/integration/datasources_consul_test.go \
|
rm internal/tests/integration/datasources_consul_test.go \
|
||||||
|
@ -37,15 +38,15 @@ buildGoModule rec {
|
||||||
rm $out/bin/gen
|
rm $out/bin/gen
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Flexible commandline tool for template rendering";
|
description = "Flexible commandline tool for template rendering";
|
||||||
mainProgram = "gomplate";
|
mainProgram = "gomplate";
|
||||||
homepage = "https://gomplate.ca/";
|
homepage = "https://gomplate.ca/";
|
||||||
changelog = "https://github.com/hairyhenderson/gomplate/releases/tag/v${version}";
|
changelog = "https://github.com/hairyhenderson/gomplate/releases/tag/v${finalAttrs.version}";
|
||||||
license = licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
ris
|
ris
|
||||||
jlesquembre
|
jlesquembre
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -9,16 +9,16 @@
|
||||||
|
|
||||||
buildGoModule (finalAttrs: {
|
buildGoModule (finalAttrs: {
|
||||||
pname = "goshs";
|
pname = "goshs";
|
||||||
version = "1.0.3";
|
version = "1.0.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "patrickhener";
|
owner = "patrickhener";
|
||||||
repo = "goshs";
|
repo = "goshs";
|
||||||
tag = "v${finalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-Sthe19Wb3zBg4kOh+aDC0CxAwMD9+LcNsy6u7qEj+f8=";
|
hash = "sha256-j/GsNkaheYDavxxoibR61knMR3x7o1pkc6NcmGrHSxY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-+bb+3ZYzRVxRh1WQEKa+WqH29fHErNWaTcHO70wCwPY=";
|
vendorHash = "sha256-LzuY3l6QQnMtAoVM2i206BuoTkVLVHg1DTWZhjIepY8=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-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 {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "grabserial";
|
pname = "grabserial";
|
||||||
version = "2.0.2";
|
version = "2.1.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tbird20d";
|
owner = "tbird20d";
|
||||||
repo = "grabserial";
|
repo = "grabserial";
|
||||||
rev = "v${version}";
|
tag = "v${version}";
|
||||||
sha256 = "0ryk4w8q6zfmia71nwnk5b7xaxw0sf45dw9q50xp7k76i3k5f9f3";
|
hash = "sha256-XHI5r4OkJUtMuH83jKvNttEpKpqARjxj9SDLzhSPxSc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ python3Packages.pyserial ];
|
dependencies = [ python3Packages.pyserial ];
|
||||||
|
|
||||||
# no usable tests
|
# no usable tests
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Python based serial dump and timing program";
|
description = "Python based serial dump and timing program";
|
||||||
mainProgram = "grabserial";
|
mainProgram = "grabserial";
|
||||||
homepage = "https://github.com/tbird20d/grabserial";
|
homepage = "https://github.com/tbird20d/grabserial";
|
||||||
license = licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
maintainers = with maintainers; [ vmandela ];
|
maintainers = with lib.maintainers; [ vmandela ];
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"@hapi/boom": "^10.0.0",
|
"@hapi/boom": "^10.0.0",
|
||||||
"@puppeteer/browsers": "^2.3.1",
|
"@puppeteer/browsers": "^2.3.1",
|
||||||
"chokidar": "^3.5.2",
|
"chokidar": "^3.5.2",
|
||||||
"dompurify": "^2.5.4",
|
"dompurify": "^3.2.4",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.1",
|
||||||
"express-prom-bundle": "^6.5.0",
|
"express-prom-bundle": "^6.5.0",
|
||||||
"jimp": "^0.22.12",
|
"jimp": "^0.22.12",
|
||||||
|
@ -49,18 +49,18 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@grafana/eslint-config": "^6.0.0",
|
"@grafana/eslint-config": "^6.0.0",
|
||||||
"@types/dompurify": "2.3.4",
|
"@types/dompurify": "^3.2.0",
|
||||||
"@types/express": "^4.17.14",
|
"@types/express": "^4.17.14",
|
||||||
"@types/jest": "^29.5.12",
|
"@types/jest": "^29.5.12",
|
||||||
"@types/jsdom": "20.0.0",
|
"@types/jsdom": "20.0.0",
|
||||||
"@types/multer": "^1.4.7",
|
"@types/multer": "^1.4.7",
|
||||||
"@types/node": "^22.13.1",
|
"@types/node": "^20.17.27",
|
||||||
"@types/pixelmatch": "^5.2.6",
|
"@types/pixelmatch": "^5.2.6",
|
||||||
"@types/supertest": "^2.0.15",
|
"@types/supertest": "^2.0.15",
|
||||||
"@typescript-eslint/eslint-plugin": "5.37.0",
|
"@typescript-eslint/eslint-plugin": "5.37.0",
|
||||||
"@typescript-eslint/parser": "5.37.0",
|
"@typescript-eslint/parser": "5.37.0",
|
||||||
"@yao-pkg/pkg": "^6.3.0",
|
"@yao-pkg/pkg": "^6.3.0",
|
||||||
"axios": "1.7.4",
|
"axios": "1.8.2",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"eslint": "8.23.1",
|
"eslint": "8.23.1",
|
||||||
"fast-png": "^6.2.0",
|
"fast-png": "^6.2.0",
|
||||||
|
@ -88,6 +88,6 @@
|
||||||
},
|
},
|
||||||
"bin": "build/app.js",
|
"bin": "build/app.js",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 22"
|
"node": ">= 20"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,18 +14,18 @@
|
||||||
|
|
||||||
mkYarnPackage rec {
|
mkYarnPackage rec {
|
||||||
pname = "grafana-image-renderer";
|
pname = "grafana-image-renderer";
|
||||||
version = "3.12.3";
|
version = "3.12.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
repo = "grafana-image-renderer";
|
repo = "grafana-image-renderer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-twB2V5iecLEMTrp+prFmDoJvcGLVQlLJ+DTSl/9V8S8=";
|
hash = "sha256-dcWmMcvWwG4wGEEyFKa1R0jGGpK5x1F5Amr74JzJaLE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = src + "/yarn.lock";
|
yarnLock = src + "/yarn.lock";
|
||||||
hash = "sha256-TcsWApSR48OUIcQGko3XIaFCp22vFJbHcxrdFxUyRZU=";
|
hash = "sha256-BBu+vOO0UgX3L7Svj0HgVKHR2lSe4tD6c9HDgJZdhHU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
packageJSON = ./package.json;
|
packageJSON = ./package.json;
|
||||||
|
|
|
@ -2,14 +2,12 @@ Do not use vendored libraries
|
||||||
|
|
||||||
--- a/vendor/CMakeLists.txt
|
--- a/vendor/CMakeLists.txt
|
||||||
+++ b/vendor/CMakeLists.txt
|
+++ b/vendor/CMakeLists.txt
|
||||||
@@ -14,10 +14,7 @@
|
@@ -18,8 +18,6 @@
|
||||||
# License along with this library; if not, write to the Free Software
|
if(GRN_WITH_BUNDLED_ONIGMO)
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
|
|
||||||
add_subdirectory(onigmo)
|
add_subdirectory(onigmo)
|
||||||
|
endif()
|
||||||
-add_subdirectory(mruby)
|
-add_subdirectory(mruby)
|
||||||
-add_subdirectory(mecab)
|
-add_subdirectory(mecab)
|
||||||
-add_subdirectory(message_pack)
|
|
||||||
if(GRN_WITH_MRUBY)
|
if(GRN_WITH_MRUBY)
|
||||||
add_subdirectory(groonga-log)
|
add_subdirectory(groonga-log)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -2,7 +2,7 @@ Fix CMake install path
|
||||||
|
|
||||||
--- a/CMakeLists.txt
|
--- a/CMakeLists.txt
|
||||||
+++ b/CMakeLists.txt
|
+++ b/CMakeLists.txt
|
||||||
@@ -1141,11 +1141,11 @@
|
@@ -1879,11 +1879,11 @@
|
||||||
|
|
||||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
set(exec_prefix "\${prefix}")
|
set(exec_prefix "\${prefix}")
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
suggestSupport ? false,
|
suggestSupport ? false,
|
||||||
zeromq,
|
zeromq,
|
||||||
libevent,
|
libevent,
|
||||||
openssl,
|
|
||||||
lz4Support ? false,
|
lz4Support ? false,
|
||||||
lz4,
|
lz4,
|
||||||
zlibSupport ? true,
|
zlibSupport ? true,
|
||||||
|
@ -24,11 +23,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "groonga";
|
pname = "groonga";
|
||||||
version = "14.0.6";
|
version = "15.0.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz";
|
url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-1caTQAycvpG2PgtbxIn58HrxvWjxKgiczRSC72nWzGw=";
|
hash = "sha256-ESPUEBpV6hg8KQeSzjklPgf4R0DlYdpwxp9M6YdTV/Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -74,12 +73,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://groonga.org/";
|
homepage = "https://groonga.org/";
|
||||||
description = "Open-source fulltext search engine and column store";
|
description = "Open-source fulltext search engine and column store";
|
||||||
license = licenses.lgpl21;
|
license = lib.licenses.lgpl21;
|
||||||
maintainers = [ maintainers.ericsagnes ];
|
maintainers = [ ];
|
||||||
platforms = platforms.all;
|
platforms = lib.platforms.all;
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Groonga is an open-source fulltext search engine and column store.
|
Groonga is an open-source fulltext search engine and column store.
|
||||||
It lets you write high-performance applications that requires fulltext search.
|
It lets you write high-performance applications that requires fulltext search.
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
{
|
{
|
||||||
fetchurl,
|
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
smartmontools,
|
smartmontools,
|
||||||
autoreconfHook,
|
cmake,
|
||||||
gettext,
|
|
||||||
gtkmm3,
|
gtkmm3,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
|
@ -12,29 +11,28 @@
|
||||||
adwaita-icon-theme,
|
adwaita-icon-theme,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "gsmartcontrol";
|
pname = "gsmartcontrol";
|
||||||
version = "1.1.4";
|
version = "2.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/ashaduri/gsmartcontrol/releases/download/v${version}/gsmartcontrol-${version}.tar.bz2";
|
owner = "ashaduri";
|
||||||
sha256 = "sha256-/ECfK4qEzEC7ED1sgkAbnUwBgtWjsiPJOVnHrWYZGEc=";
|
repo = "gsmartcontrol";
|
||||||
|
tag = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-eLzwFZ1PYqijFTxos9Osf7A2v4C8toM+TGV4/bU82NE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
./fix-paths.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace data/org.gsmartcontrol.policy --replace "/usr/sbin" $out/bin
|
substituteInPlace data/gsmartcontrol.in.desktop \
|
||||||
|
--replace-fail "@CMAKE_INSTALL_FULL_BINDIR@/" ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
cmake
|
||||||
gettext
|
|
||||||
pkg-config
|
pkg-config
|
||||||
wrapGAppsHook3
|
wrapGAppsHook3
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtkmm3
|
gtkmm3
|
||||||
pcre-cpp
|
pcre-cpp
|
||||||
|
@ -60,9 +58,10 @@ stdenv.mkDerivation rec {
|
||||||
It allows you to inspect the drive's SMART data to determine its health,
|
It allows you to inspect the drive's SMART data to determine its health,
|
||||||
as well as run various tests on it.
|
as well as run various tests on it.
|
||||||
'';
|
'';
|
||||||
homepage = "https://gsmartcontrol.shaduri.dev/";
|
homepage = "https://gsmartcontrol.shaduri.dev";
|
||||||
|
mainProgram = "gsmartcontrol";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = with lib.maintainers; [ qknight ];
|
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";
|
description = "GTK enabled dropin replacement for xmessage";
|
||||||
homepage = "https://trmusson.dreamhosters.com/programs.html#gxmessage";
|
homepage = "https://trmusson.dreamhosters.com/programs.html#gxmessage";
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
maintainers = with lib.maintainers; [ jfb ];
|
maintainers = with lib.maintainers; [ ];
|
||||||
platforms = with lib.platforms; linux;
|
platforms = with lib.platforms; linux;
|
||||||
mainProgram = "gxmessage";
|
mainProgram = "gxmessage";
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,49 +3,27 @@
|
||||||
fetchpatch,
|
fetchpatch,
|
||||||
python3,
|
python3,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
wrapQtAppsHook,
|
qt5,
|
||||||
cups,
|
cups,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "inkcut";
|
pname = "inkcut";
|
||||||
version = "2.1.5";
|
version = "2.1.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
tag = "v${version}";
|
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 = ''
|
postPatch = ''
|
||||||
substituteInPlace inkcut/device/transports/printer/plugin.py \
|
substituteInPlace inkcut/device/transports/printer/plugin.py \
|
||||||
--replace ", 'lpr', " ", '${cups}/bin/lpr', "
|
--replace ", 'lpr', " ", '${cups}/bin/lpr', "
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
enamlx
|
enamlx
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
homepage = "https://github.com/enkore/j4-dmenu-desktop";
|
homepage = "https://github.com/enkore/j4-dmenu-desktop";
|
||||||
license = licenses.gpl3Only;
|
license = licenses.gpl3Only;
|
||||||
mainProgram = "j4-dmenu-desktop";
|
mainProgram = "j4-dmenu-desktop";
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -7,19 +7,22 @@
|
||||||
vala,
|
vala,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
|
blueprint-compiler,
|
||||||
pantheon,
|
pantheon,
|
||||||
gtksourceview5,
|
gtksourceview5,
|
||||||
|
chcase,
|
||||||
|
libadwaita,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "konbucase";
|
pname = "konbucase";
|
||||||
version = "4.1.2";
|
version = "4.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ryonakano";
|
owner = "ryonakano";
|
||||||
repo = "konbucase";
|
repo = "konbucase";
|
||||||
rev = finalAttrs.version;
|
tag = finalAttrs.version;
|
||||||
hash = "sha256-md7drxg1JuW6TRJauKOk4Aqjx/V1RVZ+POa5v6DtKwk=";
|
hash = "sha256-56P2RueZSsuQth8IB73r3WYXCQ+rEyfQpGXhLAAeFlY=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,25 +32,28 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
vala
|
vala
|
||||||
pkg-config
|
pkg-config
|
||||||
wrapGAppsHook3
|
wrapGAppsHook3
|
||||||
|
blueprint-compiler
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pantheon.granite7
|
pantheon.granite7
|
||||||
gtksourceview5
|
gtksourceview5
|
||||||
|
chcase
|
||||||
|
libadwaita
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/bin/com.github.ryonakano.konbucase $out/bin/konbucase
|
mv $out/bin/com.github.ryonakano.konbucase $out/bin/konbucase
|
||||||
substituteInPlace $out/share/applications/com.github.ryonakano.konbucase.desktop \
|
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";
|
homepage = "https://github.com/ryonakano/konbucase";
|
||||||
description = "Case converting app suitable for coding or typing";
|
description = "Case converting app suitable for coding or typing";
|
||||||
license = licenses.gpl3Only;
|
license = lib.licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [ galaxy ];
|
maintainers = with lib.maintainers; [ galaxy ];
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
mainProgram = "konbucase";
|
mainProgram = "konbucase";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
|
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -29,13 +29,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "labwc";
|
pname = "labwc";
|
||||||
version = "0.8.3";
|
version = "0.8.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "labwc";
|
owner = "labwc";
|
||||||
repo = "labwc";
|
repo = "labwc";
|
||||||
tag = finalAttrs.version;
|
tag = finalAttrs.version;
|
||||||
hash = "sha256-iOSPvg737YCtKFHHZy56N+JYqcyfUIguSZ3QQ0keb/E=";
|
hash = "sha256-JeEw1xKwgsTMllZXvNaXXdgmZnmIFUyG/cJ14QFQf/E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
|
|
@ -26,7 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
homepage = "https://chewing.im/";
|
homepage = "https://chewing.im/";
|
||||||
license = licenses.lgpl21Only;
|
license = licenses.lgpl21Only;
|
||||||
maintainers = with maintainers; [
|
maintainers = with maintainers; [
|
||||||
ericsagnes
|
|
||||||
ShamrockLee
|
ShamrockLee
|
||||||
];
|
];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
|
|
@ -51,7 +51,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
maintainers = with lib.maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
linsui
|
linsui
|
||||||
ericsagnes
|
|
||||||
];
|
];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,31 +2,40 @@
|
||||||
lib,
|
lib,
|
||||||
python3Packages,
|
python3Packages,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
qt5,
|
qt6,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "meteo-qt";
|
pname = "meteo-qt";
|
||||||
version = "3.4";
|
version = "4.2";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dglent";
|
owner = "dglent";
|
||||||
repo = "meteo-qt";
|
repo = "meteo-qt";
|
||||||
tag = "v${version}";
|
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 = [
|
nativeBuildInputs = [
|
||||||
qt5.qttools
|
qt6.qttools
|
||||||
qt5.wrapQtAppsHook
|
qt6.wrapQtAppsHook
|
||||||
|
python3Packages.pyqt6
|
||||||
];
|
];
|
||||||
|
|
||||||
build-system = with python3Packages; [ sip ];
|
build-system = with python3Packages; [
|
||||||
|
setuptools
|
||||||
|
sip
|
||||||
|
];
|
||||||
|
|
||||||
dependencies = with python3Packages; [
|
dependencies = with python3Packages; [
|
||||||
lxml
|
lxml
|
||||||
pyqt5
|
pyqt6
|
||||||
];
|
];
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
fetchurl,
|
fetchurl,
|
||||||
runCommand,
|
runCommand,
|
||||||
writeText,
|
|
||||||
biber,
|
biber,
|
||||||
|
|
||||||
# nativeBuildInputs
|
# nativeBuildInputs
|
||||||
|
@ -95,13 +94,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "miktex";
|
pname = "miktex";
|
||||||
version = "25.2";
|
version = "25.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "miktex";
|
owner = "miktex";
|
||||||
repo = "miktex";
|
repo = "miktex";
|
||||||
tag = finalAttrs.version;
|
tag = finalAttrs.version;
|
||||||
hash = "sha256-egN9+BRO/EAcbrn/jZac4Lb79H5N/LEjReMPGHVM/yM=";
|
hash = "sha256-3QGW8rsettA+Jtrsi9C5ONIG4vP+iuUEUi9dGHfWMSY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -231,7 +230,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A modern TeX distribution";
|
description = "Modern TeX distribution";
|
||||||
homepage = "https://miktex.org";
|
homepage = "https://miktex.org";
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = with lib.licenses; [
|
license = with lib.licenses; [
|
||||||
|
@ -240,8 +239,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
gpl3Plus
|
gpl3Plus
|
||||||
publicDomain
|
publicDomain
|
||||||
];
|
];
|
||||||
maintainers = with lib.maintainers; [
|
maintainers = with lib.maintainers; [ qbisi ];
|
||||||
qbisi
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -106,7 +106,6 @@ buildBazelPackage rec {
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [
|
maintainers = with maintainers; [
|
||||||
ericsagnes
|
|
||||||
pineapplehunter
|
pineapplehunter
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "museum";
|
pname = "museum";
|
||||||
version = "1.0.2";
|
version = "1.0.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ente-io";
|
owner = "ente-io";
|
||||||
repo = "ente";
|
repo = "ente";
|
||||||
sparseCheckout = [ "server" ];
|
sparseCheckout = [ "server" ];
|
||||||
rev = "photos-v${version}";
|
rev = "photos-v${version}";
|
||||||
hash = "sha256-d66dCTs68sIL6iCV4vDvErER3LAz/SdkqOj0aJBro8k=";
|
hash = "sha256-tFXOLzGGMrjVImOOl3RGaX3i/FwhjbGqKRdxv/xxKTs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-px4pMqeH73Fe06va4+n6hklIUDMbPmAQNKKRIhwv6ec=";
|
vendorHash = "sha256-px4pMqeH73Fe06va4+n6hklIUDMbPmAQNKKRIhwv6ec=";
|
||||||
|
|
|
@ -94,7 +94,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
license = lib.licenses.lgpl21;
|
license = lib.licenses.lgpl21;
|
||||||
mainProgram = "notion";
|
mainProgram = "notion";
|
||||||
maintainers = with lib.maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
jfb
|
|
||||||
raboof
|
raboof
|
||||||
NotAShelf
|
NotAShelf
|
||||||
];
|
];
|
||||||
|
|
|
@ -13,16 +13,16 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "nwg-drawer";
|
pname = "nwg-drawer";
|
||||||
version = "0.6.4";
|
version = "0.6.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nwg-piotr";
|
owner = "nwg-piotr";
|
||||||
repo = "nwg-drawer";
|
repo = "nwg-drawer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-uctM2fi3lfSrvKSinkjAXD3bLyJOVC0DTyDoAKXgB54=";
|
hash = "sha256-fWh2htmLIM0IHRYOs8fzrjwq1IRLDJpWniY24BVFtFE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-VW9K56pdzA6CAqyJ859WOCEtHTASW8lnQGuW1zBUJYw=";
|
vendorHash = "sha256-iUFOWPr306CteR+5Cz/kE+XoG/qr3BBdM9duZm4TOU4=";
|
||||||
in
|
in
|
||||||
buildGoModule {
|
buildGoModule {
|
||||||
inherit
|
inherit
|
||||||
|
@ -63,7 +63,7 @@ buildGoModule {
|
||||||
description = "Application drawer for sway Wayland compositor";
|
description = "Application drawer for sway Wayland compositor";
|
||||||
homepage = "https://github.com/nwg-piotr/nwg-drawer";
|
homepage = "https://github.com/nwg-piotr/nwg-drawer";
|
||||||
changelog = "https://github.com/nwg-piotr/nwg-drawer/releases/tag/${src.rev}";
|
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";
|
mainProgram = "nwg-drawer";
|
||||||
maintainers = with lib.maintainers; [ ];
|
maintainers = with lib.maintainers; [ ];
|
||||||
platforms = with lib.platforms; linux;
|
platforms = with lib.platforms; linux;
|
||||||
|
|
|
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
changelog = "https://github.com/patroclos/PAmix/releases/tag/${finalAttrs.version}";
|
changelog = "https://github.com/patroclos/PAmix/releases/tag/${finalAttrs.version}";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = with lib.maintainers; [ ericsagnes ];
|
maintainers = with lib.maintainers; [ ];
|
||||||
mainProgram = "pamix";
|
mainProgram = "pamix";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -17,13 +17,13 @@ buildGoModule (finalAttrs: {
|
||||||
webkitgtk_4_1
|
webkitgtk_4_1
|
||||||
];
|
];
|
||||||
pname = "paretosecurity";
|
pname = "paretosecurity";
|
||||||
version = "0.2.14";
|
version = "0.2.15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ParetoSecurity";
|
owner = "ParetoSecurity";
|
||||||
repo = "agent";
|
repo = "agent";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-/3TTSaio24cuXmPvPVRZE4JqddWYezyAFCqYJRiMG7M=";
|
hash = "sha256-8lRIDW17oyQpoGuHGckSxL++jaeX3qPr2kvXBAeszjc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-YnyACP/hJYxi4AWMwr0We4YUTbWwahKAIYN6RnHmzls=";
|
vendorHash = "sha256-YnyACP/hJYxi4AWMwr0We4YUTbWwahKAIYN6RnHmzls=";
|
||||||
|
|
|
@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
|
||||||
mainProgram = "ponymix";
|
mainProgram = "ponymix";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,17 +8,17 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "rabbitmqadmin-ng";
|
pname = "rabbitmqadmin-ng";
|
||||||
version = "2.0.0";
|
version = "2.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rabbitmq";
|
owner = "rabbitmq";
|
||||||
repo = "rabbitmqadmin-ng";
|
repo = "rabbitmqadmin-ng";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-M3YaqBwSj/5d936oOVA6JmqWYEU8kDYP+2ImjlOiAqo=";
|
hash = "sha256-b6xa12jop0YbbUNYNrCvCEJH17lx/Ski3maKUWVVAjE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-Ik3G9McsFO+NIEBuB9N1HSXeIpULSPTHx4V2ulpgDio=";
|
cargoHash = "sha256-qPbh8kRm57ferdv2+hGaOXFCK49hYzDrVb6ePbaPuAM=";
|
||||||
|
|
||||||
buildInputs = [ openssl ];
|
buildInputs = [ openssl ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
ninja,
|
ninja,
|
||||||
python3,
|
python3,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
abseil-cpp,
|
abseil-cpp_202401,
|
||||||
curl,
|
curl,
|
||||||
gtest,
|
gtest,
|
||||||
nlohmann_json,
|
nlohmann_json,
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
libwebm,
|
libwebm,
|
||||||
mbedtls,
|
mbedtls,
|
||||||
mimalloc,
|
mimalloc,
|
||||||
protobuf,
|
protobuf_29,
|
||||||
zlib,
|
zlib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
# pssh_box.py.
|
# pssh_box.py.
|
||||||
ps.protobuf
|
ps.protobuf
|
||||||
]))
|
]))
|
||||||
abseil-cpp
|
abseil-cpp_202401
|
||||||
curl
|
curl
|
||||||
gtest
|
gtest
|
||||||
nlohmann_json
|
nlohmann_json
|
||||||
|
@ -69,9 +69,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
libwebm
|
libwebm
|
||||||
mbedtls
|
mbedtls
|
||||||
mimalloc
|
mimalloc
|
||||||
(protobuf.override {
|
(protobuf_29.override {
|
||||||
# must be the same version as for shaka-packager
|
# must be the same version as for shaka-packager
|
||||||
inherit abseil-cpp;
|
abseil-cpp = abseil-cpp_202401;
|
||||||
})
|
})
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "slurm";
|
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
|
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
|
||||||
# because the latter does not keep older releases.
|
# because the latter does not keep older releases.
|
||||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||||
repo = "slurm";
|
repo = "slurm";
|
||||||
# The release tags use - instead of .
|
# The release tags use - instead of .
|
||||||
rev = "${pname}-${builtins.replaceStrings [ "." ] [ "-" ] version}";
|
rev = "${pname}-${builtins.replaceStrings [ "." ] [ "-" ] version}";
|
||||||
hash = "sha256-qfTkvORa03LxbLXWfUoTw1bV17w7geA9QA3i+fWSCqE=";
|
hash = "sha256-0c8b+quLeWpCyuCOcp/B8Yd0dxr90UtSV/tgeTi7tbk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
|
|
@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Nix based static site generator";
|
description = "Nix based static site generator";
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
homepage = "https://styx-static.github.io/styx-site/";
|
homepage = "https://styx-static.github.io/styx-site/";
|
||||||
downloadPage = "https://github.com/styx-static/styx/";
|
downloadPage = "https://github.com/styx-static/styx/";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
davfs2,
|
davfs2,
|
||||||
cmake,
|
cmake,
|
||||||
|
extra-cmake-modules,
|
||||||
stdenv,
|
stdenv,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
kdePackages,
|
kdePackages,
|
||||||
|
@ -10,25 +11,32 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tail-tray";
|
pname = "tail-tray";
|
||||||
version = "0.2.21";
|
version = "0.2.22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "SneWs";
|
owner = "SneWs";
|
||||||
repo = "tail-tray";
|
repo = "tail-tray";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
sha256 = "sha256-zdmU4GdEVOT8wUgOxJAGsLQEb35O/RUjc8HcYpwIkiM=";
|
sha256 = "sha256-1tYuZBJFIGwub3wJR/Ms1Dybhn3KMzKYrpgzZEXwqWU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with kdePackages; [
|
nativeBuildInputs = with kdePackages; [
|
||||||
wrapQtAppsHook
|
wrapQtAppsHook
|
||||||
qttools
|
qttools
|
||||||
cmake
|
cmake
|
||||||
|
extra-cmake-modules
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = with kdePackages; [
|
buildInputs = with kdePackages; [
|
||||||
qtbase
|
qtbase
|
||||||
davfs2
|
davfs2
|
||||||
|
knotifyconfig
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DKNOTIFICATIONS_ENABLED=ON"
|
||||||
|
"-DDAVFS_ENABLED=ON"
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "terragrunt";
|
pname = "terragrunt";
|
||||||
version = "0.78.0";
|
version = "0.78.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gruntwork-io";
|
owner = "gruntwork-io";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-ldGv4hD+WR4c3Ajozu+u4qy/DOCKQIk9tECOfPpNbjU=";
|
hash = "sha256-tGQGBZAg9nu3s2ulhz65/dmYWWBdaCod0baMoRXOCVU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -58,7 +58,6 @@ buildRubyGem rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [
|
maintainers = with maintainers; [
|
||||||
auntie
|
auntie
|
||||||
ericsagnes
|
|
||||||
];
|
];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
mainProgram = "tmuxinator";
|
mainProgram = "tmuxinator";
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
|
python3Packages,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
gexiv2,
|
gexiv2,
|
||||||
gobject-introspection,
|
gobject-introspection,
|
||||||
|
@ -8,7 +9,6 @@
|
||||||
intltool,
|
intltool,
|
||||||
libnotify,
|
libnotify,
|
||||||
librsvg,
|
librsvg,
|
||||||
python3,
|
|
||||||
runtimeShell,
|
runtimeShell,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
fehSupport ? false,
|
fehSupport ? false,
|
||||||
|
@ -17,9 +17,10 @@
|
||||||
imagemagick,
|
imagemagick,
|
||||||
appindicatorSupport ? true,
|
appindicatorSupport ? true,
|
||||||
libayatana-appindicator,
|
libayatana-appindicator,
|
||||||
|
bash,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "variety";
|
pname = "variety";
|
||||||
version = "0.8.13";
|
version = "0.8.13";
|
||||||
|
|
||||||
|
@ -44,8 +45,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
librsvg
|
librsvg
|
||||||
] ++ lib.optional appindicatorSupport libayatana-appindicator;
|
] ++ lib.optional appindicatorSupport libayatana-appindicator;
|
||||||
|
|
||||||
propagatedBuildInputs =
|
dependencies =
|
||||||
with python3.pkgs;
|
with python3Packages;
|
||||||
[
|
[
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
configobj
|
configobj
|
||||||
|
@ -73,14 +74,17 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
substituteInPlace variety_lib/varietyconfig.py \
|
substituteInPlace variety_lib/varietyconfig.py \
|
||||||
--replace "__variety_data_directory__ = \"../data\"" \
|
--replace-fail "__variety_data_directory__ = \"../data\"" \
|
||||||
"__variety_data_directory__ = \"$out/share/variety\""
|
"__variety_data_directory__ = \"$out/share/variety\""
|
||||||
substituteInPlace variety/VarietyWindow.py \
|
substituteInPlace variety/VarietyWindow.py \
|
||||||
--replace '[script,' '["${runtimeShell}", script,' \
|
--replace-fail '[script,' '["${runtimeShell}", script,' \
|
||||||
--replace 'check_output(script)' 'check_output(["${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";
|
homepage = "https://github.com/varietywalls/variety";
|
||||||
description = "Wallpaper manager for Linux systems";
|
description = "Wallpaper manager for Linux systems";
|
||||||
mainProgram = "variety";
|
mainProgram = "variety";
|
||||||
|
@ -96,8 +100,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
Variety also includes a range of image effects, such as oil painting and
|
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.
|
blur, as well as options to layer quotes and a clock onto the background.
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
p3psi
|
p3psi
|
||||||
zfnmxt
|
zfnmxt
|
||||||
];
|
];
|
||||||
|
|
|
@ -89,7 +89,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://www.wireguard.com/";
|
homepage = "https://www.wireguard.com/";
|
||||||
license = licenses.gpl2Only;
|
license = licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [
|
maintainers = with maintainers; [
|
||||||
ericsagnes
|
|
||||||
zx2c4
|
zx2c4
|
||||||
globin
|
globin
|
||||||
ma27
|
ma27
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "yutto";
|
pname = "yutto";
|
||||||
version = "2.0.2";
|
version = "2.0.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
pythonRelaxDeps = true;
|
pythonRelaxDeps = true;
|
||||||
|
@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
owner = "yutto-dev";
|
owner = "yutto-dev";
|
||||||
repo = "yutto";
|
repo = "yutto";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-msq74sGnUHkaf+e6SFYAtu9nzcXnr+PU21g2O7uR5M0=";
|
hash = "sha256-giwCLA9M1XR0neLJVfO017Q1wK34yVQpOxUzgShDJL0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = with python3Packages; [ hatchling ];
|
build-system = with python3Packages; [ hatchling ];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# GNOME Shell extensions
|
# 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
|
## Automatically packaged extensions
|
||||||
|
|
||||||
|
@ -8,19 +8,24 @@ The actual packages are created by `buildGnomeExtension.nix`, provided the corre
|
||||||
|
|
||||||
### Extensions updates
|
### Extensions updates
|
||||||
|
|
||||||
For everyday updates,
|
#### For everyday updates,
|
||||||
|
|
||||||
1. Run `update-extensions.py`.
|
1. Run `update-extensions.py`.
|
||||||
2. Update `extensionRenames.nix` according to the comment at the top.
|
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
|
1. Add a new `gnomeXYExtensions` set in `default.nix`.
|
||||||
2. Remove old ones for GNOME versions we don’t want to support any more
|
2. Update `all-packages.nix` accordingly. (grep for `gnomeExtensions`)
|
||||||
3. Update `supported_versions` in `./update-extensions.py` and re-run it
|
3. Update `supported_versions` in `update-extensions.py`.
|
||||||
4. Change `gnomeExtensions` to the new version
|
4. Follow the [For everyday updates](#for-everyday-updates) section.
|
||||||
5. Update `./extensionsRenames.nix` accordingly
|
|
||||||
6. Update `all-packages.nix` accordingly (grep for `gnomeExtensions`)
|
#### 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
|
## Manually packaged extensions
|
||||||
|
|
||||||
|
|
|
@ -4,25 +4,26 @@
|
||||||
"apps-menu@gnome-shell-extensions.gcampax.github.com"
|
"apps-menu@gnome-shell-extensions.gcampax.github.com"
|
||||||
],
|
],
|
||||||
"persian-calendar": [
|
"persian-calendar": [
|
||||||
"persian-calendar@iamrezamousavi.gmail.com",
|
"PersianCalendar@oxygenws.com",
|
||||||
"PersianCalendar@oxygenws.com"
|
"persian-calendar@iamrezamousavi.gmail.com"
|
||||||
],
|
],
|
||||||
"system-monitor": [
|
"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": [
|
||||||
"fuzzy-clock@keepawayfromfire.co.uk",
|
"FuzzyClock@fire-man-x",
|
||||||
"FuzzyClock@johngoetz",
|
"FuzzyClock@johngoetz",
|
||||||
"FuzzyClock@fire-man-x"
|
"fuzzy-clock@keepawayfromfire.co.uk"
|
||||||
],
|
],
|
||||||
"battery-time": [
|
"battery-time": [
|
||||||
"batterytime@typeof.pw",
|
"batime@martin.zurowietz.de",
|
||||||
"batime@martin.zurowietz.de"
|
"battery-time@eetumos.github.com",
|
||||||
|
"batterytime@typeof.pw"
|
||||||
],
|
],
|
||||||
"nepali-calendar": [
|
"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": [
|
||||||
"mouse-follows-focus@crisidev.org",
|
"mouse-follows-focus@crisidev.org",
|
||||||
|
@ -33,8 +34,8 @@
|
||||||
"power-profile@fthx"
|
"power-profile@fthx"
|
||||||
],
|
],
|
||||||
"fullscreen-to-empty-workspace": [
|
"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": [
|
||||||
"eur-usd-gshell@vezza.github.com",
|
"eur-usd-gshell@vezza.github.com",
|
||||||
|
|
|
@ -76,6 +76,7 @@ rec {
|
||||||
gnome45Extensions = mapUuidNames (produceExtensionsList "45");
|
gnome45Extensions = mapUuidNames (produceExtensionsList "45");
|
||||||
gnome46Extensions = mapUuidNames (produceExtensionsList "46");
|
gnome46Extensions = mapUuidNames (produceExtensionsList "46");
|
||||||
gnome47Extensions = mapUuidNames (produceExtensionsList "47");
|
gnome47Extensions = mapUuidNames (produceExtensionsList "47");
|
||||||
|
gnome48Extensions = mapUuidNames (produceExtensionsList "48");
|
||||||
|
|
||||||
# Keep the last three versions in here
|
# Keep the last three versions in here
|
||||||
gnomeExtensions = lib.trivial.pipe (gnome45Extensions // gnome46Extensions // gnome47Extensions) [
|
gnomeExtensions = lib.trivial.pipe (gnome45Extensions // gnome46Extensions // gnome47Extensions) [
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
vte,
|
vte,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
xdg-utils,
|
xdg-utils,
|
||||||
|
gtk4,
|
||||||
|
desktop-file-utils,
|
||||||
|
xdg-user-dirs,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
# Helper method to reduce redundancy
|
# Helper method to reduce redundancy
|
||||||
|
@ -128,7 +131,10 @@ lib.trivial.pipe super [
|
||||||
inherit gjs;
|
inherit gjs;
|
||||||
util_linux = util-linux;
|
util_linux = util-linux;
|
||||||
xdg_utils = xdg-utils;
|
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
|
diff --git a/app/adw-ding.js b/app/adw-ding.js
|
||||||
index 1062bc7..c312d48 100755
|
index 42cb878c..929ddce2 100755
|
||||||
--- a/app/adw-ding.js
|
--- a/app/adw-ding.js
|
||||||
+++ b/app/adw-ding.js
|
+++ b/app/adw-ding.js
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
-#!/usr/bin/env -S gjs -m
|
-#!/usr/bin/env -S gjs -m
|
||||||
+#!@gjs@/bin/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
|
diff --git a/app/enums.js b/app/enums.js
|
||||||
index 2b541f3..594d288 100644
|
index 5434fa7a..e36d3670 100644
|
||||||
--- a/app/enums.js
|
--- a/app/enums.js
|
||||||
+++ b/app/enums.js
|
+++ b/app/enums.js
|
||||||
@@ -124,7 +124,8 @@ export const THUMBNAILS_DIR = '.cache/thumbnails';
|
@@ -134,7 +134,8 @@ export const THUMBNAILS_DIR = '.cache/thumbnails';
|
||||||
export const DND_HOVER_TIMEOUT = 500; // In milliseconds
|
export const DND_HOVER_TIMEOUT = 1500; // In milliseconds
|
||||||
export const DND_SHELL_HOVER_POLL = 200; // In milliseconds
|
export const DND_SHELL_HOVER_POLL = 200; // In milliseconds
|
||||||
export const TOOLTIP_HOVER_TIMEOUT = 1000; // In milliseconds
|
export const TOOLTIP_HOVER_TIMEOUT = 1000; // In milliseconds
|
||||||
-export const XDG_EMAIL_CMD = 'xdg-email';
|
-export const XDG_EMAIL_CMD = 'xdg-email';
|
||||||
|
@ -23,40 +63,40 @@ index 2b541f3..594d288 100644
|
||||||
export const ZIP_CMD = 'zip';
|
export const ZIP_CMD = 'zip';
|
||||||
export const ZIP_CMD_OPTIONS = '-r';
|
export const ZIP_CMD_OPTIONS = '-r';
|
||||||
diff --git a/app/preferences.js b/app/preferences.js
|
diff --git a/app/preferences.js b/app/preferences.js
|
||||||
index 6849a86..83a7247 100644
|
index 95ffe60b..75370403 100644
|
||||||
--- a/app/preferences.js
|
--- a/app/preferences.js
|
||||||
+++ b/app/preferences.js
|
+++ b/app/preferences.js
|
||||||
@@ -29,6 +29,7 @@ const Preferences = class {
|
@@ -30,6 +30,7 @@ const Preferences = class {
|
||||||
this._programVersion = Data.programversion;
|
this._mainApp = Data.mainApp;
|
||||||
this._Enums = Data.Enums;
|
this._Enums = Data.Enums;
|
||||||
let schemaSource = GioSSS.get_default();
|
let schemaSource = GioSSS.get_default();
|
||||||
+ const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
|
+ const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
|
||||||
this._desktopManager = null;
|
this._desktopManager = null;
|
||||||
|
|
||||||
// Gtk
|
// Adw Style Manager
|
||||||
@@ -36,7 +37,7 @@ const Preferences = class {
|
@@ -52,7 +53,7 @@ const Preferences = class {
|
||||||
this.gtkSettings = new Gio.Settings({settings_schema: schemaGtk});
|
|
||||||
|
|
||||||
// Gnome Files
|
// Gnome Files
|
||||||
- let schemaObj = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
|
const schemaObj =
|
||||||
+ let schemaObj = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
|
- schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
|
||||||
|
+ schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
|
||||||
|
|
||||||
if (!schemaObj) {
|
if (!schemaObj) {
|
||||||
this.nautilusSettings = null;
|
this.nautilusSettings = null;
|
||||||
this.CLICK_POLICY_SINGLE = false;
|
@@ -69,7 +70,7 @@ const Preferences = class {
|
||||||
@@ -48,7 +49,7 @@ const Preferences = class {
|
|
||||||
|
|
||||||
|
|
||||||
// Compression
|
// Compression
|
||||||
- const compressionSchema = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
|
const compressionSchema =
|
||||||
+ const compressionSchema = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
|
- schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
|
||||||
if (!compressionSchema)
|
+ schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
|
||||||
|
|
||||||
|
if (!compressionSchema) {
|
||||||
this.nautilusCompression = null;
|
this.nautilusCompression = null;
|
||||||
else
|
|
||||||
diff --git a/dingManager.js b/dingManager.js
|
diff --git a/dingManager.js b/dingManager.js
|
||||||
index f1b497f..29f2156 100644
|
index 7a0de9e3..bbc23704 100644
|
||||||
--- a/dingManager.js
|
--- a/dingManager.js
|
||||||
+++ b/dingManager.js
|
+++ b/dingManager.js
|
||||||
@@ -401,7 +401,7 @@ const DingManager = class {
|
@@ -482,7 +482,7 @@ const DingManager = class {
|
||||||
async _doKillAllOldDesktopProcesses() {
|
async _doKillAllOldDesktopProcesses() {
|
||||||
const procFolder = Gio.File.new_for_path('/proc');
|
const procFolder = Gio.File.new_for_path('/proc');
|
||||||
const processes = await FileUtils.enumerateDir(procFolder);
|
const processes = await FileUtils.enumerateDir(procFolder);
|
||||||
|
@ -64,21 +104,21 @@ index f1b497f..29f2156 100644
|
||||||
+ const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([
|
+ const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([
|
||||||
this.path,
|
this.path,
|
||||||
'app',
|
'app',
|
||||||
'ding.js',
|
'adw-ding.js',
|
||||||
@@ -425,7 +425,7 @@ const DingManager = class {
|
@@ -510,7 +510,7 @@ const DingManager = class {
|
||||||
}
|
|
||||||
|
|
||||||
if (contents.startsWith(thisPath)) {
|
if (contents.startsWith(thisPath)) {
|
||||||
- let proc = new Gio.Subprocess({argv: ['/bin/kill', filename]});
|
let proc =
|
||||||
+ let proc = new Gio.Subprocess({argv: ['@util_linux@/bin/kill', filename]});
|
- new Gio.Subprocess({argv: ['/bin/kill', filename]});
|
||||||
|
+ new Gio.Subprocess({argv: ['@util_linux@/bin/kill', filename]});
|
||||||
|
|
||||||
proc.init(null);
|
proc.init(null);
|
||||||
console.log(`Killing old DING process ${filename}`);
|
console.log(`Killing old DING process ${filename}`);
|
||||||
await proc.wait_async_promise(null);
|
|
||||||
diff --git a/prefs.js b/prefs.js
|
diff --git a/prefs.js b/prefs.js
|
||||||
index 5ed03f6..5302836 100644
|
index 50430fa5..82fca2e3 100644
|
||||||
--- a/prefs.js
|
--- a/prefs.js
|
||||||
+++ b/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 schemaSource = GioSSS.get_default();
|
||||||
const schemaGtk = schemaSource.lookup(Enums.SCHEMA_GTK, true);
|
const schemaGtk = schemaSource.lookup(Enums.SCHEMA_GTK, true);
|
||||||
const gtkSettings = new Gio.Settings({settings_schema: schemaGtk});
|
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 schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
|
||||||
+ const schemaNautilus = schemaSourceNautilus.lookup(Enums.SCHEMA_NAUTILUS, true);
|
+ const schemaNautilus = schemaSourceNautilus.lookup(Enums.SCHEMA_NAUTILUS, true);
|
||||||
const version = this.metadata['version-name'];
|
const version = this.metadata['version-name'];
|
||||||
|
|
||||||
let nautilusSettings;
|
let nautilusSettings;
|
||||||
if (!schemaNautilus)
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
"fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
|
"fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
|
||||||
"FuzzyClock@johngoetz" = "fuzzy-clock";
|
"FuzzyClock@johngoetz" = "fuzzy-clock";
|
||||||
|
|
||||||
|
"battery-time@eetumos.github.com" = "battery-time-3";
|
||||||
"batterytime@typeof.pw" = "battery-time-2";
|
"batterytime@typeof.pw" = "battery-time-2";
|
||||||
"batime@martin.zurowietz.de" = "battery-time";
|
"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
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -I nixpkgs=../../../.. -i python3 -p python3
|
#!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 base64
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import argparse
|
||||||
|
import unittest
|
||||||
import subprocess
|
import subprocess
|
||||||
import urllib.error
|
import urllib.error
|
||||||
import urllib.request
|
import urllib.request
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from pathlib import Path
|
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
|
# We don't want all those deprecated legacy extensions
|
||||||
# Group extensions by GNOME "major" version for compatibility reasons
|
# Group extensions by GNOME "major" version for compatibility reasons
|
||||||
|
@ -24,26 +31,22 @@ supported_versions = {
|
||||||
"45": "45",
|
"45": "45",
|
||||||
"46": "46",
|
"46": "46",
|
||||||
"47": "47",
|
"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
|
# Some type alias to increase readability of complex compound types
|
||||||
PackageName = str
|
PackageName = str
|
||||||
ShellVersion = str
|
ShellVersion = str
|
||||||
Uuid = str
|
Uuid = str
|
||||||
ExtensionVersion = int
|
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
|
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.
|
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.
|
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
|
# The download URLs follow this schema
|
||||||
uuid = uuid.replace("@", "")
|
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
|
# Download extension and add the zip content to nix-store
|
||||||
for _ in range(0, 10):
|
for _ in range(0, 10):
|
||||||
process = subprocess.run(
|
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:
|
if process.returncode == 0:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
logging.warning(f"Nix-prefetch-url failed for {url}:")
|
logging.warning(f"Nix-prefetch-url failed for {url}:")
|
||||||
logging.warning(f"Stderr: {process.stderr}")
|
logging.warning(f"Stderr: {process.stderr}")
|
||||||
logging.warning(f"Retrying")
|
logging.warning("Retrying")
|
||||||
|
|
||||||
if process.returncode != 0:
|
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()
|
lines = process.stdout.splitlines()
|
||||||
|
|
||||||
|
@ -84,8 +93,9 @@ def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]:
|
||||||
|
|
||||||
|
|
||||||
def generate_extension_versions(
|
def generate_extension_versions(
|
||||||
extension_version_map: Dict[ShellVersion, ExtensionVersion], uuid: str
|
extension_version_map: dict[ShellVersion, ExtensionVersion],
|
||||||
) -> Dict[ShellVersion, Dict[str, str]]:
|
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:
|
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`)
|
- 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
|
# 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():
|
for shell_version, version_prefix in supported_versions.items():
|
||||||
# Newest compatible extension version
|
# Newest compatible extension version
|
||||||
extension_version: Optional[int] = max(
|
extension_version: int | None = max(
|
||||||
(
|
(
|
||||||
int(ext_ver)
|
int(ext_ver)
|
||||||
for shell_ver, ext_ver in extension_version_map.items()
|
for shell_ver, ext_ver in extension_version_map.items()
|
||||||
|
@ -112,16 +122,16 @@ def generate_extension_versions(
|
||||||
extension_versions[shell_version] = extension_version
|
extension_versions[shell_version] = extension_version
|
||||||
|
|
||||||
# Download information once for all extension versions chosen above
|
# 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())):
|
for extension_version in sorted(set(extension_versions.values())):
|
||||||
logging.debug(
|
logging.debug(f"[{uuid}] Downloading v{extension_version}")
|
||||||
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
|
# 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():
|
for shell_version, extension_version in extension_versions.items():
|
||||||
sha256, metadata = extension_info_cache[extension_version]
|
sha256, metadata = extension_info_cache[extension_version]
|
||||||
|
|
||||||
|
@ -136,7 +146,7 @@ def generate_extension_versions(
|
||||||
return extension_versions_full
|
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")
|
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]
|
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
|
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, … }
|
# Input is a mapping str -> { version: int, … }
|
||||||
# We want to map shell versions to extension versions
|
# 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()
|
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
|
# 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
|
# No compatible versions found
|
||||||
if not shell_version_map:
|
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.
|
# Fetch a human-readable name for the package.
|
||||||
(pname, _pname_id) = pname_from_url(extension["link"])
|
(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 {
|
return {
|
||||||
"uuid": uuid,
|
"uuid": uuid,
|
||||||
"name": extension["name"],
|
"name": extension["name"],
|
||||||
|
@ -227,10 +230,16 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@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):
|
for attempt in range(retries + 1):
|
||||||
try:
|
try:
|
||||||
with urllib.request.urlopen(url) as response:
|
with urllib.request.urlopen(req) as response:
|
||||||
yield response
|
yield response
|
||||||
break
|
break
|
||||||
except urllib.error.HTTPError as e:
|
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
|
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
|
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.
|
page by page until we hit a non-full page or a 404 error.
|
||||||
|
@ -282,19 +291,21 @@ def scrape_extensions_index() -> List[Dict[str, Any]]:
|
||||||
return extensions
|
return extensions
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def fetch_extensions() -> list[dict[str, Any]]:
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
|
||||||
|
|
||||||
raw_extensions = scrape_extensions_index()
|
raw_extensions = scrape_extensions_index()
|
||||||
|
|
||||||
logging.info(f"Downloaded {len(raw_extensions)} extensions. Processing …")
|
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):
|
for num, raw_extension in enumerate(raw_extensions):
|
||||||
processed_extension = process_extension(raw_extension)
|
processed_extension = process_extension(raw_extension)
|
||||||
if processed_extension:
|
if processed_extension:
|
||||||
processed_extensions.append(processed_extension)
|
processed_extensions.append(processed_extension)
|
||||||
logging.debug(f"Processed {num + 1} / {len(raw_extensions)}")
|
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 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,
|
# 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.
|
# but then each of its supported versions with metadata on a new line.
|
||||||
|
@ -306,46 +317,127 @@ if __name__ == "__main__":
|
||||||
else:
|
else:
|
||||||
out.write(", ")
|
out.write(", ")
|
||||||
# Dump each extension into a single-line string forst
|
# 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
|
# Inject line breaks for each supported version
|
||||||
for version in supported_versions:
|
for version in supported_versions:
|
||||||
# This one only matches the first entry
|
# 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
|
# 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
|
# 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")
|
||||||
out.write("]\n")
|
out.write("]\n")
|
||||||
|
|
||||||
|
|
||||||
|
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(
|
logging.info(
|
||||||
f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)"
|
f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)"
|
||||||
)
|
)
|
||||||
|
|
||||||
with open(updater_dir_path / "extensions.json", "r") as out:
|
with open(updater_dir_path / "extensions.json", "r") as out:
|
||||||
# Check that the generated file actually is valid JSON, just to be sure
|
extensions = json.load(out)
|
||||||
json.load(out)
|
|
||||||
|
collisions = find_collisions(extensions, versions_to_merge)
|
||||||
|
|
||||||
with open(updater_dir_path / "collisions.json", "w") as out:
|
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)
|
json.dump(collisions, out, indent=2, ensure_ascii=False)
|
||||||
out.write("\n")
|
out.write("\n")
|
||||||
|
|
||||||
logging.info(
|
logging.info(
|
||||||
"Done. Writing name collisions to collisions.json (please check manually)"
|
"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",
|
"owner": "openjdk",
|
||||||
"repo": "jdk24u",
|
"repo": "jdk24u",
|
||||||
"rev": "refs/tags/jdk-24+36"
|
"rev": "refs/tags/jdk-24.0.1+9"
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,10 @@ let
|
||||||
defaultVersion =
|
defaultVersion =
|
||||||
with lib.versions;
|
with lib.versions;
|
||||||
lib.switch coq.coq-version [
|
lib.switch coq.coq-version [
|
||||||
|
{
|
||||||
|
case = isEq "9.0";
|
||||||
|
out = "2.2.5";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
case = range "8.18" "8.20";
|
case = range "8.18" "8.20";
|
||||||
out = "2.2.1";
|
out = "2.2.1";
|
||||||
|
@ -42,6 +46,8 @@ let
|
||||||
release."2.1.7".sha256 = "sha256-HsLv2ziPIUK6Q5/xz8ZvaGWggUCK1AKv47U5M7SCcKU=";
|
release."2.1.7".sha256 = "sha256-HsLv2ziPIUK6Q5/xz8ZvaGWggUCK1AKv47U5M7SCcKU=";
|
||||||
release."2.2.1".rev = "v2.2.1";
|
release."2.2.1".rev = "v2.2.1";
|
||||||
release."2.2.1".sha256 = "sha256-miIVAv/8jlP1pXnoK1MWz4O6nlmb309a8UjcCivbiB4=";
|
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;
|
inherit location;
|
||||||
});
|
});
|
||||||
fetched = fetch (if version != null then version else defaultVersion);
|
fetched = fetch (if version != null then version else defaultVersion);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
stdenv,
|
|
||||||
lib,
|
lib,
|
||||||
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
cmake,
|
cmake,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
|
@ -24,6 +24,7 @@
|
||||||
libtiff,
|
libtiff,
|
||||||
libgeotiff,
|
libgeotiff,
|
||||||
libjpeg,
|
libjpeg,
|
||||||
|
qhull,
|
||||||
# eccodes is broken on darwin
|
# eccodes is broken on darwin
|
||||||
enableGRIB ? stdenv.hostPlatform.isLinux,
|
enableGRIB ? stdenv.hostPlatform.isLinux,
|
||||||
eccodes,
|
eccodes,
|
||||||
|
@ -32,7 +33,6 @@
|
||||||
# We enable it in hdf4 and use libtirpc as a dependency here from the passthru
|
# We enable it in hdf4 and use libtirpc as a dependency here from the passthru
|
||||||
# of hdf4
|
# of hdf4
|
||||||
enableLibtirpc ? stdenv.hostPlatform.isLinux,
|
enableLibtirpc ? stdenv.hostPlatform.isLinux,
|
||||||
libtirpc,
|
|
||||||
python3,
|
python3,
|
||||||
enableMPI ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin),
|
enableMPI ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin),
|
||||||
# Choose MPICH over OpenMPI because it currently builds on AArch and Darwin
|
# Choose MPICH over OpenMPI because it currently builds on AArch and Darwin
|
||||||
|
@ -109,19 +109,31 @@ let
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "gnudatalanguage";
|
pname = "gnudatalanguage";
|
||||||
version = "1.0.1";
|
version = "1.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = "gnudatalanguage";
|
||||||
repo = "gdl";
|
repo = "gdl";
|
||||||
rev = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
sha256 = "sha256-IrCLL8MQp0SkWj7sbfZlma5FrnMbgdl4E/1nPGy0Y60=";
|
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 =
|
buildInputs =
|
||||||
[
|
[
|
||||||
|
qhull
|
||||||
readline
|
readline
|
||||||
ncurses
|
ncurses
|
||||||
zlib
|
zlib
|
||||||
|
@ -159,10 +171,6 @@ stdenv.mkDerivation rec {
|
||||||
(python3.withPackages (ps: with ps; [ numpy ]))
|
(python3.withPackages (ps: with ps; [ numpy ]))
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
] ++ lib.optional enableWX wrapGAppsHook3;
|
|
||||||
|
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
lib.optional (!enableHDF4) "-DHDF=OFF"
|
lib.optional (!enableHDF4) "-DHDF=OFF"
|
||||||
++ [ (if enableHDF5 then "-DHDF5DIR=${hdf5-custom}" else "-DHDF5=OFF") ]
|
++ [ (if enableHDF5 then "-DHDF5DIR=${hdf5-custom}" else "-DHDF5=OFF") ]
|
||||||
|
@ -197,6 +205,8 @@ stdenv.mkDerivation rec {
|
||||||
"test_call_external"
|
"test_call_external"
|
||||||
"test_tic_toc"
|
"test_tic_toc"
|
||||||
"test_timestamp"
|
"test_timestamp"
|
||||||
|
"test_bugs_poly2d"
|
||||||
|
"test_formats"
|
||||||
]
|
]
|
||||||
}'")
|
}'")
|
||||||
'';
|
'';
|
||||||
|
@ -217,7 +227,7 @@ stdenv.mkDerivation rec {
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Free incremental compiler of IDL";
|
description = "Free incremental compiler of IDL";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
GDL (GNU Data Language) is a free/libre/open source incremental compiler
|
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.
|
GDL is aimed as a drop-in replacement for IDL.
|
||||||
'';
|
'';
|
||||||
homepage = "https://github.com/gnudatalanguage/gdl";
|
homepage = "https://github.com/gnudatalanguage/gdl";
|
||||||
license = licenses.gpl2Only;
|
license = lib.licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [ ShamrockLee ];
|
maintainers = with lib.maintainers; [ ShamrockLee ];
|
||||||
platforms = platforms.all;
|
platforms = lib.platforms.all;
|
||||||
mainProgram = "gdl";
|
mainProgram = "gdl";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -4,8 +4,8 @@ let
|
||||||
base = callPackage ./generic.nix (
|
base = callPackage ./generic.nix (
|
||||||
_args
|
_args
|
||||||
// {
|
// {
|
||||||
version = "8.3.20";
|
version = "8.3.21";
|
||||||
hash = "sha256-NrTmoyPNRWc6VPKW6dJma39d9XZBAxx3xP2BN7xOvrM=";
|
hash = "sha256-0HaebhHPpsWaFt4kFmi+jH8xpymVCo0GGQ360thiKwQ=";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
|
|
|
@ -4,8 +4,8 @@ let
|
||||||
base = callPackage ./generic.nix (
|
base = callPackage ./generic.nix (
|
||||||
_args
|
_args
|
||||||
// {
|
// {
|
||||||
version = "8.4.6";
|
version = "8.4.7";
|
||||||
hash = "sha256-nPJzRQm2A/ZYlherUqlxKgPg/gWZUc3dLUYj30v3xsY=";
|
hash = "sha256-bsyxsGpN2c6jFNvnDHYtPUdlRxy26/kludowiXi/+Yg=";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "biliass";
|
pname = "biliass";
|
||||||
version = "2.2.0";
|
version = "2.2.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yutto-dev";
|
owner = "yutto-dev";
|
||||||
repo = "yutto";
|
repo = "yutto";
|
||||||
tag = "biliass@${version}";
|
tag = "biliass@${version}";
|
||||||
hash = "sha256-IrzFjjMNuD5UgdccHxIxZoeZpM1PGtVQRTWHOocnmAU=";
|
hash = "sha256-IQokpJbUhR8FMCJcxPSDD1X1o+Lb2j1G7d/jFEsR/Eg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "${src.name}/packages/biliass";
|
sourceRoot = "${src.name}/packages/biliass";
|
||||||
|
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
||||||
src
|
src
|
||||||
;
|
;
|
||||||
sourceRoot = "${sourceRoot}/${cargoRoot}";
|
sourceRoot = "${sourceRoot}/${cargoRoot}";
|
||||||
hash = "sha256-yR2eVsomepIh9ILon7PrAj2EBgI/vwN3JgRSR/3R1Mk=";
|
hash = "sha256-tkHl6z0En+od//fCGJXK/p8Dz5KDOXltHrXhxHmHL6U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with rustPlatform; [
|
nativeBuildInputs = with rustPlatform; [
|
||||||
|
|
|
@ -42,6 +42,6 @@ buildPythonPackage rec {
|
||||||
changelog = "https://github.com/pydanny/cached-property/releases/tag/${version}";
|
changelog = "https://github.com/pydanny/cached-property/releases/tag/${version}";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,6 @@ buildPythonPackage rec {
|
||||||
description = "Wrapper for the pocket API";
|
description = "Wrapper for the pocket API";
|
||||||
homepage = "https://github.com/tapanpandita/pocket";
|
homepage = "https://github.com/tapanpandita/pocket";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytest-scim2-server";
|
pname = "pytest-scim2-server";
|
||||||
version = "0.1.2";
|
version = "0.1.3";
|
||||||
|
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "pytest_scim2_server";
|
pname = "pytest_scim2_server";
|
||||||
inherit version;
|
inherit version;
|
||||||
hash = "sha256-uWWFqkloTkvtIfpBNy93fa+c+b/FATjwytLKRde4bHg=";
|
hash = "sha256-iZrKKUfbqAAhugSNhqiCy6mVBoXxa0yruiQzHg0pIDY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ hatchling ];
|
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