summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhaarp <main.haarp@gmail.com>2021-05-23 20:55:16 +0200
committerhaarp <main.haarp@gmail.com>2021-05-23 20:55:16 +0200
commit7c99856224dd0bc41dd2978754a719b0379aae3d (patch)
tree2c290f15d4a10ea02b8c54475140d09f7c2c139e
parentAdd xsecurelock (diff)
downloadhaarp-7c99856224dd0bc41dd2978754a719b0379aae3d.tar.gz
haarp-7c99856224dd0bc41dd2978754a719b0379aae3d.tar.bz2
haarp-7c99856224dd0bc41dd2978754a719b0379aae3d.zip
Add ethminer
Signed-off-by: haarp <main.haarp@gmail.com>
-rw-r--r--dev-cpp/ethash/Manifest2
-rw-r--r--dev-cpp/ethash/ethash-0.4.4.ebuild52
-rw-r--r--net-p2p/ethminer/Manifest4
-rw-r--r--net-p2p/ethminer/ethminer-0.18.0.ebuild183
4 files changed, 241 insertions, 0 deletions
diff --git a/dev-cpp/ethash/Manifest b/dev-cpp/ethash/Manifest
new file mode 100644
index 0000000..a9fed26
--- /dev/null
+++ b/dev-cpp/ethash/Manifest
@@ -0,0 +1,2 @@
+DIST ethash-0.4.4.tar.gz 97158 BLAKE2B cf2ae901ec4f59e811df60ad96f1a93c9d100b8f8cdfa404e61f996ec441e578e3c9c4a712042c638320e2d06f26469596a8cd819b0b0322fbf69b3faca880da SHA512 6423118b50a3756c15e4116332b72e3fb57258218762fddc154e6737b116f291b890c860d5eac18bc7687d58e434b5e7dfbd6ce5ca93740b1473b76bd6ecc947
+EBUILD ethash-0.4.4.ebuild 1143 BLAKE2B f8f1a3d93118e5b965f93d3a39dae560384cb8c8ce9b3b70eb7760fe1833b0d8975bd5f05a5f09c66f3539cffd75a8db73047ae60b711d774d6d24dc3a1ce253 SHA512 fd48d7655a6fff7feca9ae1376bfb220e3637359075677f0272c61ae36e9d87e555c7b35e10720ba25c9b5163f4c5e3b742328ff315f84eb5be0c33ddcf16953
diff --git a/dev-cpp/ethash/ethash-0.4.4.ebuild b/dev-cpp/ethash/ethash-0.4.4.ebuild
new file mode 100644
index 0000000..036445d
--- /dev/null
+++ b/dev-cpp/ethash/ethash-0.4.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils cmake-utils
+
+DESCRIPTION="C/C++ implementation of Ethash – the Ethereum Proof of Work algorithm"
+HOMEPAGE="https://github.com/chfast/ethash"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/chfast/${PN}.git"
+ EGIT_SUBMODULES=( cmake/cable )
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/chfast/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+CMAKE_MIN_VERSION="3.5"
+
+src_prepare() {
+ rm cmake/cable/HunterGate.cmake || die
+
+ sed -i -e 's/include(HunterGate)/function(HunterGate)\nendfunction()/' \
+ CMakeLists.txt || die
+
+ sed -i -e 's/^[[:space:]]*ethash$/\0 SHARED/' \
+ lib/ethash/CMakeLists.txt || die
+
+ sed -i -e '/hunter_add_package/d' \
+ test/benchmarks/CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=$(usex debug "Debug" "Release")
+ -DETHASH_BUILD_TESTS=$(usex test)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/net-p2p/ethminer/Manifest b/net-p2p/ethminer/Manifest
new file mode 100644
index 0000000..67c4223
--- /dev/null
+++ b/net-p2p/ethminer/Manifest
@@ -0,0 +1,4 @@
+DIST CLI11-1.9.1.tar.gz 262925 BLAKE2B 30c0c35827992ca8f1527ace9dda076a89666f1598be423bead85fff2006ca82f59937348b914a9b058878a7e68467501226c704b4ecaeefe09508657f346a14 SHA512 bcccfe88695ceddd73d87738e1d5ed4372f5cf43e3866e88053dd486ea8973804022029775de781e1dbdd2e1566b77e072de00202033983217276954a07c5718
+DIST cable-0.5.0.tar.gz 18134 BLAKE2B 80a874b121f9aad40d7e65ac35ac5a361914edd2446ab5e0776e944c0b79e3a57a916ebcb6dd9ec75b4a4d71b87e4257bfb35213e94d9ec5efa44306bca4e17e SHA512 85a4b61f9347778d4221d3bc1f45954711a320fca67f9a3e18c02284e2b64cd198154942f39b9f34d0dc6d7c8e033e56c94d9d5995b444782f8f5888079cc58b
+DIST ethminer-0.18.0.tar.gz 241852 BLAKE2B 108288937fa8895eb1ecd5c4e6fda4390cecee58e5ab214273ae498b079044b0f8c5a545ceb67d8c4ed82980bcd94df46730d9fcb587dee2f7bea40c57668a6d SHA512 72b5a5a48b7173fd2edb49933c4e846e5bb4a2fd83410b4b32b5112c1b2c2e437d41037762c90a60859d97128103bddf0e048fc923d2021c19ebb0318cecbcd6
+EBUILD ethminer-0.18.0.ebuild 4269 BLAKE2B 90fcfac98af7d1e8f32d3a51f1b895890b4ecb67415d83aaa7b8411041282385b6192763dd66cfd50b39e1507e73ac79812904f0995fee0b9aa2f16bb7db8179 SHA512 93b4cd15785bc6b03875eb6b6b61b3b2cdf4567c131f5054a04b32ea17feb2142c3d08645ffb97cc0bb8caaa0bcc88a01c0103aba1309f5485a6f4e59add4645
diff --git a/net-p2p/ethminer/ethminer-0.18.0.ebuild b/net-p2p/ethminer/ethminer-0.18.0.ebuild
new file mode 100644
index 0000000..2f23eca
--- /dev/null
+++ b/net-p2p/ethminer/ethminer-0.18.0.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic user
+
+KERNELS_DIR="opt/lib"
+
+DESCRIPTION="Ethereum miner with CUDA and stratum support"
+HOMEPAGE="https://github.com/ethereum-mining/ethminer"
+
+if [[ ${PV} == 9999 ]]
+then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/ethereum-mining/${PN}.git"
+ EGIT_SUBMODULES=( cmake/cable )
+
+ KEYWORDS=""
+else
+ MY_PV="${PV/_alpha/-alpha.}"
+ MY_PV="${MY_PV/_rc/-rc.}"
+ MY_P="${PN}-${MY_PV}"
+
+ CABLE_VER="0.5.0"
+ CLI11_VER="1.9.1"
+
+ SRC_URI="
+ https://github.com/ethereum-mining/ethminer/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz
+ https://github.com/ethereum/cable/archive/v${CABLE_VER}.tar.gz -> cable-${CABLE_VER}.tar.gz
+ https://github.com/CLIUtils/CLI11/archive/v${CLI11_VER}.tar.gz -> CLI11-${CLI11_VER}.tar.gz
+ "
+
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="GPL-3+ LGPL-3+"
+SLOT="0"
+IUSE="apicore binkern cpu cuda dbus debug +opencl verbose-debug"
+
+QA_PREBUILT="${KERNELS_DIR}/ethash_*"
+
+RDEPEND="
+ dev-cpp/ethash
+ >=dev-cpp/libjson-rpc-cpp-1.0.0[http-client]
+ dev-libs/boost
+ dev-libs/jsoncpp
+ dev-libs/openssl
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ dbus? ( sys-apps/dbus )
+ opencl? ( virtual/opencl )
+"
+DEPEND="${RDEPEND}
+ dbus? ( virtual/pkgconfig )
+"
+BDEPEND="
+ >=dev-util/cmake-3.5
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ enewgroup ethminer
+ enewuser ethminer -1 -1 /var/lib/ethminer ethminer
+}
+
+src_unpack() {
+ default
+
+ if [[ ${PV} == 9999 ]]
+ then
+ git-r3_src_unpack
+ return
+ fi
+
+ rmdir ${S}/cmake/cable || die
+ mv cable-${CABLE_VER} ${S}/cmake/cable || die
+}
+
+src_prepare() {
+ rm cmake/cable/HunterGate.cmake || die
+
+ find -name CMakeLists.txt | xargs sed -i \
+ -e '/find_package/ s/CONFIG//' \
+ -e '/hunter_add_package/d'
+
+ find -name *.h | xargs sed -i \
+ -e '/include.*json/ s:json/json\.h:jsoncpp/&:'
+
+ sed -i \
+ -e '/include.*Hunter/d' \
+ -e '/^HunterGate(/,/^)/d' \
+ -e '/cable_set_build_type/d' \
+ -e '/find_package.*jsoncpp/d' \
+ CMakeLists.txt || die
+
+ sed -i \
+ -e '/include_directories.+BEFORE/ s:\.\.:& \.:' \
+ -e '/find_package.*CLI11/d' \
+ -e '/target_link_libraries/ s/CLI11::CLI11//' \
+ -e 's/target_link_libraries.*ethminer.*PRIVATE/& crypto/' \
+ -e '/find_package.*PkgConfig/ s/PkgConfig/DBus1 REQUIRED/' \
+ -e '/set.*ENV/d' \
+ -e '/pkg_check_modules.*DBUS/d' \
+ -e '/include_directories.*DBUS_INCLUDE_DIRS/ s/DBUS/DBus1/' \
+ -e '/link_directories.*DBUS/d' \
+ -e '/target_link_libraries.*DBUS_LIBRARIES/ s/DBUS_LIBRARIES/DBus1_LIBRARY/' \
+ ethminer/CMakeLists.txt || die
+
+ sed -i \
+ -e '/target_link_libraries/ s/ethcore//' \
+ libethash-{cl,cpu,cuda}/CMakeLists.txt
+
+ sed -i \
+ -e "/install/ s:\(DESTINATION.*\)\$.*kernels:\1/${KERNELS_DIR}:" \
+ libethash-cl/kernels/CMakeLists.txt
+
+ sed -i \
+ -e 's/jsoncpp_lib_static/jsoncpp/' \
+ libpoolprotocols/CMakeLists.txt || die
+
+ sed -i \
+ -e '/dbusint/ s/str()/str()\.c_str()/' \
+ ethminer/main.cpp || die
+
+ sed -i \
+ -e 's/fname_strm.*<<.*program_location.*/fname_strm/' \
+ -e "s:/kernels/ethash_:/${KERNELS_DIR}/ethash_:" \
+ libethash-cl/CLMiner.cpp
+
+ sed -i \
+ -e 's/get_io_service()/context()/' \
+ libethcore/Farm.cpp || die
+
+ sed -i \
+ -e '/boost::bind/ s/_1/boost::placeholders::_1/' \
+ libpoolprotocols/getwork/EthGetworkClient.cpp || die
+
+ if [[ ${PV} != 9999 ]]
+ then
+ sed -i -e '/find_package.*Git/d' \
+ cmake/cable/CableBuildInfo.cmake
+ fi
+
+ # fix build with >nvidia-cuda-toolkit-10.2 (https://stackoverflow.com/q/64774548/5424487)
+ sed -i -e 's/compute_30/compute_50/' -e 's/sm_30/sm_50/' libethash-cuda/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycxxflags=(
+ -Wno-deprecated-declarations
+ -I"${WORKDIR}/CLI11-${CLI11_VER}/include"
+ )
+
+ append-cxxflags ${mycxxflags[@]}
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DAPICORE=$(usex apicore)
+ -DBINKERN=$(usex binkern)
+ -DDEVBUILD=$(usex verbose-debug)
+ -DETHASHCL=$(usex opencl)
+ -DETHASHCPU=$(usex cpu)
+ -DETHASHCUDA=$(usex cuda)
+ -DETHDBUS=$(usex dbus)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+## newinitd "${FILESDIR}/${PN}-initd" "${PN}"
+## newconfd "${FILESDIR}/${PN}-confd" "${PN}"
+
+ keepdir /var/{lib,log}/ethminer
+ fowners ethminer:ethminer /var/{lib,log}/ethminer
+}