From b87348cb64f2943f3b384bb9af013570940e5ad0 Mon Sep 17 00:00:00 2001 From: Jack Wilsdon Date: Mon, 7 Oct 2024 23:28:40 +0100 Subject: [PATCH 1/3] python3Packages.gevent-eventemitter: init at 2.1 --- maintainers/maintainer-list.nix | 5 +++ .../gevent-eventemitter/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/gevent-eventemitter/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6eaeafb400c97..eaf867953ef91 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9477,6 +9477,11 @@ githubId = 7558482; name = "Jack Gerrits"; }; + jackwilsdon = { + name = "Jack Wilsdon"; + github = "jackwilsdon"; + githubId = 1843197; + }; jacobkoziej = { name = "Jacob Koziej"; email = "jacobkoziej@gmail.com"; diff --git a/pkgs/development/python-modules/gevent-eventemitter/default.nix b/pkgs/development/python-modules/gevent-eventemitter/default.nix new file mode 100644 index 0000000000000..5e84f6c5a081a --- /dev/null +++ b/pkgs/development/python-modules/gevent-eventemitter/default.nix @@ -0,0 +1,31 @@ +{ + buildPythonPackage, + fetchFromGitHub, + gevent, + lib, + setuptools, +}: +buildPythonPackage rec { + pname = "gevent-eventemitter"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "rossengeorgiev"; + repo = "gevent-eventemitter"; + rev = "refs/tags/v${version}"; + hash = "sha256-aW4OsQi3N5yAMdbTd8rxbb2qYMfFJBR4WQFIXvxpiMw="; + }; + + build-system = [ setuptools ]; + + dependencies = [ gevent ]; + + pythonImportsCheck = [ "eventemitter" ]; + + meta = { + description = "EventEmitter using gevent"; + homepage = "https://github.com/rossengeorgiev/gevent-eventemitter"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jackwilsdon ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b033b1a3ad23f..f261a26866ac3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5008,6 +5008,8 @@ self: super: with self; { geventhttpclient = callPackage ../development/python-modules/geventhttpclient { }; + gevent-eventemitter = callPackage ../development/python-modules/gevent-eventemitter { }; + gevent-socketio = callPackage ../development/python-modules/gevent-socketio { }; gevent-websocket = callPackage ../development/python-modules/gevent-websocket { }; From 779b7b7c90f54778aeabf4336923e49974b1da78 Mon Sep 17 00:00:00 2001 From: Jack Wilsdon Date: Mon, 7 Oct 2024 23:29:25 +0100 Subject: [PATCH 2/3] python3Packages.steam: init at 1.4.4 --- .../python-modules/steam/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/steam/default.nix diff --git a/pkgs/development/python-modules/steam/default.nix b/pkgs/development/python-modules/steam/default.nix new file mode 100644 index 0000000000000..028dbfbf12d8a --- /dev/null +++ b/pkgs/development/python-modules/steam/default.nix @@ -0,0 +1,59 @@ +{ + buildPythonPackage, + cachetools, + fetchFromGitHub, + fetchpatch, + gevent, + gevent-eventemitter, + lib, + protobuf, + pycryptodomex, + requests, + setuptools, + six, + vdf, +}: +buildPythonPackage rec { + pname = "steam"; + version = "1.4.4"; + + src = fetchFromGitHub { + owner = "ValvePython"; + repo = "steam"; + rev = "refs/tags/v${version}"; + hash = "sha256-OY04GsX3KMPvpsQl8sUurzFyJu+JKpES8B0iD6Z5uyw="; + }; + + patches = [ + # Fixes upstream bug. + # + # https://github.com/ValvePython/steam/pull/437 + (fetchpatch { + url = "https://github.com/ValvePython/steam/commit/783f023236b2686afbcd2ad124051dc51c20aff0.patch"; + hash = "sha256-9p52Kjc1TWmFLMr7dMuU6n1MeVC8g0G6hYNgERbMoAM="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ + cachetools + gevent + gevent-eventemitter + protobuf + pycryptodomex + requests + six + vdf + ]; + + pythonImportsCheck = [ "steam" ]; + + meta = { + description = "A Python package for interacting with Steam"; + homepage = "https://github.com/ValvePython/steam"; + changelog = "https://github.com/ValvePython/steam/blob/master/CHANGES.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jackwilsdon ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f261a26866ac3..5c8ba1acb3a1e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14988,6 +14988,8 @@ self: super: with self; { stdlibs = callPackage ../development/python-modules/stdlibs { }; + steam = callPackage ../development/python-modules/steam { }; + steamodd = callPackage ../development/python-modules/steamodd { }; steamship = callPackage ../development/python-modules/steamship { }; From 9cac16ed047f8f119f9c4ff34dfbff5d06d34872 Mon Sep 17 00:00:00 2001 From: Jack Wilsdon Date: Mon, 7 Oct 2024 23:32:34 +0100 Subject: [PATCH 3/3] steamctl: init at 0.9.5 --- pkgs/by-name/st/steamctl/package.nix | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/by-name/st/steamctl/package.nix diff --git a/pkgs/by-name/st/steamctl/package.nix b/pkgs/by-name/st/steamctl/package.nix new file mode 100644 index 0000000000000..6f45b81537eb6 --- /dev/null +++ b/pkgs/by-name/st/steamctl/package.nix @@ -0,0 +1,44 @@ +{ + fetchFromGitHub, + lib, + python3, +}: +python3.pkgs.buildPythonApplication rec { + pname = "steamctl"; + version = "0.9.5"; + + src = fetchFromGitHub { + owner = "ValvePython"; + repo = "steamctl"; + rev = "refs/tags/v${version}"; + hash = "sha256-reNch5MP31MxyaeKUlANfizOXZXjtIDeSM1kptsWqkc="; + }; + + build-system = [ python3.pkgs.setuptools ]; + + dependencies = with python3.pkgs; [ + appdirs + argcomplete + arrow + beautifulsoup4 + pyqrcode + steam + tqdm + vpk + ]; + + meta = { + description = "Take control of Steam from your terminal"; + longDescription = '' + steamctl is an open-source CLI utility similar to steamcmd. + + It provides access to a number of Steam features and data from the command line. + + While it is possible to download apps and content from Steam, steamctl is not a game launcher. + ''; + homepage = "https://github.com/ValvePython/steamctl"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jackwilsdon ]; + mainProgram = "steamctl"; + }; +}