summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)AuthorFilesLines
2022-07-07mk: Move GCC <= 4.4 override out of for loop.jperkin1-4/+4
Possible performance improvement, no funtional change.
2022-07-06mk/subst.mk: fix indentation of directivesrillig1-3/+3
2022-07-06mk/bsd.pkg.mk: fix alignment and indentation, no functional changerillig1-28/+35
2022-07-06mk/install: fix indentation and alignment, no functional changerillig3-14/+15
2022-07-05tools: re-add (accidentally?) dropped realpathmarkd1-1/+4
2022-07-05mk: Add support for newer C standards.jperkin3-21/+37
For now the GCC "c99 == gnu99" override is kept, but gnu99 is now supported as a specific value for USE_LANGUAGES, so we may want to be specific where required. c11 and c17 (and the corresponding gnu11/gnu17 versions) are newly supported.
2022-06-29license.mk: fix grammar in another commentgutteridge1-2/+2
2022-06-28license.mk: fix some grammar in a commentgutteridge1-3/+3
2022-06-28mk: Bump default postgres version to 14nia1-2/+2
2022-06-19Document spotify-player image optionpin1-0/+1
2022-06-16gcc.mk: support gcc12adam1-6/+41
2022-06-16mk/developer.mk: reorganize documentation for 'make cce'rillig1-31/+35
In most cases, the command 'make cce' is all that is needed to add a changes entry, so put it at the top of the documentation. The smaller steps are useful when updating multiple packages at once, which is less often the case. Make the possible values for CTYPE stand out, instead of hiding them in the body text.
2022-06-13rust: For clarity, rename rust-llvm to rust-internal-llvmnia1-1/+1
2022-06-13mk/find-pkgconfig-files.mk: fix copy-and-paste leftoversrillig1-7/+8
The pkg-config files are not header files. While here, use ':=' for the variable assignments above procedure files and document how to check the results during development.
2022-06-11mk/help: replace 'appear' with 'occur', as it is more accuraterillig1-8/+8
2022-06-11mk/curses: mark USE_NCURSES as package-settablerillig1-3/+3
There are several packages that set this variable, even though it is not documented in curses.buildlink3.mk.
2022-06-07Document spotify-player optionpin1-0/+1
2022-06-07mk: Add PKGSRC_USE_MKTOOLS support.jperkin4-7/+73
When enabled, pull in the pkgtools/mktools package to use C-based tools for certain parts of the pkgsrc mk infrastructure. Default is off for now while any portability issues are shaken out, but it has been tested successfully on at least illumos, macOS, and NetBSD. The first tool is mk-buildlink-symlinks which creates the buildlink3 symlinks as part of the "wrapper" phase. This significantly improves performance, especially with packages that have a lot of buildlink3 dependencies. For example, the time for "bmake wrapper" in x11/kde-workspace4 goes from: real 3:20.696394375 user 50.553556463 sys 2:23.883823896 to: real 19.873100598 user 8.141441461 sys 11.740602820 It's expected that other tools will be added over time to speed up other parts of the infrastructure.
2022-06-07mk: revert unintended commitwiz1-10/+1
2022-06-07mk: remove documentation for introspection optionwiz2-2/+10
This option is not needed any longer and should be removed from packages that still have it. https://mail-index.netbsd.org/pkgsrc-users/2022/06/06/msg035658.html
2022-06-06curses.builtin.mk: fix a typo in a commentgutteridge1-2/+2
2022-06-04mk: revert unintended commitwiz1-10/+1
2022-06-04mk: remove option description for unused optionwiz2-2/+10
2022-06-01pf.buildlink3.mk: simplify ONLY_FOR_PLATFORMgutteridge1-3/+2
Someone already dropped the FreeBSD bounds (previously FreeBSD-[5-9]*-*) with the assumption we're only concerned with modern releases, so do the same consistently for all, rather than adding more handling for NetBSD 10.x and above. (We can't reasonably be supporting NetBSD from more than 16 years ago, or OpenBSD from 20 years ago. And the DragonFly pattern wasn't exact, either, as only 1.1 onward included pf.)
2022-05-28gcc.mk: restore GCC 6 handlinggutteridge1-8/+49
This is partly intended as a workaround to fix behaviour on NetBSD 8.x where GCC 7 was being pulled in universally after the prior commits here. Now it behaves as expected. There is an unaddressed issue in this code that needs to be examined further. (This has been discussed in more than one recent thread on teck-pkg@, including John Klos's report of this issue.) In any case, GCC 6 has also seen build improvements by nia@, who noted it's safe to simply revert part of the original change set, in one of those discussions on tech-pkg. (We can't use the hack introduced in the prior revisions for GCC 6, though, or this same broken dependency pattern occurs and will universally force GCC 6 instead of 7 on NetBSD 8.x.) Tested on NetBSD 8.2_STABLE and 9.2_STABLE with various packages, including tcsh, the original reported issue.
2022-05-26mark NetBSD-current/evbarm as eligible for openjdk11 & openjdk17tnn1-1/+3
2022-05-26java-vm.mk: bump PKG_JVM_DEFAULT to openjdk17 where it prior was openjdk11tnn1-26/+26
Except for NetBSD 8 which is too old for openjdk17 due to the base GCC, so keep that at openjdk11. Also update platform support matrix.
2022-05-25mk: use lang/ocaml/native.mk instead of wip/*wiz1-2/+2
2022-05-24Recursive revbump associated with update of ocaml.jaapb1-41/+3
Also change of mk/ocaml.mk to lang/ocaml/ocaml.mk.
2022-05-24mk: Use OPSYS_VERSIONnia1-2/+2
2022-05-24gitlab: underscore is a valid character in gitlab project/user names.nikita1-3/+3
2022-05-24java-vm.mk: Use OPSYS_VERSIONnia1-3/+3
2022-05-23Add USE_GITLAB, based on github.mk, to make gitlab MASTER_SITEnikita4-3/+116
handling less repetitive. To use, set in Makefile: DISTNAME= exampleproject-1.2 MASTER_SITES= ${MASTER_SITE_GITLAB:=accountname/} The following variables alter gitlab.mk behavior: GITLAB_PROJECT defaults to PKGBASE GITLAB_TAG defaults to PKGVERSION_NOREV sometimes you want to override with v${PKGVERSION_NOREV} SHA-1 commit ids are also acceptable GITLAB_RELEASE defaults to not defined, set this to ${DISTNAME} when packaging a release not based on a git tag. GITLAB_SUBMODULES manually set submodule information: values should be: GitLab_user GitLab_project tag_or_hash submodule_path GITLAB_TYPE overrides the autodetected MASTER_SITE URL scheme:
2022-05-21gcc.mk: fix syntaxnia1-5/+5
2022-05-21gcc.mk: Force USE_GCC_RUNTIME (etc.) on older NetBSD versions thatnia1-43/+24
request a newer compiler. Stop selecting gcc6, it receives very limited testing due to NetBSD 9 having gcc7, and probably doesn't work due to some newer hardening checks stopping it from building.
2022-05-21mk: set EXTRACT_ENV on NetBSD<9, seen on tech-pkgnia1-1/+5
2022-05-21sites.mk: update primary Apache sitesgutteridge1-2/+3
2022-05-18Darwin.mk: add OSX_SDK_MAP for 12.4 (to use 12.3).schmonz1-1/+2
2022-05-14typo in commentdholland1-2/+2
2022-05-13mk/defaults: Add a description about sunaudio optionryoon1-0/+1
2022-05-13mk: Enable openjdk17ryoon1-5/+19
2022-05-09tools.Linux.mk: set TOOLS_PLATFORM.date.schmonz1-1/+4
2022-05-09mk: Stop defaulting to -Werror with BSD makefiles outside the NetBSDnia1-1/+3
source tree
2022-05-08mk/checksum: Remove distinfo before replacing.jperkin1-1/+4
This avoids .nfs* warts when pkgsrc is on NFS.
2022-05-05mk/defaults/mk.conf: Update for editors/emacs28 and editors/emacs27ryoon1-2/+3
Noticed by wiz@. Thank you.
2022-05-05mk: Use OPSYS_VERSION to numerically compare NetBSD versionsnia1-2/+2
2022-05-01mk/Linux: nologin is in /usr/sbin on debiannia1-1/+3
2022-05-01mk: Initial support for NixOS (Linux variant)nia3-305/+323
A particular challenge for pkgsrc on NixOS is that it usurps all Unix conventions and stores its system binaries and libraries in a crazy system of hashed sub-directories: $ which ls /run/current-system/sw/bin/ls $ ls -l /run/current-system/sw/bin/ls Lrwxrwxrwx 1 root root 65 Jan 1 1970 /run/current-system/sw/bin/ls -> /nix/store/xs02fpnpkq frhqqfsxx3lpj48wrapd00-coreutils-8.32/bin/ls We can make a "best effort" attempt to accomodate this by invoking the compiler to figure out where libc is. In general, it's required to adjust the Linux files to make fewer assumptions about the layout of the filesystem. However, since using a compiler and libc from NixOS results in /nix/store paths being embedded in binaries, running the NixOS "garbage collector" can result in binaries installed from pkgsrc becoming unusable. Use with care: $ readelf -a ~/pkg/bin/perl | grep nix [Requesting program interpreter: /nix/store/p5sam91qwz995pi0160rfr7dkh6pibil-glibc-2.32 -39/lib/ld-linux-aarch64.so.1] 0x000000000000001d (RUNPATH) Library runpath: [/home/nia/pkg/lib:/home/nia/pkg/li b/perl5/5.32.0/aarch64-linux/CORE:/nix/store/p5sam91qwz995pi0160rfr7dkh6pibil-glibc-2.32-39/l ib:/nix/store/vv9nz0bwv1pfl70w14k7dgz6yx7hjwxk-gcc-9.3.0-lib/lib] Apparently, the "stdenv.cc" package must be installed prior to bootstrapping pkgsrc. I worked on this patch last year for a friend who wanted to test something on pkgsrc but had no other system available.
2022-04-30prevent OPSYS_VERSION_CMD going wrong if minor or patch is >= 100tnn1-3/+3
Clamp the version to 99 in that case, which is less wrong than expanding the fixed-width field.
2022-04-27mkreadme: fix commentrillig1-2/+2