Skip to content
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

mbrola: init at 3.0.1h #45580

Closed
wants to merge 4 commits into from
Closed

mbrola: init at 3.0.1h #45580

wants to merge 4 commits into from

Conversation

bignaux
Copy link
Contributor

@bignaux bignaux commented Aug 24, 2018

Motivation for this change

old abandonneware, but still relevant for good tts. Lot of stuff to make it works!

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

@bignaux
Copy link
Contributor Author

bignaux commented Aug 24, 2018

@aske : since you are maintainer of espeak-ng, it could interesting you.
From eSpeak version 1.44 onwards, eSpeak calls the mbrola program directly, rather than passing phoneme data to it using a pipe 👍

$ espeak -v mb-fr1 "Hello world"
mbrola: mbrola: No such file or directory
mbrowrap error: write(): Broken pipe
Error: Could not load the specified mbrola voice file.


buildInputs = [ unzip ];
nativeBuildInputs = [ patchelf makeWrapper gcc_multi ];
propagatedBuildInputs = [ bash ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will probably not do the thing you want. It basically adds bash to buildInputs of all packages that have mbrola in buildInputs.

{ stdenv, fetchurl, unzip, bash, patchelf, stdenv_32bit, makeWrapper, gcc_multi }:

let
TCTS="https://tcts.fpms.ac.be/synthesis/mbrola";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you use coding style more consistent with the rest of nixpkgs? Namely:

--prefix LD_PRELOAD : "$out/lib/libstrongexit.so"

for voice in ??[0-9]; do
cp -a $voice $out/share/mbrola/voices
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a normal location? The espeak code suggests a different ones (though, it looks like there is no single standard).

Copy link
Contributor Author

@bignaux bignaux Aug 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think it's the better we could do, if you've a better idea, tell me. I just need the PR merge to improve integration on navit gps navigation software. mbrola is really dead but we don't have many not too bad tts in foss.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Debian seems to install them to share/mbrola/$lang/$lang¹, which does not seem particularly elegant. I like the share/mbrola/voices/$lang but we should coordinate with espeak-ng, if they add --with-mbrola-voices-directory configure flag.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, i don't understand why it's so important since we won't have /usr/share something hard coded like that. you choose i fix and we merge and i can continue the real stuff. no one since 2013 have took the time to make that available, that's not critical stuff we have to be very clear. That's not glibc 2.27 broken my locale and no one care about remove the bad derivation. that's an old dead project i'd like to have support for espeak because foss have no real good tts yet.


pname = "mbrola";
name = "${pname}-${version}";
version = "3.0.1h";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version should be 3.01h according to the pattern used by the news page http://tcts.fpms.ac.be/synthesis/mbrola/mbrnews.html

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hum i always look at gentoo ebuild https://gitweb.gentoo.org/repo/gentoo.git/tree/app-accessibility/mbrola/mbrola-3.0.1h-r6.ebuild?id=4a409a1ecd75d064e8b471f6131bb1feb83c37a8 . I will look and decide. I'm a bit tired to spend so much time on review and not advanced work.

# debian provides manpage and libstrongexit.so
# read https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856331;msg=5
deb = fetchurl {
url = "http://http.debian.net/debian/pool/non-free/m/mbrola/mbrola_3.01h+2-3.debian.tar.xz";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The syntax is still not idiomatic. Try indenting with hnix.

Copy link
Member

@ryantm ryantm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Address jtojnar's comments

@stale
Copy link

stale bot commented Jun 2, 2020

Thank you for your contributions.

This has been automatically marked as stale because it has had no activity for 180 days.

If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.

Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse.
  3. Ask on the #nixos channel on irc.freenode.net.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 2, 2020
@symphorien symphorien mentioned this pull request Jul 18, 2020
10 tasks
Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please format this correct. You can use a formatter like nixfmt or view other derivations to know how.

Comment on lines +34 to +37

pname = "mbrola";
name = "${pname}-${version}";
version = "3.0.1h";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pname = "mbrola";
name = "${pname}-${version}";
version = "3.0.1h";
pname = "mbrola";
version = "3.0.1h";

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Nov 28, 2020
@SuperSandro2000 SuperSandro2000 marked this pull request as draft November 28, 2020 04:59
@SuperSandro2000
Copy link
Member

Replaced by #93401 because it inits at 3.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants