head	1.5;
access;
symbols
	pkgsrc-2026Q1:1.5.0.8
	pkgsrc-2026Q1-base:1.5
	pkgsrc-2025Q4:1.5.0.6
	pkgsrc-2025Q4-base:1.5
	pkgsrc-2025Q3:1.5.0.4
	pkgsrc-2025Q3-base:1.5
	pkgsrc-2025Q2:1.5.0.2
	pkgsrc-2025Q2-base:1.5
	pkgsrc-2025Q1:1.4.0.2
	pkgsrc-2025Q1-base:1.4
	pkgsrc-2024Q4:1.3.0.10
	pkgsrc-2024Q4-base:1.3
	pkgsrc-2024Q3:1.3.0.8
	pkgsrc-2024Q3-base:1.3
	pkgsrc-2024Q2:1.3.0.6
	pkgsrc-2024Q2-base:1.3
	pkgsrc-2024Q1:1.3.0.4
	pkgsrc-2024Q1-base:1.3
	pkgsrc-2023Q4:1.3.0.2
	pkgsrc-2023Q4-base:1.3
	pkgsrc-2023Q3:1.2.0.38
	pkgsrc-2023Q3-base:1.2
	pkgsrc-2023Q2:1.2.0.36
	pkgsrc-2023Q2-base:1.2
	pkgsrc-2023Q1:1.2.0.34
	pkgsrc-2023Q1-base:1.2
	pkgsrc-2022Q4:1.2.0.32
	pkgsrc-2022Q4-base:1.2
	pkgsrc-2022Q3:1.2.0.30
	pkgsrc-2022Q3-base:1.2
	pkgsrc-2022Q2:1.2.0.28
	pkgsrc-2022Q2-base:1.2
	pkgsrc-2022Q1:1.2.0.26
	pkgsrc-2022Q1-base:1.2
	pkgsrc-2021Q4:1.2.0.24
	pkgsrc-2021Q4-base:1.2
	pkgsrc-2021Q3:1.2.0.22
	pkgsrc-2021Q3-base:1.2
	pkgsrc-2021Q2:1.2.0.20
	pkgsrc-2021Q2-base:1.2
	pkgsrc-2021Q1:1.2.0.18
	pkgsrc-2021Q1-base:1.2
	pkgsrc-2020Q4:1.2.0.16
	pkgsrc-2020Q4-base:1.2
	pkgsrc-2020Q3:1.2.0.14
	pkgsrc-2020Q3-base:1.2
	pkgsrc-2020Q2:1.2.0.12
	pkgsrc-2020Q2-base:1.2
	pkgsrc-2020Q1:1.2.0.8
	pkgsrc-2020Q1-base:1.2
	pkgsrc-2019Q4:1.2.0.10
	pkgsrc-2019Q4-base:1.2
	pkgsrc-2019Q3:1.2.0.6
	pkgsrc-2019Q3-base:1.2
	pkgsrc-2019Q2:1.2.0.4
	pkgsrc-2019Q2-base:1.2
	pkgsrc-2019Q1:1.2.0.2
	pkgsrc-2019Q1-base:1.2
	pkgsrc-2018Q4:1.1.0.32
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.30
	pkgsrc-2018Q3-base:1.1
	pkgsrc-2018Q2:1.1.0.28
	pkgsrc-2018Q2-base:1.1
	pkgsrc-2018Q1:1.1.0.26
	pkgsrc-2018Q1-base:1.1
	pkgsrc-2017Q4:1.1.0.24
	pkgsrc-2017Q4-base:1.1
	pkgsrc-2017Q3:1.1.0.22
	pkgsrc-2017Q3-base:1.1
	pkgsrc-2017Q2:1.1.0.18
	pkgsrc-2017Q2-base:1.1
	pkgsrc-2017Q1:1.1.0.16
	pkgsrc-2017Q1-base:1.1
	pkgsrc-2016Q4:1.1.0.14
	pkgsrc-2016Q4-base:1.1
	pkgsrc-2016Q3:1.1.0.12
	pkgsrc-2016Q3-base:1.1
	pkgsrc-2016Q2:1.1.0.10
	pkgsrc-2016Q2-base:1.1
	pkgsrc-2016Q1:1.1.0.8
	pkgsrc-2016Q1-base:1.1
	pkgsrc-2015Q4:1.1.0.6
	pkgsrc-2015Q4-base:1.1
	pkgsrc-2015Q3:1.1.0.4
	pkgsrc-2015Q3-base:1.1
	pkgsrc-2015Q2:1.1.0.2
	pkgsrc-2015Q2-base:1.1;
locks; strict;
comment	@# @;


1.5
date	2025.04.23.12.45.22;	author adam;	state Exp;
branches;
next	1.4;
commitid	gmYFYOt52TvUTaSF;

1.4
date	2025.02.05.08.05.41;	author adam;	state Exp;
branches;
next	1.3;
commitid	ffcpBhN62TRcPfIF;

1.3
date	2023.11.19.17.03.05;	author adam;	state Exp;
branches;
next	1.2;
commitid	qxrpVORZMVPo4fNE;

1.2
date	2019.01.08.12.08.46;	author adam;	state Exp;
branches;
next	1.1;
commitid	fo23lFAHJfJKwY6B;

1.1
date	2015.04.25.10.40.51;	author adam;	state Exp;
branches;
next	;
commitid	K2mvC5fNn00bzXiy;


desc
@@


1.5
log
@py-pyobjc*: fix for setuptools>=78; bump revisions
@
text
@@@comment $NetBSD: PLIST,v 1.4 2025/02/05 08:05:41 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE.txt
${PYSITELIB}/${WHEEL_INFODIR}/pyobjc-build-info.txt
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
${PYSITELIB}/SearchKit/__init__.py
${PYSITELIB}/SearchKit/__init__.pyc
${PYSITELIB}/SearchKit/__init__.pyo
@


1.4
log
@py-pyobjc: updated to 11.0

Version 11.0
The major change in this release is experimental support for free-threading (PEP 703) which was introduced as an experimental feature in Python 3.13.

This required fairly significant changes in the core of PyObjC to change C Python API use and PyObjC internal APIs (mostly related to the use of borrowed references).

Dropped support for Python 3.8. PyObjC 11 supports Python 3.9 and later.

Updated metadata for the macOS 15.2 SDK, including bindings for the following frameworks:

MediaExtension
DeviceDiscoveryExtension
Added minimal bindings to the Carbon framework.

At this time only some functions and constants related to hotkeys are available. Please file an issue if you have a usecase for other APIs.

Struct wrappers now support a number of functions from copy: copy.replace() (new in Python 3.13), copy.copy() and copy.deepcopy().

The __pyobjc_copy__ method has been removed from struct wrappers. This was never a public API. Use copy.deepcopy() instead.

objc.FSRef.from_path`() now supports os.PathLike values as its arguments (as well as strings).

Experimental support for the free-threading mode introduced in Python 3.13.

The core bridge and framework bindings claim compatibility with free-threading as introduced as an experimental feature in Python 3.13.

The support in PyObjC is also an experimental feature: I’ve reviewed code for free-threading issues and adjusted it where needed, but the code has seen only light testing w.r.t. concurrency.

Some functionality that’s explicitly not thread-safe:

Defining an Objective-C class with the same name in multiple threads concurrently.

Splitting calls to alloc and init and calling init multiple times concurrently. E.g.:

import threading
from Cocoa import NSObject

v = NSObject.alloc()

t_list = []
for _ in range(2):
    t = threading.Thread(target=lambda: v.init())
    t_list.append(t)
    t.start()

for t in t_list:
    t.join()
The internal mapping from Python values to their active Objective-C proxy value now uses weak references. This should not affect user code, other than being a bit more efficient.

The internal interfaces for updating this mapping, and the reverse mapping from Objective-C values to their active Python proxy was changed to remove a small race condition. This was required for free threading support, but could in theory also bit hit when using the GIL.

The data structure for mapping Python values to their Objective-C proxy has been rewritten to support free threading. This also simplifies the code, and should be small performance improvement for the regular build of Python.

The TypeError raised when passing a non-sequence value to some APIs implemented in C now has a __cause__ with more detailed information.

This is a side effect of dropping the use of PySequence_Fast in the implementation of PyObjC.

Removed objc.options._nscoding_version, a private option that is no longer used.

Changing the __block_signature__ of a block value when the current value of the signature is not None is no longer possible.

Please file an issue if you have a use case for changing the signature of a block.

Fix compatibility with Python 3.14 (alpha 3)

Removed private function objc._sizeOfType because its unused.

Fix memory leak when using Python callables as blocks.

The memory leak also resulted in leaking a reference to the callable (and hence anything kept alive by that reference).

The generic __new__ implementation now works as intended when registering methods that other than init... methods.

Dropped ‘%n’ support in handling printf-format strings for variadic functions and methods.

Two reasons for that: 1) supporting this properly should return the value writing to the %n location (requiring significant changes) and 2) Apple’s libraries require using static strings for ‘%n’ to work (at least on some platforms and versions of the OS)

Fix manual bindings for AVAudioPCMBuffer methods for getting channel data (floatChannelData, int16ChannelData and int32ChannelData)

fix broken bindings for CGWindowListCreateImageFromArray.

The private __is_magic attribute on objc.objc_object has been renamed to __pyobjc_magic_coookie__.

Various fixes to edge case behaviour that were found while improving test coverage.
@
text
@d1 1
a1 2
@@comment $NetBSD: PLIST,v 1.3 2023/11/19 17:03:05 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE.txt
d5 1
@


1.3
log
@py-pyobjc*: updated to 10.0

Version 10.0
Update bindings for macOS 14

Symbols newly introduced in macOS 14 were added to the existing bindings, and the following new bindings were introduced:

Cinematic
MediaExtension
SensitiveContentAnalysis
Symbols
The “IMServicePlugIn” bindings are no longer available

The entire framework was deprecated in macOS 10.13 and removed in macOS 14. The bindings can not be build using the latest SDK, and had (at best) limited use.

PyObjC 10 requires Python 3.8 and no longer supports Python 3.7

Removed all MAC_OS_X_VERSION* constants from objc.

These constants are needed in practice (switch to objc.available() to check for platform availability), and caused unnecessary code churn.

The value for objc.options.deprecation_warnings is now a string instead of an integer.

Fix unintended incompatibility with pytest in PyObjCTools.TestSupport

The lazy loading machinery by default no longer uses objc.ObjCLazyModule, but uses module level __dir__ and __getattr__ instead. The class objc.ObjCLazyModule is still available, but is deprecated

As a side effect of this objc is no longer an attribute of framework binding packages (e.g Foundation.objc is no longer a valid attribute).

Another side effect of this is that all attributes added by the import system are now correctly present in the packages for framework bindings.

And a final side effect is that private symbols (prefixed with underscore) are no longer imported from dependencies of framework bindings (more closely matching the from dependency import * behaviour that the lazy importer emulates.

Add attribute __framework_identifier__ to all framework bindings with the identifier of the corresponding system framework.

Introduce objc.createFrameworkDirAndGetattr() to create module level __dir__ and __getattr__ for use by framework bindings.

Tests now validate the bundle identifier value used in framework bindings.

This resulted in a number of changes to framework bindings with incorrect bundle identifier values. This shouldn’t affect user code because the bundle loader falls back on the framework path when the identifier cannot be found.

Avoid test failures in pyobjc-core when pyobjc-framework-Quartz is not installed.

A number of classes can no longer be subclasses in Python because they are marked as non-subclassable in the macOS 14 SDK (either directly or as “subclassing is deprecated”:

CKAllowedSharingOptions, CKAsset, CKContainer, CKDatabase, CKDatabaseNotification, CKDatabaseSubscription, CKFetchRecordZoneChangesConfiguration, CKNotification, CKNotificationID, CKNotificationInfo, CKOperationConfiguration, CKOperationGroup, CKQuery, CKQueryCursor, CKQueryNotification, CKQuerySubscription, CKRecord, CKRecordID, CKRecordZone, CKRecordZoneID, CKRecordZoneNotification, CKRecordZoneSubscription, CKReference, CKServerChangeToken, CKShare, CKShareMetadata, CKShareParticipant, CKSubscription, CKSyncEngine, CKSyncEngineAccountChangeEvent, CKSyncEngineConfiguration, CKSyncEngineDidFetchChangesEvent, CKSyncEngineDidFetchRecordZoneChangesEvent, CKSyncEngineDidSendChangesEvent, CKSyncEngineEvent, CKSyncEngineFailedRecordSave, CKSyncEngineFailedZoneSave, CKSyncEngineFetchChangesOptions, CKSyncEngineFetchedDatabaseChangesEvent, CKSyncEngineFetchedRecordDeletion, CKSyncEngineFetchedRecordZoneChangesEvent, CKSyncEngineFetchedZoneDeletion, CKSyncEnginePendingDatabaseChange, CKSyncEnginePendingRecordZoneChange, CKSyncEnginePendingZoneDelete, CKSyncEnginePendingZoneSave, CKSyncEngineRecordZoneChangeBatch, CKSyncEngineSendChangesContext, CKSyncEngineSendChangesOptions, CKSyncEngineSentDatabaseChangesEvent, CKSyncEngineSentRecordZoneChangesEvent, CKSyncEngineState, CKSyncEngineStateSerialization, CKSyncEngineStateUpdateEvent, CKSyncEngineWillFetchChangesEvent, CKSyncEngineWillFetchRecordZoneChangesEvent, CKSyncEngineWillSendChangesEvent, CKSystemSharingUIObserver, CKUserIdentity, CKUserIdentityLookupInfo.

The encoding of a number of basic types changes, in particular those of CoreFoundation struct types and SIMD struct types. None of this should affect user code.

objc.getClassList now has an optional positional argument to ignore classes with a name that aren’t identifiers.

Some of the functionality in CoreFoundation was rewritten in Swift in macOS 14, with Swift subclasses of NSArray and NSDictionary. Those classes break an invariant of PyObjC: the superclass of the root of the Swift class hierarchy changes when the class is instantiated for the first time (from NSObject to the correct superclass).

PyObjC 10 contains a workaround for this by ignoring these classes unless they are needed to create a proxy for an instance (FB12286520).

Fix crash when the method signature retrieved from the Objective-C runtime contains the class name for a method returning id.

Remove old 32-bit support in metadata override files.

Restructure objc.simd: The matrix types are now named simd_float3x3 instead of matrix_float3x3, with the older name as an alias (to match older system headers).

Fix crash when loading the libdispatch bindings on recent macOS versions (at least macOS 13, possibly earlier)

dispatch.dispatch_source_t is renamed to dispatch.dispatch_source_type_t to match the type name in C code.

Xcode 15 has a bug when using weak symbols and targeting older macOS versions. Switch to the old linker when detecting Xcode 15.
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.2 2019/01/08 12:08:46 adam Exp $
d6 1
@


1.2
log
@py-pyobjc: updated to 5.1.2

Version 5.1.2
Fix compile error on macOS 10.9 or earlier
Calling completion handler failed due to incomplete runtime info
PyObjC’s metadata system didn’t automaticly set the call signature for blocks passed into a method implemented in Python. This causes problems when the ObjC or Swift block does not have signature information in the ObjC/blocks runtime.
Use MAP_JIT when allocating memory for the executable stubs for Python methods.
With the “restricted” runtime you’ll have to add the “com.apple.security.cs.allow-jit” entitlement to use this flag, in earlier versions you’d have to use a different entitlement: “com.apple.security.cs.allow-unsigned-executable-memory”.
The MAP_JIT flag is only used on macOS 10.14 or later.
Ensure that PyObjC can be built using /usr/bin/python on macOS 10.14
This failed due the problems with header files in the SDK included with Xcode 10.

Version 5.1.1
Update metadata for Xcode 10.1

Version 5.1
Xcode 10 “GM” contains one difference from the last beta: the constant MLComputeUnitsCPUAndGPU in the CoreML bindings.
Add a proxy for C’s “FILE*” type on Python 3. This is not necessary on Python 2 because the default IO stack on Python 2 already uses FILE* internally.
This proxy type is very minimal and shouldn’t not be used for general I/O.
Bindings are up-to-date w.r.t. Xcode 10.1 (beta)
Updated the support code for framework wrappers to be able to emit deprecation warnings on the first import of a deprecated constants (functions and methods will only raise a deprecation warning when called).
This is just an infrastructure change, the actual framework bindings do not yet contain the information used to emit deprecation warnings.
Add metadata for deprecation warnings to the “Contacts” framework
Import ABCs from collections.abc instead of collections because the latter is deprecated.
Instances of most builtin value types and sequences (int, float, str, unicode, tuple, list, set, frozenset and dict) can now be written to archives that require secureCoding.

Version 5.0
Version 5.0 of PyObjC primarily adds support for macOS 10.14 (mojave), and also adds support for a couple of older frameworks that weren’t supported before.
@
text
@d1 6
a6 7
@@comment $NetBSD: PLIST,v 1.1 2015/04/25 10:40:51 adam Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
@


1.1
log
@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.
@
text
@d1 1
a1 1
@@comment $NetBSD$
a10 3
${PYSITELIB}/SearchKit/_metadata.py
${PYSITELIB}/SearchKit/_metadata.pyc
${PYSITELIB}/SearchKit/_metadata.pyo
@

