Port details |
- py-makefun Dynamically create python functions with a proper signature
- 1.15.4 devel =2 1.15.2Version of this port present on the latest quarterly branch.
- Maintainer: meka@tilda.center
- Port Added: 2022-01-26 07:18:06
- Last Update: 2024-07-19 18:02:46
- Commit Hash: 5e2c397
- People watching this port, also watch:: jdictionary, py311-Automat, py311-python-gdsii, py39-PyOpenGL, p5-Sane
- Also Listed In: python
- License: BSD3CLAUSE
- WWW:
- https://github.com/smarie/python-makefun
- Description:
- Makefun helps you create functions dynamically, with the signature of your
choice. It was largely inspired by decorator and functools, and created mainly
to cover some of their limitations.
The typical use cases are:
* creating signature-preserving function wrappers - just like functools.wraps
but with accurate TypeError exception raising when user-provided arguments are
wrong, and with a very convenient way to access argument values.
* creating function wrappers that have more or less arguments that the
function they wrap. A bit like functools.partial but a lot more flexible and
friendly for your users. For example, I use it in my pytest plugins to add a
requests parameter to users' tests or fixtures when they do not already have
it.
* more generally, creating functions with a signature derived from a reference
signature, or even creating functions with a signature completely defined at
runtime.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - There is no configure plist information for this port.
- Dependency lines:
-
- ${PYTHON_PKGNAMEPREFIX}makefun>0:devel/py-makefun@${PY_FLAVOR}
- To install the port:
- cd /usr/ports/devel/py-makefun/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/py-makefun
- pkg install py311-makefun
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-makefun listed in the above command, you can pick from the names under the Packages section.- PKGNAME: py311-makefun
- Package flavors (<flavor>: <package>)
- distinfo:
- TIMESTAMP = 1721406543
SHA256 (makefun-1.15.4.tar.gz) = 9f9b9904e7c397759374a88f4c57781fbab2a458dec78df4b3ee6272cd9fb010
SIZE (makefun-1.15.4.tar.gz) = 72160
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- py311-pip>=0 : devel/py-pip@py311
- py311-pytest-runner>=0 : devel/py-pytest-runner@py311
- py311-setuptools-scm>=0 : devel/py-setuptools-scm@py311
- py311-wheel>=0 : devel/py-wheel@py311
- py311-setuptools>=63.1.0 : devel/py-setuptools@py311
- python3.11 : lang/python311
- Test dependencies:
-
- py311-pytest>=7,1 : devel/py-pytest@py311
- python3.11 : lang/python311
- Runtime dependencies:
-
- py311-funcsigs>=0 : devel/py-funcsigs@py311
- py311-setuptools>=63.1.0 : devel/py-setuptools@py311
- python3.11 : lang/python311
- This port is required by:
- for Run
-
- devel/py-decopatch
- devel/py-pytest-cases
- www/py-fastapi-users
Configuration Options:
- No options to configure
- Options name:
- devel_py-makefun
- USES:
- python
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
1.15.4 19 Jul 2024 18:02:46 |
Vladimir Druzenko (vvd) Author: Goran Mekić |
devel/py-makefun: update 1.15.2 → 1.15.4
Changelogs:
https://github.com/smarie/python-makefun/releases/tag/1.15.3
https://github.com/smarie/python-makefun/releases/tag/1.15.4
PR: 280373 |
1.15.2 29 Feb 2024 07:18:32 |
Charlie Li (vishwin) |
devel/py-setuptools-scm: update to 8.0.4
Directory and PORTNAME changed to match normalised name in release
tarball; consumers updated to match.
Although setuptools itself is specified as a run dependency in the
Python package metadata, it is currently left out here to prevent
environment pollution until at least PR 270510 is committed.
Additionally, this version of setuptools-scm requires setuptools>=61,
which means this version is only meant for USE_PYTHON=pep517 ports
as all USE_PYTHON=distutils ports will switch to devel/py-setuptools58
also after PR 270510. science/py-emmet-core is switched to
devel/py-setuptools_scm7 accordingly, as it specifies setuptools-scm<8.
devel/py-{flit-scm,hatch-vcs} have ${PY_SETUPTOOLS} added to
RUN_DEPENDS to compensate.
Further details: https://wiki.freebsd.org/Python/setuptools
Reported by: yuri
Co-authored by: matthew
Exp-run by: antoine (earlier iteration)
Approved by: yuri (science/py-emmet-core, previous iteration)
PR: 272134
Differential Revision: https://reviews.freebsd.org/D39288 |
1.15.2 03 Dec 2023 12:29:52 |
Ruslan Makhmatkhanov (rm) |
devel/py-makefun: relax python version requirement
Tested in Python 3.11 virtualenv with samples from official docs - worked,
so not reason to limit to 3.9
PR: 275494
Approved by: portmgr (blanket) |
1.15.2 18 Nov 2023 20:20:42 |
Robert Clausecker (fuz) Author: Goran Mekić |
devel/py-makefun: Update to 1.15.2
Changelog: https://github.com/smarie/python-makefun/releases/tag/1.15.2
PR: 275110 |
1.15.1 27 Jun 2023 19:34:34 |
Rene Ladan (rene) |
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568> |
1.15.1 11 May 2023 23:23:24 |
Robert Clausecker (fuz) Author: Goran Mekić |
devel/py-makefun: Update to 1.15.1
Changelog: https://github.com/smarie/python-makefun/releases/tag/1.15.1
* Fixed ValueError: Invalid co_name happening on python 2 when the name of a
function to create starts or ends with _ or contains a double __
PR: 271340 |
1.15.0 11 Jan 2023 15:58:34 |
Dmitry Marakasov (amdmi3) |
*/*: rename CHEESESHOP to PYPI in MASTER_SITES
PR: 267994
Differential revision: D37518
Approved by: bapt |
1.15.0 07 Oct 2022 18:31:52 |
Nuno Teixeira (eduardo) Author: Goran Mekić |
devel/py-makefun: Update to 1.5.0
ChangeLog:
https://smarie.github.io/python-makefun/changelog/#1150-more-pep-compliant-wraps
PR: 266752 |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
1.14.0 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
1.14.0 24 Jun 2022 16:10:02 |
Li-Wen Hsu (lwhsu) Author: Goran Mekić |
devel/py-makefun: Update to 1.14.0
Changelog:
* create_wrapper, create_function, wraps and with_signature now support
lambda functions. They also accept a new parameter co_name to define the
name to be used in the compiled code.
PR: 264869 |
1.13.1 26 Jan 2022 07:16:09 |
Hiroki Tagato (tagattie) Author: Goran Mekić |
devel/py-makefun: add port: Dynamically create python functions with a proper
signature
Makefun helps you create functions dynamically, with the signature of your
choice. It was largely inspired by decorator and functools, and created mainly
to cover some of their limitations.
The typical use cases are:
* creating signature-preserving function wrappers - just like functools.wraps
but with accurate TypeError exception raising when user-provided arguments are
wrong, and with a very convenient way to access argument values.
* creating function wrappers that have more or less arguments that the
function they wrap. A bit like functools.partial but a lot more flexible and
friendly for your users. For example, I use it in my pytest plugins to add a
requests parameter to users' tests or fixtures when they do not already have
it.
* more generally, creating functions with a signature derived from a reference
signature, or even creating functions with a signature completely defined at
runtime.
WWW: https://github.com/smarie/python-makefun
PR: 260879
Reported by: Goran Mekić <meka@tilda.center> (new maintainer) |