notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
py-makefun Dynamically create python functions with a proper signature
1.15.4 devel on this many watch lists=2 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 1.15.2Version of this port present on the latest quarterly branch.
Maintainer: meka@tilda.center search for ports maintained by this maintainer
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.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

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>)
  • py311: py311-makefun
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):
py39-makefun
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest--------
FreeBSD:13:quarterly--1.15.1--1.15.21.15.21.15.2
FreeBSD:14:latest--1.15.0--1.15.1-1.15.1
FreeBSD:14:quarterly-----1.15.21.15.21.15.2
FreeBSD:15:latest--n/a-n/a1.15.21.15.21.15.2
 

py311-makefun
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest1.15.41.15.4-1.15.41.15.4---
FreeBSD:13:quarterly1.15.21.15.2-1.15.21.15.2---
FreeBSD:14:latest1.15.41.15.4-1.15.41.15.4---
FreeBSD:14:quarterly1.15.21.15.2-1.15.21.15.2---
FreeBSD:15:latest1.15.41.15.4n/a1.15.4n/a---
 

Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. py311-pip>=0 : devel/py-pip@py311
  2. py311-pytest-runner>=0 : devel/py-pytest-runner@py311
  3. py311-setuptools-scm>=0 : devel/py-setuptools-scm@py311
  4. py311-wheel>=0 : devel/py-wheel@py311
  5. py311-setuptools>=63.1.0 : devel/py-setuptools@py311
  6. python3.11 : lang/python311
Test dependencies:
  1. py311-pytest>=7,1 : devel/py-pytest@py311
  2. python3.11 : lang/python311
Runtime dependencies:
  1. py311-funcsigs>=0 : devel/py-funcsigs@py311
  2. py311-setuptools>=63.1.0 : devel/py-setuptools@py311
  3. python3.11 : lang/python311
This port is required by:
for Run
  1. devel/py-decopatch
  2. devel/py-pytest-cases
  3. 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:
Expand this list (2 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/m/makefun/
  2. https://pypi.org/packages/source/m/makefun/
Collapse this list.

Number of commits found: 12

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
1.15.4
19 Jul 2024 18:02:46
commit hash: 5e2c397a9bc9b5dc2079b84be9fe6642b853aae0commit hash: 5e2c397a9bc9b5dc2079b84be9fe6642b853aae0commit hash: 5e2c397a9bc9b5dc2079b84be9fe6642b853aae0commit hash: 5e2c397a9bc9b5dc2079b84be9fe6642b853aae0 files touched by this commit
Vladimir Druzenko (vvd) search for other commits by this committer
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
commit hash: 5d4139f8bdb67bd6e8328422f9762661bd0d6454commit hash: 5d4139f8bdb67bd6e8328422f9762661bd0d6454commit hash: 5d4139f8bdb67bd6e8328422f9762661bd0d6454commit hash: 5d4139f8bdb67bd6e8328422f9762661bd0d6454 files touched by this commit
Charlie Li (vishwin) search for other commits by this committer
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
commit hash: f9ce6b335dc226a2e9394f25d28e5fbe1bcbea24commit hash: f9ce6b335dc226a2e9394f25d28e5fbe1bcbea24commit hash: f9ce6b335dc226a2e9394f25d28e5fbe1bcbea24commit hash: f9ce6b335dc226a2e9394f25d28e5fbe1bcbea24 files touched by this commit
Ruslan Makhmatkhanov (rm) search for other commits by this committer
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
commit hash: 81070d1082e33ca6dd1187c9d1b24e2a66bf44f5commit hash: 81070d1082e33ca6dd1187c9d1b24e2a66bf44f5commit hash: 81070d1082e33ca6dd1187c9d1b24e2a66bf44f5commit hash: 81070d1082e33ca6dd1187c9d1b24e2a66bf44f5 files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
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
commit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacb files touched by this commit
Rene Ladan (rene) search for other commits by this committer
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
commit hash: bf268cb172c3902b2c32f727c2f449d7eafea199commit hash: bf268cb172c3902b2c32f727c2f449d7eafea199commit hash: bf268cb172c3902b2c32f727c2f449d7eafea199commit hash: bf268cb172c3902b2c32f727c2f449d7eafea199 files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
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
commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656 files touched by this commit
Dmitry Marakasov (amdmi3) search for other commits by this committer
*/*: rename CHEESESHOP to PYPI in MASTER_SITES

PR:			267994
Differential revision:	D37518
Approved by:		bapt
1.15.0
07 Oct 2022 18:31:52
commit hash: 3625af8f0cca04681861253f68ae1de26f4ce5f0commit hash: 3625af8f0cca04681861253f68ae1de26f4ce5f0commit hash: 3625af8f0cca04681861253f68ae1de26f4ce5f0commit hash: 3625af8f0cca04681861253f68ae1de26f4ce5f0 files touched by this commit
Nuno Teixeira (eduardo) search for other commits by this committer
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
commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
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
commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
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 View all of this commit message)
1.14.0
24 Jun 2022 16:10:02
commit hash: 184aa4019663288310419e761a3d0be4b30e8da2commit hash: 184aa4019663288310419e761a3d0be4b30e8da2commit hash: 184aa4019663288310419e761a3d0be4b30e8da2commit hash: 184aa4019663288310419e761a3d0be4b30e8da2 files touched by this commit
Li-Wen Hsu (lwhsu) search for other commits by this committer
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
commit hash: 120e65ad68426e6c9be44e99b3ffc45931fde288commit hash: 120e65ad68426e6c9be44e99b3ffc45931fde288commit hash: 120e65ad68426e6c9be44e99b3ffc45931fde288commit hash: 120e65ad68426e6c9be44e99b3ffc45931fde288 files touched by this commit
Hiroki Tagato (tagattie) search for other commits by this committer
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)

Number of commits found: 12