Commit graph

9210 commits

Author SHA1 Message Date
jperkin
0d96cc5144 Default to oracle-jdk8 on newer Darwin/x86_64. 2017-06-20 11:59:20 +00:00
maya
7e02908133 Use the fgrep binary explicitly on OSF1
Fixes PR pkg/52312: "Checking for fgrep" causes Fork bomb
From Naruaki Etomi
2017-06-19 06:25:45 +00:00
youri
ba2f6d95e1 Add GVFS option. 2017-06-18 21:27:05 +00:00
kamil
0e21766de5 Correct ccache(1) typo: CPPATH -> CPPPATH 2017-06-17 02:47:20 +00:00
kamil
df999dfb68 Correct shadowing system compiler with a pkgsrc one in ccache
ccache needs to call real compiler and it detects it with looking in $PATH.
In case of usage of /usr/local/bin/clang as the desired pkgsrc $CC option,
it will be shadowed by /usr/pkg/bin/clang if someone will build it in as a
package. Workaround the problem with setting CCACHE_PATH through
PKGSRC_MAKE_ENV. Little bit overzelaously set it to
${CCPATH:H}:${CXXPATH:H}:${CPPATH:H}, just in case that they might be in
different paths. To ensure that they are not shadowed in narrow cases,
there is an option to rename clang to xclang or similar and use it this
way in $PKG_CC.

While there, introduce new user settable option: CCACHE_LOGFILE.
If set, ccache logs to file specified in ${CCACHE_LOGFILE:Q}.

+# CCACHE_LOGFILE
+#       If set to a file path, ccache will write information on what it is
+#       doing to the specified file. This is useful for tracking down
+#       problems.

This fixes another set of problems building large projects like Clang, LLVM
with ccache.

Sponsored by <The NetBSD Foundation>
2017-06-17 01:44:54 +00:00
prlw1
5c827f6f0e Essentially from OBATA Akio in private mail, June 2015:
Introduce Icon Theme cache handling framework

Icon Theme cache files are used by GTK+ and maintained with the
gtk-update-icon-cache tool.  Each Icon Theme package duplicates
its own maintainance scripts: only the specified icon theme directory
differs.  With this framework, if packages have ICON_THEMES=yes,
associated icon themes will be detected and their cache files will
be maintained automatically.

Change cache handling behaviour as follows:
* Icon theme caches will be updated if either gtk2+ or gtk3+
  gtk-update-icon-cache tool is available.
* With installation of gtk2+ package, not only hicolor icon theme but
  also any other icon theme cache files will be updated.
* Prevent removal of icon caches at deinstall, gtk3+ may be installed and
  using them.
* Ditto with gtk3+, gtk2+ may not be installed now, so caches must be
  maintained by gtk3+.
2017-06-14 16:23:09 +00:00
sevan
2302c91479 Whilst the version of find in Darwin 8 & prior is insufficient for installing Python modules,
there are further issues with circular dependencies which need to be resolved
before the change to using find from coreutils can be made.
Revert previous change for now.
2017-06-12 16:11:51 +00:00
maya
2b5f2f1662 Reorder so cpan http mirrors are first
at least with nbftp, ftp downloads involve several slow back and forth 'cd'
commands and end up being noticeably slower for lots of little files
2017-06-12 07:13:35 +00:00
kamil
9e8b293e05 Restore c++ support in ccache.mk
The ccache.mk file was checking for languages "c" and "c++".
New framework for C++ dialects (or revisions) was setting implicitly c++,
translating e.g. c++11 to c++.

compiler.mk set this c++ after including ccache.mk, so c++ was undefined
and ccache was ignored.

This helps to build large projects like LLVM+Clang+LLDB with ccache.

Sponsored by <The NetBSD Foundation>
2017-06-10 11:32:32 +00:00
khorben
0a3bb24acf Register support for RELRO on Linux (limited to x86 first)
Tested on Debian GNU/Linux 8.8 (amd64).

Actual support will depend on the underlying distribution though.
2017-06-09 17:21:53 +00:00
khorben
7f05f4f5e5 Register support for SSP on Linux (limited to x86 first)
Tested on Debian GNU/Linux 8.8 (amd64).

Actual support will depend on the underlying distribution though.
2017-06-09 17:04:18 +00:00
khorben
369b9cea32 Register support for FORTIFY on Linux
Tested on Debian GNU/Linux 8.8 (amd64).

Actual support will depend on the underlying distribution though.
2017-06-09 16:56:26 +00:00
jlam
a981d05eab Fix the value being substituted for TTMKFDIR in install scripts.
@TYPE1INST@ should be replaced with ${TOOLS_PATH.type1inst}.
Before this change, the sed(1) script being generated was not
replaced @TYPE1INST@ at all, and instead generating a no-op
substitution pattern for TTMKFDIR.
2017-06-07 20:24:27 +00:00
jlam
633861d271 Substitute for LDCONFIG_ADD_CMD and LDCONFIG_REMOVE_CMD in scripts.
LDCONFIG_ADD_CMD and LDCONFIG_REMOVE_CMD are set by emulator/*.mk
in order to update the library search paths in the emulated system
directories.  Substitute for those values, but default them to the
empty string so that the default action taken by the "shlibs" task
can be used.
2017-06-07 20:24:19 +00:00
jlam
f43517c597 Fix subsitutions for @PKG_ADMIN@ and @PKG_INFO@.
The substituted values need to refer to the _CMD variables that
hold the path to the actual commands.
2017-06-07 20:24:09 +00:00
jlam
fafe82389b Subsitute for @CROSSBASE@ and @VARBASE@ in install scripts.
${CROSSBASE} and ${VARBASE} both point to important directories
for installed packages, so always substitute those values into
deinstall/install scripts.
2017-06-07 20:24:01 +00:00
jlam
3521014203 Bump pkgtasks dependency to latest version in pkgtools/pkgtasks. 2017-06-04 00:03:43 +00:00
jlam
faa05c5d4c Using script templates implies a dependency on pkgtasks.
The header template loads pkgtasks' load.subr unconditionally, so
if any script templates are used, then they imply a dependency on
pkgtasks.  Trigger the dependency in the "pkgtasks" framework by
setting USE_PKGTASKS to "yes".
2017-06-02 19:13:44 +00:00
jlam
3140840fab Be more flexible about adding dependency on pkgtasks.
Check the value of ${USE_PKGTASKS} at the time of reference for
the DEPENDS variable to see whether "pkgtasks" needs to be added
or not.
2017-06-02 19:13:34 +00:00
jlam
e697d677aa Fix typo in makefile comment. 2017-06-02 19:13:26 +00:00
jlam
b73b227f3b Create ${PKG_SYSCONFDIR} automatically in "pkgtasks" framework.
Add missing feature from "pkginstall" framework where the config
directory ${PKG_SYSCONFDIR} was automatically created if one of
the following conditions were true:

* PKG_SYSCONFSUBDIR was defined and non-empty.
* Any configuration files were copied into ${PKG_SYSCONFDIR}.
2017-06-02 16:12:25 +00:00
jlam
c57069d38e Fix check for the proper number of words in config files variables.
Remove unnecessary check for ${_VALID.files} in pkgtasks/files.mk
that was a leftover from old, unused code.
2017-06-02 16:11:47 +00:00
jlam
b86c91739a Remove unused variable definition _PKGTASKS_NEEDARGS from test.mk. 2017-06-02 16:11:24 +00:00
jlam
6f3e827791 Remove unused scripts/shlib-type script.
The platform/${OPSYS}.mk files now use platform-specific code to
set ${_OPSYS_SHLIB_TYPE} which is the default value for
${SHLIB_TYPE}.  All previous uses of this script to detect the
native shared library type or native executable format have been
removed from pkgsrc.
2017-06-01 13:30:52 +00:00
jlam
000f312c98 Use public SHLIB_TYPE instead of private _OPSYS_SHLIB_TYPE. 2017-06-01 13:30:24 +00:00
jlam
b47434aa08 SHLIB_TYPE definition has moved to bsd.prefs.mk. 2017-06-01 13:29:18 +00:00
jlam
825762cd05 Toggle using pkgsrc/mk/smf.mk based on ${_USE_NEW_PKGINSTALL}.
Missing change from initial commit to provide the toggle for using
the new frameworks to replace pkgsrc/mk/pkginstall.
2017-06-01 03:41:44 +00:00
jlam
793c69db50 Add pkgsrc/mk/Kyuafile to drive all tests under pkgsrc/mk. 2017-06-01 02:37:12 +00:00
jlam
0a676f1f26 Provide switch to activate new frameworks to replace "pkginstall".
If ${_USE_NEW_PKGINSTALL} is "yes", then use the new "pkgtasks",
"init", and "pkgformat/pkg"-scripts frameworks instead of the
existing "pkginstall" framework.
2017-06-01 02:15:10 +00:00
jlam
d7e2d30603 Make creation of +DEINSTALL/+INSTALL scripts pkgformat-specific.
Move the files needed to generate +DEINSTALL and +INSTALL scripts
for the "pkg" format into pkgsrc/mk/pkgformat/pkg.

Create new script templates that make use of "pkgtasks" to perform
the actual tasks.
2017-06-01 02:09:43 +00:00
jlam
a651f1eccc Add "init" framework for management of init scripts for packages.
${INIT_SYSTEM} is used to select the type of init system in use on
the system, and currently can be either "rc.d" for the NetBSD rc.d
system, or "smf" for the Solaris Service Management Facility
system.

pkgsrc/mk/init/smf.mk is pkgsrc/mk/smf.mk with some very minor
modifications to fit into the "init" framework.
2017-06-01 02:08:04 +00:00
jlam
8e334ba0ec Add "pkgtasks" framework to generate data files used by pkgtasks.
A full dependency on the "pkgtasks" package will be added if a
non-empty data file is generated by the framework.

This framework is not yet hooked into bsd.pkg.mk, pending some
other changes.
2017-06-01 02:06:04 +00:00
jlam
207904f706 Document PRE_CMD.su-<target> and simplify its use in "su-target".
This avoids needing to use a shell command to test whether
${PRE_CMD.su-<target>} is empty before executing it.
2017-05-31 22:56:41 +00:00
jlam
d8e9bb513c Check that some variables have the correct number of words.
Assert MAKE_DIRS_PERMS and OWN_DIRS_PERMS have the right number of
words before using a multivariable .for loop over those variables.
This prevents errors in parsing the makefiles.
2017-05-31 22:56:22 +00:00
jlam
b110ad9dac Move detection of shared library type into the platform file.
Only four platforms, all BSDs, need to resolve "ELF/a.out" into
either ELF or a.out.  Calculate it directly in the platform file
and return the value in ${_OPSYS_SHLIB_TYPE} and export that value
in bsd.prefs.mk as ${SHLIB_TYPE}.

Instead of requiring the file(1) tool, we can expect the base
system of those BSDs to have /usr/bin/file, so make use of it
directly.
2017-05-31 22:55:01 +00:00
schmonz
8f3140b68d Remove "mess822-qmailqueue" option. 2017-05-29 23:21:21 +00:00
maya
340983247b Remove old logic about choosing audio device on freebsd which is
incorrectly applying to recent versions of freebsd. always play audio
to /dev/dsp.
2017-05-28 21:53:06 +00:00
schmonz
8aa48eaa5d Document new "mess822-qmailqueue" option. 2017-05-27 16:59:45 +00:00
adam
f7716a4492 Removed databases/postgresql91 2017-05-24 19:51:12 +00:00
schmonz
398b9c6e51 Document new "qmail-remote" option. 2017-05-22 17:23:26 +00:00
joerg
c9d19aae42 Drop redundant dependency patterns. The normal reduction logic doesn't
work for glob expressions, so multiple generic patterns would not be
reduced.
2017-05-19 14:58:51 +00:00
jperkin
c657f15637 Consolidate setting of SSP flags now that multiple compilers support it. 2017-05-18 08:14:08 +00:00
khorben
8b017f6b3a Register support for SSP on FreeBSD and clang (on x86 architectures)
Support for SSP (Stack-Smashing Protection) is optional so this should not
affect default builds.

Tested on FreeBSD/amd64 (10.3-RELEASE-p11)
2017-05-18 01:29:55 +00:00
prlw1
a1c414e08a typo 2017-05-15 08:12:57 +00:00
jperkin
ab40c7bbee Add the zsh license and add it to the default acceptable list (MIT-like). 2017-05-11 12:56:21 +00:00
ryoon
b9fe77ea59 lang/openjdk8 works under FreeBSD/amd64 10.3 2017-05-10 14:04:31 +00:00
jperkin
3b718bfe38 Default to pkgsrc terminfo. The curses default was switched to pkgsrc a
while ago, but since then any packages that included both curses and
terminfo ended up with conflicting BUILDLINK_TRANSFORM entries, leaving it
to include ordering to determine whether the builtin or pkgsrc curses was
used.  This keeps them in sync, at least by default, though ideally we'd
ensure that at an infrastructure level.
2017-05-08 17:34:15 +00:00
sevan
13b404e17b The version of find(1) included in Darwin did not support {} + being passed to
the exec option up until version 9 (Leopard). sysutils/findutils should be used on
prior releases.
This resolves packaging Python modules which utilise lang/python/egg.mk. find(1)
is called here with '{}' +; passed to exec option.
2017-05-06 16:33:54 +00:00
joerg
8b20e378ad Add GCC_VERSION_SUFFIX, which can be used i.e. on SuSE systems to select
between different compiler versions.
2017-05-04 18:44:12 +00:00
joerg
df836cad8d Simplify PATH handling. Use full pkgsrc path for cwrappers, but skip the
cwrapper directory itself.
2017-05-04 18:30:56 +00:00