summaryrefslogtreecommitdiff
blob: 62ffe565a5e1689a8a4284e3b71c57e25ea1e2ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit toolchain-funcs flag-o-matic

DESCRIPTION="Donald Knuth's MMIX Assembler and Simulator"
HOMEPAGE="https://www-cs-faculty.stanford.edu/~knuth/mmix.html http://mmix.cs.hm.edu"
SRC_URI="http://mmix.cs.hm.edu/src/${P}.tgz"
S="${WORKDIR}"

LICENSE="mmix"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc"

BDEPEND="
	virtual/tex-base
	doc? ( dev-texlive/texlive-plaingeneric )
"
# media-sound/mmix and dev-lang/mmix both install 'mmix' binary, bug #426874
RDEPEND="!!media-sound/mmix"

PATCHES=(
	"${FILESDIR}"/${PN}-20110420-makefile.patch
	"${FILESDIR}"/${PN}-20131017-format-security.patch
	"${FILESDIR}"/${PN}-20160804-gcc-10.patch
	"${FILESDIR}"/${PN}-20160804-implicit-int.patch
)

src_compile() {
	append-flags -std=gnu17
	export VARTEXFONTS=${T}/fonts
	emake all \
		CFLAGS="${CFLAGS}" \
		CC="$(tc-getCC)"

	if use doc ; then
		emake doc
	fi
}

src_install() {
	dobin ${PN} ${PN}al m${PN} mmotype abstime
	dodoc README ${PN}.1

	use doc && dodoc *.ps
}