diff options
Diffstat (limited to 'sys-apps/iotools/iotools-1.4.ebuild')
-rw-r--r-- | sys-apps/iotools/iotools-1.4.ebuild | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sys-apps/iotools/iotools-1.4.ebuild b/sys-apps/iotools/iotools-1.4.ebuild new file mode 100644 index 000000000000..4b470a70670e --- /dev/null +++ b/sys-apps/iotools/iotools-1.4.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="4" + +inherit eutils toolchain-funcs + +DESCRIPTION="Simple commands to access hardware device registers" +HOMEPAGE="https://code.google.com/p/iotools/" +SRC_URI="https://iotools.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="static make-symlinks" + +src_prepare() { + epatch "${FILESDIR}"/${P}-cpuid-pic.patch + epatch "${FILESDIR}"/${P}-ldflags.patch + sed -i 's:-Werror::' Makefile || die +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + STATIC=$(usex static 1 0) \ + IOTOOLS_DEBUG="${CFLAGS}" +} + +src_install() { + dosbin iotools + + # Note: This is done manually because invoking the iotools binary + # when cross-compiling will likely fail. + local known_cmds="and btr bts busy_loop cmos_read cmos_write cpu_list cpuid io_read16 io_read32 io_read8 io_write16 io_write32 io_write8 mmio_dump mmio_read16 mmio_read32 mmio_read64 mmio_read8 mmio_write16 mmio_write32 mmio_write64 mmio_write8 not or pci_list pci_read16 pci_read32 pci_read8 pci_write16 pci_write32 pci_write8 rdmsr rdtsc runon shl shr smbus_quick smbus_read16 smbus_read8 smbus_readblock smbus_receive_byte smbus_send_byte smbus_write16 smbus_write8 smbus_writeblock wrmsr xor" + if ! tc-is-cross-compiler ; then + local check_cmds=$(echo $(./iotools --list-cmds 2>/dev/null | grep '^ ' | LC_ALL=C sort)) + if [[ ${known_cmds} != "${check_cmds:-${known_cmds}}" ]] ; then + eerror "known_cmds = ${known_cmds}" + eerror "check_cmds = ${check_cmds}" + die "need to update known_cmds cache in the ebuild" + fi + fi + + if use make-symlinks ; then + local cmd + for cmd in ${known_cmds} ; do + dosym iotools /usr/sbin/${cmd} + done + fi +} |