diff options
-rw-r--r-- | dev-cpp/ethash/Manifest | 2 | ||||
-rw-r--r-- | dev-cpp/ethash/ethash-0.4.4.ebuild | 52 | ||||
-rw-r--r-- | net-p2p/ethminer/Manifest | 4 | ||||
-rw-r--r-- | net-p2p/ethminer/ethminer-0.18.0.ebuild | 183 |
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 +} |