-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
media-libs/libgroove: new ebuild #22
Conversation
KEYWORDS="~amd64" | ||
IUSE="+chromaprint +loudness +sound" | ||
|
||
DEPEND="media-video/ffmpeg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- no USE flags needed for ffmpeg? sure?
- does it not work with
media-video/libav
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Upstream has some suggested flags, but from my tests they are all optional runtime dependencies.
- Support for libav was recently removed, but it looks like this version still supports it. I think the default should be ffmpeg, to minimize problems when upgrading to the next version, unless @andrewrk thinks libav is better for 4.3.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ffmpeg should be fine for 4.3.0. The next release of libgroove will officially only support ffmpeg.
You should reference this bug report https://bugs.gentoo.org/show_bug.cgi?id=558190 somewhere in your commit message. Since there is no consensus on how to do that, just do something (e.g. |
OK, I think that's all. Please take another look. |
The build system unfortunately uses Here are the offending lines https://github.com/andrewrk/libgroove/blob/master/CMakeLists.txt#L126 ...which also reveal |
We should probably provide a |
SRC_URI="https://github.com/andrewrk/libgroove/archive/${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="MIT" | ||
SLOT="0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably provide a SUBSLOT, in this case SLOT="0/4"
also see https://wiki.gentoo.org/wiki/Sub-slots_and_Slot-Operators
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see that it installs both libgroove.so.4
and libgroove.so.4.3.0
. How do we decide between 0/4
and 0/4.3.0
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# objdump -p /usr/lib64/libgrooveplayer.so.4.3.0 | grep SONAME
SONAME libgrooveplayer.so.4
This reflects ABI compatibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, thanks.
Upstream maintainer here. My goal is to be friendly to package maintainers like you. I believe that cmake will handle the As for |
Gentoo hacks it's own cmake build type in (although we sometimes fall back to release build type if that causes trouble), so yes, that would probably work. |
ok. I made this change upstream: andrewrk/libgroove@0b619fa and andrewrk/libgroove@856c260 If it would really help to make a new release I could do that. Otherwise I'd rather wait until some other stuff I'm presently working on is done to make a new release. |
should be fine to use the patch https://github.com/andrewrk/libgroove/commit/0b619fa3b02ab55593f148bfd867aec2c34f66c1.patch |
don't forget the second commit there. Sorry, I missed the -Werror and -pedantic in the example flags at first. |
I had to make another patch because that one failed. :/ |
|
||
src_install() { | ||
cmake-utils_src_install | ||
use static-libs || rm "${D}"/usr/lib/*.a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nah, this needs improvement, it should be
use static-libs || { rm "${ED%/}"/usr/$(get_libdir)/*.a || die "failed to remove static libs!" ;}
and then we have to inherit multilib cmake-utils
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or inherit cmake-utils multilib? I noticed this discussion before, but have not seen any guidelines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I personally order them by priority, to minimalize the chance that something weird happens when exported phases change. So something like inherit <utility.eclass> <heavy-phase-export.eclass>
. But I don't really care here, as long as the end result works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's failing because get_libdir returns lib64 but they are installed in /usr/lib.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a bug then that needs to be fixed/patched.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
excellent, I think this is good to merge, almost.. @diogocp could you rebase your git pull --rebase=preserve https://anongit.gentoo.org/git/repo/gentoo.git master
git push -f origin libgroove |
Done |
Gentoo-Bug: 558190
Adds media-libs/libgroove. Reviewed-by: Julian Ospald <hasufell@gentoo.org> Suggested-by: Diogo Pereira Github-PR: #22 Gentoo-Bug: 558190
Thanks! |
A streaming audio processing library (andrewrk/libgroove).
Gentoo-Bug: 558190