databases/lmdb: allow to install both 0.x and 1.x together
LMDB 1.0 and the legacy 0.9 ABI cannot be mixed, the datanase format are
incompatibles as well.
Rename or relocate everything databases/lmdb0 installs so that it no
longer overlaps with databases/lmdb:
- the utilities are now mdb_copy0, mdb_dump0, mdb_load0 and mdb_stat0
- the header is include/lmdb0/lmdb.h
- the linker name is liblmdb0.so, the shared object keeps its ABI name
liblmdb.so.0 so already linked programs are unaffected
- the pkg-config file is lmdb0.pc
A compatibility prefix holding the previous layout is also installed
under ${PREFIX}/lmdb0/ (include/, lib/ and libdata/pkgconfig/) so that
build systems which expect to find lmdb.h and -llmdb relative to a
single directory only need a path change.
Now all ports should migrate to lmdb 1.X and use the lmdb 0.9 port to ease
in the migration path, lmdb, the lmdb 0.x is supposed to get removed at
some point.
Approved by: mat (portmgr)
Reviewed by: mat
Differential Revision: https://reviews.freebsd.org/D60741
databases/lmdb0: Add port for LMDB 0.9.x legacy ABI
LMDB 1.0 introduced an incompatible on-disk format change and subtle
API breakage: applications that compiled cleanly against 1.0 headers
could fail silently at run time. Known affected ports include dns/knot3,
mail/bogofilter, and mail/postfix; the postfix issue has been confirmed
upstream. Linux distributions such as Arch Linux have observed the same
breakage. Samba can also be affected in certain configurations.
Because the regression is not detectable in an -exp build run -- the
postfix failure only manifests at run time, and bogofilter was caught
only because post-build self-tests happen to exercise this path -- we
cannot rely on package builds to validate the 1.0 upgrade.
This commit introduces databases/lmdb0 as a holding port for the 0.9.35
release, pinned to the 0.x branch with PORTSCOUT=limit:^0. and mutually
conflicting with databases/lmdb, which retains 1.0. The two packages
cannot be installed simultaneously, but having lmdb0 available means:
* Ports known to require the 0.9 ABI can declare an explicit dependency
on databases/lmdb0 until they are validated against 1.0.
* Users with existing databases in the 0.9 format can still access the
mdb_dump and mdb_load utilities to migrate data before upgrading.
* The package conflict prevents accidental mixing.
All 50 direct dependents of databases/lmdb are redirected to
databases/lmdb0 for now with a PORTREVISION bump, effectively restoring
the tree to the state prior to the LMDB 1.0 update. Once all dependent
ports are validated against LMDB 1.0, they will be moved back to
databases/lmdb and databases/lmdb0 will be removed.
PR: ports/296530
x11/cde*: Work around bus errors and looping CDE apps
-O2 optimization is too aggressive for CDE. Scaling it back to -O
eliminates bus errors on some systems and dtcalc looping with the
error, *** M .LE. T IN CALL TO MPCHK.
Reported by: Jeremy Doolin <jrdoolin@pm.me>
MFH: 2026Q2
x11/cde*: Remove unused iconv dependencies
CDE only uses iconv.h. It does not need libiconv nor does it need binconv.
Remove the redundant dependencies.
Reported by: arrowd
Initial patcy by: arrowd
PR: 290743
MFH: 2025Q4
x11/cde: Make cde-25 default
Upstream commit 9af0993de added font aliases, specifically gb2312.1980,
which may be incompatible with some legacy Xm and Xaw apps however there
is a circumvention recommended by the cdesktopenv-code upstream. That is
to add -xrm '*international: true' to the affected app's arguments. A more
elegant approach is to create a ~/.Xdefaults file containing the following
example:
XPostit.*international: false
*international: true
x11/cde-25: Introduce the new x11/cde-25
CDE 2.5.0 has many improvements however some users may discover that
fonts used by legacy Xm and Xaw apps are unreadable due to legacy apps
using the gb2312.1980 font registry. For now cde-24 will remain the
default cde however users can install cde-25 for new features and
bugfixes.
x11/cde*: Rename cde to cde-24 and create cde meta port
In preparation of the introduction of CDE 2.5.0 to the ports tree,
rename the existing cde port to cde-24 and add a new cde meta port.
The reason for this is that CDE 2.5.0 appears to address some font
issues which negatively affects legacy Xm and Xaw apps.
Revert "x11/cde: Mark unbroken on i386"
x11/cde on i386 is broken on the package build infrastructure because
it cannot bind to a temporary of type va_list. Some users have reported
that they can build it by hand using ports however there is no solution
for the problem on the FreeBSD poudriere.
This reverts commit 25db2173606446697bb4b5b376420c492e1f549c.
MFH: 2022Q3
x11/cde: Mark unbroken on i386
A user reports that CDE does build correctly on i386.
Reported by: William Macintosh <bill.macintosh@icloud.com>
MFH: 2022Q3
x11/cde: actually fix build on powerpc64le
This port doesn't respect setting FLAGS via Makefile, so -DPOWERPC64LE goes unnoticed.
Switch to ifdef __powerpc64__.
x11/cde: Fix build under 14-CURRENT
Under 14-CURRENT MALLOC_PRODUCTION is not set which puts malloc() into
debug mode. In debug mode malloc() enables opt.junk to write junk to
newly malloc()ed heap in order to help developers discover memory
allocation bugs. Unfortunately CDE's dtinfogen assumes newly malloc()ed
memory is zero filled (i.e. not filled with junk), resulting in
"flex scanner jammed". This likely causes parsing of the junk past the
end of any legitimate statements. This affects stock 14-CURRENT without
MALLOC_PRODUCTION enabled. This is accomplished by setting the
make environment variable MALLOC_CONF=junk:false. See malloc(3) for
a complete description of MALLOC_CONF=junk:false.
MFH: 2022Q1
x11/cde: Mark BROKEN on armv7
STAGEDIR contains numerous intermediate files likely used during the
install process which are not in the final STAGEDIR on other platforms.
An example of one of the 5830 orphaned files is:
dt/app-defaults/C/ecp.2AeDmfIk.
PR: 261359
x11/cde: fix build on powerpc64le
1. Merge patches from shells/ast-ksh fixing ksh93 build.
2. Change endianness detection to what __BYTE_ORDER__ points to.
The way CDE detects endianness is not correct and I got errors about running
neither BE or LE.
This still fails to build on powerpc64, so BROKEN_powerpc64 is not removed.
x11/cde: Update to 2.4.0
This commit updates x11/cde from 2.3.2 to 2.4.0. 2.4.0 fixes a local
privilege escalation in dteseesion, DtSvc.
Other changes include:
- 2.4.0 builds under FreeBSD 14-CURRENT using both poudriere (as before)
and now directly on the command line using make.
- i386 is now broken because it cannot bind to a temporary of type va_list.
- This commit also changes maintainership to myself (cy) as requested
by crees (maintainer) in PR/257148.
PR: 257148
Submitted by: cy
Reported by: cy
Approved by: crees
MFH: 2021-Q3
Security: CVE-2020-2696/VU#308289
Security: VuXML: 848bdd06-f93a-11eb-9f7d-206a8a720317
x11/cde: Fix building on FreeBSD 12
Add some missing dependencies and a couple more shebang fixes
PR: ports/237518
Submitted by: Thomas Merkel
MFH: 2019Q2 (build fix)
x11-fonts/mkfontscale: Update to 1.2.0
Update x11-fonts/mkfontscale to 1.2.0
Remove x11-fonts/mkfontdir, which has been merged into mkfontscale.
Update dependencies and bump portrevisions.
Add an entry to UPDATING and MOVES
Changelog:
https://lists.x.org/archives/xorg/2019-March/059633.html
Thanks to Antoine for the exp-run!
PR: 236336 (exp-run)
Obtained from: FreeBSD Graphics Team dev repo
https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/mkfontscale
Sponsored by: B3 Init
Update to 2.3.0
Move to more correct x11 category
Unbreak
Incorporate changes and improvements made by Mikael Urankar
PR: ports/221102
Submitted by: mikael.urankar@gmail.com
Various other cleanups; correct pkg-message and add ksh dependency
PR: ports/220572
Submitted by: pfg