On Fri Jan 18, 2019 at 08:10:58PM +0000, Stuart Henderson wrote: > On 2019/01/14 23:16, Rafael Sadowski wrote: > > CVSROOT: /cvs > > Module name: ports > > Changes by: rsadow...@cvs.openbsd.org 2019/01/14 23:16:04 > >=20 > > Modified files: > > multimedia/mkvtoolnix: Makefile distinfo=20 > >=20 > > Log message: > > Update mkvtoolnix to 30.1.0 > >=20 > > Broken on 32-bit: > > c++ -Wall -Wno-comment -Wfatal-errors -Wno-mismatched-tags -Wno-self-assign= > -Qunused-arguments -Wno-inconsistent-missing-override -Wno-potentially-eva= > luated-expression -D_FILE_OFFSET_BITS=3D64 -DMTX_LOCALE_DIR=3D\"/usr/local/= > share/locale\" -DMTX_PKG_DATA_DIR=3D\"/usr/local/share/mkvtoolnix\" -DMTX_D= > OC_DIR=3D\"/usr/local/share/doc/mkvtoolnix\" -fstack-protector-strong -Ilib= > /nlohmann-json/include -Ilib/fmt/include -I/usr/local/include -I/usr/local/= > include -I/usr/local/include -I/usr/local/include -I/usr/X11R6/include -fPI= > C -std=3Dgnu++14 -Woverloaded-virtual -Wnon-virtual-dtor -Wextra -Wno-missi= > ng-field-initializers -I/usr/local/include/X11/qt5/QtWidgets -I/usr/local/i= > nclude/X11/qt5 -I/usr/local/include/X11/qt5/QtMultimedia -I/usr/local/inclu= > de/X11/qt5/QtGui -I/usr/local/include/X11/qt5/QtNetwork -I/usr/local/includ= > e/X11/qt5/QtConcurrent -I/usr/local/include/X11/qt5/QtDBus -I/usr/local/inc= > lude/X11/qt5/QtCore -I/usr/local/include -O2 -pipe -include src/common/comm= > on_pch.h -I. -Ilib -Ilib/avilib-0.6.10 -Isrc -Ilib/utf8-cpp/source -Ilib/pu= > gixml/src -c -MMD -MF /usr/obj/ports/mkvtoolnix-30.1.0/mkvtoolnix-30.1.0/ra= > ke.d/dependency.d/tmp/src_common_mm_mem_io_o.d -o src/common/mm_mem_io.o -x= > c++ src/common/mm_mem_io.cpp > In file included from src/common/mm_mem_io.cpp:19: > src/common/mm_mem_io_p.h:31:16: fatal error: non-constant-expression cannot= > be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'std::size_= > t' (aka 'unsigned long') in initializer list [-Wc++11-narrowing] > : mem_size{p_mem_size} > ^~~~~~~~~~ > src/common/mm_mem_io_p.h:31:16: note: insert an explicit cast to silence th= > is issue > : mem_size{p_mem_size} > ^~~~~~~~~~ > static_cast<size_t>( ) > 1 error generated. > *** Error 1 in multimedia/mkvtoolnix (Makefile:91 'do-build') > *** Error 1 in multimedia/mkvtoolnix (/usr/ports/infrastructure/mk/bsd.port= > =2Emk:2797 '/usr/obj/ports/mkvtoolnix-30.1.0/.build_done') > =3D=3D=3D> Exiting multimedia/mkvtoolnix with an error > >
The diff below should fix the 32bit issue. Tested on amd64 only. OK? RS Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/mkvtoolnix/Makefile,v retrieving revision 1.85 diff -u -p -u -p -r1.85 Makefile --- Makefile 15 Jan 2019 06:16:04 -0000 1.85 +++ Makefile 19 Jan 2019 09:04:47 -0000 @@ -3,6 +3,7 @@ COMMENT= create, alter and inspect Matroska files DISTNAME= mkvtoolnix-30.1.0 +REVISION= 0 CATEGORIES= multimedia x11 Index: patches/patch-src_common_mm_mem_io_p_h =================================================================== RCS file: patches/patch-src_common_mm_mem_io_p_h diff -N patches/patch-src_common_mm_mem_io_p_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_common_mm_mem_io_p_h 19 Jan 2019 09:04:47 -0000 @@ -0,0 +1,30 @@ +$OpenBSD$ + +fix implicit narrowing conversion in brace initializers +https://gitlab.com/mbunkus/mkvtoolnix/commit/653f74b692d334ea4b3691f3b61c195f464c39d4?view=inline + +Index: src/common/mm_mem_io_p.h +--- src/common/mm_mem_io_p.h.orig ++++ src/common/mm_mem_io_p.h +@@ -28,8 +28,8 @@ class mm_mem_io_private_c : public mm_io_private_c { ( + explicit mm_mem_io_private_c(unsigned char *p_mem, + uint64_t p_mem_size, + std::size_t p_increase) +- : mem_size{p_mem_size} +- , allocated{p_mem_size} ++ : mem_size{static_cast<std::size_t>(p_mem_size)} ++ , allocated{static_cast<std::size_t>(p_mem_size)} + , increase{p_increase} + , mem{p_mem} + { +@@ -48,8 +48,8 @@ class mm_mem_io_private_c : public mm_io_private_c { ( + + explicit mm_mem_io_private_c(unsigned char const *p_mem, + uint64_t p_mem_size) +- : mem_size{p_mem_size} +- , allocated{p_mem_size} ++ : mem_size{static_cast<std::size_t>(p_mem_size)} ++ , allocated{static_cast<std::size_t>(p_mem_size)} + , ro_mem{p_mem} + , read_only{true} + {