2022-09-27 20:13:03 by Adam Ciarcinski | Files touched by this commit (177) | |
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 \
attributes.
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 \
CGPDFArrayGetObject.
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 \
supported.
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.
ApplicationServices.PMWorkflowSubmitPDFWithOptions
CoreServices.LocaleRefGetPartString
Foundation.NSGetSizeAndAlignment
Network.nw_advertise_descriptor_create_bonjour_service
Network.nw_browse_descriptor_create_bonjour_service
Network.nw_browse_descriptor_get_bonjour_service_domain
Network.nw_browse_descriptor_get_bonjour_service_type
Network.nw_connection_copy_description
Network.nw_content_context_create
Network.nw_content_context_get_identifier
Network.nw_endpoint_copy_address_string
Network.nw_endpoint_copy_port_string
Network.nw_endpoint_create_bonjour_service
Network.nw_endpoint_create_host
Network.nw_endpoint_create_url
Network.nw_endpoint_get_bonjour_service_domain
Network.nw_endpoint_get_bonjour_service_name
Network.nw_endpoint_get_bonjour_service_type
Network.nw_endpoint_get_hostname
Network.nw_framer_create_definition
Network.nw_framer_message_access_value
Network.nw_framer_message_copy_object_value
Network.nw_framer_message_set_object_value
Network.nw_framer_message_set_value
Network.nw_framer_options_set_object_value
Network.nw_listener_create_with_port
Network.nw_privacy_context_create
Network.nw_quic_get_application_error_reason
Network.nw_quic_set_application_error
Network.nw_txt_record_access_key
Network.nw_ws_options_add_additional_header
Network.nw_ws_options_add_subprotocol
Quartz.CGContextSelectFont
Quartz.CGContextShowText
Quartz.CGContextShowTextAtPoint
Quartz.CGDataProviderCreateWithFilename
Quartz.CGPDFArrayGetName
Quartz.CGPDFContentStreamGetResource
Quartz.CGPDFDictionaryGetArray
Quartz.CGPDFDictionaryGetBoolean
Quartz.CGPDFDictionaryGetName
Quartz.CGPDFDocumentUnlockWithPassword
Quartz.CGPDFScannerPopName
Quartz.CGPDFTagTypeGetName
While fixing this issue I found problems with the metadata for these functions:
CoreMIDI.MIDIExternalDeviceCreate
CoreMedia.CMBlockBufferAccessDataBytes
CoreMedia.CMBlockBufferGetDataPointer
CoreMedia.CMBufferQueueInstallTriggerHandler
CoreMedia.CMBufferQueueInstallTriggerHandlerWithIntegerThreshold
CoreMedia.CMTextFormatDescriptionGetJustification
CoreServices.TECGetTextEncodingFromInternetNameOrMIB
DVDPlayback.DVDGetScanRate
MediaAccessibility.MACaptionAppearanceAddSelectedLanguage
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 \
Security.SecKeychainFindInternetPassword.
|
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:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./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) | |
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) | |
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)
|
2020-05-23 13:06:20 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
py-pyobjc-framework-QTKit: fix PLIST
|
2020-05-23 09:03:51 by Adam Ciarcinski | Files touched by this commit (133) | |
Log message:
py-pyobjc: updated to 6.2
Version 6.2
The project has moved from Bitbucket to Github
Remove most remnants of Python 2 support
Clean up code quality issues found using flake8
Add pre-commit hook to run black on all Python code.
Fix protocol conformance testing when explicitly implementing a protocol
Before this bugfix a class explicitly conforming to a protocol could not \
implement any method that wasn’t declared in the protocol, the bridge would \
erroneously raise an exception when checking the additional method.
Issue reported by Georg Seifert.
Fix Python 3 issues in PyObjCTools.Conversion
Reported by vinolin asokan.
PyObjCTools.Conversio.propertyListFromPythonCollection didn’t
recursively convert members of lists and tuples.
PyObjCTools.Conversio.propertyListFromPythonCollection and \
PyObjCTools.Conversio.pythonCollectionFromPropertyList now support sets.
Update metadata for Xcode 11.4 (beta 2)
Added bindings for framework AutomaticAssessmentConfiguration.framework \
introduced in macOS 10.15.4
In some cases the compiler uses the type encoding “^{NSObject=#}” instead of \
“@”.
Reported by Georg Seifert.
Added bindings for the Metal framework (new in macOS 10.11)
Most framework bindings now use the limited ABI for the included C extensions, \
reducing the number of wheels that are needed. The exception are the bindings \
for Cocoa, Quartz and libdispatch, those use functionality not available in the \
limited ABI.
The bridge itself (pyobjc-core) still uses the full CPython API.
The CoreAudio bindings also don’t use the limited ABI for now, those need more \
work to work with that ABI.
|
2019-11-18 18:03:17 by Adam Ciarcinski | Files touched by this commit (81) | |
Log message:
py-pyobjc: updated to 6.1
Version 6.1
Updated for the macOS 10.15.1 SDK (Xcode 11.2)
Fix reference counting in -[OC_PythonData length], which resulted in use-after-free.
Fix problems found in pyobjc-core by the clang static analyser
Version 6.0.1
Remove debug print accidently left in production
Surpress “-Wunguarded-availability” warnings in the extension AppKit._inlines
Version 6.0
Removed Python 2 support from the C extension in pyobjc-core
Reformatted code in pyobjc-core:
- Use “black” for Python code
- Use “clang-format” for Objective-C code
Updated bindings for macOS 10.15 (Xcode 11.0)
The userspace driver frameworks introduced in macOS 10.15 (DriverKit and related \
frameworks) will not be exposed through PyObjC. Please let me know if you have a \
good use case for using these frameworks with Python.
Add new framework wrappers for all other new frameworks in macOS 10.15:
AuthenticationServices
CoreHaptics
CoreMotion
DeviceCheck
ExecutionPolicy
FileProvider
FileProviderUI
LinkPresentation
OSLog
PencilKit
PushKit
QuickLookThumbnailing
Speech
SoundAnalysis
SystemExtensions
Add new framework wrappers for a number of older frameworks:
MetalKit (new in macOS 10.11)
Fix crash when creating NSData objects on macOS 10.15
|
2019-08-20 09:15:55 by Adam Ciarcinski | Files touched by this commit (81) | |
Log message:
py-pyobjc: updated to 5.2
Version 5.2
* Updated metadata for Xcode 10.2
* objc.registerStructAlias no longer emits a deprecation warning because it is \
still used by the framework wrappers.
The function is still deprecated though, the deprecation will reappear once \
the metadata has been updatd.
* The core bridge now uses PyDict_GetItemWithError(), which may result in \
exceptions being raised that were previously swallowed.
* Partially switch to the new buffer API instead of the older Python 2 buffer API.
The new implementation is more correct, but may keep Python objects alive \
longer than the previous implementation, and also affects buffer related \
functionality of Python objects. In particular, calling [someData bytes] on a \
Python object keeps the Py_buffer alive until the next flush of the \
autoreleasepool.
* Fix incorrect metadata for the callback argument to \
-[AVCaptureStillImageOutput \
captureStillImageAsynchronouslyFromConnection:completionHandler:].
* Add bindings to the “PrintCore” APIs from the ApplicationServices framework.
Python 2: UserDict.UserDict instances are now bridged to instances of a \
subclass of NSDictionary.
|