diff options
Diffstat (limited to 'dev-lang/fbc/fbc-1.07.1.ebuild')
-rw-r--r-- | dev-lang/fbc/fbc-1.07.1.ebuild | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/dev-lang/fbc/fbc-1.07.1.ebuild b/dev-lang/fbc/fbc-1.07.1.ebuild new file mode 100644 index 000000000..83399ea73 --- /dev/null +++ b/dev-lang/fbc/fbc-1.07.1.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="A free/open source, multi-platform BASIC compiler." +HOMEPAGE="https://www.freebasic.net" +SRC_URI="https://github.com/freebasic/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/freebasic/${PN}/releases/download/${PV}/FreeBASIC-${PV}-source-bootstrap.tar.xz" + +LICENSE="FDL-1.2 GPL-2+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gpm libffi opengl X" + +DEPEND=" + sys-libs/ncurses:= + gpm? ( sys-libs/gpm ) + libffi? ( virtual/libffi ) + opengl? ( virtual/opengl ) + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXpm + x11-libs/libXrandr + x11-libs/libXrender + )" +RDEPEND="${DEPEND}" + +PATCHES="${FILESDIR}/${PV}" + +DOCS="${S}/doc/fbc.1" + +BOOTSTRAP_S="${WORKDIR}/FreeBASIC-${PV}-source-bootstrap" + +src_unpack() { + # We only need bootstrap source code if fbc is not already present + if ! has_version dev-lang/fbc; then + unpack FreeBASIC-${PV}-source-bootstrap.tar.xz + fi + unpack ${P}.tar.gz +} + +src_prepare() { + # We only need bootstrap source code if fbc is not already present + if ! has_version dev-lang/fbc; then + cd "${BOOTSTRAP_S}" || die "cd failed" + eapply "${FILESDIR}/${PV}" + cd "${S}" || die "cd failed" + fi + default +} + +src_compile() { + local fbc="fbc" + local fbcflags="" + + # We only need bootstrap compiler if fbc is not already present + if ! has_version dev-lang/fbc; then + cd "${BOOTSTRAP_S}" || die "cd failed" + + # Build bootstrap compiler + emake bootstrap-minimal + + # Set bootstrap compiler to build fbc + fbc="${BOOTSTRAP_S}/bin/fbc" + fbcflags="-i ${BOOTSTRAP_S}/inc" + + cd "${S}" || die "cd failed" + fi + + local xcflags=( + $(usex gpm "" "-DDISABLE_GPM") + $(usex libffi "" " -DDISABLE_FFI") + $(usex opengl "" " -DDISABLE_OPENGL") + $(usex X "" " -DDISABLE_X11") + ) + + # fbc requires a space after the -Wl option + local fblflags=${LDFLAGS//-Wl,/-Wl } + + # Build fbc + emake CFLAGS="${CFLAGS} ${xcflags[*]}" FBC="${fbc}" FBCFLAGS="${fbcflags}" FBLFLAGS="${fblflags}" TARGET=${CHOST} +} + +src_install() { + emake DESTDIR="${D}" prefix="/usr" TARGET=${CHOST} install + einstalldocs +} |