I recently have built mail-mta/exim-4.69 with USE="-perl dnsdb exiscan exiscan-acl mailwrapper spf syslog" and this KEYWORDS for dependencies: net-dialup/radiusclient x86 mail-filter/libspf2 x86 there are 2 issues: a) building build-exim-gentoo/Makefile with gmake b) no -ldl for DLOPEN_LOCAL_SCAN in src/EDITME Reproducible: Always I prefer to make attachment here..
Created attachment 163813 [details, diff] This one edited for conditional -ldl Only one condition in first snippet
Created attachment 163815 [details, diff] gmake style .if/.endif condition to make with gmake
Created attachment 186309 [details] updated ebuild with conditional epatch
Your gmake patch will never break anything on Gentoo (not even Gentoo Prefix on vanilla FreeBSD), so you don't have to apply it conditionally. Have you brought your dlopen-patch upstream yet?
Created attachment 199814 [details, diff] difference from original dlopen patch (In reply to comment #4) > Have you brought your dlopen-patch upstream yet? > No, this is a gentoo patch. I just made trivial change - ldl only for Linux.
What patches are still relevant here? Is this latest patch all you need to be applied?
(In reply to comment #6) > What patches are still relevant here? Is this latest patch all you need to be > applied? > :) I need to apply this patch to patch that in tree.
Created attachment 261867 [details] ebuild for newer exim I choosed another approach for mail-mta/exim-4.72-r2: MAKE=make for fbsd.
Created attachment 261869 [details, diff] dlopen patch for use with bsd make Replaced if ; then ; fi with .if .endif
(In reply to comment #8) > Created an attachment (id=261867) [details] > ebuild for newer exim > > I choosed another approach for mail-mta/exim-4.72-r2: MAKE=make for fbsd. Thanks! Can you please attach a diff -u of your ebuild agains the original one from Gentoo? Would help me to spot the differences.
Created attachment 261871 [details, diff] difference from original dlopen patch Excuse me please my fickleness
Created attachment 261873 [details, diff] difference from exim-4.72-r1.ebuild Here the diff -u
(In reply to comment #12) > Created an attachment (id=261873) [details] > difference from exim-4.72-r1.ebuild > > Here the diff -u - I believe the dlopen patch can be actually a single patch (it has the conditional in the makefile) - why do you need the MAKE=make? - why can't we install logrotate files on FreeBSD?
(In reply to comment #13) > - why do you need the MAKE=make? I can't write patch for mgake anymore. > - why can't we install logrotate files on FreeBSD? We can. And many packages installs: I have it from openrc, clamav, nginx, rsync. But I believe logrotate unneeded on fbsd: there is the newsyslog in sys-freebsd/freebsd-usbin.
(In reply to comment #14) > > - why do you need the MAKE=make? > I can't write patch for mgake anymore. I don't see how gmake can make a problem here. Can you perhaps show me a build failure when gmake is used? > > - why can't we install logrotate files on FreeBSD? > > We can. And many packages installs: I have it from openrc, clamav, nginx, > rsync. But I believe logrotate unneeded on fbsd: there is the newsyslog in > sys-freebsd/freebsd-usbin. Ok, so that freebsd conditional is unnecessary. If logrotate stuff is useless on fbsd, it should just remove this through bashrc in the profiles.
Created attachment 261909 [details] Build failure for =mail-mta/exim-4.72-r1
(In reply to comment #15) > I don't see how gmake can make a problem here. Can you perhaps show me a build > failure when gmake is used? > from /tmp/portage/mail-mta/exim-4.72-r1/work/exim-4.72/build-exim-gentoo/Makefile: # From OS/Makefile-FreeBSD PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout CHOWN_COMMAND=/usr/sbin/chown STRIP_COMMAND=/usr/bin/strip CHMOD_COMMAND=/bin/chmod HAVE_SA_LEN=YES LIBS=-lcrypt -lm -lutil USE_DB=yes .ifdef X11BASE ^ Makefile:40, mentioned in https://bugs.gentoo.org/attachment.cgi?id=261909 > > Ok, so that freebsd conditional is unnecessary. If logrotate stuff is useless > on fbsd, it should just remove this through bashrc in the profiles. > I don't know how to do this.
yeah, I need to make sure it doesn't use that FreeBSD Makefile, because it also defines different defaults than what the ebuild assumes/writes.
(In reply to comment #15) > Ok, so that freebsd conditional is unnecessary. If logrotate stuff is useless > on fbsd, it should just remove this through bashrc in the profiles. > Maybe I don't understand the message. Look at ebuild for net-proxy/squid-2.7.9 in tree: IUSE="logrotate" DEPEND="!x86-fbsd? ( logrotate? ( app-admin/logrotate ) )" Do you think it acceptable for mail-mta/exim to use something like this?
I don't think exim is depending on logrotate. My point is that we decided some time back ago that we would just unconditionally install logrotate files, since they are just extra files that don't harm anyone when installed but unused. So, if FreeBSD doesn't have logrotate, we can still install these files according to the global decision made (as above). Of course it is ok to conditionally depend on logrotate if Gentoo/FreeBSD doesn't have it, but I don't think the exim ebuild does this at the moment.
Created attachment 262335 [details] mail-mta/exim-4.72 ebuild with logrotate USE-flag I have added `logrotate` to IUSE to choose whenever to install logrotate staff like in other ebuilds (squid for example), because one may choose to use logrotate on FreeBSD, but other - to not use it on Linux. Any way I think this better than userland_BSD.
Created attachment 262337 [details, diff] difference from exim-4.72-r1.ebuild
Can you please try and see if 4.74-r2 builds for you? If so, I'll keyword it.
Created attachment 262507 [details] build.log for =mail-mta/exim-4.74-r2 on g/fbsd-8.0
Created attachment 262509 [details] emerge --info on my g/fbsd-8.0 installation
I just checked in a fix for building on FreeBSD (confirmed on Gentoo Prefix on FreeBSD 8.2).
Created attachment 272475 [details] build.log for =mail-mta/exim-4.75-r1 on linux I can't install =mail-mta/exim-4.75-r1 on linux.
your buildlog shows you're trying 4.74-r2, not 4.75-r1. And I don't understand what you mean with "on linux", as your buildlog clearly identifies your system as freebsd8.0
Created attachment 272487 [details] build.log for =mail-mta/exim-4.75-r1 on linux Excuse me. This is the right build.log for linux. I confirm that =mail-mta/exim-4.75-r1 successfully install on g/fbsd-8.0.
BTW: I see no ~x86-fbsd use-flag in exim-4.75-r1.ebuild in tree.
keyword is bug for freebsd guys. psql build problem is a separate issue
I did my job here
(In reply to comment #31) > psql build problem is a separate issue OK, that is in bug 366501.
Any chance to have ~x86-fbsd keyword in newer exim ebuilds?
Finally ~x86-fbsd was added to the ebuild.