./devel/py-pyobjc-framework-NetworkExtension, Wrappers for the framework NetworkExtension on macOS

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 9.2, Package name: py310-pyobjc-framework-NetworkExtension-9.2, Maintainer: pkgsrc-users

The PyObjC project aims to provide a bridge between the Python and Objective-C
programming languages. The bridge is intended to be fully bidirectional,
allowing the Python programmer to take full advantage of the power provided by
various Objective-C based toolkits and the Objective-C programmer transparent
access to Python based functionality.

This package contains wrappers for framework 'NetworkExtension'.

Required to run:
[devel/py-setuptools] [devel/py-pyobjc-core] [devel/py-pyobjc-framework-Cocoa] [lang/python37]

Required to build:

Master sites:

Filesize: 148.716 KB

Version history: (Expand)

CVS history: (Expand)

   2023-06-18 07:03:10 by Adam Ciarcinski | Files touched by this commit (143) | Package updated
Log message:
py-pyobjc*: updated to 9.2


Version 9.2

Added warning objc.ObjCSuperWarning that is used to warn about classes that use \ 
argument-less super without binding that name to objc.super.

Document that objc.super must be used instead of builtin.super when calling \ 
superclass methods in a Cocoa subclass.

Add minimal pyproject.toml to all subprojects

Fix crash in pyobjc-core when using Python 3.12a7.

Added explicit tests for dealing with Objective-C categories that are loaded \ 
while using classes from Python.

Fix the version of macOS where the SafariServices framework is present.

Fixed some issues found by testing on a macOS 10.11 system

Trying to implement a method with SIMD types as arguments or return value will \ 
now give a more useful error when the bridge does not support the signature.

Fix incomplete metadata for CoreMediaIO.CMIOObjectSetPropertyData

Fix incorrect metadata

Removed Quartz.CGColorConversionInfoCreateFromListWithArguments. This function \ 
was already documented as unsupported, but was still present in the framework \ 

Removed Quartz.CVPixelBufferCreateWithPlanarBytes. This function requires a \ 
manual binding, but was still present with a generic (and non-working) binding.

Removed CoreMedia.CMBufferQueueCreate, \ 
CoreMedia.CMBufferQueueGetCallbacksForSampleBuffersSortedByOutputPTS, \ 
CoreMedia.CMBufferQueueGetCallbacksForUnsortedSampleBuffers, \ 
CoreMedia.CMVideoFormatDescriptionGetH264ParameterSetAtIndex, \ 
CoreMedia.CMVideoFormatDescriptionGetHVECParameterSetAtIndex, These functions \ 
require a manual binding, but were still present with a generic (and \ 
non-working) binding.

Explicitly exclude definitions from CMIOHardwarePlugIn.h from the CoreMediaIO \ 

Added deref_result_pointer key to the metadata for a return value. Use this when \ 
a callable returns a pointer to a single value (for example \ 

Removed unsupported functions from the ApplicationServices bindings (not named \ 
individually due to the size of the list). Also fixed annotations for other \ 
ApplicationServices bindings.

Add manual binding for CFNetwork.CFNetServiceBrowserCreate, \ 
CFNetwork.CFNetServiceSetClient, and CFNetwork.CFNetServiceMonitorCreate.

Fix incompatibility with Python 3.12 beta 1.
   2023-04-07 07:25:21 by Adam Ciarcinski | Files touched by this commit (140) | Package updated
Log message:
py-pyobjc: updated to 9.0.1

Version 9.0.1
* Fix metadata for \ 
webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler: \ 
and \ 
webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler: \ 
in the WebKit bindings.

* Reintroduce support for bridgesupport files that was dropped in 9.0.

There are external users for this interface and the replacement used by PyObjC \ 
itself is not yet in a state where it can be used by other projects.

Framework bindings were updated for the SDK included in Xcode 14.1

* Fix bad markup in overview of wrapped frameworks

* Fix compile error with Python 3.12

Version 9.0
Support for macOS 13 (Xcode 14 beta 4)

Updated framework bindings for macOS 13

The list below lists the frameworks that have API changes that affect the \ 
framework bindings.

Added bindings for the following frameworks (all new in macOS 13):

The definition of a number of basic structs has moved in the SDK for macOS 13 \ 
and PyObjC conforms to this change on all platforms.

In particular:

CGPoint, CGSize, CGVector, CGRect, CGAffineTransform and \ 
CGAffineTransformComponents are now defined in the CoreFoundation module.
NSPoint, NSSize and NSRect are now aliases for the corresponding CG* types
(instead of the other way around in previous versions of PyObjC).
Both changes should require no changes to scripts, unless code relies on the \ 
particular __name__ of a type.

The extension API (“pyobjc-api.h”) now has nullability annotations, which \ 
may lead to compilation errors or warnings when compiling 3th-party extensions \ 
using this API.

The extension API (“pyobjc-api.h”) has a changed interface for creating \ 
method IMPs, because of this extensions for older versions of PyObjC cannot be \ 
used with PyObjC 9.

* PyObjC 9.0 requires Python 3.7 or later

* Remove support for BridgeSupport files

The bridge itself hasn’t used these files for a long time, and system \ 
bridgesupport files are basically unusable.

* Remove objc._setClassExtender

This was an internal function that’s no longer used by PyObjC itself.

* Remove -[OC_PythonNumber getValue:forType:]

This method is never actually used by the system and is not part of the NSNumber \ 
interface (but possibly was in the past)

* Removed bindings for the Message and ServerNotification frameworks.

Both frameworks were removed in macOS 10.9 and hence cannot be used on a \ 
platform that’s still supported by PyObjC.

* Removed the type attribute for ObjCPointer

The typestr attribute contains the same value and has more consistent naming \ 
with the rest of PyObjC.

* Quarrtz.CVPixelBufferCreateWithBytes now conforms to the PyObjC standard for \ 
returning values: it returns a tuple of two values, the C return value and the \ 
value return through pixelBufferOut.

In older versions the return value was only the value return through pixelBufferOut.

464: The encodings objc._C_NSBOOL and objc._C_BOOL are now treated exactly the \ 
same as the types BOOL and bool have the same size and representation on arm64 \ 
and x86_64.

* Add support for SIMD types in APIs (types such as vector_float3)

The python representation of these types are types with the same name in defined \ 
in objc.simd.

Because the FFI library used by PyObjC (libffi) does not support these types the \ 
bridge only supports the method signatures found in system frameworks, other \ 
signatures will result in exceptions at runtime.

The relevant libffi issue for this is 408. But note that even if that issue were \ 
to be fixed PyObjC likely won’t use SIMD support in libffi until that’s \ 
merged in the system version on macOS.

Because of the previous change APIs that have a SIMD type are now callable from \ 

Changes due to generic implementation for SIMD types:

SpriteKit.SK3DNode.projectPoint_: The result is now objc.simd.vector_float3 \ 
instead of a tuple
SpriteKit.SK3DNode.unprojectPoint_: The result is now objc.simd.vector_float3 \ 
instead of a tuple
SpriteKit.SKFieldNode.direction: The result is now objc.simd.vector_float3 \ 
instead of a tuple
SpriteKit.SKPhysicsWorld.sampleFieldsAt_: The result is now \ 
objc.simd.vector_float3 instead of a tuple
Still not supported (requires some more infrastructure):

The registered metadata can now contain a key full_signature with the full \ 
encoding type signature for a method. This is used to replace the encoding \ 
extracted from the Objective-C runtime when one or more types have an empty \ 
encoding in the Objective-C runtime (such as the SIMD types mentioned earlier)

The Objective-C proxy for Python methods that require a custom helper (instead \ 
of using libffi) now use imp_implementationWithBlock.

* For a number of classes in AVFoundation the system actually uses instances \ 
from a parallel class hierarchy with _Tundra as a suffix of the class name.

Updated the metadata generator to automatically register the same metadata \ 
updates for these classes as for the original classes.

* Fix typos in CoreMedioIO metadata for CoreFoundation types

* Added two new assertions to PyObjCTools.TestSupport.TestCase:

These assert that the type of an argument or return value is a Objective-C or \ 
CoreFoundation object, or a pointer to one.

Fix internal error when an object that cannot be used in a boolean context is \ 
used for an ObjC argument that expects a bool or BOOL value.

* Fix incompatibility with Nuitka.

Earlier version of PyObjC failed when compiled using Nuitka, this version does \ 
work when using Nuitka 1.1.6 or later.


The automatic calculation of the method signature in selector() assumes that \ 
methods return id for Nuitka compiled code.

That should not be a problem in practice.

As a side effect of this builtin functions are accepted as the callable for a \ 
selector, even when not specifying a signature (e.g. objc.selector(dir) now \ 

Fixed crash in objc.selector due to uninitialized memory.

Move helpers for NSInvocation from pyobjc-framework-Cocoa to pyobjc-core.

* Don’t use static buffer during creation of “native” selector objects

This can avoid an objc.error exception when introspecting existing Cocoa classes.

* Revert change that made it impossible to replace a method with a property.
   2022-09-27 20:13:03 by Adam Ciarcinski | Files touched by this commit (177) | Package updated
Log message:
py-pyobjc*: updated to 8.5.1

Version 8.5

This release continues the work on test coverage in pyobjc-core, resulting in a \ 
number of minor bug fixes.

Added two options to the build_ext command in the setup.py of pyobjc-core:

--no-lto: Disable link time optimization
--no-warnings-as-errors: Disable -Werror
For struct bindings in frameworks the “in” operator no longer swallows \ 
exceptions raised by the __eq__ method.

Improved handing of invalid type encodings for struct types.

Fix crash while handling a struct wrapper with an invalid type encoding.

Fix handling of empty structs (such as struct foo { }; in objc.repythonify().

The type for NSObject.pyobjc_instanceMethod and NSObject.pyobjc_classMethods now \ 
supports the GC protocol to avoid garbage collection issues when the value for \ 
these properties is stored as an attribute (which introduces a reference cycle)

PyObjC should work with Python 3.11 alpha release, starting at alpha 6. Earlier \ 
alpha’s are not supported due to reverting a workaround for a bug that was \ 
fixed in alpha 6.

NSObject.alloc = 42 now fails. It was already impossible to replace a selector \ 
by something else through instances (NSObject.new().description = 42 raises).

Added objc.ObjCPointer.typestr with the same value as objc.ObjCPonter.type. The \ 
latter is now deprecated and will be removed in PyObjC 9.

Better error messages when a class implementing a protocol inherits a method of \ 
the wrong kind (“class” vs. “instance”).

The value of __slots__ in a class definition is now kept in the created class \ 
(previous versions always set the attribute to an empty tuple).

This is primarily useful when __slots__ is a dict that is used to document \ 

Raise the correct exception when the name of a method is not an ASCII string.

objc.loadSpecialVar() now better enforces that the module_globals argument is a \ 
Python dictionary.

Fixed a crash in objc.loadSpecialVar() due to a missing pointer dereference.

pip install pyobjc-framework-... for a framework that is not present on the \ 
current machine will now give a better error message when the “wheel” \ 
package is not installed.

Setting an integer option in objc.options to a value of an incompatible type \ 
(such as a string) will now raise an exception as intended, instead of breaking \ 
the interpreter.

Trying to delete an attribute from objc.options now raises \ 
:type:`AttributeError` instead of :type:`TypeError`.

objc.selector now copies the default signature from its argument when that \ 
argument is another objc.selector.

Until now this would raise an exception.

Added some missing error checking in calls to PyObject_New() and PyObject_GC_New().

It is now possible to create an objc.selector from a callable that is not a \ 
function or bound method. This may require specifying the method signature in \ 
the call to objc.selector.

For pyobjc-core the build_ext command in setup.py now includes the command-line \ 
option from the standaard command, which means python setup.py build_ext -j 4 \ 
can now be used for parallel builds.

On my M1 laptop using python setup.py build_ext -j 8 halves the time needed to \ 
build the extension.

The test command setup.py now supports the -v option to print test cases while \ 
they are run, in previoius versions this required using the --verbosity option.

Improve error handling when dealing with “isHidden” selectors.

Added pyobjc_hiddenSelectors(classmethods) to objc.objc_class

This method returns a copy of the dictionary with “hidden” selectors, that \ 
is Objective-C selectors that are hidden from view.

The method is primarily a debugging aid for development of PyObjC itself.

ApplicationServices.AXIsProcessTrustedWithOptions and \ 
Quartrz.CGPDFArrayGetObject had incorrect metadata.

The testsuites for the various framework bindings now have a test that does some \ 
basic checks on function and selector metadata. This test found the problem with \ 

Added objc._C_ATOMIC and objc._C_COMPLEX, both extracted from the clang sources \ 
after finding some type encodings that PyObjC could not decode.

objc._C_ATOMIC is ignored by PyObjC (for now), and objc._C_COMPLEX is not yet \ 

Fix internal error for _C_OUT argument markup on arguments that are \ 
CoreFoundation types.

This can only happen with invalid metadata definitions in framework bindings, \ 
and earlier versions this resulted in an internal assertion error. With this \ 
change the “output” argument is always None in the result.

Fix metadata for a number of functions with a C string argument

The metadata for the following functions was changed to have the correct type \ 
encoding for string argument, to fix issues with using non-ASCII (byte) strings.

While fixing this issue I found problems with the metadata for these functions:

There’s also a new test that checks for this problem in all exposed functions.

Fix incorrect reset of the “inline_list” attribute of the lazy importer, \ 
this could result in an incorrect TypeError when trying to access an \ 
non-existing attribute after looking at __all__.

Fix uniqueness of symbols exposed in the OpenDirectory bindings.

Unhide manual bindings for Security.SecKeychainFindGenericPassword and \ 
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:

The following distfiles were unfetchable (note: some may be only fetched

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2020-07-09 10:36:43 by Adam Ciarcinski | Files touched by this commit (85) | Package updated
Log message:
py-pyobjc: updated to 6.2.2

Version 6.2.2
Build for the Metal bindings failed on macOS 10.14
Fix incompatibility with macOS 11 in framework loader
Another attempt at giving a nice error message when trying to install on \ 
platforms other than macOS.
The classifiers now correctly identify supported Python versions
   2020-07-08 15:12:44 by Adam Ciarcinski | Files touched by this commit (85) | Package updated
Log message:
py-pyobjc: updated to 6.2.1

Version 6.2.1
* Ensure package ‘pyobjc’ won’t try to build the PubSub bindings on macOS 10.15
* Minor tweaks to build and pass tests on macOS 10.14 with the latest Xcode that \ 
can be installed on that version of macOS.
* Fix SystemError in block edge case
* PyObjC raised a SystemError when converting a callable into an ObjC block when \ 
the callable is a bound method without positional arguments.
* Fix crash on catalina caused by writing to read-only memory.
* Make sure the SDK detection works when the version is not in the SDK name
* There were no SDK updates in Xcode 11.5 and Xcode 11.6 (beta)