unrardll is required for Calibre-3.x to be able to work with RAR files. It's currently missing from the gentoo release.
my ebuild doesn't currently work, I'm not really familiar with building python packages and am not sure what needs to change in it. running build_ext building 'unrardll.unrar' extension creating /var/tmp/portage/dev-python/unrardll-0.1.3/work/unrardll-0.1.3-python2_7/temp.linux-x86_64-2.7 creating /var/tmp/portage/dev-python/unrardll-0.1.3/work/unrardll-0.1.3-python2_7/temp.linux-x86_64-2.7/src creating /var/tmp/portage/dev-python/unrardll-0.1.3/work/unrardll-0.1.3-python2_7/temp.linux-x86_64-2.7/src/unrardll x86_64-pc-linux-gnu-g++ -mtune=native -march=native -O2 -fPIC -DSILENT=1 -DRARDLL=1 -DUNRAR=1 -D_UNIX=1 -I/usr/include/python2.7 -c src/unrardll/wrapper.cpp -o /var/tmp/portage/dev-python/unrardll-0.1.3/work/unrardll-0.1.3-python2_7/temp.linux-x86_64-2.7/src/unrardll/wrapper.o src/unrardll/wrapper.cpp:19:27: fatal error: unrar/dll.hpp: No such file or directory compilation terminated. error: command 'x86_64-pc-linux-gnu-g++' failed with exit status 1 * ERROR: dev-python/unrardll-0.1.3::x-portage failed (compile phase): * (no error message) * * Call stack: * ebuild.sh, line 115: Called src_compile * environment, line 2675: Called distutils-r1_src_compile * environment, line 816: Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile' * environment, line 331: Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 2211: Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 1517: Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 1515: Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 546: Called distutils-r1_run_phase 'distutils-r1_python_compile' * environment, line 807: Called distutils-r1_python_compile * environment, line 682: Called esetup.py 'build' * environment, line 1062: Called die * The specific snippet of code: * "${@}" || die "${die_args[@]}";
Created attachment 478240 [details] unrardll-0.1.3.ebuild adds in a sed command to change an include path for rar. this makes it compile and install, but I'm not sure it's the best idea.
*** Bug 622852 has been marked as a duplicate of this bug. ***
KEYWORDS="amd64 ~arm ~ppc ~x86" should be KEYWORDS="~amd64 ~x86" for a new ebuild.
Created attachment 873354 [details, diff] dev-python/unrardll: new package, add 0.1.7
Per discussion, python@ is welcomed to comaintain this so feel free to tweak metadata.xml when importing (and yes it has fully functional tests :)).
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c0d456347e08ef160fede1a6f5b6ee20694463f commit 2c0d456347e08ef160fede1a6f5b6ee20694463f Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-10-23 18:33:26 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-10-24 18:34:48 +0000 dev-python/unrardll: new package, add 0.1.7 reverse dependency of app-text/calibre Closes: https://bugs.gentoo.org/622854 Bug: https://bugs.gentoo.org/622856 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> dev-python/unrardll/Manifest | 1 + dev-python/unrardll/metadata.xml | 16 +++++++++++++++ dev-python/unrardll/unrardll-0.1.7.ebuild | 33 +++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+)