nixpkgs/pkgs/by-name/be/bepasty/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

82 lines
1.9 KiB
Nix

{ lib
, python3
, fetchPypi
}:
let
# bepasty 1.2 needs xstatic-font-awesome < 5, see
# https://github.com/bepasty/bepasty-server/issues/305
bepastyPython = python3.override {
self = bepastyPython;
packageOverrides = self: super: {
xstatic-font-awesome = super.xstatic-font-awesome.overridePythonAttrs(oldAttrs: rec {
version = "4.7.0.0";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-4B+0gMqqfHlj3LMyikcA5jG+9gcNsOi2hYFtIg5oX2w=";
};
});
};
};
in
# We need to use buildPythonPackage here to get the PYTHONPATH build correctly.
# This is needed for services.bepasty
# https://github.com/NixOS/nixpkgs/pull/38300
bepastyPython.pkgs.buildPythonPackage rec {
pname = "bepasty";
version = "1.2.1";
format = "pyproject";
propagatedBuildInputs = with bepastyPython.pkgs; [
flask
markupsafe
pygments
setuptools
xstatic
xstatic-asciinema-player
xstatic-bootbox
xstatic-bootstrap
xstatic-font-awesome
xstatic-jquery
xstatic-jquery-file-upload
xstatic-jquery-ui
xstatic-pygments
];
buildInputs = with bepastyPython.pkgs; [ setuptools-scm ];
src = fetchPypi {
inherit pname version;
hash = "sha256-08cyr2AruGAfHAwHHS8WMfJh7DBKymaYyz4AxI/ubkE=";
};
nativeCheckInputs = with bepastyPython.pkgs; [
build
flake8
pytestCheckHook
pytest-cov
selenium
tox
twine
];
disabledTestPaths = [
# Can be enabled when werkzeug is updated to >2.2, see #245145
# and https://github.com/bepasty/bepasty-server/pull/303
"src/bepasty/tests/test_rest_server.py"
# These require a web browser
"src/bepasty/tests/screenshots.py"
"src/bepasty/tests/test_website.py"
];
meta = with lib; {
homepage = "https://github.com/bepasty/bepasty-server";
description = "Binary pastebin server";
license = licenses.bsd2;
maintainers = with maintainers; [ aither64 makefu ];
};
}