summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)AuthorFilesLines
2022-03-28mk: revert local changetnn1-3/+1
2022-03-28m*/*: revbump(1) for libsndfiletnn1-1/+3
2022-03-19mk/java-vm.mk: clean up documentationrillig1-4/+4
2022-03-13mk: MKPIE is not GCC-specific. Should help ObjC packages.nia4-14/+20
2022-03-07mk/check: Do not waste time checking binaries that set EMUL_PLATFORM.nia2-4/+7
2022-03-03mk/platform: Add a variable for detectic static PIE support.nia2-2/+13
2022-03-03match/pass mipsn64e[lb].mrg1-0/+1
2022-03-03default OCAML_USE_OPT_COMPILER to YES on arm64eb.mrg1-2/+2
2022-02-26mk/haskell.mk: Enable --enable-split-sectionspho1-1/+2
Ask GHC to put each compiled function in a separate section and ld(1) to perform GC. This greatly reduces the size of executables linked with static Haskell libraries. For example, lang/purescript shrinks down from 104 MiB to 57 MiB! Reduced storage use means reduced I/O cost!
2022-02-23mk/haskell.mk: Add a package-settable variable HASKELL_ENABLE_DYNAMIC_EXECUTABLEpho1-3/+18
Prior to this change, packages that install both libraries and executables were both linked dynamically when HASKELL_ENABLE_SHARED_LIBRARY is set to yes. This turned out to be problematic when the executables end up depending on hundreds of shared objects (which occurs rather frequently for tools written in Haskell): the dynamic linker spends several seconds upon loading the executables to resolve all the symbols. Now we can selectively opt out from dynamic linkage by setting HASKELL_ENABLE_DYNAMIC_EXECUTABLE to no. This should be done carefully, because linking executables with static Haskell libraries means that those executables will also use static RTS. This causes problems if they use GHC API to interpret Haskell code at run time: static RTS would violate PaX MPROTECT and suffer from ASLR while loading static objects.
2022-02-18mk/scripts/remove_todo: support python 3.10wiz1-1/+1
2022-02-14mk/ocaml.mk: add some automation for prefixing ${PLIST.ocaml-opt}wiz1-1/+3
2022-02-14mk/ocaml.mk: remove jbuilder supportwiz1-31/+3
2022-02-14Fix a broken CVS tagpho1-1/+1
2022-02-13mk: Flip partial MKRELRO back on now that many problems have been resolved.nia1-3/+3
2022-02-13check-pie-elf.awk: make the failure case amuse me lessnia1-4/+4
2022-02-12mk/haskell.mk: Switch the default Haskell compiler to lang/ghc92pho1-2/+2
2022-02-11Wrote a packaging guide for Haskell packagespho2-5/+82
2022-02-11Infrastructure improvements and bugfixes to mk/haskell.mkpho3-37/+147
* mk/haskell.mk no longer set USE_TOOLS+=pkg-config for all the packages that include it. Instead it does TOOLS_FAIL+=pkg-config unless they explicitly do USE_TOOLS. * Fixed an issue regarding Template Haskell and our wrappers. * Fixed an issue where packages that had things like PLIST.common but lacked PLIST were incorrectly considered to have no PLISTs. * mk/haskell.mk now supports packages that contain more than a single library. The INSTALL and DEINSTALL scripts can now handle such packages properly.
2022-02-10Fix GLIBC_VERSION detection on Manjaro ARM (so that devel/gettext-toolsschmonz1-1/+4
passes PLIST checks) and probably other Arch Linux too.
2022-02-10buildlink3/find*.mk: fix typos in commentsgutteridge2-4/+4
2022-02-07Warn when PLIST is missing, not just when it is outdatedpho1-3/+8
2022-02-07Fix a bug in my previous commitpho1-3/+8
2022-02-07Handle the case where *.cabal lacks the field "Build-Type"pho2-3/+8
2022-02-07options.description: add a couple of PHP optionsgutteridge1-0/+2
2022-02-05Add OSX_SDK_MAP for 12.2. From Herbert J. Skuhra in private mail.schmonz1-1/+2
2022-01-30compiler/clang.mk: do not disable PIE supportwiz1-6/+1
joerg says clang has the same interface for this like gcc
2022-01-27Add defaults for DQCACHE_{USER,GROUP}.schmonz1-1/+11
2022-01-27Fix FUSE version in fake pkg-config filespho1-2/+2
The original FUSE contains a patch version in fuse.pc or fuse3.pc. We must do the same or otherwise pkg-config requirements such as 'fuse >= 2.6.0' will fail.
2022-01-24help/help.mk: pick up further language-specific variablesgutteridge1-2/+9
Add lua, nodejs, octave, qore, and tk-specific variables. (tk and tk85 define the same variable, so I only included tk.) This relates to PR pkg/56301, where I noticed various REPLACE_* variables were not listed in Appendix E of the pkgsrc guide. There is a separate issue related to Appendix E here. If wip/mk is found, the auto-generation of the help topic list for the pkgsrc guide includes anything it finds under that path, but that's potentially misleading, and causes the generated list to see-saw back and forth as committers do or do not have wip visible (I do not).
2022-01-24defaults/mk.conf: remove some now unused variablesgutteridge1-32/+1
Prune a bunch of variables that haven't been used for years. In some cases, the packages they influenced don't even exist anymore. There may be more of these, this is after a quick pass through.
2022-01-22Create both pkgconfig/fuse.pc and pkgconfig/fuse3.pcpho1-6/+23
Some packages expect fuse3.pc for FUSE >= 3. Also do not hard-code the version of <fuse.h> as it becomes quickly obsolete.
2022-01-19Emit a warning when PKGSRC_MKPIE==yes but PKGSRC_COMPILER==clangpho1-1/+6
Prior to this change PKGSRC_MKPIE was silently ignored when clang was chosen for the compiler, i.e. executables were never built as PIE. This became an error after introducing a post-build check for it. Of course we should add a MKPIE support for clang, but for now we just emit a warning. Otherwise we cannot build packages such as devel/gnustep-base which requires clang to build.
2022-01-18Support PKGSRC_MKPIEpho1-3/+6
2022-01-18Add a package-settable variable PKGSRC_OVERRIDE_MKPIEpho8-11/+191
This is needed by packages that require hand-holding in building PIE. Also a post-build check for MKPIE is performed by default when PKG_DEVELOPER=YES.
2022-01-14For macOS, getline(3) arrived sometime after 10.6 -- guessing 10.7 likeschmonz2-5/+5
strnlen(3). Make libnbcompat's implementation available to packages via USE_FEATURES=getline.
2022-01-09SunOS: add native tool paths for xz & xzcattnn1-1/+7
Spotted on OpenIndiana, provided by compress/xz pkg
2022-01-06Remove leftover debug statement, spotted by wiz@.schmonz1-2/+1
2022-01-06Extract .zst distfiles using archivers/zstd.schmonz5-6/+31
2022-01-04Provide a default value for TLSWRAPPER_CHROOT.schmonz1-1/+7
2022-01-03kiwiki: add option for choosing markdown backendwiz1-0/+3
From Vladimir Stupin in PR 56602.
2022-01-01mk/license: make guess-license more user-friendlyrillig1-2/+5
2021-12-22mk: Set the default page size when compiling with RELRO with GCC onnia1-1/+5
NetBSD/mips. PR pkg/56559
2021-12-19mk/atomic64.mk: CFLAGS is added to CXXFLAGS automaticallyryoon1-2/+1
2021-12-19mk/compiler: Return the cwrappers stuff for RELRO now that it doesn'tnia2-2/+6
cause any noticable breakage.
2021-12-18Add quotes overlooked in previous.he1-2/+2
2021-12-18Make compat90 known.he1-1/+5
2021-12-16The non-writability check for DISTDIR is intended to prevent wastingschmonz1-5/+3
resources when fetchers wouldn't be able to save what they download. On my build farm with pkgsrc (and pkgsrc/distfiles) mounted over NFS, however, the check gives false positives for NetBSD 9.2 and -current. Downgrade it to a warning so that these fetches can succeed, while leaving a breadcrumb in case someone encounters a true positive. It would of course be interesting to sort out why, in my environment, a wide variety of other OSes get 1 for "${TEST} ! -w $fetchdir" while NetBSD gets 0. In the meantime, joerg@ suggested this workaround and gdt@ agrees it's reasonable to try.
2021-12-11I export pkgsrc over NFS from a macOS host to a variety of VMs, each ofschmonz1-2/+3
which sets ${PACKAGES} to a subdir of ${PKGSRCDIR}/packages (on the same NFS mount) so that the generated packages all land in one place. From my Debian, Devuan, Ubuntu, and CentOS 8 (but not 7) VMs, copying ${STAGE_PKGFILE} to ${PKGFILE} fails to preserve permissions, which fails the copy and the "package" target with it. The error looks like so: ===> Building binary package for foo-4.2 => Creating binary package /home/schmonz/trees/pkgsrc-cvs/packages/Debian/All/foo-4.2.tgz /bin/cp: preserving permissions for ‘/home/schmonz/trees/pkgsrc-cvs/packages/Debian/All/foo-4.2.tgz’: Operation not permitted Assuming permissions on built packages are merely a nice-to-have, avoid failing if we couldn't preserve them. Patch from sjmulder@, for whom this fixes a similar problem with FreeBSD with ZFS.
2021-12-06Add mongodb3 & mongodb4 to defaults/options.descriptionabs1-0/+2