The NetBSD Project

CVS log for pkgsrc/devel/gnustep-objc/PLIST

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / devel / gnustep-objc

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.9 / (download) - annotate - [select for diffs], Sat Jan 14 01:30:53 2023 UTC (15 months ago) by manu
Branch: MAIN
CVS Tags: pkgsrc-2024Q1-base, pkgsrc-2024Q1, pkgsrc-2023Q4-base, pkgsrc-2023Q4, pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, HEAD
Changes since 1.8: +7 -4 lines
Diff to previous 1.8 (colored) to selected 1.1 (colored)

Update devel/gnustep-objc to 2.1.0 and fix its build

Highlights of 2.1.0 release include:

- Numerous improvements to the Objective-C++ exception interoperation code.
  The runtime now dynamically detects whether the libcxxrt or libsupc++ variant
  of the Itanium C++ Exception ABI is being used

- Sending a message to `super` where the corresponding method did not exist was
  silently ignored in previous versions of the runtime.  This now correctly
  invokes the forwarding hooks and so (with an implementation of the Foundation
  framework, such as GNUstep Base or WinObjC) will trigger an exception or
  invoke `forwardInvocation:`.

- The checks for overloaded memory management methods were incorrect, causing
  some classes to be incorrectly opted into ARC fast paths.  These checks are
  now correct.

- Several memory management bugs in corner cases of weak reference management
  were fixed.

- The ARM assembly implementation of `objc_msgSend` now correctly restores the
  stack after calling a forwarding implementation.  This bug caused stack
  corruption and usually crashing on ARM.

- The ARC code has been rewritten as C++, using a well-tested third-party
  Robin-Hood hash table to store weak references, replacing the home-grown
  version.  This improves performance and reduces the likelihood of bugs
  arising from the hash table implementation.

- Control Flow Guard (CGF) checks were added on Windows on x86 (32- and
  64-bit).  If Objective-C code is compiled with CFG enabled then
  `objc_msgSend` will crash if it attempts to jump to an address that is not a
  valid function entry point.

- The function signatures in the blocks headers were updated for compatibility
  with recent macOS releases.

- Support for the C11 _Atomic type qualifier in property metadata was added.


Highlights of 2.0.0 release include:

- The linker now removes duplicate selectors within a library.

- The linker will remove duplicate protocol definitions within a library.

- Protocols and classes are now always accessed via an indirection layer, so
  they can be extended by future versions of the ABI without breaking
  compatibility.

- Categories can include property metadata and both categories.

- Constant strings are now emitted with a richer structure, which provides
  faster hashing and better unicode support.

- Instance variable metadata includes size and alignment, allowing better object
  layout and more accurate introspection.  Instance variable metadata now
  includes more accurate information about ARC ownership semantics.

- Method metadata now includes extended type information, allowing bridged
  languages to understand the class that methods expect and not just the fact
  that they take an object.  This was previously an obstacle to supporting
  JavaScriptCore's Objective-C bridge with GNUstep.

In addition to the new ABI, there are several improvements on Windows:

- The runtime now uses SEH-based exception handling on Windows.  This
  interoperates with C++ exceptions in libraries compiled with MSVC or
  MSVC-compatible compilers.

- All of the assembly code paths now fully support i386 and x64 Windows.

- Object allocations on 32-bit Windows now use `_aligned_malloc` to guarantee
  sufficient alignment for AVX vectors in instance variables.

- The runtime now uses fibre-local storage and critical sections on Windows,
  improving performance in multithreaded workloads on Windows.

- Public runtime functions are now marked dllexport, so the runtime can be built
  as objc.dll on Windows.

**WARNING**: The new ABI is currently incompatible with incremental linking on
Windows, so projects built with Microsoft's linker must disable incremental
linking.

Note: Microsoft's WinObjC project contains a friendly fork of this library that
includes a work around for the incremental linking issue.  If you wish to use
incremental linking on Windows, please use that version.  A subsequent version
of clang and link.exe should include a fix that will make it possible to use
this version with incremental linking.

The runtime will now use the new ABI's data structures internally and will
automatically upgrade on-disk structures from old ABIs when used with the old
ABI.  As a result, memory usage will be higher when using the old ABI and users
who are unable to recompile their code may prefer to stick with the 1.9.x
release series.  Mixing libraries compiled with the old and new ABIs is not
supported and will abort at run time.

The new ABI provides better run-time introspection metadata and smaller
binaries.  When used with the new ABI, this version of the runtime will consume
less memory than the previous release.


Highlights of 1.9.0 release include:

- Support for 64-bit ARM (AArch64) processors, including assembly fast paths
  for message sending.

- Improved the dispatch table representation to improve performance and cache
  usage on the fast path.

- The implementation of `imp_implementationWithBlock`, the function that allows
  blocks to be used as methods, no longer requires physical pages to be mapped
  both writeable and executable.

- Numerous improvements to the interaction between runtime functions and ARC.

- Support for Thumb-2 interworking on ARM.  Note that the library must be
  compiled for ARMv7 or ARMv6T2 for this code to be enabled.  Once it has been,
  other Objective-C binaries linked with the library can be compiled as ARM or
  Thumb-2 code.  This will also generate Thumb-2 message send functions,
  improving instruction cache usage.

- Significant improvements to ARC, including

  * The runtime no longer acquires a global lock on every object deallocation (a
    global lock is still used for objects that have weak references). *NOTE:*
    This is incompatible with other code directly inspecting the reference
    count and will break with older versions of GNUstep Base!

  * Weak references use a scheme closer to C++ `std::weak_pointer` and are
    lazily zeroed on access.  This reduces the space overheads for weak
    references.

  * Some additional helper functions are added for use in `NSObject` and other
    root classes,  which simplifies the layering between the runtime and the
    Foundation (or equivalent) implementation.

- Improvements to how the runtime handles layout of ivars with strong alignment
  requirements, which should fix issues relating to using vector types in
  Objective-C objects.

- The option to build a separate libobjcxx has been removed.  The runtime will
  now depend on the C++ standard library implementation if no useable C++
  runtime is available.  Note that C++ exception interworking does not work
  because LLVM's libc++abi (shipped by Apple) does not provide GNU-compatible
  hooks and so Objective-C++ exception support will be automatically disabled
  on this platform.  Any other platforms shipping libc++abi should consider
  either GNU libsupc++ or libcxxrt as an alternative

Revision 1.8 / (download) - annotate - [select for diffs], Wed Nov 4 08:36:52 2020 UTC (3 years, 5 months ago) by triaxx
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.7: +7 -7 lines
Diff to previous 1.7 (colored) to selected 1.1 (colored)

gnustep-objc: fix build on FreeBSD

pkgsrc changes:
---------------
  * Add conditional installation of libobjcxx.so in GNUmakefile for FreeBSD
    and adjust PLIST accordingly.
  * Fix some typos that have been kindly suggested by pkglint.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Apr 16 09:28:39 2020 UTC (4 years ago) by manu
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.6: +8 -3 lines
Diff to previous 1.6 (colored) to selected 1.1 (colored)

Update gnustep-objc to 1.8.1

This is required to fix the build of gnustep-make on NetBSD 9.0

Changes since previous version in pkgsrc:

Version 1.8

- Added API for tracing, allowing interposition on all message sends matching a
  given selector.

- Numerous bug fixes and stability improvements.

Version 1.7

- A new CMake-based build system.  This makes all of the configurable options
  available via a clean interface.  CPack is supported for building RPM and DEB
  packages out of the box.

- A new CTest-based test suite, replacing the old ad-hoc tests.

- Build a single libobjc with support for Objective-C++ on platforms where a
  C++ ABI library (libcxxrt or libsupc++) is installed as a shared library.

- Added specialised property accessor functions and support for atomic
  properties with C++ non-POD types.

- Significant improvements in property introspection and an exhaustive test
  suite.

- Improved integration with libdispatch.  The runtime will correctly register
  work queues with the garbage collector or create autorelease pools around
  block invocations.

- A new exception implementation providing better integration with foreign
  exceptions (e.g. C++ exceptions).  The new ABI is supported by clang 3.3 when
  compiling with -fobjc-runtime=gnustep-1.7 (or higher).  The old ABI is still
  supported and both can be used within the same program, however code compiled
  with the old ABI remains unreliable in the presence of foreign exceptions.
  It is strongly recommended that anyone using exceptions with Objective-C++
  switches to the new version.

- MIPS64 support in the assembly routines.  Currently these are only tested
  with the n64 ABI.  They are believed to work with n32 and o32, but should be
  considered unsupported on these platforms.

- Small algorithmic improvement to the objc_msgSend() implementation, giving
  approximately a 10% speedup (architecture-dependent) on message sends.

- Updated optimisation passes to work with LLVM 3.2 and recent LLVM trunk.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Nov 1 20:05:17 2012 UTC (11 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) to selected 1.1 (colored)

It is really a lot more likely that 4.6.0 is meant here...

Revision 1.5 / (download) - annotate - [select for diffs], Mon Oct 22 02:13:06 2012 UTC (11 years, 5 months ago) by rh
Branch: MAIN
Changes since 1.4: +14 -9 lines
Diff to previous 1.4 (colored) to selected 1.1 (colored)

Update gnustep-objc to 1.6.1.

Changes are too numerous to list here, but essentially this switches
gnustep-objc to libobjc2-1.6.1 in order to provide a modern runtime
and support modern Objective-C 2.0 features such as ARC, class extensions,
the nonfragile ABI, etc.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Jun 14 17:48:46 2009 UTC (14 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2
Changes since 1.3: +1 -2 lines
Diff to previous 1.3 (colored) to selected 1.1 (colored)

Remove @dirrm entries from PLISTs

Revision 1.3 / (download) - annotate - [select for diffs], Mon Apr 13 12:12:44 2009 UTC (15 years ago) by rh
Branch: MAIN
Changes since 1.2: +16 -16 lines
Diff to previous 1.2 (colored) to selected 1.1 (colored)

Update gnustep-objc to 1.6.0.  Changes are mainly bugfixes.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Dec 5 09:22:26 2003 UTC (20 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, pkgsrc-2008Q1-base, pkgsrc-2008Q1, pkgsrc-2007Q4-base, pkgsrc-2007Q4, pkgsrc-2007Q3-base, pkgsrc-2007Q3, pkgsrc-2007Q2-base, pkgsrc-2007Q2, pkgsrc-2007Q1-base, pkgsrc-2007Q1, pkgsrc-2006Q4-base, pkgsrc-2006Q4, pkgsrc-2006Q3-base, pkgsrc-2006Q3, pkgsrc-2006Q2-base, pkgsrc-2006Q2, pkgsrc-2006Q1-base, pkgsrc-2006Q1, pkgsrc-2005Q4-base, pkgsrc-2005Q4, pkgsrc-2005Q3-base, pkgsrc-2005Q3, pkgsrc-2005Q2-base, pkgsrc-2005Q2, pkgsrc-2005Q1-base, pkgsrc-2005Q1, pkgsrc-2004Q4-base, pkgsrc-2004Q4, pkgsrc-2004Q3-base, pkgsrc-2004Q3, pkgsrc-2004Q2-base, pkgsrc-2004Q2, pkgsrc-2004Q1-base, pkgsrc-2004Q1, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.1: +16 -16 lines
Diff to previous 1.1 (colored)

Changes 1.3.0:
    Improvements and bug-fixes

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Fri Sep 27 10:44:47 2002 UTC (21 years, 6 months ago) by rh
Branch: TNF
CVS Tags: pkgsrc-base, pkgsrc-2003Q4-base, pkgsrc-2003Q4, netbsd-1-6-1-base, netbsd-1-6-1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Initial import of gnustep-objc-1.2.2, an Objective C runtime for GNUstep.

Revision 1.1 / (download) - annotate - [selected], Fri Sep 27 10:44:47 2002 UTC (21 years, 6 months ago) by rh
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>