summaryrefslogtreecommitdiff
path: root/mk/platform
AgeCommit message (Collapse)AuthorFilesLines
2021-09-14Remove stuff inadvertently included in previous (thanks wiz@).schmonz1-10/+1
2021-09-14mk/platform: add SDK mapping for macOS 11.6.schmonz1-1/+11
2021-07-26mk: Add OSX_SDK_MAP for 11.5.jperkin1-3/+3
2021-05-27mk: Map macOS 11.4 to the 11.3 SDK.jperkin1-1/+2
2021-04-25various fixes for arm64 big endian support.mrg1-3/+5
most of these simply extend matching from "aarch64" to "aarch64eb" in various forms of code. most remaining uses in pkgsrc of "MACHINE_ARCH == aarch64" are because of missing aarch64eb support, such as most of the binary-bootstrap requiring languages like rust, go, and java. no pkg-bump because this shouldn't change packages on systems that could already build all of these.
2021-03-15mk: Add preliminary support for MidnightBSDryoon1-0/+87
It is almost as same as FreeBSD.
2021-03-15mk/platform: Add -s to ln always, because Haiku does not support hardlinkryoon1-1/+4
Supplied by jperkin@. Thak you.
2021-03-15mk/platform: Enable cwrappers for Haikuryoon1-1/+3
Confirmed under Haiku/x86_64 R1/beta2.
2021-02-02mk/platform: Support known macOS SDK skew mapping.jperkin1-2/+10
For example, the recently release macOS 11.2 does not ship a 11.2 SDK, but continues to use the compatible 11.1 SDK. This now works correctly without having to enable OSX_TOLERATE_SDK_SKEW. These should only be added for releases within the same major version where we can guarantee compatibility.
2020-12-20Fix error, pointed out by jperkin, thanksmaya1-2/+2
2020-12-20Simplify check, trust the user's PKGDB_DIR instead of second guessing it.maya1-4/+2
Fixes bootstrapping a second prefix with /var/db/pkg existing. In a bootstrap scenario, PKGDB_DIR is defined, so this should just work.
2020-12-18Move the pkgdb compatibility error to a NetBSD-specific file to avoidmaya1-1/+9
breakage for users who have other package managers that use /var/db/pkg (Reported by Frederic Cambus on FreeBSD, OpenBSD) Adjust warning: specifying PKGDB_DIR in mk.conf should be sufficient for building packages for the compatibility pkgdb location. This is still an error message, because: - While we can handle the existing references of PKGDB_DIR, new ones might be created. - It is a minor inconvenience to people building packages from source.
2020-12-14Allow PIE and RELRO on aarch64js1-3/+5
I already compiled plenty of packages on my Pinebook Pro with both PIE and RELRO enabled and have yet to see a build failure.
2020-12-13platform/Linux: always prefer native pthread/libdlnia1-1/+5
2020-10-30mk/platform: Use string comparison for Darwin version.jperkin1-2/+2
Fixes SDK detection on 11.0.1, where 11 = 11.0 when compared numerically, leading to the SDK path for "macos11.0.1" not being found.
2020-10-09mk: Set _OPSYS_LIB_DIRS to the SDK directory on Big Sur.jperkin1-3/+8
This is required for find-libs.mk to continue detecting the presence of libraries supported by the system. It's definitely not ideal, and only still works because Apple happens to ship .tdb files for each library, and these are found via the current "lib${_lib_}.*" glob. Patch taken from sjmulder@, I only limited it to Big Sur for now in case there are issues using the SDK directory on older releases.
2020-10-09mk: Handle missing system libraries on Big Sur.jperkin1-1/+11
The new release of macOS removes system libraries from the file system, only providing access to them via a linker cache and dlopen(). This obviously breaks many assumptions about how libraries work on Unix systems, and so we unfortunately need to cripple various checks when running on those systems. Introduce DARWIN_NO_SYSTEM_LIBS which, when defined, will trigger alternate behaviour in the infrastructure. Currently this is in two places: * In CHECK_SHLIBS, skip any path beginning with /usr/lib. * In registered package metadata, any path beginning with /usr/lib is removed from REQUIRES. The former fixes all package builds, while the second will be necessary for package managers such as pkgin, as they will no longer be able to verify that those files are available on the target system. This is obviously a gross hack, and removes our ability to ensure that the target system is suitable for the packages we are attempting to install, but Apple have left us with no alternative, and users will unfortunately be left to find out at runtime instead. It's likely this will need to be extended to /System/Library paths too, but this is required first to actually get packages building before we can start running bulk builds.
2020-09-04mk/platform/QNX.mk: Add ACCEPT_INFERIOR_RM_PROGRAM=yesjs1-0/+3
2020-09-04mk/platform/QNX.mk: Add /usr/qnx650 to _OPSYS_LIB_DIRSjs1-1/+1
2020-08-21mk/platform: Update Darwin version listsjmulder1-10/+13
2020-08-11Up to 10.12.6 at least, the Mac OS X linker, does not support "-no_warn_inits".hauke1-1/+2
2020-06-02mk: bmake cannot compare non-integers numerically.jperkin1-2/+2
Just use an empty() match instead.
2020-03-22Add a ulimit flag for address space limits. Support it on NetBSD forjoerg1-5/+6
now.
2020-03-12mk/platform/NetBSD.mk: Default to bsdtargdt1-1/+4
Native tar on NetBSD <=8 (and later, if MKBSDTAR is no) does not handle archive formats increasingly being seen in pkgsrc. bsdtar ("libarchive tar") does, and is natively provided on NetBSD >=9. pkgsrc already has a mechanism to use /bin/tar as the bsdtar tool when it is bsdtar, so this change should not cause anything different on NetBSD >= 9. On <=8, it will depend on archivers/bsdtar, which can be built without using an extract tool, and which will then be broadly usable. As broadly discussed over multiple days on tech-pkg.
2020-01-28mk/platform/Linux: fix detection of GLIBC_VERSION on Debianrillig1-2/+2
Running "/lib/x86_64-linux-gnu/libc.so.6 --version" on Debian unstable inside WSL says: GNU C Library (Debian GLIBC 2.29-9) stable release version 2.29. In this case, there is a simple period, not a comma after the version number.
2020-01-24mk/platform/Linux.mk: Use _OPSYS_LIB_DIRS to find glibc paths.nia1-7/+4
This seems more correct as it handles Debian/others already.
2020-01-24mk/platform/Linux.mk: Fix glibc detection on Debian.nia1-4/+9
Problem identified and patch reviewed/tested by gutteridge, thanks
2019-07-11Don't need it on Lionsevan1-2/+2
2019-07-10Avoid pulling in libnbcompat on every platform, mark the specific builds ofsevan1-1/+7
Darwin which libnbcompat should be pulled in on to provide strnlen instead.
2019-05-14platform/Darwin.mk: Fix a typo (s/Mojava/Mojave/)leot1-2/+2
2019-05-14Add Sierra, High Sierra and Mojava to the version comparison table. Non ↵yyamano1-1/+4
functional change.
2019-01-24Linux.mk: provide default LIBABISUFFIX for aarch64tnn1-1/+7
2019-01-09Add RELRO support for clang, based on the gcc logic.wiz2-4/+4
2018-11-15Minix 3.4 uses the NetBSD master.passwd and group file which means GID 0 is ↵sevan1-2/+2
wheel.
2018-11-15Minix has had some level of support for IPv6 for some years now via LWIP.sevan1-2/+2
Tested on 3.4RC6 which enable host mode support as standard.
2018-11-12mk: Add CTF infrastructure support.jperkin2-9/+7
Platform support is determined by _OPSYS_SUPPORTS_CTF from mk/platform, the user enables support by setting PKGSRC_USE_CTF=yes, and packages can explicitly disable support with CTF_SUPPORTED=no or skip certain files with CTF_FILES_SKIP. The path to ctfconvert is configured via TOOLS_PLATFORM.ctfconvert. If all of the requisite variables are enabled, a compiler-specific debug flag is passed via the wrappers to ensure we have DWARF information to convert, _INSTALL_UNSTRIPPED is explicitly defined to avoid binaries being stripped prior to conversion, and the conversion is performed during the install stage. It is recommended that users who enable the feature also set STRIP_DEBUG=yes to reduce the final binary size once the conversion has been performed. This has been used for the past year in Joyent SmartOS builds. FreeBSD is marked as supported but is untested.
2018-11-09Remove leftover from testing. Clearly had been time to take a break.schmonz1-2/+2
2018-11-08Fix previous. Time to stop committing for the day.schmonz1-2/+2
2018-11-08Add OSX_TOLERATE_SDK_SKEW to control whether we try to find anschmonz1-4/+5
unversioned SDK if the versioned lookup fails. Off by default, as before; must be explicitly enabled, as suggested by gdt@.
2018-11-07If an SDK matching our OS X version isn't found -- for instance, becauseschmonz1-1/+4
OS X has been upgraded and Xcode hasn't been -- try again without specifying the version. This (1) works better and (2) gives a better error message when it doesn't. From Markus Mayer in PR pkg/50317.
2018-11-05Optionally detect whether the compiler supports "-fstack-protector-strong".schmonz1-2/+2
If not, set _OPSYS_SUPPORTS_SSP=no during bootstrap and in mk.conf. Do SSP detection on "SunOS", and let mk/platform/SunOS.mk's default "yes" be overridden in mk.conf. No change to generated mk.conf on NetBSD 8 or CentOS 6. Fixes bootstrap on Tribblix.
2018-10-29Update path to false(1). nologin(8) exists on Minix 3.4RC6, however, currentlysevan1-2/+2
status is set to 0 despite exiting with 1
2018-10-11Fix for platform/Haiku.mk:12: Makefile lines should not start with space ↵adam1-2/+2
characters.
2018-09-29GCC 8.0 as the compiler in base is incoming.sevan1-2/+2
2017-11-21Add /usr/local for include and libdir on ChromeOS.bsiegert1-1/+6
Third-party (i.e. non-pkgsrc) C toolchains (I am using chromebrew) install to /usr/local, as that is where you can have write access. With this, a bootstrap on ChromeOS finishes successfully.
2017-11-12Add initial support for building packages reproduciblykhorben1-1/+4
It currently tackles two problems: - gcc(1) hard-coding full paths in debugging information (with one caveat at the moment) - ar(1) hard-coding user IDs in archive headers This allows packages built from the same tree and options to produce identical results bit by bit. This option should be combined with ASLR and PKGSRC_MKPIE to avoid predictable address offsets for attackers attempting to exploit security vulnerabilities. This is still disabled by default, and only supports NetBSD so far. As discussed on tech-pkg@
2017-11-01Typokhorben1-3/+3
2017-10-10mk/platform: Remove unsupported Darwin/SunOS linker arguments.jperkin2-2/+5
2017-10-03mk: Disable SSP checks on systems where it is provided in libc.jperkin3-3/+6
The currently implementation of SSP checks simply look for a DT_NEEDED dependency on libssp, and doesn't yet have a way to check for it being enabled when it is done via libc.
2017-08-07Remove hack working around NetBSD 1.5's specfiles.maya2-10/+2