You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-go/qt/qt-0_pre20200904-r1.ebuild

138 lines
4.2 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module xdg-utils
# Warning: the current upstream go.sum is borked, this is what one gets having
# run 'go mod tidy' and subsequently removed the packages related to bundled Qt libs.
EGO_SUM=(
"github.com/davecgh/go-spew v1.1.0/go.mod"
"github.com/davecgh/go-spew v1.1.1"
"github.com/davecgh/go-spew v1.1.1/go.mod"
"github.com/golang/crypto v0.0.0-20190418165655-df01cb2cc480"
"github.com/golang/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod"
"github.com/golang/net v0.0.0-20190420063019-afa5a82059c6/go.mod"
"github.com/golang/sys v0.0.0-20190419153524-e8e3143a4f4a"
"github.com/golang/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod"
"github.com/golang/text v0.3.1-0.20190410012825-f4905fbd45b6/go.mod"
"github.com/golang/tools v0.0.0-20190420181800-aa740d480789"
"github.com/golang/tools v0.0.0-20190420181800-aa740d480789/go.mod"
"github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e"
"github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e/go.mod"
"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
"github.com/konsorten/go-windows-terminal-sequences v1.0.2"
"github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod"
"github.com/pmezard/go-difflib v1.0.0"
"github.com/pmezard/go-difflib v1.0.0/go.mod"
"github.com/sirupsen/logrus v1.4.1"
"github.com/sirupsen/logrus v1.4.1/go.mod"
"github.com/stretchr/objx v0.1.0/go.mod"
"github.com/stretchr/objx v0.1.1/go.mod"
"github.com/stretchr/testify v1.2.2/go.mod"
"github.com/stretchr/testify v1.3.0"
"github.com/stretchr/testify v1.3.0/go.mod"
)
go-module_set_globals
EGIT_COMMIT="c0c124a5770d357908f16fa57e0aa0ec6ccd3f91"
DESCRIPTION="Qt5 Go bindings"
HOMEPAGE="https://github.com/therecipe/qt/"
SRC_URI="https://github.com/therecipe/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
${EGO_SUM_SRC_URI}"
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64"
# As of 2021-01-20 the test 'widgets/textedit' calls methods which do not exist, at least in qt-5.15.
# TODO: figure out how to disable this test.
RESTRICT="test"
# We need qt-docs[html] because binding generation depends on core .index files
# installed by this USE flag.
RDEPEND="dev-qt/designer:5=
dev-qt/qt-docs:5=[html]
dev-qt/qtbluetooth:5=
dev-qt/qtcharts:5=
dev-qt/qtcore:5=
dev-qt/qtdatavis3d:5=
dev-qt/qtdbus:5=
dev-qt/qtgamepad:5=
dev-qt/qthelp:5=
dev-qt/qtlocation:5=
dev-qt/qtmultimedia:5=[widgets]
dev-qt/qtpositioning:5=
dev-qt/qtquickcontrols2:5=
dev-qt/qtscxml:5=
dev-qt/qtsensors:5=
dev-qt/qtserialbus:5=
dev-qt/qtserialport:5=
dev-qt/qtspeech:5=
dev-qt/qtsql:5=
dev-qt/qtsvg:5=
dev-qt/qtvirtualkeyboard:5=
dev-qt/qtwebchannel:5=
dev-qt/qtwebengine:5=
dev-qt/qtwebsockets:5=
dev-qt/qtwebview:5=
"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-0_pre20200904-r1-disable_modules.patch
"${FILESDIR}"/${PN}-0_pre20200904-r1-unbundle_qt.patch
)
S="${WORKDIR}"/${PN}-${EGIT_COMMIT}
src_prepare() {
xdg_environment_reset
cp "${FILESDIR}"/${PN}-0_pre20200904-r1-go.mod go.mod || die
cp "${FILESDIR}"/${PN}-0_pre20200904-r1-go.sum go.sum || die
default
}
src_configure() {
export QT_PKG_CONFIG=true
export QT_DOC_DIR="${EPREFIX}/usr/share/qt5-doc"
}
src_compile() {
# Not a typo, all that gets installed here is the bootstrap for generating
# and building actual bindings
go install -v -work -x -tags=no_env ./cmd/... || die
# qtsetup uses GOFLAGS as 'go list' arguments
GOFLAGS='' "$(go env GOPATH)"/bin/qtsetup -failfast -test=false || die
}
src_test() {
GOOFLAGS='' "$(go env GOPATH)"/bin/qtsetup -failfast test || die
}
#src_install() {
# local EGO_PN="github.com/therecipe/qt"
#
# rm -rf vendor
# rm -rf .git*
# find internal/examples -type d -name deploy -exec rm -rf {} \;
# find . -name '*.c' -exec rm -f {} \;
# find . -name '*.h' -exec rm -f {} \;
#
# insinto $(dirname "$(get_golibdir)/src/${EGO_PN%/*}")
# doins -r src/${EGO_PN%/*}
#
# insinto $(dirname "$(get_golibdir)/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_PN%/*}")
# doins -r pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_PN%/*}
#
# # Not sure if we still need qtsetup - but just in case, install all binaries
# exeinto "$(get_golibdir)"/bin
# doexe bin/*
#}