summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreroen <eroen-overlay@occam.eroen.eu>2016-12-17 00:08:25 +0100
committereroen <eroen-overlay@occam.eroen.eu>2016-12-17 00:09:06 +0100
commit78f5055285cbdb33250ac0b4f91530fa2d21ee9c (patch)
treea004df19b22ce0aa0e0b2d66b8fd2b23330f23d0
parentvte-0.46.1 - bump from gentoo + vte-ng patches (diff)
downloaderoen-78f5055285cbdb33250ac0b4f91530fa2d21ee9c.tar.gz
eroen-78f5055285cbdb33250ac0b4f91530fa2d21ee9c.tar.bz2
eroen-78f5055285cbdb33250ac0b4f91530fa2d21ee9c.zip
emilpro from gentoo with pthread patch
X-Bug-URL: https://github.com/SimonKagstrom/emilpro/issues/27 X-Gentoo-Bug: 584668 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=584668
-rw-r--r--dev-util/emilpro/Manifest2
-rw-r--r--dev-util/emilpro/emilpro-3-r3.ebuild66
-rw-r--r--dev-util/emilpro/files/emilpro-3-system-binutils.patch48
-rw-r--r--dev-util/emilpro/files/or1k-2.patch22
-rw-r--r--dev-util/emilpro/files/or1k.patch70
-rw-r--r--dev-util/emilpro/files/pthread.patch36
-rw-r--r--dev-util/emilpro/files/respect-cflags.patch12
-rw-r--r--dev-util/emilpro/metadata.xml9
8 files changed, 265 insertions, 0 deletions
diff --git a/dev-util/emilpro/Manifest b/dev-util/emilpro/Manifest
new file mode 100644
index 0000000..4f2ccc1
--- /dev/null
+++ b/dev-util/emilpro/Manifest
@@ -0,0 +1,2 @@
+DIST binutils-2.23.2.tar.bz2 21440347 SHA256 fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097 SHA512 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0a4ba38c43d2434da007137780cfe674de5414be5cf7ce7fbc6af6d16 WHIRLPOOL 1be65f03569d599899c5b57ac7aedbf90b311f9a47c1883dc62c0717b0757ebfb33e17ab3def8d0b805daabba67cf554463f88675c9f552a6fd8dbe7ca77b442
+DIST emilpro-3.tar.gz 120276 SHA256 6c4cf5d7debcc19a87bc61682d3adee4e2d1cdec2a06570f203130d6cf917748 SHA512 18a90dd672a4fb878f0da1eefacb01f159e25b28c94ea6707578deab74dbf07ee0f9d276e376f4eaff7b00c4dd7edcf5b7cbb3e5b316f4d720fe0343e1c36727 WHIRLPOOL d484f6860118db921736001982461ad5410cdf63aca21c9896e9bbe17fdb693f7debd53282fca61d085f405c1d701af99bfcd12b2cc554ddc11607b98977262a
diff --git a/dev-util/emilpro/emilpro-3-r3.ebuild b/dev-util/emilpro/emilpro-3-r3.ebuild
new file mode 100644
index 0000000..d974220
--- /dev/null
+++ b/dev-util/emilpro/emilpro-3-r3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="!system-binutils? ( 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-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-libs/binutils-libs-2.25.1-r2:=[multitarget] )
+ net-misc/curl
+ virtual/libelf:0="
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/respect-cflags.patch
+ if use system-binutils; then
+ epatch "${FILESDIR}"/${P}-system-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
+ epatch "${FILESDIR}"/pthread.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/files/emilpro-3-system-binutils.patch b/dev-util/emilpro/files/emilpro-3-system-binutils.patch
new file mode 100644
index 0000000..d73f402
--- /dev/null
+++ b/dev-util/emilpro/files/emilpro-3-system-binutils.patch
@@ -0,0 +1,48 @@
+diff -Naur emilpro-3-orig/CMakeLists.txt emilpro-3/CMakeLists.txt
+--- emilpro-3-orig/CMakeLists.txt 2016-03-29 13:19:47.035441401 -0400
++++ emilpro-3/CMakeLists.txt 2016-03-29 13:18:36.650443067 -0400
+@@ -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,7 +29,6 @@
+ pkg_check_modules(LIBCURL libcurl)
+
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1")
+-LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/install-binutils/lib ${CMAKE_BINARY_DIR}/install-binutils/lib64)
+
+ if (HAVE_BFD_MULTIARCH)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_BFD_MULTIARCH")
+@@ -110,7 +108,6 @@
+ src/include/
+ ${CMAKE_BINARY_DIR}
+ ${LIBELF_INCLUDE_DIRS}
+- ${CMAKE_BINARY_DIR}/install-binutils/include/
+ ${GTKMM_INCLUDE_DIRS}
+ ${GTKSOURCEVIEWMM_INCLUDE_DIRS}
+ ${LIBXMLPP_INCLUDE_DIRS}
+@@ -128,8 +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}
+diff -Naur emilpro-3-orig/src/namemangler.cc emilpro-3/src/namemangler.cc
+--- emilpro-3-orig/src/namemangler.cc 2016-03-29 13:17:23.957444786 -0400
++++ emilpro-3/src/namemangler.cc 2016-03-29 13:18:57.306442578 -0400
+@@ -1,7 +1,7 @@
+ #include <namemangler.hh>
+
+ #include <bfd.h>
+-#include <demangle.h>
++#include <libiberty/demangle.h>
+
+ using namespace emilpro;
+
diff --git a/dev-util/emilpro/files/or1k-2.patch b/dev-util/emilpro/files/or1k-2.patch
new file mode 100644
index 0000000..9dd4e19
--- /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 <andy80586@gmail.com>
+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 0000000..e7a4392
--- /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 <andy80586@gmail.com>
+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. */
diff --git a/dev-util/emilpro/files/pthread.patch b/dev-util/emilpro/files/pthread.patch
new file mode 100644
index 0000000..521b393
--- /dev/null
+++ b/dev-util/emilpro/files/pthread.patch
@@ -0,0 +1,36 @@
+From 18569c69b24c51d8e1097bef96cfd77ed18604f2 Mon Sep 17 00:00:00 2001
+From: Simon Kagstrom <simon.kagstrom@netinsight.net>
+Date: Fri, 12 Jun 2015 08:48:29 +0200
+Subject: [PATCH] Issue #27: build: Add -pthread option to CXXFLAGS
+
+---
+ CMakeLists.txt | 2 +-
+ src/qt/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 24a2841..03ae035 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -29,7 +29,7 @@ pkg_check_modules(GTKSOURCEVIEWMM REQUIRED gtksourceviewmm-3.0)
+ pkg_check_modules(LIBXMLPP REQUIRED libxml++-2.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")
++set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1 -pthread")
+
+ if (HAVE_BFD_MULTIARCH)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_BFD_MULTIARCH")
+diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt
+index 0da2d07..14d2abb 100644
+--- a/src/qt/CMakeLists.txt
++++ b/src/qt/CMakeLists.txt
+@@ -30,7 +30,7 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+ pkg_check_modules(LIBXMLPP REQUIRED libxml++-2.6)
+ pkg_check_modules(LIBCURL REQUIRED libcurl)
+
+-set (CMAKE_CXX_FLAGS "-std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1 ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
++set (CMAKE_CXX_FLAGS "-std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1 ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} -pthread")
+ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/install-binutils/lib ${CMAKE_BINARY_DIR}/install-binutils/lib64)
+
+ set (CMAKE_BUILD_TYPE debug)
diff --git a/dev-util/emilpro/files/respect-cflags.patch b/dev-util/emilpro/files/respect-cflags.patch
new file mode 100644
index 0000000..12d5bd5
--- /dev/null
+++ b/dev-util/emilpro/files/respect-cflags.patch
@@ -0,0 +1,12 @@
+diff -Naur emilpro-3/CMakeLists.txt emilpro-3-cflags/CMakeLists.txt
+--- emilpro-3/CMakeLists.txt 2013-12-28 04:22:34.000000000 -0500
++++ emilpro-3-cflags/CMakeLists.txt 2014-03-18 17:59:47.534542384 -0400
+@@ -29,7 +29,7 @@
+ pkg_check_modules(LIBXMLPP libxml++-2.6)
+ pkg_check_modules(LIBCURL libcurl)
+
+-set (CMAKE_CXX_FLAGS "-std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1")
++set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DPACKAGE=emilpro -DPACKAGE_VERSION=1")
+ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/install-binutils/lib ${CMAKE_BINARY_DIR}/install-binutils/lib64)
+
+ if (HAVE_BFD_MULTIARCH)
diff --git a/dev-util/emilpro/metadata.xml b/dev-util/emilpro/metadata.xml
new file mode 100644
index 0000000..a7aa2f4
--- /dev/null
+++ b/dev-util/emilpro/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<longdescription lang="en">
+</longdescription>
+<use>
+<flag name="system-binutils">Use the gentoo binutils instead of building against an unpatched vanilla version</flag>
+</use>
+</pkgmetadata>