appleseed is modern, open source, physically-based rendering engine designed
to produce photorealistic images, animations, and visual effects.
It provides individuals and small studios with an efficient, reliable suite
of tools built on robust foundations and open technologies.
Started in 2009, it has grown into a robust production rendering toolset and
has been battle-tested on several projects such as TV documentaries, ads,
promotional videos, and animation shorts.
===> The following configuration options are available for appleseed-2.1.0.b_23:
EMBREE=off: Embree intersection backend support
PYTHON=on: Python bindings or support
STUDIO=on: Build appleseed.studio (Qt-based)
===> Use 'make config' to modify these settings
graphics/appleseed: prepare the port for upcoming CMake versions
Rewrite the build logic to not rely on obsolete policies CMP0026
and CMP0043. While at it, limit two macros' action to an active
CMAKE_BUILD_TYPE by removing needless set_property(...) calls.
graphics/embree: update Intel Embree to version 4.2.0
Versions 4.x have default values for ZIP mode and ISPC support
flipped, change them back in our port to avoid breaking POLA.
Preserve version 3.13.5 as `graphics/embree3' port and reroute
consumers to it due to incompatible API of the modern Embree.
PR: 285134
graphics/appleseed: routinely, try to unbreak this port's build (+)
Backport upstream libeigen's commit in the form of sed(1) expression
to fix compilation of product with inverse transpositions, e.g. mat *
Transpositions().inverse().
Upstream fix: https://gitlab.com/libeigen/eigen/-/commit/a1292395
Reported by: pkg-fallout
graphics/appleseed: try to unbreak and slightly improve the port (+)
Pull the patch from the Arch/AUR package to unbreak the build against
OSL version 1.13.7 and later. While here, cleanup Imath 3.x support:
drop actually useless patch and fix detection logic in the right file
instead of polluting global CFLAGS and using naive search heuristics.
Nagged by: pkg-fallout (after commit cfcb40e24056)
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
Mk/Uses: always use colon for build/run suffix
Most USES use a colon for build/run(/test) suffixes. Change kde.mk,
qt.mk and pyqt.mk to do the same, and update all ports using that.
Document in CHANGES.
PR: 266034
Exp-run by: antoine
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36349
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
graphics: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* Aaron Dalton <aaron@FreeBSD.org>
* Abel Chow <ozsanh45vds001@sneakemail.com>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
* Ade Lovett <ade@lovett.com>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Aldis Berjoza <aldis@bsdroot.lv>
* Alex Hayward <xelah@xelah.com>
* Alex Ivasyuv <siegerstein@pochta.ru>
* Alex Samorukov <samm@os2.kiev.ua>
(Only the first 15 lines of the commit message are shown above )
*: Bump PORTREVISION for openexr update
OpenEXR's patchlevel updated bumped the major version
of the OpenEXR library, hence bump PORTREVISION of all
ports that require OpenEXR.
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824
- Allow to build with Embree intersection backend support (follow the
upstream and keep it off by default)
- Add a piece of advice to pkg-message about how to help it find the
fallback OSL shaders provided by the package
- Build Python3 code the same way as Python2, this is currently no-op
but would be required for upcoming appleseed.studio-enabled builds
- Move Python bits from custom prefix to standard PYTHON_SITELIBDIR,
where appleseed.studio would be able to find them without passing
the PYTHONHOME environment variable to executable
- Fix Python 3.x bindings build and enable them by default
- Add one missing LIB_DEPENDS per the stage Q/A report
- Make symlinks to external programs instead of copying
- Prevent overlinking to libGLU when it is being found
- Instead of patching every cpuid() call to match our version,
simply provide two-argument compatibility method (I somehow
forgot that this is C++ code so we can overload methods)
- Remove no longer needed workaround for GCC 4.2.1: we always
build in C++11 mode now and thus require modern compiler
- Resurrect, unbreak, and update to the latest version 2.1.0-beta
- Disable appleseed.studio for now: while it had been ported to Qt5,
it still heavily relies on Python 2.x
- Drop the options: C++11 is required now, and API examples are of
little interest to end-users so just stop installing them
- Add dependencies on `archivers/liblz4' and `graphics/openimageio'
- GC no longer needed work-arounds for old versions of Clang
Remove expired ports:
2019-05-08 databases/ruby-odbc: Broken for more than 6 months
2019-05-08 databases/rubygem-dbd-odbc: Broken for more than 6 months
2019-05-08 devel/dlangui: Broken for more than 6 months
2019-05-08 editors/dlangide: Broken for more than 6 months
2019-05-08 emulators/desmume: Broken for more than 6 months
2019-05-08 emulators/yabause: Broken for more than 6 months
2019-05-08 emulators/yape: Broken for more than 6 months
2019-05-08 games/armagetron: Broken for more than 6 months
2019-05-08 games/boswars: Broken for more than 6 months
2019-05-08 games/ceferino: Broken for more than 6 months
2019-05-08 games/chanta: Broken for more than 6 months
2019-05-08 games/d2x-xl: Broken for more than 6 months
2019-05-08 games/drcreep: Broken for more than 6 months
2019-05-08 games/frobtads: Broken for more than 6 months
(Only the first 15 lines of the commit message are shown above )
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Mark QT4 ports/functionality for removal on 2019-03-15
While here, chase some KDE4 ports and functionality, these are scheduled for
removal on 2018-12-31. Change the default option/flavor to QT5 where applicable
or use alternative toolkits like GTK.
Submitted by: tcberner
Reviewed by: adridg, jhale, rene, tcberner
Approved by: portmgr (implicit, flavor hook)
Differential Revision: https://reviews.freebsd.org/D17741
Update ilmbase and openexr to 2.3.0, rename OpenEXR to openexr.
Release notes: <https://github.com/openexr/openexr/releases/tag/v2.3.0>
Adjust LIB_DEPENDS of all ports that require ilmbase or openexr to chase
the new lower-case spelling of the name, and to omit the version from the
library name to ease future maintenance.
Bump PORTREVISION of all ports that depend on ilmbase or openexr directly,
so that they all get rebuilt on upgrades.
Add patches to graphics/ampasCTL to keep it alive, with (a) ilmbase now
that its Iex::BaseExc class is no longer derived from std::string,
details were given upstream through https://github.com/ampas/CTL/issues/71
and (b) to unwind semicolon/;-lists in cmake that stem from openexr/
ilmbase pkg-config variables.
(Note ampasCTL is unmaintained as FreeBSD port, and upstream,
and I cannot run-time test it.)
Poudriere build tests on 11.2-RELEASE-p1 amd64 of ALL ports depending
directly or indirectly on ilmbase and/or openexr have passed without
regressions. Thus invoking due diligence, I believe I have done the
equivalent of an -exp run, and do not require approval for the dependency
chases to third-party ports.
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk
From now on, ports that depend on Qt4 will have to set
USES= qt:4
USE_QT= foo bar
ports depending on Qt5 will use
USES= qt:5
USE_QT= foo bar
PR: 229225
Exp-run by: antoine
Reviewed by: mat
Approved by: portmgr (antoine)
Differential Revision: -https://reviews.freebsd.org/D15540
- Allow to build without appleseed.studio (Qt-based GUI program), this
makes setting up headless render boxes easier
- Remove previously optional dependency on `graphics/openimageio' when
building with Disney material support: since r455830, OSL support is
mandatory, and OSL depends on `graphics/openimageio' unconditionally
- Correct dependency on `graphics/seexpr': only appleseed.studio links
to libSeExprEditor.so, while both programs link to libSeExpr.so (our
SeExpr package always provides both libraries anyways)
- Update to `graphics/appleseed' to version 1.7.1-beta
- OSL support is no longer optional. It complicated the code and the
build system, and developers' intention is to make OSL a first-class
citizen in appleseed; keeping OSL optional did not allow moving in
that direction
- Add a work-around for Core Working Group (CWG) Defect 253: prior to
GCC 4.6.4 and Clang 3.9.0, C++ required a user-provided default ctor
to default-construct a const object [*], and we still have supported
FreeBSD versions where Clang behaves the old way
[*] https://stackoverflow.com/questions/7411515
Because GitHub releases (tarballs) are not fetched with correct modification
time, set TIMESTAMP to 1501170801 which corresponds to commit ae7f346 tagged
as this release.
Security update OpenEXR and ilmbase to 2.2.1.
While here, fix libIlmImfUtil_la_LDFLAGp so that when linking libIlmImfUtil,
the locally built libIlmImf gets precedence over the one in /usr/local,
to permit upgrades in a running system with the older version installed.
This changes the library's SONAME, so bump PORTREVISION of all dependees.
Unfortunately, this looks a bit too intrusive for an MFH to 2017Q4.
Security: CVE-2017-9110
Security: CVE-2017-9111
Security: CVE-2017-9112
Security: CVE-2017-9113
Security: CVE-2017-9114
Security: CVE-2017-9115
Security: CVE-2017-9116
Security: 803879e9-4195-11e7-9b08-080027ef73ec
- Belatedly update `graphics/appleseed' to version 1.6.0, the latest
version where OSL support is optional (further updates require RTTI
enabled in both LLVM and OSL, and thus currently not possible)
- Allow to build in C++11 mode and backport a patch to fix spinlock
initialization to match the way it is initialized internally by
Boost: copy and assignment operators are deleted, which this logic
was attempting to use (in fact, it's surprising that it was working
before because it was most likely not possible even with C++98,
unless this is a very recent change in Boost) [*]
- While here, adjust OSL_BROKEN message to give the specific reason
PR: 222392 [*]
Submitted by: Roger Leigh
Update to version 1.5.2-beta.
Because GitHub releases (tarballs) are not fetched with correct modification
time, set TIMESTAMP to 1475224589 which corresponds to commit 7f3ea39 tagged
as this release.
- Update to version 1.4.0-beta, the latest to date
- Remove a patch that was integrated upstream
- Add two more patches to inhibit GCC attempts to invoke private copy ctor
- Update to version 1.3.0-beta, which integrates most of our patches for
native FreeBSD support
- Provide the real ONLY_FOR_ARCHS_REASON
- Rename DISNEY_MATERIAL to simply DISNEY (previous name was too long)
Now that required supporting ports were fixed (r398753) and added to the
tree (r398907), allow to build with the Open Shading Language and Disney
material support and enable these features by default. While here, drop
useless USE_GL knob (implied by USE_QT4=opengl).
Improve cpuid() implementation:
- Correctly denote register use: for CPUID, %eax and %ecx are input/output
and %ebx and %edx are output only
- Do not insist on using %esi and %edi, let the compiler choose a register
- Always preserve %ebx/%rbx because ABI defines them as callee-saved
- Use xchg[lq] instead of mov[lq] to restore %ebx/%rbx
- Use separate implementation for x86-64 to preserve %rbx because 32-bit
operations would set the upper 32 bits to zero
Submitted by: tijl
Fix mysterious linking problems with bundled LZ4 code: it was due to the
fact that I had `archivers/liblz4' installed locally, and its header was
picked up before the bundled one which has "static inline" definition of
LZ4_compressBound() function vs. normal definition in system-wide header.
- Use %edi register to save/restore contents of %ebx instead of pushing
it on stack to make the code work for both 32/64-bit x86
- Make the corresponding comment more accurate while I'm at it
Reported by: pkg-fallout
Add a port of appleseed: modern, open source, physically-based rendering
engine designed to produce photorealistic images, animations, and visual
effects.
To ease initial maintenance, disable Doxygen API documentation generation,
unit tests, installation of headers and Python bindings for now; there'll
be OPTIONS for those things once the dust settles.