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}
+   {

Reply via email to