Merge master into staging-next

Changed files
+73 -16
doc
languages-frameworks
nixos
modules
services
web-apps
pkgs
by-name
gh
gh-gei
mo
movim
sv
svix-server
development
python-modules
pylit
top-level
+3
doc/languages-frameworks/python.section.md
···
We recommend [nix-init](https://github.com/nix-community/nix-init) for creating new python packages within nixpkgs,
as it already prefetches the source, parses dependencies for common formats and prefills most things in `meta`.
+
When using the tool, pull from the original source repository instead of PyPI, if possible.
See also [contributing section](#contributing).
···
that characters should be converted to lowercase and `.` and `_` should be
replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz).
If necessary, `pname` has to be given a different value within `fetchPypi`.
+
* It's generally preferable to fetch `src` directly from the repo and not from
+
PyPI. Use `fetchPypi` when there's a clear technical reason to do so.
* Packages from sources such as GitHub and GitLab that do not exist on PyPI
should not use a name that is already used on PyPI. When possible, they should
use the package repository name prefixed with the owner (e.g. organization) name
+6 -6
nixos/modules/services/web-apps/movim.nix
···
// lib.optionalAttrs (cfg.database.type == "postgresql") {
withPostgreSQL = true;
}
-
// lib.optionalAttrs (cfg.database.type == "mysql") {
+
// lib.optionalAttrs (cfg.database.type == "mariadb") {
withMySQL = true;
}
);
···
dbService =
{
"postgresql" = "postgresql.service";
-
"mysql" = "mysql.service";
+
"mariadb" = "mysql.service";
}
.${cfg.database.type};
···
database = {
type = mkOption {
type = types.enum [
-
"mysql"
+
"mariadb"
"postgresql"
];
-
example = "mysql";
+
example = "mariadb";
default = "postgresql";
description = "Database engine to use.";
};
···
DB_DRIVER =
{
"postgresql" = "pgsql";
-
"mysql" = "mysql";
+
"mariadb" = "mysql";
}
.${cfg.database.type};
DB_HOST = "localhost";
···
}
);
-
mysql = mkIf (cfg.database.createLocally && cfg.database.type == "mysql") {
+
mysql = mkIf (cfg.database.createLocally && cfg.database.type == "mariadb") {
enable = mkDefault true;
package = mkDefault pkgs.mariadb;
ensureDatabases = [ cfg.database.name ];
+2 -2
pkgs/by-name/gh/gh-gei/package.nix
···
buildDotnetModule rec {
pname = "gh-gei";
-
version = "1.14.0";
+
version = "1.15.0";
src = fetchFromGitHub {
owner = "github";
repo = "gh-gei";
rev = "v${version}";
-
hash = "sha256-Kjva6E0P+O1+R9EFNYQWt0Tte/DFaCActmJU58+6G6I=";
+
hash = "sha256-33Npwf4C6IFrrsIRq4+udphfovaCXQ8JfN0yzfxIRq0=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0_4xx;
+5 -5
pkgs/by-name/mo/movim/package.nix
···
php,
phpCfg ? null,
withPostgreSQL ? true, # “strongly recommended” according to docs
-
withMySQL ? false,
+
withMariaDB ? false,
minifyStaticFiles ? false, # default files are often not minified
esbuild,
lightningcss,
···
in
php.buildComposerProject2 (finalAttrs: {
pname = "movim";
-
version = "0.30";
+
version = "0.30.1";
src = fetchFromGitHub {
owner = "movim";
repo = "movim";
tag = "v${finalAttrs.version}";
-
hash = "sha256-rW751UhDBhakOrAT4BOiRDPpGldf1EwNZY8iavXlpLk=";
+
hash = "sha256-MjP1rLyWJWrUAHrOKAwGN3A0wIq4iPaXlaUbtPs3F6U=";
};
php = php.buildEnv (
···
all.pdo_pgsql
all.pgsql
]
-
++ lib.optionals withMySQL [
+
++ lib.optionals withMariaDB [
all.mysqli
all.mysqlnd
all.pdo_mysql
···
++ lib.optional minify.style.enable lightningcss
++ lib.optional minify.svg.enable scour;
-
vendorHash = "sha256-NuX6CX2QXea8BcL0nzFOdxIBs36igD8lvixna+vsviM=";
+
vendorHash = "sha256-7jb4/UgnMcXtLCihwk4rr0HLw99FgiYeYJVATGxM/D4=";
postPatch = ''
# Our modules are already wrapped, removes missing *.so warnings;
+3 -3
pkgs/by-name/sv/svix-server/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "svix-server";
-
version = "1.64.1";
+
version = "1.65.0";
src = fetchFromGitHub {
owner = "svix";
repo = "svix-webhooks";
rev = "v${version}";
-
hash = "sha256-ZaSUTGv/l54tKvXd2hUeQYKTUmQOUm2dpZE7J8auWb0=";
+
hash = "sha256-SmNiQeVoTASMW6T5mcInZLlNok32olWRr2+daq/c684=";
};
sourceRoot = "${src.name}/server";
useFetchCargoVendor = true;
-
cargoHash = "sha256-h19xpILPudOMSC99wBB1CA/981eK+FHgsGJAJOFPeuw=";
+
cargoHash = "sha256-vpPWEYVKEboubbWeuxyXz/M53Ura8gSpuneH/L7Qtmw=";
nativeBuildInputs = [ pkg-config ];
+52
pkgs/development/python-modules/pylit/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitea,
+
flit-core,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
version = "0.8.0";
+
pname = "pylit";
+
pyproject = true;
+
+
src = fetchFromGitea {
+
domain = "codeberg.org";
+
owner = "milde";
+
repo = "pylit";
+
tag = version;
+
hash = "sha256-wr2Gz5DCeCVULe9k/DHd+Jhbfc4q4wSoJrcWaJUvWWw=";
+
# fix hash mismatch on linux/darwin platforms
+
postFetch = ''
+
rm -f $out/doc/logo/py{L,l}it-bold-framed.svg
+
'';
+
};
+
+
# replace legacy nose module with pytest
+
postPatch = ''
+
substituteInPlace test/{pylit,pylit_ui}_test.py \
+
--replace-fail "import nose" "import pytest" \
+
--replace-fail "nose.runmodule()" "pytest.main()"
+
'';
+
+
build-system = [
+
flit-core
+
];
+
+
pythonImportsCheck = [ "pylit" ];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
];
+
+
pytestFlagsArray = [ "test" ];
+
+
meta = {
+
homepage = "https://codeberg.org/milde/pylit";
+
description = "Bidirectional text/code converter";
+
mainProgram = "pylit";
+
license = lib.licenses.gpl3Plus;
+
maintainers = with lib.maintainers; [ qbisi ];
+
};
+
}
+2
pkgs/top-level/python-packages.nix
···
pylion = callPackage ../development/python-modules/pylion { };
+
pylit = callPackage ../development/python-modules/pylit { };
+
pylitejet = callPackage ../development/python-modules/pylitejet { };
pylitterbot = callPackage ../development/python-modules/pylitterbot { };