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
yasr: init at 0.6.9 #23188
yasr: init at 0.6.9 #23188
Conversation
merge with upstream
description = "A general-purpose console screen reader"; | ||
longDescription = "Yasr is a general-purpose console screen reader for GNU/Linux and other Unix-like operating systems."; | ||
platforms = stdenv.lib.platforms.unix; | ||
license = stdenv.lib.licenses.gpl2; |
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.
Do you want to maintain this package?
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.
Thanks for your review. Yes, I am interested in being maintainer.
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.
@Mic92 I just put myself in stdenv.lib.maintainers. Is it something allowed?
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.
@jhhuh yes, this is the way to become a maintainer.
version = "0.6.9"; | ||
|
||
src = fetchurl { | ||
url = "https://sourceforge.net/projects/yasr/files/yasr/0.6.9/yasr-0.6.9.tar.gz"; |
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.
Can be rewritten as:
url = "https://sourceforge.net/projects/yasr/files/yasr/${version}/yasr-${version}.tar.gz";
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.
Yes, you're right.
pkgs/applications/audio/yasr/30_conf
Outdated
-synthesizer=emacspeak server | ||
-#synthesizer=speech dispatcher | ||
+#synthesizer=emacspeak server | ||
+synthesizer=speech dispatcher |
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.
does these configuration changes also make sense for Nixos? Is speech
to be preferred over emacspeak
?
At least the shell=/bin/bash
should be shell=/bin/sh
(sh is symlink to bash)
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.
Yes, you're right about 'shell'. To be honest I just took the patch from the debian yasr package. I need to figure out what synthesizer would be preferred in nixos (at least, eflite and freetts do not seem to work out of box).
if (ch < 32) return 1; | ||
+ /* characters with high bit set cause DECTALK to crash */ | ||
+ if (tts.synth == TTS_DECTALK && ch & 0x80) | ||
+ return 1; |
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 patch sounds useful from the description. Do you know if it was reported upstream?
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.
As I made in a comment, this piece is not written by me. I blindly took it from the YASR debian source package. I just checked that this fix is implemented in the current HEAD version (2013) of YASR https://sourceforge.net/p/yasr/git/ci/master/tree/yasr/tts.c#l286. So I guess the author is well aware of all these patches, and it is just that the official release is stuck at the old version v0.6.9 in 2008.
int i, key, ln = 0, mode = 0; | ||
char *home, *ptr, *s; | ||
- char confname[MAXPATHLEN]; | ||
+ char confname[strlen(PACKAGE_DATA_DIR) + 10 + 1]; |
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 one patch could be also sent upstream.
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.
@Mic92 Same as the above.
+#ifndef HAVE_FORKPTY | ||
/* forkpty.c prototypes */ | ||
extern int forkpty(int *, char *, struct termios *, struct winsize *); | ||
+#endif |
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.
As well as this one
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.
Same as the above :)
I do not know about the maintenance state of |
@Mic92 I thought the maintenance of the nix expression (in nixpkgs) for a program is independent from the maintenance of the program itself, is it? That is why I didn't bother to check it at first. In any case, now I asked the author if he is fine with it. We will see. |
@Mic92 The author is still unresponsive to my message. Should we go as is now? |
Yes. I just squashed the commits into one. |
Motivation for this change
Adding a new package (yasr-0.6.9). It is to make NixOS more accessible for visually impaired people.
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)