public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "James Le Cuirot" <chewi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/makemkv/files/, media-video/makemkv/
Date: Sat, 17 Dec 2016 23:43:32 +0000 (UTC)	[thread overview]
Message-ID: <1482018204.2d2e27068addf11b3a4f60265a031686383fd741.chewi@gentoo> (raw)

commit:     2d2e27068addf11b3a4f60265a031686383fd741
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 17 23:42:32 2016 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> 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


             reply	other threads:[~2016-12-17 23:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-17 23:43 James Le Cuirot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-10 18:57 [gentoo-commits] repo/gentoo:master commit in: media-video/makemkv/files/, media-video/makemkv/ Piotr Karbowski
2022-07-13 20:19 James Le Cuirot
2022-07-06 22:14 James Le Cuirot
2020-12-14 17:14 James Le Cuirot
2020-10-12 21:08 James Le Cuirot
2018-07-25 21:25 James Le Cuirot
2016-05-08 16:28 James Le Cuirot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1482018204.2d2e27068addf11b3a4f60265a031686383fd741.chewi@gentoo \
    --to=chewi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox