From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id AB70A139085 for ; Sat, 17 Dec 2016 23:43:36 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EE0C6E0CB3; Sat, 17 Dec 2016 23:43:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B5BC8E0CB3 for ; Sat, 17 Dec 2016 23:43:35 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 26605340F1A for ; Sat, 17 Dec 2016 23:43:34 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 7F34C24C5 for ; Sat, 17 Dec 2016 23:43:32 +0000 (UTC) From: "James Le Cuirot" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "James Le Cuirot" Message-ID: <1482018204.2d2e27068addf11b3a4f60265a031686383fd741.chewi@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/makemkv/files/, media-video/makemkv/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-video/makemkv/files/makemkv-flags.patch media-video/makemkv/makemkv-1.10.3.ebuild X-VCS-Directories: media-video/makemkv/ media-video/makemkv/files/ X-VCS-Committer: chewi X-VCS-Committer-Name: James Le Cuirot X-VCS-Revision: 2d2e27068addf11b3a4f60265a031686383fd741 X-VCS-Branch: master Date: Sat, 17 Dec 2016 23:43:32 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: bcc20d28-4fa8-447a-8672-2a6e6265cdf2 X-Archives-Hash: d6e14ef8dfd86dd9b1f5cd7e6250369c commit: 2d2e27068addf11b3a4f60265a031686383fd741 Author: James Le Cuirot gentoo org> AuthorDate: Sat Dec 17 23:42:32 2016 +0000 Commit: James Le Cuirot gentoo org> CommitDate: Sat Dec 17 23:43:24 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d2e2706 media-video/makemkv: Fix building against Qt 5.7, closes bug #599228 The -std=c++11 flag is needed for building against Qt 5.7. Trouble is that upstream builds with CC rather than CXX. This only exhibits a warning but if you try to force CXX, it fails to build the C parts, which probably explains why upstream did this in the first place. I thought -x none might work but it breaks unless you put it before every C file. Possibly a GCC bug? Ideally upstream would just use automake and avoid this whole mess. The easiest way out is to only apply CXX and -std=c++11 to the makemkv binary, which doesn't have any C sources. The new patch also respects LDFLAGS. CFLAGS (not CXXFLAGS) is already respected by upstream now so src_compile is no longer needed. Some of the src_install stuff has also been dropped in favour of default as we now want upstream behaviour. Package-Manager: portage-2.3.3 media-video/makemkv/files/makemkv-flags.patch | 51 +++++++++++++++++++++++++++ media-video/makemkv/makemkv-1.10.3.ebuild | 24 +++---------- 2 files changed, 55 insertions(+), 20 deletions(-) diff --git a/media-video/makemkv/files/makemkv-flags.patch b/media-video/makemkv/files/makemkv-flags.patch new file mode 100644 index 00000000..f88bde0 --- /dev/null +++ b/media-video/makemkv/files/makemkv-flags.patch @@ -0,0 +1,51 @@ +diff -Naur a/Makefile.in b/Makefile.in +--- a/Makefile.in 2016-12-11 16:14:27.000000000 +0000 ++++ b/Makefile.in 2016-12-17 23:13:03.227251463 +0000 +@@ -2,9 +2,11 @@ + include makefile.common + + GCC=@CC@ ++GXX=@CXX@ + MOC=@QT_MOC@ + + CFLAGS=@CFLAGS_OPT@ -D_linux_ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS ++LDFLAGS=@LDFLAGS@ + DESTDIR=@DESTDIR@ + PREFIX=@prefix@ + ENABLE_GUI=@ENABLE_GUI@ +@@ -51,13 +53,13 @@ + + out/libdriveio.so.0.full: + mkdir -p out +- $(GCC) $(CFLAGS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(LIBDRIVEIO_INC) $(LIBDRIVEIO_SRC) \ ++ $(GCC) $(CFLAGS) $(LDFLAGS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(LIBDRIVEIO_INC) $(LIBDRIVEIO_SRC) \ + -fPIC -Xlinker -dy -Xlinker --version-script=libdriveio/src/libdriveio.vers \ + -Xlinker -soname=libdriveio.so.0 -lc -lstdc++ + + out/libmakemkv.so.1.full: tmp/gen_buildinfo.h + mkdir -p out +- $(GCC) $(CFLAGS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(LIBEBML_INC) $(LIBEBML_DEF) $(LIBMATROSKA_INC) \ ++ $(GCC) $(CFLAGS) $(LDFLAGS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(LIBEBML_INC) $(LIBEBML_DEF) $(LIBMATROSKA_INC) \ + $(LIBMAKEMKV_INC) $(SSTRING_INC) $(MAKEMKVGUI_INC) $(LIBABI_INC) $(LIBFFABI_INC) $(LIBDCADEC_DEF) \ + $(LIBEBML_SRC) $(LIBMATROSKA_SRC) $(LIBMAKEMKV_SRC) $(GLIBC_SRC) $(SSTRING_SRC) \ + $(LIBABI_SRC) $(LIBABI_SRC_LINUX) $(LIBFFABI_SRC) $(LIBDCADEC_SRC) \ +@@ -67,16 +69,16 @@ + + out/libmmbd.so.0.full: + mkdir -p out +- $(GCC) $(CFLAGS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(MAKEMKVGUI_INC) $(LIBMMBD_INC) \ ++ $(GCC) $(CFLAGS) $(LDFLAGS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(MAKEMKVGUI_INC) $(LIBMMBD_INC) \ + $(LIBMAKEMKV_INC) $(SSTRING_INC) $(LIBABI_INC) $(LIBMMBD_SRC) $(LIBMMBD_SRC_LINUX) $(SSTRING_SRC) \ + -fPIC -Xlinker -dy -Xlinker --version-script=libmmbd/src/libmmbd.vers \ + -Xlinker -soname=libmmbd.so.0 -lc -lstdc++ -lrt -lpthread -lcrypto + + out/makemkv.full: $(MAKEMKVGUI_GEN) $(MAKEMKVGUI_SRC_LINUX) tmp/gen_buildinfo.h + mkdir -p out +- $(GCC) $(CFLAGS) -o$@ $(MAKEMKVGUI_INC) $(LIBMAKEMKV_INC) $(SSTRING_INC) $(LIBDRIVEIO_INC) $(LIBABI_INC) \ ++ $(GXX) $(CFLAGS) $(LDFLAGS) -o$@ $(MAKEMKVGUI_INC) $(LIBMAKEMKV_INC) $(SSTRING_INC) $(LIBDRIVEIO_INC) $(LIBABI_INC) \ + $(MAKEMKVGUI_SRC) $(MAKEMKVGUI_SRC_LINUX) $(MAKEMKVGUI_GEN) $(SSTRING_SRC) $(LIBDRIVEIO_SRC_PUB) \ +- -DHAVE_BUILDINFO_H -Itmp \ ++ -std=c++11 -DHAVE_BUILDINFO_H -Itmp \ + @QT_INC@ -lc -lstdc++ \ + @QT_LIB@ -lpthread -lz -lrt + diff --git a/media-video/makemkv/makemkv-1.10.3.ebuild b/media-video/makemkv/makemkv-1.10.3.ebuild index d2a5e6e..fd12203 100644 --- a/media-video/makemkv/makemkv-1.10.3.ebuild +++ b/media-video/makemkv/makemkv-1.10.3.ebuild @@ -46,7 +46,7 @@ RDEPEND="${DEPEND} S="${WORKDIR}/makemkv-oss-${PV}" src_prepare() { - PATCHES+=( "${FILESDIR}"/${PN}-{makefile,path,sysmacros}.patch ) + PATCHES+=( "${FILESDIR}"/${PN}-{makefile,path,sysmacros,flags}.patch ) # Qt5 always trumps Qt4 if it is available. There are no configure # options or variables to control this and there is no publicly @@ -75,15 +75,10 @@ src_configure() { econf "${econf_args[@]}" } -src_compile() { - emake GCC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" -} - src_install() { - # install oss package - dolib.so out/libdriveio.so.0 - dolib.so out/libmakemkv.so.1 - dolib.so out/libmmbd.so.0 + default + + # add missing symlinks for QA dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so.0.${PV} dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so.1.${PV} @@ -91,17 +86,6 @@ src_install() { dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so.0.${PV} - if use qt5 || use qt4; then - dobin out/makemkv - - local res - for res in 16 22 32 64 128; do - newicon -s ${res} makemkvgui/share/icons/${res}x${res}/makemkv.png ${PN}.png - done - - make_desktop_entry ${PN} MakeMKV ${PN} 'Qt;AudioVideo;Video' - fi - cd "${WORKDIR}"/${MY_PB} || die # install prebuilt bins