Loading nixos/modules/services/misc/devpi-server.nix +29 −8 Original line number Diff line number Diff line { pkgs, lib, config, lib, pkgs, ... }: let cfg = config.services.devpi-server; cfg = config.services.devpi-server; package = cfg.package.override { inherit (cfg) extraPackages; }; secretsFileName = "devpi-secret-file"; stateDirName = "devpi"; runtimeDir = "/run/${stateDirName}"; serverDir = "/var/lib/${stateDirName}"; in { options.services.devpi-server = { enable = lib.mkEnableOption "Devpi Server"; package = lib.mkPackageOption pkgs "devpi-server" { }; Loading Loading @@ -57,6 +61,20 @@ in description = "The port on which Devpi Server will listen."; }; extraPackages = lib.mkOption { default = (ps: [ ]); defaultText = lib.literalExpression "ps: [ ]"; example = lib.literalExpression '' ps: with ps; [ devpi-web devpi-ldap ] ''; type = with lib.types; coercedTo (listOf lib.types.package) (v: (_: v)) (functionTo (listOf lib.types.package)); description = '' Plugins and extra Python packages to be available to devpi-server. ''; }; openFirewall = lib.mkEnableOption "opening the default ports in the firewall for Devpi Server"; }; Loading @@ -80,7 +98,7 @@ in # already initialized the package index, exit gracefully exit 0 fi ${cfg.package}/bin/devpi-init --serverdir ${serverDir} '' ${package}/bin/devpi-init --serverdir ${serverDir} '' + lib.optionalString cfg.replica "--role=replica --master-url=${cfg.primaryUrl}"; serviceConfig = { Loading Loading @@ -109,7 +127,7 @@ in [ "--role=master" ] ); in "${cfg.package}/bin/devpi-server ${lib.concatStringsSep " " args}"; "${package}/bin/devpi-server ${lib.concatStringsSep " " args}"; DynamicUser = true; StateDirectory = stateDirName; RuntimeDirectory = stateDirName; Loading @@ -125,5 +143,8 @@ in }; }; meta.maintainers = [ lib.maintainers.cafkafk ]; meta.maintainers = with lib.maintainers; [ cafkafk confus ]; } pkgs/by-name/de/devpi-server/package.nix +26 −3 Original line number Diff line number Diff line { python3Packages }: { lib, python3, runCommand, # configurable options extraPackages ? (ps: [ ]), }: with python3Packages; toPythonApplication devpi-server let pythonEnv = python3.withPackages (ps: [ ps.devpi-server ] ++ extraPackages ps); server = python3.pkgs.devpi-server; in runCommand "devpi-${server.version}" { inherit (server) pname version meta passthru ; } '' mkdir -p $out/bin for bin in ${lib.getBin server}/bin/*; do ln -s ${pythonEnv}/bin/$(basename "$bin") $out/bin/ done '' pkgs/development/python-modules/devpi-server/default.nix→pkgs/by-name/de/devpi-server/unwrapped.nix +0 −0 File moved. View file pkgs/development/python-modules/devpi-web/default.nix 0 → 100644 +94 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, gitUpdater, # dependencies attrs, beautifulsoup4, defusedxml, devpi-common, devpi-server, docutils, pygments, pyramid, pyramid-chameleon, readme-renderer, setuptools, tomli, whoosh, # tests pytestCheckHook, pytest-cov-stub, packaging-legacy, webtest, }: buildPythonPackage (finalAttrs: { pname = "devpi-web"; version = "5.0.1"; pyproject = true; src = fetchFromGitHub { owner = "devpi"; repo = "devpi"; tag = "web-${finalAttrs.version}"; hash = "sha256-p52uwkXeCPPsnD9BLfqEa8NK4bAfIdpYIzdNgmwucms="; }; sourceRoot = "${finalAttrs.src.name}/web"; postPatch = '' substituteInPlace pyproject.toml \ --replace-fail ', "setuptools_changelog_shortener"' "" ''; build-system = [ setuptools ]; dependencies = [ attrs beautifulsoup4 defusedxml devpi-common devpi-server docutils pygments pyramid pyramid-chameleon readme-renderer tomli whoosh ] ++ readme-renderer.optional-dependencies.md; nativeCheckInputs = [ pytestCheckHook pytest-cov-stub packaging-legacy webtest ]; pythonImportsCheck = [ "devpi_web" ]; # devpi uses a monorepo for server, common, client and web passthru = { # bulk updater selects wrong tag skipBulkUpdate = true; updateScript = gitUpdater { # devpi uses a monorepo for server, common, client and web rev-prefix = "web-"; }; }; meta = { homepage = "https://github.com/devpi/devpi"; description = "Web view for devpi-server"; changelog = "https://github.com/devpi/devpi/blob/${finalAttrs.src.tag}/common/CHANGELOG"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ confus ]; }; }) pkgs/top-level/python-packages.nix +3 −1 Original line number Diff line number Diff line Loading @@ -3878,7 +3878,9 @@ self: super: with self; { devpi-ldap = callPackage ../development/python-modules/devpi-ldap { }; devpi-server = callPackage ../development/python-modules/devpi-server { }; devpi-server = callPackage ../by-name/de/devpi-server/unwrapped.nix { }; devpi-web = callPackage ../development/python-modules/devpi-web { }; devtools = callPackage ../development/python-modules/devtools { }; Loading Loading
nixos/modules/services/misc/devpi-server.nix +29 −8 Original line number Diff line number Diff line { pkgs, lib, config, lib, pkgs, ... }: let cfg = config.services.devpi-server; cfg = config.services.devpi-server; package = cfg.package.override { inherit (cfg) extraPackages; }; secretsFileName = "devpi-secret-file"; stateDirName = "devpi"; runtimeDir = "/run/${stateDirName}"; serverDir = "/var/lib/${stateDirName}"; in { options.services.devpi-server = { enable = lib.mkEnableOption "Devpi Server"; package = lib.mkPackageOption pkgs "devpi-server" { }; Loading Loading @@ -57,6 +61,20 @@ in description = "The port on which Devpi Server will listen."; }; extraPackages = lib.mkOption { default = (ps: [ ]); defaultText = lib.literalExpression "ps: [ ]"; example = lib.literalExpression '' ps: with ps; [ devpi-web devpi-ldap ] ''; type = with lib.types; coercedTo (listOf lib.types.package) (v: (_: v)) (functionTo (listOf lib.types.package)); description = '' Plugins and extra Python packages to be available to devpi-server. ''; }; openFirewall = lib.mkEnableOption "opening the default ports in the firewall for Devpi Server"; }; Loading @@ -80,7 +98,7 @@ in # already initialized the package index, exit gracefully exit 0 fi ${cfg.package}/bin/devpi-init --serverdir ${serverDir} '' ${package}/bin/devpi-init --serverdir ${serverDir} '' + lib.optionalString cfg.replica "--role=replica --master-url=${cfg.primaryUrl}"; serviceConfig = { Loading Loading @@ -109,7 +127,7 @@ in [ "--role=master" ] ); in "${cfg.package}/bin/devpi-server ${lib.concatStringsSep " " args}"; "${package}/bin/devpi-server ${lib.concatStringsSep " " args}"; DynamicUser = true; StateDirectory = stateDirName; RuntimeDirectory = stateDirName; Loading @@ -125,5 +143,8 @@ in }; }; meta.maintainers = [ lib.maintainers.cafkafk ]; meta.maintainers = with lib.maintainers; [ cafkafk confus ]; }
pkgs/by-name/de/devpi-server/package.nix +26 −3 Original line number Diff line number Diff line { python3Packages }: { lib, python3, runCommand, # configurable options extraPackages ? (ps: [ ]), }: with python3Packages; toPythonApplication devpi-server let pythonEnv = python3.withPackages (ps: [ ps.devpi-server ] ++ extraPackages ps); server = python3.pkgs.devpi-server; in runCommand "devpi-${server.version}" { inherit (server) pname version meta passthru ; } '' mkdir -p $out/bin for bin in ${lib.getBin server}/bin/*; do ln -s ${pythonEnv}/bin/$(basename "$bin") $out/bin/ done ''
pkgs/development/python-modules/devpi-server/default.nix→pkgs/by-name/de/devpi-server/unwrapped.nix +0 −0 File moved. View file
pkgs/development/python-modules/devpi-web/default.nix 0 → 100644 +94 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, gitUpdater, # dependencies attrs, beautifulsoup4, defusedxml, devpi-common, devpi-server, docutils, pygments, pyramid, pyramid-chameleon, readme-renderer, setuptools, tomli, whoosh, # tests pytestCheckHook, pytest-cov-stub, packaging-legacy, webtest, }: buildPythonPackage (finalAttrs: { pname = "devpi-web"; version = "5.0.1"; pyproject = true; src = fetchFromGitHub { owner = "devpi"; repo = "devpi"; tag = "web-${finalAttrs.version}"; hash = "sha256-p52uwkXeCPPsnD9BLfqEa8NK4bAfIdpYIzdNgmwucms="; }; sourceRoot = "${finalAttrs.src.name}/web"; postPatch = '' substituteInPlace pyproject.toml \ --replace-fail ', "setuptools_changelog_shortener"' "" ''; build-system = [ setuptools ]; dependencies = [ attrs beautifulsoup4 defusedxml devpi-common devpi-server docutils pygments pyramid pyramid-chameleon readme-renderer tomli whoosh ] ++ readme-renderer.optional-dependencies.md; nativeCheckInputs = [ pytestCheckHook pytest-cov-stub packaging-legacy webtest ]; pythonImportsCheck = [ "devpi_web" ]; # devpi uses a monorepo for server, common, client and web passthru = { # bulk updater selects wrong tag skipBulkUpdate = true; updateScript = gitUpdater { # devpi uses a monorepo for server, common, client and web rev-prefix = "web-"; }; }; meta = { homepage = "https://github.com/devpi/devpi"; description = "Web view for devpi-server"; changelog = "https://github.com/devpi/devpi/blob/${finalAttrs.src.tag}/common/CHANGELOG"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ confus ]; }; })
pkgs/top-level/python-packages.nix +3 −1 Original line number Diff line number Diff line Loading @@ -3878,7 +3878,9 @@ self: super: with self; { devpi-ldap = callPackage ../development/python-modules/devpi-ldap { }; devpi-server = callPackage ../development/python-modules/devpi-server { }; devpi-server = callPackage ../by-name/de/devpi-server/unwrapped.nix { }; devpi-web = callPackage ../development/python-modules/devpi-web { }; devtools = callPackage ../development/python-modules/devtools { }; Loading