dev-db/qt5-sqlcipher: More general handling of cached versions.
authorUlrich Müller <ulm@gentoo.org>
Sat, 14 Apr 2018 19:39:58 +0000 (21:39 +0200)
committerUlrich Müller <ulm@gentoo.org>
Sat, 14 Apr 2018 19:43:21 +0000 (21:43 +0200)
Package-Manager: Portage-2.3.28, Repoman-2.3.9

dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r2.ebuild [moved from dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r1.ebuild with 57% similarity]

similarity index 57%
rename from dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r1.ebuild
rename to dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r2.ebuild
index 3a85ab072f1cecfe8f924545fa88f84ca0f6c5e5..952ae0ab2e7491f108dd0e8af742fee6b738c665 100644 (file)
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-inherit cmake-utils
+inherit cmake-utils eapi7-ver
 
 DESCRIPTION="Qt SQL driver plugin for SQLCipher"
 HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher"
@@ -15,7 +15,7 @@ KEYWORDS="~amd64"
 
 DEPEND=">=dev-db/sqlcipher-3.4.1
        >=dev-qt/qtcore-5.7.1:5=
-       >=dev-qt/qtsql-5.7.1:5=[sqlite] <dev-qt/qtsql-5.9.6:5=[sqlite]"
+       >=dev-qt/qtsql-5.7.1:5=[sqlite] <dev-qt/qtsql-5.10:5=[sqlite]"
 RDEPEND="${DEPEND}"
 
 DOCS=(README.md)
@@ -23,9 +23,21 @@ DOCS=(README.md)
 src_prepare() {
        eapply "${FILESDIR}"/${PN}-install-path.patch
        sed -i -e "s/@LIBDIR@/$(get_libdir)/" CMakeLists.txt || die
-       # workaround for bug 647624 (Qt 5.9.3 and 5.9.4 files are identical)
-       cp -R qt-file-cache/5.9.{3,4} || die
-       cp -R qt-file-cache/5.9.{3,5} || die
+
+       local v=$(best_version dev-qt/qtsql:5)
+       v=$(ver_cut 1-3 ${v#*/qtsql-})
+       [[ -n ${v} ]] || die "could not determine qtsql version"
+       if ! [[ -d qt-file-cache/${v} ]]; then
+               local vc
+               case $(ver_cut 1-2 ${v}) in
+                       5.7) vc=5.7.1 ;;
+                       5.9) vc=5.9.3 ;;
+                       *) die "qtsql-${v} not supported" ;;
+               esac
+               elog "qtsql-${v} not in cache, using ${vc} instead"
+               cp -R qt-file-cache/${vc} qt-file-cache/${v} || die
+       fi
+
        cmake-utils_src_prepare
 }