mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-07-22 06:57:59 +02:00
Closes: https://bugs.gentoo.org/942204 Closes: https://bugs.gentoo.org/942050 Closes: https://bugs.gentoo.org/923881 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
111 lines
2.5 KiB
Bash
111 lines
2.5 KiB
Bash
# Copyright 1999-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit elisp-common toolchain-funcs
|
|
|
|
DESCRIPTION="Functional programming language with dependent types"
|
|
HOMEPAGE="https://www.cs.bu.edu/~hwxi/atslangweb/
|
|
https://sourceforge.net/projects/ats2-lang/"
|
|
|
|
SRC_URI="
|
|
http://downloads.sourceforge.net/sourceforge/ats2-lang/ATS2-Postiats-gmp-${PV}.tgz
|
|
|
|
https://sources.debian.org/data/main/a/ats2-lang/${PV}-2/debian/patches/deprecated-cl-package
|
|
-> ${PN}-${PV}-2-deprecated-cl-package.patch
|
|
https://sources.debian.org/data/main/a/ats2-lang/${PV}-2/debian/patches/prelude-function-prototypes
|
|
-> ${PN}-${PV}-2-prelude-function-prototypes.patch
|
|
"
|
|
S="${WORKDIR}/ATS2-Postiats-gmp-${PV}"
|
|
|
|
LICENSE="GPL-3+"
|
|
SLOT="0/${PV}"
|
|
KEYWORDS="~amd64 ~x86"
|
|
IUSE="emacs"
|
|
|
|
RDEPEND="
|
|
dev-libs/gmp:=
|
|
emacs? ( >=app-editors/emacs-25.3:* )
|
|
"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}/${PN}-0.4.2-makefile_dist.patch"
|
|
"${DISTDIR}/${PN}-0.4.2-2-deprecated-cl-package.patch"
|
|
"${DISTDIR}/${PN}-0.4.2-2-prelude-function-prototypes.patch"
|
|
)
|
|
|
|
SITEFILE="50${PN}-gentoo.el"
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
sed -i Makefile \
|
|
-e "/^CFLAGS/s|=| = ${CFLAGS}|" \
|
|
-e "/^LDFLAGS/s|=| = ${LDFLAGS}|" \
|
|
|| die
|
|
|
|
sed -i ccomp/atslib/Makefile \
|
|
-i src/CBOOT/Makefile \
|
|
-i utils/atscc/Makefile_build \
|
|
-i utils/myatscc/Makefile_build \
|
|
-e "s|ld |$(tc-getLD) |g" \
|
|
-e "s|-O2|${CFLAGS} ${LDFLAGS}|g" \
|
|
|| die
|
|
|
|
sed -i ccomp/atslib/Makefile \
|
|
-i src/Makefile \
|
|
-e "s|ar -r|$(tc-getAR) ${ARFLAGS} -r|g" \
|
|
|| die
|
|
|
|
sed -i contrib/CATS-atscc2js/Makefile \
|
|
-i src/CBOOT/Makefile \
|
|
-e "/^AR=/s|ar|$(tc-getAR) ${ARFLAGS}|" \
|
|
|| die
|
|
|
|
rm utils/emacs/flycheck-ats2.el || die
|
|
}
|
|
|
|
src_compile() {
|
|
emake -j1 CC="$(tc-getCC)" GCC="$(tc-getCC)" CCOMP="$(tc-getCC)" all
|
|
|
|
if use emacs ; then
|
|
cd utils/emacs || die
|
|
|
|
elisp-compile ./*.el
|
|
fi
|
|
}
|
|
|
|
src_install() {
|
|
emake -j1 DESTDIR="${D}" install
|
|
|
|
if use emacs ; then
|
|
cd utils/emacs || die
|
|
|
|
elisp-install "${PN}" ./*.el{,c}
|
|
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
|
fi
|
|
|
|
local ats2_dir="/usr/lib/${PN}-postiats-${PV}"
|
|
local contrib_dir="${ats2_dir}/contrib"
|
|
|
|
# Randomly generated.
|
|
local libatslib="${ED}${ats2_dir}/ccomp/atslib/lib/libatslib.a"
|
|
if [[ -f "${libatslib}" ]] ; then
|
|
rm "${libatslib}" || die
|
|
fi
|
|
|
|
# Broken symlinks.
|
|
rm "${ED}${contrib_dir}"/*/*/SATS/DOCUGEN/Makefile.gen || die
|
|
}
|
|
|
|
pkg_postinst() {
|
|
use emacs && elisp-site-regen
|
|
}
|
|
|
|
pkg_postrm() {
|
|
use emacs && elisp-site-regen
|
|
}
|