SFTPGo requires Go 1.22.7+, but the default is 1.21, so it doesn't
build without specifying the version explicitly. Unfortunatelly, go.mk
doesn't support specifying _minimum_ Go version, so I have to pin it to
1.22 even though the port builds OK on 1.23 and 1.24.
(cherry picked from commit 8cb463576e)
- Import patch from macports repo
- Improve Makefile for readability
- Bump PORTVERSION because of different pkg size
PR: 282938
MFH: 2024Q4
(cherry picked from commit e94112fafc)
This adds hardening measures while untaring archives fetched
over the network (including FreeBSD tarballs and iocage plugins),
as implemented by TrueNAS.
This reduces the impact of intentionally malicious or accidentally
broken archives.
Please note that users are still advised to only fetch from
trusted sources and make use of TLS to prevent MITM attacks.
While there, add patch to store man pages in the correct location.
Obtained from: https://github.com/truenas/iocage/pull/358
(cherry picked from commit a4b2dd4648)
This adds hardening measures while untaring archives fetched
over the network (including FreeBSD tarballs and iocage plugins),
as implemented by TrueNAS.
This reduces the impact of intentionally malicious or accidentally
broken archives.
Please note that users are still advised to only fetch from
trusted sources and make use of TLS to prevent MITM attacks.
While there, add patch to store man pages in the correct location.
Obtained from: https://github.com/truenas/iocage/pull/358
(cherry picked from commit c4139815d8)
Includes security patches up to Chromium 130.0.6723.116.
MFH: 2024Q4
Security: 889eddee-a964-11ef-b680-4ccc6adda413
(cherry picked from commit 43a03e9b73)
Upstream default is optimized for bundling or Linux-style micro-packages.
FreeBSD currently doesn't split docs/headers/plugins, so minor binary size
increase (7 MiB -> 9 MiB) is less important. FreeBSD is primarily used on
servers where AVX512 is more common while on old desktops libjxl bloat is
dwarfed by many other packages (e.g., firefox, llvm*, gcc*, boost-libs).
See also https://github.com/libjxl/libjxl/pull/2627#issuecomment-1618237136
(cherry picked from commit 18d435c1e3)
In file included from lib/extras/dec/jpegli.cc:16:
In file included from lib/extras/enc/jpegli.cc:27:
In file included from lib/jpegli/common.h:23:
lib/jxl/base/include_jpeglib.h:15:10: fatal error: 'jpeglib.h' file not found
15 | #include <jpeglib.h> // IWYU pragma: keep
| ^~~~~~~~~~~
PR: 282926
Reported by: amdmi3
(cherry picked from commit ada3d2df83)
- move git tags to variables,
- move list of locales to variable,
- replace CP+CHMOD with COPYTREE_SHARE,
- sort options,
- align lines,
- strip long lines,
- pet portclippy,
- use UNZIP_NATIVE_CMD instead if direct run unzip,
- remove unnecessary BUILD_DEPENDS from zip.
PR: 282752
Approved by: Martin Filla <freebsd@sysctl.cz> (maintainer)
MFH: 2024Q4
(cherry picked from commit b9efb7c8e0)
Remove webrtc patches since webrtc is disabled.
PR: 281551
Approved by: Martin Filla <freebsd@sysctl.cz> (maintainer)
Co-authored-by: Martin Filla <freebsd@sysctl.cz>
(cherry picked from commit e1f70209b0)
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes graphics/povray37 to fail to compile with clang 19 and
libc++ 19, resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>'
820 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^
./base/configbase.h:159:19: note: in instantiation of template class 'std::basic_string<unsigned short>' requested here
159 | inline UCS2String ASCIItoUCS2String(const char *s)
| ^
/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
| ^
This can be fixed by defining `POVMSUCS2` as `char16_t` instead of
`unsigned short`, `UCS2` as `char16_t` instead of `unsigned short`, and
`UCS4` as `char32_t` instead of `unsigned int` in the passed-in
`CPPFLAGS` variable.
Also, patch up `vfe.cpp` and `vfeconf.h` to use `char16_t` and
`u16string` instead of the non-standard types.
[1] https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
PR: 282645
Approved by: bsd@philippost.de (maintainer)
MFH: 2024Q4
(cherry picked from commit 6133473e42)
Upgrade openoffice-devel to a new snapshot with multiple bug fixes.
Some of our patches have been upstreamed.
No longer use -Os optimization. It seems to be buggy.
Some non-default options can generate debug symbols, so always
strip the binaries when WITH_DEBUG is not set.
(cherry picked from commit 431b502d84)
Fix this build error:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFactory.cxx:28:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFactory.hxx:39:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx:38:
/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/RefAndPointer.hxx:104:18: error: no member named 'getHandler' in 'RefAndPointer<Interface, ChildClass>'; did you mean 'mpHandler'?
104 | set(rSrc.getHandler());
| ^~~~~~~~~~
| mpHandler
/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/RefAndPointer.hxx:39:26: note: 'mpHandler' declared here
39 | mutable ChildClass * mpHandler;
| ^
when building with:
FreeBSD clang version 19.1.2 (https://github.com/llvm/llvm-project.git llvmorg-19.1.2-0-g7ba7d8e2f7b6)
It appears that clang 19 does more sanity checks of unused class
methods than gcc, old versions of Microsoft Visual C++ used by the
AOO project, and older versions of clang.
The assign method in the RefAndPointer class has been broken since
forever and appears to be unused, so comment it out.
This is only a build fix and does not affect the generated code with
older compilers, so there is no PORTREVISION bump.
Reported by: pkg-fallout
(cherry picked from commit e9090c817e)
Add upstream patch that reverts a bad commit causing mouse scroll wheel,
button click, and button mapping issues with certain window managers.
The report in this case was being unable to click on items in menu bars.
PR: 282335
Reported by: <mmatalka@gmail.com>
MFH: 2024Q4
(cherry picked from commit 877838cddb)
Clang 19 has become more strict about errors in member functions, which
results in errors building math/givaro:
./givaro/givaro/givaro/random-integer.h:94:51: error: no viable overloaded '='
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./givaro/givaro/givaro/random-integer.h:94:51: note: type 'Integer_Domain' (aka 'ZRing<Integer>') is incomplete
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from givintprime.C:19:
In file included from ./givaro/givintprime.h:24:
In file included from ./givaro/givaro/givinteger.h:25:
../../../src/kernel/ring/givaro/zring.h:123:13: warning: misleading indentation; statement is not part of the previous 'while' [-Wmisleading-indentation]
123 | return a; }
| ^
../../../src/kernel/ring/givaro/zring.h:121:11: note: previous statement is here
121 | { while (isZero(init(a, g())))
| ^
The `const_cast` line has been removed by upstream as part of
https://github.com/linbox-team/givaro/commit/b0cf33e1, but that commit
is rather large. It is enough to only delete the line.
Also fix a failure that occurs when running "make test":
../src/kernel/recint/rfiddling.h:170:29: error: no member named 'Low' in 'rint<K>'
This is because the expression `max.Low.Value` should actually be
`max.Value.Low`.
PR: 282830
Approved by: pi (maintainer)
MFH: 2024Q4
(cherry picked from commit b47d453f0a)
A recent change in LLVM/Clang modulemap handling has caused ROOT (which builds
its own patched version of LLVM/Clang for JIT C/C++ compilation, e.g. from the
ROOT terminal) in the upstream source code to hack modulemap definitions on a
case-by-case OS release-dependent basis on macOS, which also compiles ROOT with
a LLVM/Clang compiler.
Once a more robust solution has been found in the upstream code, we can revert
to enabling 'runtime_cxxmodules' in the port.
For now, my attempts at continually patching ROOT for FreeBSD 13.3+, 14.0+ and
15.0 have proven too error-prone, and a package built on 14.0, for example, and
distributed to both 14.0 and 14.1 would otherwise only work on 14.0 in the best
of cases.
PR: 282756
(cherry picked from commit 867e49b82a)
Apply patch to fix typo in code builded in some systems that leads to
build errors.
This patch unbreaks build on main amd64, i386 and armv7.
See also: https://portsfallout.com/port/33546/
PR: 282761
MFH: 2024Q4
(cherry picked from commit 3f947d3a1d)
Clang 19 has become more strict about errors in member functions, which
results in errors building math/libdivide:
/wrkdirs/usr/ports/math/libdivide/work/libdivide-5.0/libdivide.h:3020:41: error: no member named 'denom' in 'divider<T, ALGO>'
3020 | return div.denom.magic == other.denom.magic && div.denom.more == other.denom.more;
| ~~~~~ ^
/wrkdirs/usr/ports/math/libdivide/work/libdivide-5.0/libdivide.h:3020:80: error: no member named 'denom' in 'divider<T, ALGO>'
3020 | return div.denom.magic == other.denom.magic && div.denom.more == other.denom.more;
| ~~~~~ ^
The member function `operator==()` should refer to `other.div.denom`
instead. Upstream fixed this in
https://github.com/ridiculousfish/libdivide/commit/fa020f3, so import it
as a patch.
PR: 282827
Approved by: thierry (maintainer)
MFH: 2024Q4
(cherry picked from commit 822b0e7aeb)
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes cad/kicad-devel to fail to compile with clang 19 and libc++
19, resulting in errors similar to:
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nanodbc/nanodbc/nanodbc.cpp:261:25: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>'
261 | auto const n = std::char_traits<NANODBC_SQLCHAR>::length(array);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is declared here
45 | struct char_traits;
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nanodbc/nanodbc/nanodbc.cpp:3576:52: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>'
3576 | dsn.name = string(&name[0], &name[std::char_traits<NANODBC_SQLCHAR>::length(name)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is declared here
45 | struct char_traits;
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nanodbc/nanodbc/nanodbc.cpp:3578:49: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>'
3578 | string(&driver[0], &driver[std::char_traits<NANODBC_SQLCHAR>::length(driver)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is declared here
45 | struct char_traits;
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nanodbc/nanodbc/nanodbc.cpp:3629:54: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>'
3629 | drv.name = string(&descr[0], &descr[std::char_traits<NANODBC_SQLCHAR>::length(descr)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is declared here
45 | struct char_traits;
| ^
and:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>'
820 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/compoundfilereader/compoundfilereader.h:226:21: note: in instantiation of template class 'std::basic_string<unsigned short>' requested here
226 | utf16string dir;
| ^
/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
| ^
and:
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nlohmann_json/nlohmann/json.hpp:3604:22: error: implicit instantiation of undefined template 'std::char_traits<wxUniChar>'
3604 | struct char_traits : std::char_traits<T>
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nlohmann_json/nlohmann/json.hpp:6289:14: note: in instantiation of template class 'nlohmann::detail::char_traits<wxUniChar>' requested here
6289 | typename char_traits<char_type>::int_type get_character()
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nlohmann_json/nlohmann/json.hpp:6465:22: note: in instantiation of template class 'nlohmann::detail::iterator_input_adapter<wxString::const_iterator>' requested here
6465 | BaseInputAdapter base_adapter;
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/thirdparty/nlohmann_json/nlohmann/json.hpp:23323:16: note: in instantiation of template class 'nlohmann::detail::wide_string_input_adapter<nlohmann::detail::iterator_input_adapter<wxString::const_iterator>, wxUniChar>' requested here
23323 | parser(detail::input_adapter(std::forward<InputType>(i)), cb, allow_exceptions, ignore_comments).parse(true, result);
| ^
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-6ebd8f46fe24533214b9ed43f1f7e5a4b80dcc71/eeschema/sch_io/easyedapro/sch_io_easyedapro.cpp:209:53: note: in instantiation of function template specialization 'nlohmann::basic_json<>::parse<wxString>' requested here
209 | nlohmann::json js = nlohmann::json::parse( txt.ReadLine() );
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is declared here
45 | struct char_traits;
| ^
The first batch of errors can be fixed by providing a simple `length()`
function for the `NANODBC_SQLCHAR const*` type. The second batch can be
fixed by using `std::basic_string<char16_t>` for `utf16string`, and
adjusting the call to `std::basic_string<char16_t>::append`. The third
batch can be fixed by adding a `char_traits` definition specifically for
the `wxUniChar` type.
[1] https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
PR: 282512
Approved by: maintainer timeout (2 weeks)
MFH: 2024Q4
(cherry picked from commit 1b22fed46c)
Clang 19 now implements CWG 96 [1], which requires a template argument
list after a 'template' keyword, resulting in errors similar to:
/wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:394:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
394 | return Base::template do_pop_any(states_[index], elements_[index]);
| ^
/wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:400:24: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
400 | Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]);
| ^
/wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:522:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
522 | return Base::template do_pop_any(states_[index], elements_[index]);
| ^
/wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:528:24: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
528 | Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]);
| ^
In all these cases, appending "<>" is enough to satisfy the constraint.
This can be done with a REINPLACE_CMD in the post-patch phase.
[1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96
PR: 282796
Approved by: yuri (maintainer)
MFH: 2024Q4
(cherry picked from commit 96997562fb)