X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mjo-overlay.git;a=blobdiff_plain;f=dev-db%2Fpgmodeler%2Fpgmodeler-0.7.2_alpha1.ebuild;fp=dev-db%2Fpgmodeler%2Fpgmodeler-0.7.2_alpha1.ebuild;h=dc11d5c8f2122a0235ea92bf90f9cb82277d3263;hp=0000000000000000000000000000000000000000;hb=75f85ad6914607652c6e69a4d514970060425ac6;hpb=84437fa78ff277db49ffb5d7d3bbd7216ccfffb1 diff --git a/dev-db/pgmodeler/pgmodeler-0.7.2_alpha1.ebuild b/dev-db/pgmodeler/pgmodeler-0.7.2_alpha1.ebuild new file mode 100644 index 0000000..dc11d5c --- /dev/null +++ b/dev-db/pgmodeler/pgmodeler-0.7.2_alpha1.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit qmake-utils multilib + +DESCRIPTION="Design, diagram, and deploy PostgreSQL databases" +HOMEPAGE="http://www.pgmodeler.com.br/" +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV/_/-}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +RDEPEND="dev-db/postgresql-base + dev-libs/libxml2 + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +DOCS=( CHANGELOG.md README.md ) + +S="${WORKDIR}/${PN}-${PV/_/-}" + +src_prepare() { + # Don't build the plugins, their build system doesn't work with a + # non-default LIBDIR. See, + # + # https://github.com/pgmodeler/pgmodeler/issues/479 + # + sed -i -e '/plugins\/dummy/d' -e '/plugins\/xml2object/d' pgmodeler.pro \ + || die 'failed to disable plugins' + + sed -i -e 's/TARGET = pgmodeler/TARGET = pgmodeler-bin/' main/main.pro \ + || die 'failed to rename binary' +} + +src_configure() { + local bindir="${D}usr/bin" + local libdir="${D}usr/$(get_libdir)" + local resdir="${D}usr/share/${PN}" + mkdir -p "${bindir}" "${libdir}" "${resdir}" || die + + eqmake5 "${PN}.pro" \ + BINDIR+="${bindir}" LIBDIR+="${libdir}" RESDIR+="${resdir}" +} + +src_compile() { + emake +} + +src_install() { + default + + # Install our shell script wrapper. + cat <<-EOF > "${T}/pgmodeler" + #!/bin/bash + + export PGMODELER_ROOT="${ROOT}usr/share/pgmodeler" + + # There is no good way to install pgmodeler globally for more than one + # user, since it requires write access to its own conf files. As a + # workaround, we install the upstream conf files globally, and copy them + # to the user's home directory before launching pgmodeler. + USERDIR="\${HOME}/.pgmodeler" + if [ ! -d "\${USERDIR}/conf" ]; then + mkdir -p "\${USERDIR}" + cp --no-clobber -a "\${PGMODELER_ROOT}/conf" "\${USERDIR}/" + fi + + export PGMODELER_CONF_DIR="\${USERDIR}/conf" + export PGMODELER_SCHEMAS_DIR="\${PGMODELER_ROOT}/schemas" + export PGMODELER_LANG_DIR="\${PGMODELER_ROOT}/lang" + export PGMODELER_TMP_DIR="${ROOT}tmp" + export PGMODELER_PLUGINS_DIR="\${PGMODELER_ROOT}/plugins" # Not installed + export PGMODELER_CHANDLER_PATH="${ROOT}usr/bin/pgmodeler-ch" + + pgmodeler-bin + EOF + + dobin "${T}/pgmodeler" +} + +src_test() { + einfo ">>> Test phase: ${CATEGORY}/${PF}" + cd "${S}/tests" || die + eqmake5 tests.pro + emake + # Before `make install`, all of the binaries and libraries are + # stored in ${S}/build. + PGMODELER_ROOT="${S}/build" ../build/tests || die "tests failed" +}