pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-bake: add new package



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By:	wiz
Date:		Mon Jun 23 11:58:03 2025 +0200
Changeset:	3a2227de4b1b0562055e50b0b25f81f2e66fdd2b

Modified Files:
	Makefile
Added Files:
	py-bake/ALTERNATIVES
	py-bake/DESCR
	py-bake/Makefile
	py-bake/PLIST
	py-bake/distinfo
	py-typer/DESCR
	py-typer/Makefile
	py-typer/PLIST
	py-typer/distinfo

Log Message:
py-bake: add new package

A Makefile formatter and linter

and the necessary py-typer package.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=3a2227de4b1b0562055e50b0b25f81f2e66fdd2b

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile             |  2 ++
 py-bake/ALTERNATIVES |  2 ++
 py-bake/DESCR        | 10 +++++++
 py-bake/Makefile     | 35 +++++++++++++++++++++++
 py-bake/PLIST        | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 py-bake/distinfo     |  5 ++++
 py-typer/DESCR       |  6 ++++
 py-typer/Makefile    | 26 +++++++++++++++++
 py-typer/PLIST       | 56 ++++++++++++++++++++++++++++++++++++
 py-typer/distinfo    |  5 ++++
 10 files changed, 227 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 6f31f507c8..9632804502 100644
--- a/Makefile
+++ b/Makefile
@@ -3463,6 +3463,7 @@ SUBDIR+=	py-backoff
 SUBDIR+=	py-backports.csv
 SUBDIR+=	py-backports.tarfile
 SUBDIR+=	py-badges
+SUBDIR+=	py-bake
 SUBDIR+=	py-bandicoot
 SUBDIR+=	py-bannock
 SUBDIR+=	py-baron
@@ -4881,6 +4882,7 @@ SUBDIR+=	py-txZMQ
 SUBDIR+=	py-txdbus
 SUBDIR+=	py-typedecorator
 SUBDIR+=	py-typedload
+SUBDIR+=	py-typer
 SUBDIR+=	py-u2flib-server
 SUBDIR+=	py-ua-parser
 SUBDIR+=	py-ubjson
diff --git a/py-bake/ALTERNATIVES b/py-bake/ALTERNATIVES
new file mode 100644
index 0000000000..e16aeef451
--- /dev/null
+++ b/py-bake/ALTERNATIVES
@@ -0,0 +1,2 @@
+bin/bake @PREFIX@/bin/bake-@PYVERSSUFFIX@
+bin/mbake @PREFIX@/bin/mbake-@PYVERSSUFFIX@
diff --git a/py-bake/DESCR b/py-bake/DESCR
new file mode 100644
index 0000000000..bc2c8515f1
--- /dev/null
+++ b/py-bake/DESCR
@@ -0,0 +1,10 @@
+mbake is a Makefile formatter and linter.
+
+Features:
+
+- Configurable rules via ~/.bake.toml
+- CI/CD integration with check mode
+- Extensible plugin architecture
+- Rich terminal output with progress indicators
+- Syntax validation before and after formatting
+- Smart .PHONY detection with automatic insertion
diff --git a/py-bake/Makefile b/py-bake/Makefile
new file mode 100644
index 0000000000..b7f64f7d23
--- /dev/null
+++ b/py-bake/Makefile
@@ -0,0 +1,35 @@
+# $NetBSD$
+
+DISTNAME=	bake-1.1.3
+PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES=	devel python
+MASTER_SITES=	${MASTER_SITE_GITHUB:=EbodShojaei/}
+GITHUB_TAG=	v${PKGVERSION_NOREV}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/EbodShojaei/bake/
+COMMENT=	Makefile formatter and linter
+LICENSE=	mit
+
+TOOL_DEPENDS+=	${PYPKGPREFIX}-hatchling>=0:../../devel/py-hatchling
+DEPENDS+=	${PYPKGPREFIX}-typer>=0.9.0:../../wip/py-typer
+DEPENDS+=	${PYPKGPREFIX}-rich>=13.0.0:../../comms/py-rich
+
+WRKSRC=		${WRKDIR}/${DISTNAME}
+
+WHEEL_NAME=	m${DISTNAME}
+
+.include "../../lang/python/pyversion.mk"
+
+.if ${PYTHON_VERSION} < 311
+DEPENDS+=	${PYPKGPREFIX}-tomli>=1.2.0:../../textproc/py-tomli
+.endif
+
+USE_LANGUAGES=	# none
+
+post-install:
+	cd ${DESTDIR}${PREFIX}/bin && ${MV} bake bake-${PYVERSSUFFIX} || ${TRUE}
+	cd ${DESTDIR}${PREFIX}/bin && ${MV} mbake mbake-${PYVERSSUFFIX} || ${TRUE}
+
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-bake/PLIST b/py-bake/PLIST
new file mode 100644
index 0000000000..e768b97bd0
--- /dev/null
+++ b/py-bake/PLIST
@@ -0,0 +1,80 @@
+@comment $NetBSD$
+bin/bake-${PYVERSSUFFIX}
+bin/mbake-${PYVERSSUFFIX}
+${PYSITELIB}/bake/__init__.py
+${PYSITELIB}/bake/__init__.pyc
+${PYSITELIB}/bake/__init__.pyo
+${PYSITELIB}/bake/__main__.py
+${PYSITELIB}/bake/__main__.pyc
+${PYSITELIB}/bake/__main__.pyo
+${PYSITELIB}/bake/cli.py
+${PYSITELIB}/bake/cli.pyc
+${PYSITELIB}/bake/cli.pyo
+${PYSITELIB}/bake/config.py
+${PYSITELIB}/bake/config.pyc
+${PYSITELIB}/bake/config.pyo
+${PYSITELIB}/bake/core/__init__.py
+${PYSITELIB}/bake/core/__init__.pyc
+${PYSITELIB}/bake/core/__init__.pyo
+${PYSITELIB}/bake/core/formatter.py
+${PYSITELIB}/bake/core/formatter.pyc
+${PYSITELIB}/bake/core/formatter.pyo
+${PYSITELIB}/bake/core/rules/__init__.py
+${PYSITELIB}/bake/core/rules/__init__.pyc
+${PYSITELIB}/bake/core/rules/__init__.pyo
+${PYSITELIB}/bake/core/rules/assignment_spacing.py
+${PYSITELIB}/bake/core/rules/assignment_spacing.pyc
+${PYSITELIB}/bake/core/rules/assignment_spacing.pyo
+${PYSITELIB}/bake/core/rules/conditionals.py
+${PYSITELIB}/bake/core/rules/conditionals.pyc
+${PYSITELIB}/bake/core/rules/conditionals.pyo
+${PYSITELIB}/bake/core/rules/continuation.py
+${PYSITELIB}/bake/core/rules/continuation.pyc
+${PYSITELIB}/bake/core/rules/continuation.pyo
+${PYSITELIB}/bake/core/rules/duplicate_targets.py
+${PYSITELIB}/bake/core/rules/duplicate_targets.pyc
+${PYSITELIB}/bake/core/rules/duplicate_targets.pyo
+${PYSITELIB}/bake/core/rules/pattern_spacing.py
+${PYSITELIB}/bake/core/rules/pattern_spacing.pyc
+${PYSITELIB}/bake/core/rules/pattern_spacing.pyo
+${PYSITELIB}/bake/core/rules/phony.py
+${PYSITELIB}/bake/core/rules/phony.pyc
+${PYSITELIB}/bake/core/rules/phony.pyo
+${PYSITELIB}/bake/core/rules/phony_detection.py
+${PYSITELIB}/bake/core/rules/phony_detection.pyc
+${PYSITELIB}/bake/core/rules/phony_detection.pyo
+${PYSITELIB}/bake/core/rules/phony_insertion.py
+${PYSITELIB}/bake/core/rules/phony_insertion.pyc
+${PYSITELIB}/bake/core/rules/phony_insertion.pyo
+${PYSITELIB}/bake/core/rules/shell.py
+${PYSITELIB}/bake/core/rules/shell.pyc
+${PYSITELIB}/bake/core/rules/shell.pyo
+${PYSITELIB}/bake/core/rules/tabs.py
+${PYSITELIB}/bake/core/rules/tabs.pyc
+${PYSITELIB}/bake/core/rules/tabs.pyo
+${PYSITELIB}/bake/core/rules/target_spacing.py
+${PYSITELIB}/bake/core/rules/target_spacing.pyc
+${PYSITELIB}/bake/core/rules/target_spacing.pyo
+${PYSITELIB}/bake/core/rules/whitespace.py
+${PYSITELIB}/bake/core/rules/whitespace.pyc
+${PYSITELIB}/bake/core/rules/whitespace.pyo
+${PYSITELIB}/bake/plugins/base.py
+${PYSITELIB}/bake/plugins/base.pyc
+${PYSITELIB}/bake/plugins/base.pyo
+${PYSITELIB}/bake/utils/__init__.py
+${PYSITELIB}/bake/utils/__init__.pyc
+${PYSITELIB}/bake/utils/__init__.pyo
+${PYSITELIB}/bake/utils/line_utils.py
+${PYSITELIB}/bake/utils/line_utils.pyc
+${PYSITELIB}/bake/utils/line_utils.pyo
+${PYSITELIB}/bake/utils/pattern_utils.py
+${PYSITELIB}/bake/utils/pattern_utils.pyc
+${PYSITELIB}/bake/utils/pattern_utils.pyo
+${PYSITELIB}/bake/utils/version_utils.py
+${PYSITELIB}/bake/utils/version_utils.pyc
+${PYSITELIB}/bake/utils/version_utils.pyo
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
diff --git a/py-bake/distinfo b/py-bake/distinfo
new file mode 100644
index 0000000000..f302c6259b
--- /dev/null
+++ b/py-bake/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (bake-1.1.3.tar.gz) = 9c725e5c17516a930e5bd02c717ea419b7a3e311dd1cd060dc02c733eec82be3
+SHA512 (bake-1.1.3.tar.gz) = f3600f8092a0fbeecb9f27cfc81bc8a97ddcaaac98980f8a529ad05387499f0f1be2e3bf89af224dfb0e269574cafa8be72fc69c16a8d27a9ada9e0c1783a2ea
+Size (bake-1.1.3.tar.gz) = 2738449 bytes
diff --git a/py-typer/DESCR b/py-typer/DESCR
new file mode 100644
index 0000000000..ac92b7600e
--- /dev/null
+++ b/py-typer/DESCR
@@ -0,0 +1,6 @@
+Typer is a library for building CLI applications that users will
+love using and developers will love creating. Based on Python type
+hints.
+
+It's also a command line tool to run scripts, automatically converting
+them to CLI applications.
diff --git a/py-typer/Makefile b/py-typer/Makefile
new file mode 100644
index 0000000000..27b14d2962
--- /dev/null
+++ b/py-typer/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD$
+
+DISTNAME=	typer-0.16.0
+PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES=	devel python
+MASTER_SITES=	${MASTER_SITE_PYPI:=t/typer/}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/fastapi/typer
+COMMENT=	Library for building CLI tools
+LICENSE=	mit
+
+TOOL_DEPENDS+=	${PYPKGPREFIX}-pdm_backend>=0:../../devel/py-pdm_backend
+DEPENDS+=	${PYPKGPREFIX}-click>=8.0.0:../../devel/py-click
+DEPENDS+=	${PYPKGPREFIX}-typing-extensions>=3.7.4.3:../../devel/py-typing-extensions
+DEPENDS+=	${PYPKGPREFIX}-shellingham>=1.3.0:../../misc/py-shellingham
+DEPENDS+=	${PYPKGPREFIX}-rich>=10.11.0:../../comms/py-rich
+
+USE_LANGUAGES=	# none
+
+# as of 0.16.0
+# 5 errors
+# due to py-shellingham looking for /proc/R/stat
+
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-typer/PLIST b/py-typer/PLIST
new file mode 100644
index 0000000000..0f1c817104
--- /dev/null
+++ b/py-typer/PLIST
@@ -0,0 +1,56 @@
+@comment $NetBSD$
+bin/typer
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
+${PYSITELIB}/typer/__init__.py
+${PYSITELIB}/typer/__init__.pyc
+${PYSITELIB}/typer/__init__.pyo
+${PYSITELIB}/typer/__main__.py
+${PYSITELIB}/typer/__main__.pyc
+${PYSITELIB}/typer/__main__.pyo
+${PYSITELIB}/typer/_completion_classes.py
+${PYSITELIB}/typer/_completion_classes.pyc
+${PYSITELIB}/typer/_completion_classes.pyo
+${PYSITELIB}/typer/_completion_shared.py
+${PYSITELIB}/typer/_completion_shared.pyc
+${PYSITELIB}/typer/_completion_shared.pyo
+${PYSITELIB}/typer/_types.py
+${PYSITELIB}/typer/_types.pyc
+${PYSITELIB}/typer/_types.pyo
+${PYSITELIB}/typer/_typing.py
+${PYSITELIB}/typer/_typing.pyc
+${PYSITELIB}/typer/_typing.pyo
+${PYSITELIB}/typer/cli.py
+${PYSITELIB}/typer/cli.pyc
+${PYSITELIB}/typer/cli.pyo
+${PYSITELIB}/typer/colors.py
+${PYSITELIB}/typer/colors.pyc
+${PYSITELIB}/typer/colors.pyo
+${PYSITELIB}/typer/completion.py
+${PYSITELIB}/typer/completion.pyc
+${PYSITELIB}/typer/completion.pyo
+${PYSITELIB}/typer/core.py
+${PYSITELIB}/typer/core.pyc
+${PYSITELIB}/typer/core.pyo
+${PYSITELIB}/typer/main.py
+${PYSITELIB}/typer/main.pyc
+${PYSITELIB}/typer/main.pyo
+${PYSITELIB}/typer/models.py
+${PYSITELIB}/typer/models.pyc
+${PYSITELIB}/typer/models.pyo
+${PYSITELIB}/typer/params.py
+${PYSITELIB}/typer/params.pyc
+${PYSITELIB}/typer/params.pyo
+${PYSITELIB}/typer/py.typed
+${PYSITELIB}/typer/rich_utils.py
+${PYSITELIB}/typer/rich_utils.pyc
+${PYSITELIB}/typer/rich_utils.pyo
+${PYSITELIB}/typer/testing.py
+${PYSITELIB}/typer/testing.pyc
+${PYSITELIB}/typer/testing.pyo
+${PYSITELIB}/typer/utils.py
+${PYSITELIB}/typer/utils.pyc
+${PYSITELIB}/typer/utils.pyo
diff --git a/py-typer/distinfo b/py-typer/distinfo
new file mode 100644
index 0000000000..6f30846395
--- /dev/null
+++ b/py-typer/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (typer-0.16.0.tar.gz) = 9352fbfb7b49ec420f79f6dea9a2f1899e12a7626479152295848307140f921c
+SHA512 (typer-0.16.0.tar.gz) = 72ed9d0996ee4a96dffd866332916c705a2f5c11547248039c828b5180193e8ef9aed0789605703c9f7350f3f9d91049cec4b185dcbc1e8fb662b6dc7385f01e
+Size (typer-0.16.0.tar.gz) = 102625 bytes


Home | Main Index | Thread Index | Old Index