-
-
Notifications
You must be signed in to change notification settings - Fork 16.7k
piper1-gpl: init at 1.3.0 #425484
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
base: master
Are you sure you want to change the base?
piper1-gpl: init at 1.3.0 #425484
Conversation
3155029
to
a5946e7
Compare
|
||
patches = [ ./patch ]; | ||
|
||
preBuild = '' |
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.
runHook prebuild/postbuild missing.
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.
how does that work when this is already preBuild?
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.
how does that work when this is already preBuild?
Oh, my bad, that makes no sense here 😅. Disregard.
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 always feel weird about using preBuild anyway. Doesn't that mean that if someone overrideAttrs this derivation, they can't set their own preBuild?
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.
btw @bloxx12, I just wanted to say thank you for your fantastic reviews and stamina! I've been very happy implementing your suggestions, etc and it's really fast. Thanks so much.
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 always feel weird about using preBuild anyway. Doesn't that mean that if someone overrideAttrs this derivation, they can't set their own preBuild?
No, that should still work.
patches = [ ./patch ]; | ||
|
||
preBuild = '' | ||
cd /build/source |
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 assume /build/src
is the same as $src
? If so, why not $src
?
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.
/build/source is not the same as $src, I don't know why, something to do with hooks and python, IDK.
pythonImportsCheck = [ | ||
"piper" | ||
]; |
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'm not 100% sure if mkPythonApplication
doesen't run this anyways, but it could definitely be. mkPythonDerivation
does have it, but for mkPythonApplication
the wiki is not quite clear.
wheel | ||
]; | ||
|
||
patches = [ ./patch ]; |
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.
This should have a better name: how about ./prevent-download.patch
?
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.
fixed thanks
description = "Fast and local neural text-to-speech engine"; | ||
homepage = "https://github.com/OHF-Voice/piper1-gpl"; | ||
changelog = "https://github.com/OHF-Voice/piper1-gpl/blob/${src.rev}/CHANGELOG.md"; | ||
license = lib.licenses.gpl3Only; |
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.
Missing required meta.platforms
field
This package does not build successfully
|
sonic, | ||
}: | ||
let | ||
espeak-ng-src = fetchFromGitHub { |
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.
Is there any news on when they'll make a new release with CMake as the build system? The best case scenario is that we can wait for a new release.
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, but I don't mind waiting.
|
a5946e7
to
2b22e6a
Compare
The issue is that this is very hardcoded, this package should just support all the platforms that espeak supports but it doesn't due to needing a currently unstable source of espeak that unfortunately isn't trivially overridable with the derivation we have in nixpkgs. Additionally, this can go in the I think we'll just need to create a full espeak-ng unstable derivation and not just the src fetcher output. |
2b22e6a
to
313dcab
Compare
@normalcea The main issue is actually the |
9898d05
to
642a77f
Compare
This sounds like something upstream should be informed of to make it easier for downstream distributors. Otherwise we'd have to maintain a patch then for that. |
@normalcea If you have the energy for that, then go ahead, I do not. The patch is relatively small. |
@normalcea seems like they won't cut a new release of espeak-ng for a long time, so is this blocking this PR or not? |
The issue is in how the espeak-ng workaround requires hardcoding both the architecture platform and the python version. postConfigure = ''
cd /build/source
mkdir -p /build/source/_skbuild/linux-x86_64-3.13/cmake-build/espeak_ng/src
cp -r ${espeak-ng-src} /build/source/_skbuild/linux-x86_64-3.13/cmake-build/espeak_ng/src/espeak_ng_external
''; This should be done in a way that doesn't hardcode both of these values within a package phase since this will cease to work once in future versions of Python in nixpkgs and ARM support is absent. I haven't looked at this PR in a while, but I imagine the solution would be to create a espeak-ng override using one of the latest commits to get around the old release in nixpkgs. Also, the # ...
maintainers = with lib.maintainers; [ ];
# ... |
Things done
It's an attempt, and I'd like to figure out a better way to package this, and avoid what I'm doing in the
preBuild
phase.nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.