From 23e5561a2757175019959ef9a8ed5417238d3d8d Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Mon, 21 Sep 2015 15:52:10 -0400 Subject: dev-util/emilpro: fix for new binutils and fix bug #553254 --- dev-util/emilpro/emilpro-3-r1.ebuild | 58 ------------------ dev-util/emilpro/emilpro-3-r2.ebuild | 65 ++++++++++++++++++++ dev-util/emilpro/emilpro-9999.ebuild | 13 +++- .../files/emilpro-9999-use-gentoo-binutils.patch | 39 ++++++++++++ dev-util/emilpro/files/or1k-2.patch | 22 +++++++ dev-util/emilpro/files/or1k.patch | 70 ++++++++++++++++++++++ 6 files changed, 206 insertions(+), 61 deletions(-) delete mode 100644 dev-util/emilpro/emilpro-3-r1.ebuild create mode 100644 dev-util/emilpro/emilpro-3-r2.ebuild create mode 100644 dev-util/emilpro/files/emilpro-9999-use-gentoo-binutils.patch create mode 100644 dev-util/emilpro/files/or1k-2.patch create mode 100644 dev-util/emilpro/files/or1k.patch (limited to 'dev-util/emilpro') diff --git a/dev-util/emilpro/emilpro-3-r1.ebuild b/dev-util/emilpro/emilpro-3-r1.ebuild deleted file mode 100644 index b5c741bf4e31..000000000000 --- a/dev-util/emilpro/emilpro-3-r1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -inherit cmake-utils eutils - -DESCRIPTION="a graphical disassembler for a large number of instruction sets" -HOMEPAGE="http://www.emilpro.com/" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://github.com/SimonKagstrom/emilpro" - inherit git-r3 - KEYWORDS="" - SRC_URI="mirror://gnu/binutils/binutils-2.23.2.tar.bz2" -else - SRC_URI="http://www.emilpro.com/${P}.tar.gz - !system-binutils? ( mirror://gnu/binutils/binutils-2.23.2.tar.bz2 )" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="+system-binutils" - -DEPEND="|| ( dev-libs/elfutils dev-libs/libelf ) - dev-cpp/gtkmm:3.0 - dev-cpp/gtksourceviewmm:3.0 - dev-cpp/libxmlpp:2.6 - system-binutils? ( sys-devel/binutils[multitarget] ) - net-misc/curl" -RDEPEND="${DEPEND}" - -src_prepare() { - epatch "${FILESDIR}"/respect-cflags.patch - if use system-binutils; then - epatch "${FILESDIR}"/use-gentoo-binutils.patch - else - sed -i "s#wget -O binutils.tar.bz2 https://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2#cp \"${DISTDIR}/binutils-2.23.2.tar.bz2\" ./binutils.tar.bz2#" cmake/BuildBinutils.cmake - fi - cmake-utils_src_prepare -} - -src_compile() { - if use system-binutils; then - cmake-utils_src_compile - else - #bundled binutils is broken, always builds with one thread - #but somehow it still fails if I don't do this - cd "${BUILD_DIR}" - emake -j1 - fi -} - -src_install() { - dobin "${BUILD_DIR}"/emilpro -} diff --git a/dev-util/emilpro/emilpro-3-r2.ebuild b/dev-util/emilpro/emilpro-3-r2.ebuild new file mode 100644 index 000000000000..fb559469a4b5 --- /dev/null +++ b/dev-util/emilpro/emilpro-3-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils eutils + +DESCRIPTION="a graphical disassembler for a large number of instruction sets" +HOMEPAGE="http://www.emilpro.com/" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/SimonKagstrom/emilpro" + inherit git-r3 + KEYWORDS="" + SRC_URI="mirror://gnu/binutils/binutils-2.23.2.tar.bz2" +else + SRC_URI="http://www.emilpro.com/${P}.tar.gz + !system-binutils? ( mirror://gnu/binutils/binutils-2.23.2.tar.bz2 )" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="+system-binutils" + +DEPEND="|| ( dev-libs/elfutils dev-libs/libelf ) + dev-cpp/gtkmm:3.0 + dev-cpp/gtksourceviewmm:3.0 + dev-cpp/libxmlpp:2.6 + dev-cpp/glibmm + dev-cpp/pangomm + dev-cpp/cairomm + dev-libs/libsigc++:2 + dev-libs/glib:2 + system-binutils? ( >=sys-devel/binutils-2.25.1-r1:*[multitarget] ) + net-misc/curl" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/respect-cflags.patch + if use system-binutils; then + epatch "${FILESDIR}"/use-gentoo-binutils.patch + else + sed -i "s#wget -O binutils.tar.bz2 https://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2#cp \"${DISTDIR}/binutils-2.23.2.tar.bz2\" ./binutils.tar.bz2#" cmake/BuildBinutils.cmake + fi + epatch "${FILESDIR}"/or1k.patch + epatch "${FILESDIR}"/or1k-2.patch + cmake-utils_src_prepare +} + +src_compile() { + if use system-binutils; then + cmake-utils_src_compile + else + #bundled binutils is broken, always builds with one thread + #but somehow it still fails if I don't do this + cd "${BUILD_DIR}" + emake -j1 + fi +} + +src_install() { + dobin "${BUILD_DIR}"/emilpro +} diff --git a/dev-util/emilpro/emilpro-9999.ebuild b/dev-util/emilpro/emilpro-9999.ebuild index cba20f0484c9..f91969cc2e86 100644 --- a/dev-util/emilpro/emilpro-9999.ebuild +++ b/dev-util/emilpro/emilpro-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -28,13 +28,20 @@ DEPEND="|| ( dev-libs/elfutils dev-libs/libelf ) dev-cpp/gtkmm:3.0 dev-cpp/gtksourceviewmm:3.0 dev-cpp/libxmlpp:2.6 - system-binutils? ( sys-devel/binutils[multitarget] ) + dev-cpp/glibmm + dev-cpp/pangomm + dev-cpp/cairomm + dev-libs/libsigc++:2 + dev-libs/glib:2 + system-binutils? ( >=sys-devel/binutils-2.25.1-r1:*[multitarget] ) net-misc/curl" +# automagic dep +# dev-util/capstone RDEPEND="${DEPEND}" src_prepare() { if use system-binutils; then - epatch "${FILESDIR}"/use-gentoo-binutils.patch + epatch "${FILESDIR}"/${P}-use-gentoo-binutils.patch else sed -i "s#wget -O binutils.tar.bz2 https://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2#cp \"${DISTDIR}/binutils-2.23.2.tar.bz2\" ./binutils.tar.bz2#" cmake/BuildBinutils.cmake fi diff --git a/dev-util/emilpro/files/emilpro-9999-use-gentoo-binutils.patch b/dev-util/emilpro/files/emilpro-9999-use-gentoo-binutils.patch new file mode 100644 index 000000000000..8cfa9f52b079 --- /dev/null +++ b/dev-util/emilpro/files/emilpro-9999-use-gentoo-binutils.patch @@ -0,0 +1,39 @@ +--- CMakeLists.txt.orig 2015-06-25 22:02:55.041406946 +0200 ++++ CMakeLists.txt 2015-06-25 22:03:51.841696845 +0200 +@@ -11,7 +11,6 @@ + set (BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + # Dependencies +-include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/BuildBinutils.cmake) + + find_package (LibElf REQUIRED) + find_package (PkgConfig REQUIRED) +@@ -30,10 +29,6 @@ + pkg_check_modules(LIBCURL REQUIRED libcurl) + + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1 -pthread") +-LINK_DIRECTORIES( +- ${CMAKE_BINARY_DIR}/install-binutils/lib ${CMAKE_BINARY_DIR}/install-binutils/lib64 +- ${CMAKE_BINARY_DIR}/binutils/libiberty +- ) + + if (HAVE_BFD_MULTIARCH) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_BFD_MULTIARCH") +@@ -109,7 +104,6 @@ + set_property(SOURCE src/emilpro.cc APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/built_in_instruction_models.hh) + + include_directories( +- ${CMAKE_BINARY_DIR}/install-binutils/include/ + src/gtk/include/ + src/include/ + ${CMAKE_BINARY_DIR} +@@ -131,9 +125,6 @@ + tools/squash-instruction-models.cc + ) + +-set_property(TARGET emilpro APPEND PROPERTY OBJECT_DEPENDS binutils) +-set_property(TARGET tools/squash-instruction-models APPEND PROPERTY OBJECT_DEPENDS binutils) +- + set (BASE_LIBS + ${LIBELF_LIBRARIES} + opcodes diff --git a/dev-util/emilpro/files/or1k-2.patch b/dev-util/emilpro/files/or1k-2.patch new file mode 100644 index 000000000000..9dd4e195342a --- /dev/null +++ b/dev-util/emilpro/files/or1k-2.patch @@ -0,0 +1,22 @@ +From 5b41e51bfb9fdeac7c6a2441badf8c3b92463fef Mon Sep 17 00:00:00 2001 +From: Alex Chernetz +Date: Fri, 1 May 2015 14:34:31 -0700 +Subject: [PATCH] Function is print_insn_or1k, not print_insn_little_or1k + +--- + src/bfd-disassembly.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bfd-disassembly.cc b/src/bfd-disassembly.cc +index bf3e768..eeecbe4 100644 +--- a/src/bfd-disassembly.cc ++++ b/src/bfd-disassembly.cc +@@ -38,7 +38,7 @@ class Disassembly : public IDisassembly, + m_arch[bfd_arch_m68k] = BfdArch(bfd_arch_m68k, bfd_mach_m68040, print_insn_m68k); /* Motorola 68xxx */ + m_arch[bfd_arch_vax] = BfdArch(bfd_arch_vax, 0, print_insn_vax); /* DEC Vax */ + m_arch[bfd_arch_i960] = BfdArch(bfd_arch_i960, 0, print_insn_i960); /* Intel 960 */ +- m_arch[bfd_arch_or1k] = BfdArch(bfd_arch_or1k, 0, print_insn_little_or1k); /* OpenRISC 32 */ ++ m_arch[bfd_arch_or1k] = BfdArch(bfd_arch_or1k, 0, print_insn_or1k); /* OpenRISC 32 */ + m_arch[bfd_arch_sparc] = BfdArch(bfd_arch_sparc, 0, print_insn_sparc); /* SPARC */ + m_arch[bfd_arch_spu] = BfdArch(bfd_arch_spu, 0, print_insn_spu); /* PowerPC SPU */ + m_arch[bfd_arch_i860] = BfdArch(bfd_arch_i860, 0, print_insn_i860); /* Intel 860 */ diff --git a/dev-util/emilpro/files/or1k.patch b/dev-util/emilpro/files/or1k.patch new file mode 100644 index 000000000000..e7a4392f0bdb --- /dev/null +++ b/dev-util/emilpro/files/or1k.patch @@ -0,0 +1,70 @@ +From f59c5f424a268313c1fcc009fd1e40c00bf6c4f2 Mon Sep 17 00:00:00 2001 +From: Alex Chernetz +Date: Fri, 1 May 2015 13:32:27 -0700 +Subject: [PATCH] or32 and openrisc architectures are replaced by or1k in + current binutils + +--- + src/architecturefactory.cc | 6 ++---- + src/bfd-disassembly.cc | 3 +-- + 2 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/src/architecturefactory.cc b/src/architecturefactory.cc +index 709b770..25ccf80 100644 +--- a/src/architecturefactory.cc ++++ b/src/architecturefactory.cc +@@ -10,7 +10,7 @@ ArchitectureFactory::ArchitectureFactory() : + m_architectureNameMap[(unsigned)bfd_arch_m68k] = "m68k"; + m_architectureNameMap[(unsigned)bfd_arch_vax] = "vax"; + m_architectureNameMap[(unsigned)bfd_arch_i960] = "i960"; +- m_architectureNameMap[(unsigned)bfd_arch_or32] = "or32"; ++ m_architectureNameMap[(unsigned)bfd_arch_or1k] = "or1k"; + m_architectureNameMap[(unsigned)bfd_arch_sparc] = "sparc"; + m_architectureNameMap[(unsigned)bfd_arch_mips] = "mips"; + m_architectureNameMap[(unsigned)bfd_arch_i386] = "i386"; +@@ -68,7 +68,6 @@ ArchitectureFactory::ArchitectureFactory() : + m_architectureNameMap[(unsigned)bfd_arch_cris] = "cris"; + m_architectureNameMap[(unsigned)bfd_arch_s390] = "s390"; + m_architectureNameMap[(unsigned)bfd_arch_score] = "score"; +- m_architectureNameMap[(unsigned)bfd_arch_openrisc] = "openrisc"; + m_architectureNameMap[(unsigned)bfd_arch_mmix] = "mmix"; + m_architectureNameMap[(unsigned)bfd_arch_xstormy16] = "xstormy16"; + m_architectureNameMap[(unsigned)bfd_arch_xc16x] = "xc16x"; +@@ -81,7 +80,7 @@ ArchitectureFactory::ArchitectureFactory() : + m_nameArchitectureMap["m68k"] = (unsigned)bfd_arch_m68k; + m_nameArchitectureMap["vax"] = (unsigned)bfd_arch_vax; + m_nameArchitectureMap["i960"] = (unsigned)bfd_arch_i960; +- m_nameArchitectureMap["or32"] = (unsigned)bfd_arch_or32; ++ m_nameArchitectureMap["or1k"] = (unsigned)bfd_arch_or1k; + m_nameArchitectureMap["sparc"] = (unsigned)bfd_arch_sparc; + m_nameArchitectureMap["mips"] = (unsigned)bfd_arch_mips; + m_nameArchitectureMap["i386"] = (unsigned)bfd_arch_i386; +@@ -139,7 +138,6 @@ ArchitectureFactory::ArchitectureFactory() : + m_nameArchitectureMap["cris"] = (unsigned)bfd_arch_cris; + m_nameArchitectureMap["s390"] = (unsigned)bfd_arch_s390; + m_nameArchitectureMap["score"] = (unsigned)bfd_arch_score; +- m_nameArchitectureMap["openrisc"] = (unsigned)bfd_arch_openrisc; + m_nameArchitectureMap["mmix"] = (unsigned)bfd_arch_mmix; + m_nameArchitectureMap["xstormy16"] = (unsigned)bfd_arch_xstormy16; + m_nameArchitectureMap["xc16x"] = (unsigned)bfd_arch_xc16x; +diff --git a/src/bfd-disassembly.cc b/src/bfd-disassembly.cc +index 5cda9e2..bf3e768 100644 +--- a/src/bfd-disassembly.cc ++++ b/src/bfd-disassembly.cc +@@ -38,7 +38,7 @@ class Disassembly : public IDisassembly, + m_arch[bfd_arch_m68k] = BfdArch(bfd_arch_m68k, bfd_mach_m68040, print_insn_m68k); /* Motorola 68xxx */ + m_arch[bfd_arch_vax] = BfdArch(bfd_arch_vax, 0, print_insn_vax); /* DEC Vax */ + m_arch[bfd_arch_i960] = BfdArch(bfd_arch_i960, 0, print_insn_i960); /* Intel 960 */ +- m_arch[bfd_arch_or32] = BfdArch(bfd_arch_or32, 0, print_insn_little_or32); /* OpenRISC 32 */ ++ m_arch[bfd_arch_or1k] = BfdArch(bfd_arch_or1k, 0, print_insn_little_or1k); /* OpenRISC 32 */ + m_arch[bfd_arch_sparc] = BfdArch(bfd_arch_sparc, 0, print_insn_sparc); /* SPARC */ + m_arch[bfd_arch_spu] = BfdArch(bfd_arch_spu, 0, print_insn_spu); /* PowerPC SPU */ + m_arch[bfd_arch_i860] = BfdArch(bfd_arch_i860, 0, print_insn_i860); /* Intel 860 */ +@@ -89,7 +89,6 @@ class Disassembly : public IDisassembly, + m_arch[bfd_arch_rl78] = BfdArch(bfd_arch_rl78, 0, print_insn_rl78); + m_arch[bfd_arch_rx] = BfdArch(bfd_arch_rx, 0, print_insn_rx); /* Renesas RX. */ + m_arch[bfd_arch_s390] = BfdArch(bfd_arch_s390, bfd_mach_s390_64, print_insn_s390); /* IBM s390 */ +- m_arch[bfd_arch_openrisc] = BfdArch(bfd_arch_openrisc, 0, print_insn_openrisc); /* OpenRISC */ + m_arch[bfd_arch_mmix] = BfdArch(bfd_arch_mmix, 0, print_insn_mmix); /* Donald Knuth's educational processor. */ + m_arch[bfd_arch_xstormy16] = BfdArch(bfd_arch_xstormy16, 0, print_insn_xstormy16); + m_arch[bfd_arch_msp430] = BfdArch(bfd_arch_msp430, 0, print_insn_msp430); /* Texas Instruments MSP430 architecture. */ -- cgit v1.2.3-65-gdbad