Compare commits

...

3 Commits

21 changed files with 333 additions and 405 deletions

View File

@ -46,7 +46,7 @@
let let
content = builtins.readFile path; content = builtins.readFile path;
in in
if builtins.match ".*buildPythonPackage.*" content != null if builtins.match ".*(buildPythonPackage|buildPythonApplication).*" content != null
then pkgs.python3Packages.callPackage path { } then pkgs.python3Packages.callPackage path { }
else pkgs.callPackage path { }; else pkgs.callPackage path { };
in in

View File

@ -1,10 +1,13 @@
{ {
lib, lib,
python3Packages, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
setuptools,
wheel,
gevent,
}: }:
python3Packages.buildPythonPackage rec { buildPythonPackage rec {
pname = "gevent-eventemitter"; pname = "gevent-eventemitter";
version = "2.1"; version = "2.1";
pyproject = true; pyproject = true;
@ -16,12 +19,12 @@ python3Packages.buildPythonPackage rec {
hash = "sha256-aW4OsQi3N5yAMdbTd8rxbb2qYMfFJBR4WQFIXvxpiMw="; hash = "sha256-aW4OsQi3N5yAMdbTd8rxbb2qYMfFJBR4WQFIXvxpiMw=";
}; };
build-system = with python3Packages; [ build-system = [
setuptools setuptools
wheel wheel
]; ];
dependencies = with python3Packages; [ dependencies = [
gevent gevent
]; ];

View File

@ -1,10 +1,12 @@
{ {
lib, lib,
fetchFromGitHub, fetchFromGitHub,
python3Packages, buildPythonPackage,
setuptools,
wheel,
}: }:
python3Packages.buildPythonPackage rec { buildPythonPackage rec {
pname = "inputs"; pname = "inputs";
version = "0.5"; version = "0.5";
pyproject = true; pyproject = true;
@ -17,8 +19,8 @@ python3Packages.buildPythonPackage rec {
}; };
build-system = [ build-system = [
python3Packages.setuptools setuptools
python3Packages.wheel wheel
]; ];
pythonImportsCheck = [ pythonImportsCheck = [

View File

@ -1,67 +0,0 @@
{
lib,
appimageTools,
runCommand,
curl,
gnugrep,
cacert,
fetchurl,
copyDesktopItems,
makeDesktopItem,
}:
appimageTools.wrapType1 rec {
pname = "pureref";
version = "2.0.3";
src =
runCommand "PureRef-${version}_x64.Appimage"
{
nativeBuildInputs = [
curl
gnugrep
cacert
];
outputHash = "sha256-0iR1cP2sZvWWqKwRAwq6L/bmIBSYHKrlI8u8V2hANfM=";
}
''
key="$(curl -A 'nixpkgs/Please contact maintainer if there is an issue' "https://www.pureref.com/download.php" --silent | grep '%3D%3D' | cut -d '"' -f2)"
curl -L "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out
'';
icon = fetchurl {
url = "https://raw.githubusercontent.com/nextcloud/talk-desktop/refs/tags/v1.0.0/img/icons/icon.png";
hash = "sha256-DteSSuxIs0ukIJrvUO/3Mrh5F2GG5UAVvGRZUuZonkg=";
};
nativeBuildInputs = [
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
type = "Application";
name = "pureref";
desktopName = "PureRef";
# comment = finalAttrs.meta.description;
# exec = finalAttrs.meta.mainProgram;
icon = "pureref";
categories = [
"Graphics"
"2DGraphics"
"RasterGraphics"
];
})
];
meta = with lib; {
description = "Reference Image Viewer";
homepage = "https://www.pureref.com";
license = licenses.unfree;
maintainers = with maintainers; [
elnudev
husjon
];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}

View File

@ -1,106 +0,0 @@
{
lib,
stdenv,
cairo,
elfutils,
fetchFromGitHub,
fetchpatch,
glib,
gobject-introspection,
gtksourceview3,
json-glib,
makeWrapper,
pango,
pkg-config,
polkit,
python3,
scons,
sphinx,
util-linux,
wrapGAppsHook3,
withGui ? false,
}:
assert withGui -> !stdenv.hostPlatform.isDarwin;
stdenv.mkDerivation rec {
pname = "rmlint";
version = "2.10.2";
src = fetchFromGitHub {
owner = "sahib";
repo = "rmlint";
rev = "v${version}";
sha256 = "sha256-pOo1YfeqHUU6xyBRFbcj2lX1MHJ+a5Hi31BMC1nYZGo=";
};
patches = [
# pass through NIX_* environment variables to scons.
./rmlint/scons-nix-env.patch
# fix #664
(fetchpatch {
url = "https://github.com/sahib/rmlint/commit/f0ca57ec907f7199e3670038d60b4702d1e1d8e2.patch";
hash = "sha256-715X+R2BcQIaUV76hoO+EXPfNheOfw4OIHsqSoruIUI=";
})
];
nativeBuildInputs = [
pkg-config
sphinx
scons
]
++ lib.optionals withGui [
makeWrapper
wrapGAppsHook3
gobject-introspection
];
buildInputs = [
glib
json-glib
util-linux
]
++ lib.optionals withGui [
cairo
gtksourceview3
pango
polkit
python3
python3.pkgs.pygobject3
]
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [
elfutils
];
prePatch = ''
# remove sources of nondeterminism
substituteInPlace lib/cmdline.c \
--replace "__DATE__" "\"Jan 1 1970\"" \
--replace "__TIME__" "\"00:00:00\""
substituteInPlace docs/SConscript \
--replace "gzip -c " "gzip -cn "
'';
# Otherwise tries to access /usr.
prefixKey = "--prefix=";
sconsFlags = lib.optionals (!withGui) [ "--without-gui" ];
# in GUI mode, this shells out to itself, and tries to import python modules
postInstall = lib.optionalString withGui ''
gappsWrapperArgs+=(--prefix PATH : "$out/bin")
gappsWrapperArgs+=(--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${python3.pkgs.pygobject3}):$(toPythonPath ${python3.pkgs.pycairo})")
'';
meta = with lib; {
description = "Extremely fast tool to remove duplicates and other lint from your filesystem";
homepage = "https://rmlint.readthedocs.org";
platforms = platforms.unix;
license = licenses.gpl3;
maintainers = with maintainers; [
aaschmid
koral
];
mainProgram = "rmlint";
};
}

View File

@ -1,19 +0,0 @@
scons does not use os environment by default:
https://scons.org/doc/2.1.0/HTML/scons-user/x1750.html
nixpkgs' cc-wrapper on the other hand relies on various NIX_* variables
to be passed through like NIX_CFLAGS_COMPILE_BEFORE.
--- a/SConstruct
+++ b/SConstruct
@@ -559,10 +559,7 @@ options = dict(
SHLINKCOMSTR=link_shared_library_message,
LINKCOMSTR=link_program_message,
PREFIX=GetOption('prefix'),
- ENV = dict([ (key, os.environ[key])
- for key in os.environ
- if key in ['PATH', 'TERM', 'HOME', 'PKG_CONFIG_PATH']
- ])
+ ENV = os.environ,
)
if ARGUMENTS.get('VERBOSE') == "1":

View File

@ -1,113 +0,0 @@
{
lib,
stdenv,
fetchurl,
fetchzip,
autoPatchelfHook,
copyDesktopItems,
makeDesktopItem,
nss,
cairo,
xorg,
libxkbcommon,
alsa-lib,
at-spi2-core,
mesa,
pango,
libdrm,
vivaldi-ffmpeg-codecs,
gtk3,
libGL,
libglvnd,
systemd,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nextcloud-talk-desktop";
version = "1.0.0";
# Building from source would require building also building Server and Talk components
# See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
src = fetchzip {
url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64.zip";
hash = "sha256-XQa4Fa9eEaFlYrWa00S9aMWKJOPPFGSo4NAlRqE23jM=";
stripRoot = false;
};
icon = fetchurl {
url = "https://raw.githubusercontent.com/nextcloud/talk-desktop/refs/tags/v1.0.0/img/icons/icon.png";
hash = "sha256-DteSSuxIs0ukIJrvUO/3Mrh5F2GG5UAVvGRZUuZonkg=";
};
nativeBuildInputs = [
autoPatchelfHook
copyDesktopItems
];
buildInputs = [
nss
cairo
alsa-lib
at-spi2-core
pango
libdrm
libxkbcommon
gtk3
vivaldi-ffmpeg-codecs
mesa
libGL
libglvnd
]
++ (with xorg; [
libX11
libXcomposite
libXdamage
libXrandr
libXfixes
libXcursor
]);
# Required to launch the application and proceed past the zygote_linux fork() process
# Fixes `Zygote could not fork`
runtimeDependencies = [ systemd ];
desktopItems = [
(makeDesktopItem {
type = "Application";
name = "nextcloud-talk-desktop";
desktopName = "Nextcloud Talk";
comment = finalAttrs.meta.description;
exec = finalAttrs.meta.mainProgram;
icon = "nextcloud-talk-desktop";
categories = [ "Chat" ];
})
];
preInstall = ''
mkdir -p $out/bin
mkdir -p $out/opt
cp -r $src/* $out/opt/
'';
installPhase = ''
runHook preInstall
# Link the application in $out/bin away from contents of `preInstall`
ln -s "$out/opt/Nextcloud Talk-linux-x64/Nextcloud Talk" $out/bin/nextcloud-talk-desktop
mkdir -p $out/share/icons/hicolor/512x512/apps
cp $icon $out/share/icons/hicolor/512x512/apps/nextcloud-talk-desktop.png
runHook postInstall
'';
meta = with lib; {
description = "Nextcloud Talk Desktop Client";
homepage = "https://github.com/nextcloud/talk-desktop";
changelog = "https://github.com/nextcloud/talk-desktop/blob/${finalAttrs.version}/CHANGELOG.md";
license = licenses.agpl3Only;
maintainers = with maintainers; [ kashw2 ];
mainProgram = "nextcloud-talk-desktop";
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
})

View File

@ -1,19 +1,27 @@
{ {
lib, lib,
fetchFromGitHub, fetchFromGitHub,
python3Packages, buildPythonApplication,
poetry-core,
click,
tqdm,
scrapy,
scrapy-splash,
scrapy-fake-useragent,
pytest-rerunfailures,
docker,
}: }:
python3Packages.buildPythonApplication rec { buildPythonApplication rec {
pname = "webcomix"; pname = "webcomix";
version = "3.11.1"; version = "3.12.0";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "J-CPelletier"; owner = "J-CPelletier";
repo = "webcomix"; repo = "webcomix";
rev = version; rev = version;
hash = "sha256-vs7IE1IQ6/2uOYqLUskW4vGFdoz8z/ZBYQPteTcdOR0="; hash = "sha256-Vsn6Ju4+SG8iOCxnqixnpi9apr8Nc4/mFjpjipPud6g=";
}; };
postPatch = '' postPatch = ''
@ -24,10 +32,10 @@ python3Packages.buildPythonApplication rec {
''; '';
build-system = [ build-system = [
python3Packages.poetry-core poetry-core
]; ];
dependencies = with python3Packages; [ dependencies = [
click click
tqdm tqdm
scrapy scrapy
@ -42,6 +50,9 @@ python3Packages.buildPythonApplication rec {
''; '';
doCheck = false; doCheck = false;
# Skip runtime dependency check due to version mismatches with nixpkgs
dontCheckRuntimeDeps = true;
meta = { meta = {
description = "Webcomic downloader"; description = "Webcomic downloader";

View File

@ -2,7 +2,6 @@
stdenv, stdenv,
lib, lib,
python3, python3,
python3Packages,
fetchFromGitHub, fetchFromGitHub,
meson, meson,
appstream-glib, appstream-glib,
@ -35,7 +34,7 @@ stdenv.mkDerivation (_finaAttrs: rec {
pkg-config pkg-config
desktop-file-utils desktop-file-utils
ninja ninja
python3Packages.pygobject3 python3.pkgs.pygobject3
gobject-introspection gobject-introspection
]; ];

View File

@ -2,6 +2,11 @@
lib, lib,
stdenv, stdenv,
fetchFromGitLab, fetchFromGitLab,
makeWrapper,
python3,
gtk4,
libadwaita,
wrapGAppsHook4,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,6 +20,38 @@ stdenv.mkDerivation rec {
hash = "sha256-oPGC0D7sh+H25qg2ttRtIMjI+HjZImRieWmYw+I6sQE="; hash = "sha256-oPGC0D7sh+H25qg2ttRtIMjI+HjZImRieWmYw+I6sQE=";
}; };
nativeBuildInputs = [
makeWrapper
wrapGAppsHook4
];
buildInputs = [
gtk4
libadwaita
(python3.withPackages (ps: with ps; [
pygobject3
pycairo
]))
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/hexcolordle-gtk $out/share/applications $out/share/metainfo
cp -r * $out/share/hexcolordle-gtk/
# Install desktop file and metainfo
cp net.krafting.HexColordle.desktop $out/share/applications/
cp net.krafting.HexColordle.metainfo.xml $out/share/metainfo/
# Create wrapper for the main Python file
makeWrapper ${python3.withPackages (ps: with ps; [pygobject3 pycairo])}/bin/python3 $out/bin/hexcolordle-gtk \
--add-flags "$out/share/hexcolordle-gtk/HexColordle.py" \
--prefix PYTHONPATH : "$out/share/hexcolordle-gtk"
runHook postInstall
'';
meta = { meta = {
description = "A game where you need to find a color by guessing its hex code"; description = "A game where you need to find a color by guessing its hex code";
homepage = "https://gitlab.com/Krafting/hexcolordle-gtk"; homepage = "https://gitlab.com/Krafting/hexcolordle-gtk";

View File

@ -15,17 +15,18 @@
gtk4, gtk4,
libadwaita, libadwaita,
wrapGAppsHook4, wrapGAppsHook4,
makeWrapper,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dosage"; pname = "dosage";
version = "1.7.5"; version = "1.9.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "diegopvlk"; owner = "diegopvlk";
repo = "Dosage"; repo = "Dosage";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-dpmv9GbAgLAZJCifHssC0HQEBXHjrO0mquQd24pNMM0="; hash = "sha256-TS9niQd3jlALQrFu6H2SucZwwQp0k2BRHqZCYfbz+CI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -38,18 +39,30 @@ stdenv.mkDerivation rec {
glib glib
appstream-glib appstream-glib
appstream appstream
wrapGAppsHook4
];
buildInputs = [
gjs gjs
gtk4 gtk4
libadwaita libadwaita
wrapGAppsHook4 glib
]; ];
# Ensure GResource files are properly accessible
postInstall = ''
# The GResource files should be automatically handled by wrapGAppsHook4
# but let's make sure the GResource path is correct
wrapProgram $out/bin/io.github.diegopvlk.Dosage \
--prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
meta = { meta = {
description = "Medication tracker for Linux"; description = "Medication tracker for Linux";
homepage = "https://github.com/diegopvlk/Dosage"; homepage = "https://github.com/diegopvlk/Dosage";
license = lib.licenses.gpl3Only; license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ]; maintainers = with lib.maintainers; [ ];
mainProgram = "dosage"; mainProgram = "io.github.diegopvlk.Dosage";
platforms = lib.platforms.all; platforms = lib.platforms.all;
}; };
} }

View File

@ -5,6 +5,11 @@
meson, meson,
ninja, ninja,
gettext, gettext,
pkg-config,
desktop-file-utils,
appstream-glib,
glib,
blueprint-compiler,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -23,8 +28,19 @@ stdenv.mkDerivation rec {
meson meson
ninja ninja
gettext gettext
pkg-config
desktop-file-utils
appstream-glib
glib
blueprint-compiler
]; ];
# Override the post-install script to avoid sandbox issues
postInstall = ''
# The original postinstall.py tries to run glib-compile-schemas which fails in sandbox
echo "Skipping glib-compile-schemas and other post-install steps"
'';
meta = { meta = {
description = "Girens is a Plex GTK client for playing movies, TV shows and music from your Plex library"; description = "Girens is a Plex GTK client for playing movies, TV shows and music from your Plex library";
homepage = "https://gitlab.gnome.org/tijder/girens"; homepage = "https://gitlab.gnome.org/tijder/girens";

View File

@ -17,24 +17,26 @@
pango, pango,
darwin, darwin,
alsa-lib, alsa-lib,
pulseaudio,
pipewire,
desktop-file-utils, desktop-file-utils,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "exercise-timer"; pname = "exercise-timer";
version = "1.8.1"; version = "1.8.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mfep"; owner = "mfep";
repo = "exercise-timer"; repo = "exercise-timer";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6MBSUYFZ8nMZX7acam8T0uJWb9E2/L9vnKzJq14p4BY="; hash = "sha256-YZYAhG8xpXM1m1LrXgwxo3JF74QjOmbnuSbo4SYPBmg=";
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoVendor {
inherit src; inherit src;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-mXHw87IUMq1qXQSTavI/ReKUyB0rNMXYld8vND38C30="; hash = "sha256-JObzeiQHEGIDjOung3o8dpaXVcOoJS2v1hyrcS1fqcI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

38
pkgs_wip/inputs.nix Normal file
View File

@ -0,0 +1,38 @@
{
lib,
fetchFromGitHub,
buildPythonPackage,
setuptools,
wheel,
}:
buildPythonPackage rec {
pname = "inputs";
version = "0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "zeth";
repo = "inputs";
rev = "v${version}";
hash = "sha256-tU1R6lhSMZj3Y6XdrT/Yfbte/BdLDvo6TzvLbnr+1vo=";
};
build-system = [
setuptools
wheel
];
pythonImportsCheck = [
"inputs"
];
meta = {
description = "Cross-platform Python support for keyboards, mice and gamepads";
homepage = "https://github.com/zeth/inputs";
changelog = "https://github.com/zeth/inputs/blob/${src.rev}/CHANGELOG.rst";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ CaptainJawZ ];
mainProgram = "inputs";
};
}

View File

@ -1,50 +1,56 @@
{ {
lib, lib,
python3Packages, buildPythonApplication,
fetchFromGitHub, fetchFromGitHub,
callPackage, callPackage,
setuptools,
pyside6,
pyxdg,
pyyaml,
requests,
vdf,
zstandard,
}: }:
python3Packages.buildPythonApplication rec { buildPythonApplication rec {
pname = "proton-up-qt"; pname = "proton-up-qt";
version = "2.10.2"; version = "2.14.0";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "DavidoTek"; owner = "DavidoTek";
repo = "ProtonUp-Qt"; repo = "ProtonUp-Qt";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-hf0ZLvn5mv0BlUgMvDwpdsa9ye3Bz47n0aSz+jgBrXg="; hash = "sha256-UiU2yLajMW5FnRSNS8TCg9Cqs8AkuXA+4FJTS2kfi6I=";
}; };
pythonRemoveDeps = [ pythonRemoveDeps = [
"pyside6-essentials" "pyside6-essentials"
]; ];
# Skip runtime dependency check for missing packages
dontCheckRuntimeDeps = true;
build-system = [ build-system = [
python3Packages.setuptools setuptools
]; ];
dependencies = dependencies = [
with python3Packages; pyside6
[ pyxdg
pyside6 pyyaml
pyxdg requests
pyyaml vdf
requests zstandard
vdf (callPackage ./inputs.nix { })
zstandard (callPackage ./steam-python.nix { })
] ];
++ [
(callPackage ./inputs.nix { })
(callPackage ./steam.nix { })
];
meta = { meta = {
description = "Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface"; description = "Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface";
homepage = "https://github.com/DavidoTek/ProtonUp-Qt"; homepage = "https://github.com/DavidoTek/ProtonUp-Qt";
license = lib.licenses.gpl3Only; license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ CaptainJawZ ]; maintainers = with lib.maintainers; [ CaptainJawZ ];
mainProgram = "proton-up-qt"; mainProgram = "protonup-qt";
}; };
} }

View File

@ -1,10 +1,25 @@
{ {
lib, lib,
python3, buildPythonApplication,
fetchFromGitHub, fetchFromGitHub,
setuptools,
wheel,
argon2-cffi,
bencode-py,
croniter,
fastapi,
gitpython,
humanize,
pytimeparse2,
qbittorrent-api,
requests,
retrying,
ruamel-yaml,
slowapi,
uvicorn,
}: }:
python3.pkgs.buildPythonApplication rec { buildPythonApplication rec {
pname = "qbit-manage"; pname = "qbit-manage";
version = "4.6.3"; version = "4.6.3";
pyproject = true; pyproject = true;
@ -20,30 +35,29 @@ python3.pkgs.buildPythonApplication rec {
rm LICENSE rm LICENSE
''; '';
build-system = builtins.attrValues { build-system = [
inherit (python3.pkgs) setuptools
setuptools wheel
wheel ];
;
};
propagatedBuildInputs = builtins.attrValues { dependencies = [
inherit (python3.pkgs) argon2-cffi
argon2-cffi bencode-py
bencode-py croniter
croniter fastapi
fastapi gitpython
gitpython humanize
humanize pytimeparse2
pytimeparse2 qbittorrent-api
qbittorrent-api requests
requests retrying
retrying ruamel-yaml
ruamel-yaml slowapi
slowapi uvicorn
uvicorn ];
;
}; # Skip runtime dependency check due to version mismatches with nixpkgs
dontCheckRuntimeDeps = true;
meta = { meta = {
description = "This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove Orphaned data, remove unregistered torrents and much much more"; description = "This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove Orphaned data, remove unregistered torrents and much much more";

View File

@ -15,13 +15,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "qbittorrent-api"; pname = "qbittorrent-api";
version = "2025.5.0"; version = "2025.7.0";
pyproject = true; pyproject = true;
src = fetchPypi { src = fetchPypi {
pname = "qbittorrent_api"; pname = "qbittorrent_api";
inherit version; inherit version;
hash = "sha256-NKD5weGufhbeUOlGUXUsjZejz1TCo+GgXGqDdzmaDjA="; hash = "sha256-9GLygXVZzKpMbNwSaUoxU++s1Q+jKFpCVAGrMKvA3nY=";
}; };
build-system = [ build-system = [

59
pkgs_wip/steam-python.nix Normal file
View File

@ -0,0 +1,59 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
callPackage,
setuptools,
wheel,
six,
pycryptodomex,
requests,
urllib3,
vdf,
gevent,
protobuf,
cachetools,
cryptography,
}:
buildPythonPackage rec {
pname = "steam-python";
version = "1.4.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ValvePython";
repo = "steam";
rev = version;
hash = "sha256-OY04GsX3KMPvpsQl8sUurzFyJu+JKpES8B0iD6Z5uyw=";
};
build-system = [
setuptools
wheel
];
dependencies = [
six
pycryptodomex
requests
urllib3
vdf
gevent
protobuf
cachetools
cryptography
(callPackage ../pkgs_pr/gevent-eventemitter.nix { })
];
pythonImportsCheck = [
"steam"
];
meta = {
description = "Python package for interacting with Steam";
homepage = "https://github.com/ValvePython/steam";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ CaptainJawZ ];
};
}

View File

@ -1,12 +1,24 @@
{ {
lib, lib,
python3Packages, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
callPackage, callPackage,
setuptools,
wheel,
six,
pycryptodomex,
requests,
urllib3,
vdf,
gevent,
protobuf,
cachetools,
cryptography,
gevent-eventemitter,
}: }:
python3Packages.buildPythonPackage rec { buildPythonPackage rec {
pname = "steam"; pname = "steam-python";
version = "1.4.4"; version = "1.4.4";
pyproject = true; pyproject = true;
@ -17,25 +29,23 @@ python3Packages.buildPythonPackage rec {
hash = "sha256-OY04GsX3KMPvpsQl8sUurzFyJu+JKpES8B0iD6Z5uyw="; hash = "sha256-OY04GsX3KMPvpsQl8sUurzFyJu+JKpES8B0iD6Z5uyw=";
}; };
build-system = with python3Packages; [ build-system = [
setuptools setuptools
wheel wheel
]; ];
dependencies = dependencies = [
with python3Packages; six
[ pycryptodomex
six requests
pycryptodomex urllib3
requests vdf
urllib3 gevent
vdf protobuf
gevent cachetools
protobuf cryptography
cachetools gevent-eventemitter
cryptography ];
]
++ [ (callPackage ./gevent-eventemitter.nix { }) ];
pythonImportsCheck = [ pythonImportsCheck = [
"steam" "steam"

View File

@ -1,10 +1,20 @@
{ {
lib, lib,
python3, buildPythonApplication,
fetchFromGitHub, fetchFromGitHub,
setuptools,
pyxdg,
torf,
coverage,
flake8,
isort,
pytest,
pytest-cov,
ruff,
tox,
}: }:
python3.pkgs.buildPythonApplication rec { buildPythonApplication rec {
pname = "torf-cli"; pname = "torf-cli";
version = "5.2.1"; version = "5.2.1";
pyproject = true; pyproject = true;
@ -17,15 +27,15 @@ python3.pkgs.buildPythonApplication rec {
}; };
build-system = [ build-system = [
python3.pkgs.setuptools setuptools
]; ];
dependencies = with python3.pkgs; [ dependencies = [
pyxdg pyxdg
torf torf
]; ];
optional-dependencies = with python3.pkgs; { optional-dependencies = {
dev = [ dev = [
coverage coverage
flake8 flake8

View File

@ -1,10 +1,23 @@
{ {
lib, lib,
python3, buildPythonApplication,
fetchFromGitHub, fetchFromGitHub,
setuptools,
flatbencode,
coverage,
flake8,
isort,
mypy,
pytest,
pytest-cov,
pytest-httpserver,
pytest-mock,
pytest-xdist,
ruff,
tox,
}: }:
python3.pkgs.buildPythonApplication rec { buildPythonApplication rec {
pname = "torf"; pname = "torf";
version = "4.3.0"; version = "4.3.0";
pyproject = true; pyproject = true;
@ -17,14 +30,14 @@ python3.pkgs.buildPythonApplication rec {
}; };
build-system = [ build-system = [
python3.pkgs.setuptools setuptools
]; ];
dependencies = with python3.pkgs; [ dependencies = [
flatbencode flatbencode
]; ];
optional-dependencies = with python3.pkgs; { optional-dependencies = {
dev = [ dev = [
coverage coverage
flake8 flake8