Merge pull request #124977 from xfix/skytemple
This commit is contained in:
commit
a4d3c33fe3
15 changed files with 402 additions and 0 deletions
38
pkgs/applications/misc/skytemple/default.nix
Normal file
38
pkgs/applications/misc/skytemple/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ lib, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3, wrapGAppsHook, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "skytemple";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0l2c4qngv58j6zkp0va6m96zksx8gqn3mjc3isqybfnhjr6nd3v9";
|
||||
};
|
||||
|
||||
buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
|
||||
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
natsort
|
||||
packaging
|
||||
pycairo
|
||||
pygal
|
||||
pypresence
|
||||
setuptools
|
||||
skytemple-dtef
|
||||
skytemple-eventserver
|
||||
skytemple-files
|
||||
skytemple-icons
|
||||
skytemple-ssb-debugger
|
||||
];
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple";
|
||||
description = "ROM hacking tool for Pokémon Mystery Dungeon Explorers of Sky";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
23
pkgs/development/python-modules/explorerscript/default.nix
Normal file
23
pkgs/development/python-modules/explorerscript/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, antlr4-python3-runtime, pygments, python-igraph }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "explorerscript";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1vzyliiyrxx8l9sfbqcyr4xn5swd7znkxy69kn0vb5rban8hm9c1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ antlr4-python3-runtime python-igraph ];
|
||||
checkInputs = [ pygments ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/explorerscript";
|
||||
description = "A programming language + compiler/decompiler for creating scripts for Pokémon Mystery Dungeon Explorers of Sky";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
23
pkgs/development/python-modules/ndspy/default.nix
Normal file
23
pkgs/development/python-modules/ndspy/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildPythonPackage, fetchPypi, crcmod }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ndspy";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1s0i81gspas22bjwk9vhy3x5sw1svyybk7c2j1ixc77drr9ym20a";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ crcmod ];
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "ndspy" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/RoadrunnerWMC/ndspy";
|
||||
description = "A Python library for many Nintendo DS file formats";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
44
pkgs/development/python-modules/py-desmume/default.nix
Normal file
44
pkgs/development/python-modules/py-desmume/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, GitPython
|
||||
, libpcap, meson, ninja, pillow, pkg-config, pygobject3, SDL2
|
||||
, alsaLib, soundtouch, openal
|
||||
}:
|
||||
|
||||
let
|
||||
desmume = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = "desmume";
|
||||
rev = "8e7af8ada883b7e91344985236f7c7c04ee795d7";
|
||||
sha256 = "0svmv2rch9q347gbpbws4agymas8n014gh1ssaf91wx7jwn53842";
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "py-desmume";
|
||||
version = "0.0.3.post2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1chsg70k8kqnlasn88b04ww3yl0lay1bjxvz6lhp6s2cvsxv03x1";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
cp -R --no-preserve=mode ${desmume} __build_desmume
|
||||
'';
|
||||
|
||||
buildInputs = [ GitPython libpcap SDL2 alsaLib soundtouch openal ];
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
propagatedBuildInputs = [ pillow pygobject3 ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "desmume" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/py-desmume";
|
||||
description = "Python library to interface with DeSmuME, the Nintendo DS emulator";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
24
pkgs/development/python-modules/pygtkspellcheck/default.nix
Normal file
24
pkgs/development/python-modules/pygtkspellcheck/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ lib, buildPythonPackage, fetchPypi, gobject-introspection, gtk3, pyenchant, pygobject3 }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pygtkspellcheck";
|
||||
version = "4.0.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0pc3xmv1q775hn4kc1kspvpdn4gm7ix3aw6hz9iy3brfcw6ddcl4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection gtk3 ];
|
||||
propagatedBuildInputs = [ pyenchant pygobject3 ];
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "gtkspellcheck" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/koehlma/pygtkspellcheck";
|
||||
description = "A Python spell-checking library for GtkTextViews based on Enchant";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
21
pkgs/development/python-modules/pypresence/default.nix
Normal file
21
pkgs/development/python-modules/pypresence/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ lib, buildPythonPackage, fetchPypi }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pypresence";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1c8r7yxih5zp46qb9anq5s91pw2wr7d9d0nzcfh4l42x10c8lqal";
|
||||
};
|
||||
|
||||
doCheck = false; # tests require internet connection
|
||||
pythonImportsCheck = [ "pypresence" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://qwertyquerty.github.io/pypresence/html/index.html";
|
||||
description = "Discord RPC client written in Python";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
25
pkgs/development/python-modules/skytemple-dtef/default.nix
Normal file
25
pkgs/development/python-modules/skytemple-dtef/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, skytemple-files }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skytemple-dtef";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "177ydif01fai6z5yhgpa27pzfgabblzhl8nsczczcmw74vxqwzyc";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ skytemple-files ];
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "skytemple_dtef" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple-dtef";
|
||||
description = "A format for standardized rule-based tilesets with 256 adjacency combinations";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skytemple-eventserver";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1xcf7ljvi5ixhwx9rkg3hnwcyv4wsgd2yb6is11jffbrdp00j2bq";
|
||||
};
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "skytemple_eventserver" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple-eventserver";
|
||||
description = "Websocket server that emits SkyTemple UI events";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
25
pkgs/development/python-modules/skytemple-files/default.nix
Normal file
25
pkgs/development/python-modules/skytemple-files/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, appdirs, explorerscript, ndspy, pillow, setuptools, skytemple-rust, tilequant }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skytemple-files";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1vklg4kcj3kb9ryrzrcmywn131b2bp3vy94cd4x4y4s7hkhgwg74";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ appdirs explorerscript ndspy pillow setuptools skytemple-rust tilequant ];
|
||||
|
||||
doCheck = false; # requires Pokémon Mystery Dungeon ROM
|
||||
pythonImportsCheck = [ "skytemple_files" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple-files";
|
||||
description = "Python library to edit the ROM of Pokémon Mystery Dungeon Explorers of Sky";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
23
pkgs/development/python-modules/skytemple-icons/default.nix
Normal file
23
pkgs/development/python-modules/skytemple-icons/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skytemple-icons";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "036bxy0n3p0ivcdaymj11z0nw555xjxxj15ja0rpjsvq1mqamd80";
|
||||
};
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "skytemple_icons" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple-icons";
|
||||
description = "Icons for SkyTemple";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
31
pkgs/development/python-modules/skytemple-rust/default.nix
Normal file
31
pkgs/development/python-modules/skytemple-rust/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, rustPlatform, setuptools-rust }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skytemple-rust";
|
||||
version = "unstable-2021-05-30"; # Contains build bug fixes, but is otherwise identical to 0.0.1.post0
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = "cff8b2930af6d25d41331fab8c04f56a4fd75e95";
|
||||
sha256 = "18y6wwvzyw062zlv3gcirr1hgld9d97ffyrvy0jvw8nr3b9h9x0i";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "1ypcsf9gbq1bz29kfn7g4kg8741mxg1lfcbb14a0vfhjq4d6pnx9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "skytemple_rust" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple-rust";
|
||||
description = "Binary Rust extensions for SkyTemple";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3
|
||||
, wrapGAppsHook, nest-asyncio, pycairo, py-desmume, pygtkspellcheck, setuptools
|
||||
, skytemple-files, skytemple-icons
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skytemple-ssb-debugger";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0jmsli3wg386y0lxwddpwp1xqxsn2bsy4d1f7dyh0jjz8lqiz03i";
|
||||
};
|
||||
|
||||
buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
|
||||
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
|
||||
propagatedBuildInputs = [
|
||||
nest-asyncio
|
||||
pycairo
|
||||
py-desmume
|
||||
pygtkspellcheck
|
||||
setuptools
|
||||
skytemple-files
|
||||
skytemple-icons
|
||||
];
|
||||
|
||||
doCheck = false; # requires Pokémon Mystery Dungeon ROM
|
||||
pythonImportsCheck = [ "skytemple_ssb_debugger" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/skytemple-ssb-debugger";
|
||||
description = "Script Engine Debugger for Pokémon Mystery Dungeon Explorers of Sky";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
38
pkgs/development/python-modules/tilequant/default.nix
Normal file
38
pkgs/development/python-modules/tilequant/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, GitPython, click, ordered-set, pillow, sortedcollections }:
|
||||
|
||||
let
|
||||
aikku93-tilequant = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = "aikku93-tilequant";
|
||||
rev = "6604e0906edff384b6c8d4cde03e6601731f66fd";
|
||||
sha256 = "0w19h3n2i0xriqsy0b0rifjgbv4hqd7gl78fw0cappkrdykij5r1";
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "tilequant";
|
||||
version = "0.4.0.post0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SkyTemple";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "189af203iay3inj1bbgm3hh1fshn879bcm28ypbvfp27fy7j5b25";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
cp -R --no-preserve=mode ${aikku93-tilequant} __aikku93_tilequant
|
||||
'';
|
||||
|
||||
buildInputs = [ GitPython ];
|
||||
propagatedBuildInputs = [ click ordered-set pillow sortedcollections ];
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
pythonImportsCheck = [ "skytemple_tilequant" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SkyTemple/tilequant";
|
||||
description = "Tool for quantizing image colors using tile-based palette restrictions";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ xfix ];
|
||||
};
|
||||
}
|
|
@ -8606,6 +8606,8 @@ in
|
|||
tex = texlive.combined.scheme-small;
|
||||
};
|
||||
|
||||
skytemple = callPackage ../applications/misc/skytemple {};
|
||||
|
||||
sleuthkit = callPackage ../tools/system/sleuthkit {};
|
||||
|
||||
# Not updated upstream since 2018, doesn't support qt newer than 5.12
|
||||
|
|
|
@ -2297,6 +2297,8 @@ in {
|
|||
|
||||
expiringdict = callPackage ../development/python-modules/expiringdict { };
|
||||
|
||||
explorerscript = callPackage ../development/python-modules/explorerscript { };
|
||||
|
||||
exrex = callPackage ../development/python-modules/exrex { };
|
||||
|
||||
extractcode = callPackage ../development/python-modules/extractcode { };
|
||||
|
@ -4527,6 +4529,8 @@ in {
|
|||
|
||||
ndjson = callPackage ../development/python-modules/ndjson { };
|
||||
|
||||
ndspy = callPackage ../development/python-modules/ndspy { };
|
||||
|
||||
ndtypes = callPackage ../development/python-modules/ndtypes { };
|
||||
|
||||
neo = callPackage ../development/python-modules/neo { };
|
||||
|
@ -5603,6 +5607,8 @@ in {
|
|||
|
||||
pydenticon = callPackage ../development/python-modules/pydenticon { };
|
||||
|
||||
py-desmume = callPackage ../development/python-modules/py-desmume { };
|
||||
|
||||
pydexcom = callPackage ../development/python-modules/pydexcom { };
|
||||
|
||||
pydicom = callPackage ../development/python-modules/pydicom { };
|
||||
|
@ -5767,6 +5773,8 @@ in {
|
|||
|
||||
pygtail = callPackage ../development/python-modules/pygtail { };
|
||||
|
||||
pygtkspellcheck = callPackage ../development/python-modules/pygtkspellcheck { };
|
||||
|
||||
pygtrie = callPackage ../development/python-modules/pygtrie { };
|
||||
|
||||
pyhamcrest = callPackage ../development/python-modules/pyhamcrest { };
|
||||
|
@ -6100,6 +6108,8 @@ in {
|
|||
|
||||
pyppeteer = callPackage ../development/python-modules/pyppeteer { };
|
||||
|
||||
pypresence = callPackage ../development/python-modules/pypresence { };
|
||||
|
||||
pyprind = callPackage ../development/python-modules/pyprind { };
|
||||
|
||||
pyprof2calltree = callPackage ../development/python-modules/pyprof2calltree { };
|
||||
|
@ -7687,6 +7697,18 @@ in {
|
|||
|
||||
skybellpy = callPackage ../development/python-modules/skybellpy { };
|
||||
|
||||
skytemple-dtef = callPackage ../development/python-modules/skytemple-dtef { };
|
||||
|
||||
skytemple-eventserver = callPackage ../development/python-modules/skytemple-eventserver { };
|
||||
|
||||
skytemple-files = callPackage ../development/python-modules/skytemple-files { };
|
||||
|
||||
skytemple-icons = callPackage ../development/python-modules/skytemple-icons { };
|
||||
|
||||
skytemple-rust = callPackage ../development/python-modules/skytemple-rust { };
|
||||
|
||||
skytemple-ssb-debugger = callPackage ../development/python-modules/skytemple-ssb-debugger { };
|
||||
|
||||
slack-sdk = callPackage ../development/python-modules/slack-sdk { };
|
||||
|
||||
slackclient = callPackage ../development/python-modules/slackclient { };
|
||||
|
@ -8280,6 +8302,8 @@ in {
|
|||
inherit (pkgs) tiledb;
|
||||
};
|
||||
|
||||
tilequant = callPackage ../development/python-modules/tilequant { };
|
||||
|
||||
tilestache = callPackage ../development/python-modules/tilestache { };
|
||||
|
||||
timeago = callPackage ../development/python-modules/timeago { };
|
||||
|
|
Loading…
Reference in a new issue