public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jason Donenfeld" <zx2c4@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/clementine/, media-sound/clementine/files/
Date: Wed, 16 Mar 2016 00:48:16 +0000 (UTC)	[thread overview]
Message-ID: <1458089316.bd4a5b8e468ba801b5f6d5f790af73d0cbc84c52.zx2c4@gentoo> (raw)

commit:     bd4a5b8e468ba801b5f6d5f790af73d0cbc84c52
Author:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 16 00:42:39 2016 +0000
Commit:     Jason Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Wed Mar 16 00:48:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd4a5b8e

media-sound/clementine: fix tokenizer segfault

Package-Manager: portage-2.2.28

 .../clementine/clementine-1.3_rc1-r1.ebuild        | 168 +++++++++++++++++++++
 .../files/clementine-1.3_rc1-fix-tokenizer.patch   |  21 +++
 2 files changed, 189 insertions(+)

diff --git a/media-sound/clementine/clementine-1.3_rc1-r1.ebuild b/media-sound/clementine/clementine-1.3_rc1-r1.ebuild
new file mode 100644
index 0000000..debdf11
--- /dev/null
+++ b/media-sound/clementine/clementine-1.3_rc1-r1.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
+
+LANGS=" af ar be bg bn br bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl he he_IL hi hr hu hy ia id is it ja ka kk ko lt lv mr ms my nb nl oc pa pl pt pt_BR ro ru si_LK sk sl sr sr@latin sv te tr tr_TR uk uz vi zh_CN zh_TW"
+
+inherit cmake-utils flag-o-matic fdo-mime gnome2-utils virtualx
+[[ ${PV} == *9999* ]] && inherit git-2
+
+DESCRIPTION="A modern music player and library organizer based on Amarok 1.4 and Qt4"
+HOMEPAGE="http://www.clementine-player.org https://github.com/clementine-player/Clementine"
+[[ ${PV} == *9999* ]] || \
+SRC_URI="https://github.com/clementine-player/Clementine/archive/${PV/_}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~amd64 ~x86"
+IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote"
+IUSE+="${LANGS// / linguas_}"
+
+REQUIRED_USE="
+	udisks? ( dbus )
+	wiimote? ( dbus )
+"
+
+# qca dep is temporary for bug #489850
+COMMON_DEPEND="
+	dev-db/sqlite:=
+	>=dev-libs/glib-2.24.1-r1
+	dev-libs/libxml2
+	dev-libs/protobuf:=
+	dev-libs/qjson
+	>=dev-qt/qtcore-4.5:4
+	>=dev-qt/qtgui-4.5:4
+	>=dev-qt/qtopengl-4.5:4
+	>=dev-qt/qtsql-4.5:4[sqlite]
+	>=media-libs/chromaprint-0.6
+	media-libs/gstreamer:1.0
+	media-libs/gst-plugins-base:1.0
+	media-libs/libechonest:=[qt4]
+	>=media-libs/libmygpo-qt-1.0.8
+	>=media-libs/taglib-1.8[mp4]
+	sys-libs/zlib
+	virtual/glu
+	virtual/opengl
+	x11-libs/libX11
+	cdda? ( dev-libs/libcdio )
+	dbus? ( >=dev-qt/qtdbus-4.5:4 )
+	ipod? ( >=media-libs/libgpod-0.8.0 )
+	lastfm? ( >=media-libs/liblastfm-1[qt4(+)] )
+	mtp? ( >=media-libs/libmtp-1.0.0 )
+	moodbar? ( sci-libs/fftw:3.0 )
+	projectm? ( media-libs/glew:= )
+"
+# now only presets are used, libprojectm is internal
+# https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
+# r1966 "Compile with a static sqlite by default, since Qt 4.7 doesn't seem to expose the symbols we need to use FTS"
+RDEPEND="${COMMON_DEPEND}
+	dbus? ( udisks? ( sys-fs/udisks:2 ) )
+	mms? ( media-plugins/gst-plugins-libmms:1.0 )
+	mtp? ( gnome-base/gvfs )
+	projectm? ( >=media-libs/libprojectm-1.2.0 )
+	media-plugins/gst-plugins-meta:1.0
+	media-plugins/gst-plugins-soup:1.0
+	media-plugins/gst-plugins-taglib:1.0
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-libs/boost-1.39
+	virtual/pkgconfig
+	sys-devel/gettext
+	dev-qt/qttest:4
+	dev-cpp/gmock
+	box? ( dev-cpp/sparsehash )
+	dropbox? ( dev-cpp/sparsehash )
+	googledrive? ( dev-cpp/sparsehash )
+	skydrive? ( dev-cpp/sparsehash )
+	ubuntu-one? ( dev-cpp/sparsehash )
+	test? ( gnome-base/gsettings-desktop-schemas )
+"
+DOCS="Changelog"
+
+# https://github.com/clementine-player/Clementine/issues/3935
+RESTRICT="test"
+
+MY_P="${P/_}"
+# Switch to ^ when we switch to EAPI=6.
+[[ ${PV} == *9999* ]] || \
+S="${WORKDIR}/C${MY_P:1}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.3_rc1-cmake.patch
+	"${FILESDIR}"/${PN}-1.3_rc1-fix-tokenizer.patch
+)
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	# some tests fail or hang
+	sed -i \
+		-e '/add_test_file(translations_test.cpp/d' \
+		tests/CMakeLists.txt || die
+}
+
+src_configure() {
+	local langs x
+	for x in ${LANGS}; do
+		use linguas_${x} && langs+=" ${x}"
+	done
+
+	# spotify is not in portage
+	local mycmakeargs=(
+		-DBUILD_WERROR=OFF
+		-DLINGUAS="${langs}"
+		-DBUNDLE_PROJECTM_PRESETS=OFF
+		-DUSE_SYSTEM_PROJECTM=ON
+		$(cmake-utils_use cdda ENABLE_AUDIOCD)
+		$(cmake-utils_use dbus ENABLE_DBUS)
+		$(cmake-utils_use udisks ENABLE_DEVICEKIT)
+		$(cmake-utils_use ipod ENABLE_LIBGPOD)
+		$(cmake-utils_use lastfm ENABLE_LIBLASTFM)
+		$(cmake-utils_use mtp ENABLE_LIBMTP)
+		$(cmake-utils_use moodbar ENABLE_MOODBAR)
+		-DENABLE_GIO=ON
+		$(cmake-utils_use wiimote ENABLE_WIIMOTEDEV)
+		$(cmake-utils_use projectm ENABLE_VISUALISATIONS)
+		$(usex projectm '-DUSE_SYSTEM_PROJECTM=ON' '')
+		$(cmake-utils_use box ENABLE_BOX)
+		$(cmake-utils_use dropbox ENABLE_DROPBOX)
+		$(cmake-utils_use googledrive ENABLE_GOOGLE_DRIVE)
+		$(cmake-utils_use skydrive ENABLE_SKYDRIVE)
+		$(cmake-utils_use ubuntu-one ENABLE_UBUNTU_ONE)
+		-DENABLE_SPOTIFY_BLOB=OFF
+		-DENABLE_BREAKPAD=OFF
+		#$(cmake-utils_use !system-sqlite STATIC_SQLITE)
+		#$(cmake-utils_use system-sqlite I_HATE_MY_USERS)
+		#$(cmake-utils_use system-sqlite MY_USERS_WILL_SUFFER_BECAUSE_OF_ME)
+		-DUSE_BUILTIN_TAGLIB=OFF
+		-DUSE_SYSTEM_GMOCK=ON
+		)
+
+	use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
+
+	cmake-utils_src_configure
+}
+
+src_test() {
+	cd "${CMAKE_BUILD_DIR}" || die
+	Xemake test
+}
+
+pkg_preinst() {
+	gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	fdo-mime_desktop_database_update
+	gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+	fdo-mime_desktop_database_update
+	gnome2_icon_cache_update
+}

diff --git a/media-sound/clementine/files/clementine-1.3_rc1-fix-tokenizer.patch b/media-sound/clementine/files/clementine-1.3_rc1-fix-tokenizer.patch
new file mode 100644
index 0000000..6413bf7
--- /dev/null
+++ b/media-sound/clementine/files/clementine-1.3_rc1-fix-tokenizer.patch
@@ -0,0 +1,21 @@
+https://github.com/clementine-player/Clementine/issues/5297
+
+--- src/core/database.cpp
++++ src/core/database.cpp
+@@ -265,6 +265,16 @@
+   StaticInit();
+ 
+   {
++#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
++    QVariant v = db.driver()->handle();
++    if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
++      sqlite3* handle = *static_cast<sqlite3**>(v.data());
++      if (handle) {
++        sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
++      }
++    }
++#endif
++
+     QSqlQuery set_fts_tokenizer("SELECT fts3_tokenizer(:name, :pointer)", db);
+     set_fts_tokenizer.bindValue(":name", "unicode");
+     set_fts_tokenizer.bindValue(


             reply	other threads:[~2016-03-16  0:48 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-16  0:48 Jason Donenfeld [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-04-17  4:33 [gentoo-commits] repo/gentoo:master commit in: media-sound/clementine/, media-sound/clementine/files/ Jason Donenfeld
2016-04-27 12:22 Lars Wendler
2016-05-03 14:59 Lars Wendler
2016-09-13  8:04 David Seifert
2016-12-26 16:14 Lars Wendler
2017-01-04 15:07 Lars Wendler
2017-05-16 19:53 Lars Wendler
2017-11-21 10:19 Andreas Sturmlechner
2017-12-08 18:32 Andreas Sturmlechner
2018-03-22 18:02 Andreas Sturmlechner
2018-04-26  3:32 Andreas Sturmlechner
2018-12-02 18:43 Andreas Sturmlechner
2018-12-02 18:43 Andreas Sturmlechner
2020-05-28  8:56 Lars Wendler
2023-01-02 12:32 Viorel Munteanu
2025-01-13 21:54 Andreas Sturmlechner

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=1458089316.bd4a5b8e468ba801b5f6d5f790af73d0cbc84c52.zx2c4@gentoo \
    --to=zx2c4@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