Merge pull request #291040 from squarepear/gdtoolkit-4

gdtoolkit_4: init at 4.2.2
This commit is contained in:
kirillrdy 2024-06-08 10:21:51 +10:00 committed by GitHub
commit 69191890b5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 86 additions and 31 deletions

View File

@ -1,7 +1,6 @@
{ lib
, python3
, fetchFromGitHub
, godot3-server
}:
let
@ -23,15 +22,15 @@ let
};
in
python.pkgs.buildPythonApplication rec {
pname = "gdtoolkit";
version = "3.3.1";
pname = "gdtoolkit3";
version = "3.5.0";
# If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
src = fetchFromGitHub {
owner = "Scony";
repo = "godot-gdscript-toolkit";
rev = version;
sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn";
hash = "sha256-cMGD5Xdf9ElS1NT7Q0NPB//EvUO0MI0VTtps5JRisZ4=";
};
disabled = python.pythonOlder "3.7";
@ -48,36 +47,19 @@ python.pkgs.buildPythonApplication rec {
nativeCheckInputs = with python.pkgs; [
pytestCheckHook
hypothesis
godot3-server
];
preCheck =
let
godotServerMajorVersion = lib.versions.major godot3-server.version;
gdtoolkitMajorVersion = lib.versions.major version;
msg = ''
gdtoolkit major version ${gdtoolkitMajorVersion} does not match godot-server major version ${godotServerMajorVersion}!
gdtoolkit needs a matching godot-server for its tests.
If you see this error, you can either:
- disable doCheck for gdtoolkit, or
- provide a compatible godot-server version to gdtoolkit"
'';
in lib.throwIf (godotServerMajorVersion != gdtoolkitMajorVersion) msg ''
preCheck = ''
# The tests want to run the installed executables
export PATH=$out/bin:$PATH
# gdtoolkit tries to write cache variables to $HOME/.cache
export HOME=$TMP
# Work around https://github.com/godotengine/godot/issues/20503
# Without this, Godot will complain about a missing project file
touch project.godot
# Remove broken test case
# (hard to skip via disabledTests since the test name contains an absolute path)
rm tests/potential-godot-bugs/multiline-subscription-expression.gd
'';
# The tests are not working on NixOS
disabledTests = [ "test_cc_on_empty_file_succeeds" "test_cc_on_file_with_single_function_succeeds" ];
pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
meta = with lib; {

View File

@ -0,0 +1,73 @@
{ lib
, python3
, fetchFromGitHub
}:
let
python = python3.override {
packageOverrides = self: super: {
lark = super.lark.overridePythonAttrs (old: rec {
# gdtoolkit needs exactly this lark version
version = "1.1.9";
src = fetchFromGitHub {
owner = "lark-parser";
repo = "lark";
rev = version;
hash = "sha256-vDu+VPAXONY8J+A6oS7EiMeOMgzGms0nWpE+DKI1MVU=";
fetchSubmodules = true;
};
patches = [ ];
});
};
};
in
python.pkgs.buildPythonApplication rec {
pname = "gdtoolkit";
version = "4.2.2";
src = fetchFromGitHub {
owner = "Scony";
repo = "godot-gdscript-toolkit";
rev = version;
hash = "sha256-SvEKKuDnfxV+5AArg5ssrQzgIwRITdek4KYEs3d0n4Y=";
};
disabled = python.pythonOlder "3.7";
propagatedBuildInputs = with python.pkgs; [
docopt
lark
pyyaml
setuptools
];
doCheck = true;
nativeCheckInputs = with python.pkgs; [
pytestCheckHook
hypothesis
];
preCheck = ''
# The tests want to run the installed executables
export PATH=$out/bin:$PATH
# gdtoolkit tries to write cache variables to $HOME/.cache
export HOME=$TMP
'';
# The tests are not working on NixOS
disabledTestPaths = [
"tests/generated/test_expression_parsing.py"
"tests/gdradon/test_executable.py"
];
pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
meta = with lib; {
description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter";
homepage = "https://github.com/Scony/godot-gdscript-toolkit";
license = licenses.mit;
maintainers = with maintainers; [ squarepear ];
};
}

View File

@ -493,6 +493,8 @@ mapAliases ({
godot-headless = throw "godot-headless has been renamed to godot3-headless to distinguish from version 4"; # Added 2023-07-16
godot-server = throw "godot-server has been renamed to godot3-server to distinguish from version 4"; # Added 2023-07-16
gdtoolkit = throw "gdtoolkit has been renamed to gdtoolkit_3 to distinguish from version 4"; # Added 2024-02-17
google-chrome-beta = throw "'google-chrome-beta' has been removed due to the lack of maintenance in nixpkgs. Consider using 'google-chrome' instead."; # Added 2023-10-18
google-chrome-dev = throw "'google-chrome-dev' has been removed due to the lack of maintenance in nixpkgs. Consider using 'google-chrome' instead."; # Added 2023-10-18
google-gflags = throw "'google-gflags' has been renamed to/replaced by 'gflags'"; # Converted to throw 2023-09-10

View File

@ -8228,8 +8228,6 @@ with pkgs;
gdmap = callPackage ../tools/system/gdmap { };
gdtoolkit = callPackage ../development/tools/gdtoolkit { };
gef = callPackage ../development/tools/misc/gef { };
gelasio = callPackage ../data/fonts/gelasio { };