Replacement for the GNU Objective-C runtime supporting the features
of modern dialects of Objective-C for use with GNUstep and other Objective-C
programs.
This runtime is based on the Etoile Objective-C Runtime, an earlier
research prototype, and includes support for non-fragile instance
variables, type-dependent dispatch, and object planes. It is fully
compatible with the FSF's GCC Objective-C ABI and also implements
a new ABI that is supported by Clang and is required for some of
the newer features.
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
Bump PORTREVISION to rebuild this port for the updated security/openvpn
This has been reported to fix a run-time error affecting openvpn-2.5.0:
"2020-11-06 02:37:05 PLUGIN_INIT: could not load plugin shared object
/usr/local/lib/openvpn-auth-ldap.so: /usr/local/lib/libobjc.so.4.6:
Undefined symbol "ceilf"
2020-11-06 02:37:05 Exiting due to fatal error"
Reported by: admin@npo-lencor.ru (Nikita Druba)
lang/libobjc2: Fix build in 11.3
We need -lm in order to use the ceilf function.
PR: 249046
Reported by: brad@facefault.org
MFH: 2020Q3 (blanket, build fix)
Now that tests are built after r546301, hook them to our framework
so "make test" would work. Currently 99% tests pass, 2 tests fail
out of 186 (on amd64).
lang/libobjc2: Fix linking against
Pull in a patch from upstream to fix generation of eh_trampoline().
Without this patch linking against libobjc sometimes failes with
undefined reference to `eh_trampoline()'.
Build tests by default.
MFH: 2020Q3
X-MFH-With: 546146
lang/libobjc2: update to 2.1
ChangeLog: https://github.com/gnustep/libobjc2/releases/tag/v2.1
While here:
* Reorder variables
* Add missing USE_LDCONFIG since the port installs shared libraries
Reported by: portscout
lang/libobjc2: Add -fcommon to CFLAGS
Fix the build of lang/libobjc2 after the llvm 11 import by adding -fcommon
to CFLAGS. There are several patches needed to get this to build with
-fno-common, and I'm unsure about some of the changes I needed to make, so
build with -fcommon for now, until upstream can have a look as well.
MFH: 2020Q3 (implicit, -fno-common fixes, ok by joenum)
Prepare for powerpc-on-clang by deleting hard-coded tests for libstdc++.so
as a stand-in for "are we running on gcc".
For people already testing powerpc on clang, it is possible that they
already have both compilers in base. Thus, the assumption that "gcc is
in base" (e.g. libstdc++.so exists) always means "force use of GCC" is
already broken. It will be for everyone on -CURRENT once the switch is
made.
While here, standardize on compiler:c++11-lang instead of -lib (they are
equivalent these days), pet portlint, and do some other cleanup.
Approved by: portmgr (tier-2 blanket)
Move Objective-C ports to the v2 GNUstep ABI.
* Bump the LLVM revision used for GNUstep to 7, the minimum to support
the new ABI.
* GNUstep-back does not work with lld, so mark it to use Gold (BFD LD
doesn't seem able to link Objective-C things).
* Turn off some annoying debug logs in GNUstep back, which generate
several messages per second when you move the mouse. These should
never have been enabled in a release build anyway.
* Downgrade Cenon to 4.0.2. This was the last version to actually work
with GNUstep (the later ones use XCode >= 5 .xib files, which GNUstep
can't parse).
* Update gorm to git head. The current release doesn't work with the
new Objective-C ABI, but -head has the patches to fix it.
* Update PikoPixel and add it to the gnustep-app meta-package.
* Update the three core GNUstep packages to the latest release.
* Update gnumail and pantomime to the latest release and fix a linking
error with the new ABI.
* Update GNUstep FTP to the latest version.
Reviewed by: bapt (previous version)
Switch the libstdc++ flag to be dependent on an existance test. This
will be more robust if the quoted archs switch to libc++ in the future.
Reported by: jbeich
Approved by: portmgr (tier-2 blanket)
USES=objc:compiler sets the compiler, but then USES=compiler:c++11-lang
overwrites it. Remove the latter to use the proper compiler. Also use
libstdc++ on GCC architectures to fix build.
While here, pet portlint.
PR: 232386
Submitted by: Piotr Kubaj
Approved by: portmgr (tier-2 blanket)
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Adjust USES to fix building on gcc-based archs (in particular, powerpc64).
On the clang architectures, these changes have no effect: the baser
compiler already includes the needed features.
While here, remove now-redundant CXXFLAGS statements and pet portlint
(no other content change).
Tested on both powerpc64 and amd64.
Approved by: portmgr (tier-2 blanket)
Github cleanup.
- Use the version tag instead of commit hash when they're the same.
- Remove unnneeded variables.
- Simplify go- ports when possible.
- Various fixes.
Sponsored by: Absolight
Update GNUstep ports to their latest versions.
Also fix a few bits of generic infrastructure along the way.
Approved by: bapt (mentor)
Differential Revision: https://reviews.freebsd.org/D2961
Enforce clang 3.4 in USES=c*11*,objc,gnustep as clang 3.3 has some bugs
Requested by: bapt
PR: ports/195122
Differential Revision: https://reviews.freebsd.org/D1181
Exp-run by: self
With hat: portmgr
Switch from clang33 to clang34 for ports using compiler:*11*, objc or
gnustep on freebsd 8.4 and 9.1
PR: ports/193555
Differential Revision: https://reviews.freebsd.org/D935
Reviewed by: bapt
Exp-run: self
Backport bug fix from r37605 upstream. This fixes crashing when
Objective-C++ programs use Objective-C types in static constructors.
Approved by: bapt (mentor)
SSP support has been added to ports with WITH_SSP for i386 and amd64
on FreeBSD 10, and amd64 on earlier versions.
SSP_UNSAFE is added to disable in a port if it fails to build, but
this should only be used in rare circumstances such as kernel modules.
Otherwise, the port may just be failing due to lack of respecting
LDFLAGS.
On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].
On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
(Only the first 15 lines of the commit message are shown above )
Update to latest GNUstep core libraries.
Update dependent packages with more recent releases.
Remove old and bit-rotted ones.
Switch to using clang 3.3 and libobjc2 1.7 by default, so modern Objective-C
features work out of the box and remove a lot of configurable options for
sub-optimal (and, often, unsupported / deprecated upstream) configurations.
Take maintainership of GNUstep-related ports.
Several of the ports left in have scary warnings which mean that they are likely
broken in lots of cases. Future commits will fix them.
Approved by: bapt
Replacement for the GNU Objective-C runtime supporting the features
of Objective-C 2 for use with GNUstep and other Objective-C programs.
This runtime is based on the Etoile Objective-C Runtime, an earlier
research prototype, and includes support for non-fragile instance
variables, type-dependent dispatch, and object planes. It is fully
compatible with the FSF's GCC Objective-C ABI and also implements
a new ABI that is supported by Clang and is required for some of
the newer features.
Replacement for the GNU Objective-C runtime supporting the features
of Objective-C 2 for use with GNUstep and other Objective-C programs.
This runtime is based on the Etoile Objective-C Runtime, an earlier
research prototype, and includes support for non-fragile instance
variables, type-dependent dispatch, and object planes. It is fully
compatible with the FSF's GCC Objective-C ABI and also implements
a new ABI that is supported by Clang and is required for some of
the newer features.
Submitted by: Pete French
Reviewed by: dinoex