fortune-mod propagates various non-nice things

  • Done
  • quality assurance status badge
Details
9 participants
  • bokr
  • Liliana Marie Prikler
  • Liliana Marie Prikler
  • Ludovic Courtès
  • Maxim Cournoyer
  • Maxime Devos
  • Tobias Geerinckx-Rice
  • (
  • Csepp
Owner
unassigned
Submitted by
Maxime Devos
Severity
normal
M
M
Maxime Devos wrote on 3 Apr 2022 15:09
(address . bug-guix@gnu.org)
3fc3794df2d837c16ce768594c3ea9086b5f0abf.camel@telenet.be
Hi guix,

fortune-mod currently propagates (in the non-technical sense) various
non-nice things like objectification, misogeny, religious intolerance,
anti-mathematician-ism (?) and date rape. That is not an exhaustive
list, these are just the first few things I encountered with "fortune
off".

To reproduce the issue, run "fortune off" a few times. Or just
"fortune", though then it can take a bit longer.

There are also a few non-nice things in the non-off set. E.g.:

$ fortune
Toggle quote (2 lines)
> User n.:
> A programmer who will believe anything you tell him.
# ^ from 'definitions'

As such, just removing 'off' doesn't seem sufficient. Unless Someone™
volunteers to remove the anti-fortunes (*), I would just remove
'fortune-mod', given that it seems to serve no practical purpose byond
being non-nice. WDYT?

(*) Fortunes don't have to be positive, but that doesn't mean they need
to be sexist (genderist?) or insulting either (e.g.:
Hence, anti-fortunes instead of fortunes.

Greeting,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYkmchRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gaYAP43tJTnhYYOI1i90rsyMgQnYP5z
sEbCJTB6CY9a1J2ocQD+PDDLBbuZe7dBq9e9ofmeHoR++EOzMI3w54JUhfCN7w0=
=0Ne9
-----END PGP SIGNATURE-----


L
L
Liliana Marie Prikler wrote on 3 Apr 2022 19:26
9f39252821c630a8ba1064baa2b860f9e7a7a990.camel@gmail.com
Hi Maxime,

Am Sonntag, dem 03.04.2022 um 15:09 +0200 schrieb Maxime Devos:
Toggle quote (7 lines)
> Hi guix,
>
> fortune-mod currently propagates (in the non-technical sense) various
> non-nice things like objectification, misoginy, religious
> intolerance, anti-mathematician-ism (?) and date rape.  That is not
> an exhaustive list, these are just the first few things I encountered
> with "fortune off".
Well, the purpose of "fortune off" is to provide offensive "jokes". As
such, if you're offended by them, you're kinda getting what you've
asked for. If removing them falls under what our CoC states, though,
then so be it, I have no horse in this race.

More importantly...
Toggle quote (1 lines)
> There are also a few non-nice things in the non-off set.
I think this should be reported upstream. From what I could gather in
a short time, upstream appears both active (last commit 18 days ago)
and willing to make adjustments for "political correctness" (some two
years ago, they removed a lot of blonde jokes, though some simply got
demoted to still sexist jokes about women instead, and off is still
fair game for those, so...), so I think talking will get us further
than one-sided deletion here.

Toggle quote (4 lines)
> As such, just removing 'off' doesn't seem sufficient.  Unless
> someone™ volunteers to remove the anti-fortunes (*), I would just
> remove 'fortune-mod', given that it seems to serve no practical
> purpose beyond being non-nice.  WDYT?
I don't think practical purpose is a bar we can set. What should we do
with all of the Rust ecosystem otherwise?
(For Rust fans, who were offended by the above, consider collecting
this and other quotes from yours truly in a new offensive/rust file and
we can both be happy.)

As for being non-nice on purpose, I disagree. It's rather a shame if
the supposedly inoffensive set is still offensive. And if lack of
humor is a concern, "A nuclear war can ruin your whole day." from
politics sounds just about fine to me :)

Cheers
M
M
Maxime Devos wrote on 3 Apr 2022 20:12
109c6125905ae37aff77847ca5391a8a3b0aa610.camel@telenet.be
Liliana Marie Prikler schreef op zo 03-04-2022 om 19:26 [+0200]:
Toggle quote (3 lines)
> I don't think practical purpose is a bar we can set.  What should we do
> with all of the Rust ecosystem otherwise?

Replace cargo with something else, then it can become more practical.
See, e.g., the ‘Compiling rust things without cargo (super WIP POC)’
thread on guix-devel@gnu.org. Once it is complete, rust would have a
build system that works well within Guix, so then we could benefit from
Rust's safety features (and macros, generic types, etc.) without the
downsides of cargo-build-system. Doesn't change the Rust bootstrap
length though ...

Greetings,
Maaxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYknjcxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7u/hAPwNUVMwvq463n49UbVvqYs+9uQe
bkl0rezINBzKhHSW8gEAmNZl2BOVpl8ItjjENCxgYmLaym98RZdyZkUbxl/zfwc=
=sEAy
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 3 Apr 2022 20:20
Re: bug#54691: fortune-mod propagates various non-nice things
(address . 54691@debbugs.gnu.org)
f64ccc952bddad5bc3c05a4adbbba9d386c16026.camel@telenet.be
Maxime Devos schreef op zo 03-04-2022 om 15:09 [+0200]:
Toggle quote (3 lines)
> To reproduce the issue, run "fortune off" a few times.  Or just
> "fortune", though then it can take a bit longer.

Correction: looks like just running "fortune" without "off" doesn't
include the things from 'off'.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYknldRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tAzAPsGpvAMGyUj5iX67K83I5tzy5PB
ywKtRZncot0f4+GdQAD/bHsX5gq0BNex61zfT+hzngNwuqCFYtLgaXHyxLsxfQs=
=xM7D
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 3 Apr 2022 20:41
Re: fortune-mod propagates various non-nice things
a4fef3a0b2824a89b1da6982010464033640e288.camel@telenet.be
Liliana Marie Prikler schreef op zo 03-04-2022 om 19:26 [+0200]:
Toggle quote (4 lines)
> More importantly...
> > There are also a few non-nice things in the non-off set.
> I think this should be reported upstream. [...]

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYknqahccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jjTAQD43hS19QWpWQQS3tOdVjM1w/k1
5exg5xxcvIMmGJi0AQEAnPxtVADddjuFZyC4kPkWEZfxPHurjAYm1F7/aUlzMgY=
=XY1O
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 4 Apr 2022 12:41
8a6eee0b33ddef78beba809fdb2b25438285ceed.camel@telenet.be
Liliana Marie Prikler schreef op zo 03-04-2022 om 19:26 [+0200]:
Toggle quote (8 lines)
> I think this should be reported upstream.  From what I could gather in
> a short time, upstream appears both active (last commit 18 days ago)
> and willing to make adjustments for "political correctness" (some two
> years ago, they removed a lot of blonde jokes, though some simply got
> demoted to still sexist jokes about women instead, and off is still
> fair game for those, so...), so I think talking will get us further
> than one-sided deletion here.

Looks like upstream disagrees:

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYkrLZhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qHeAQCovCZoO57kwOa11uNpRjMvrdM+
/F6ymHOR6KmBMNUbnQD9Gof9kA1Hm6qZnzhfIWtkxXocHsOrP9E3DEEjkccxhwU=
=O0nn
-----END PGP SIGNATURE-----


M
M
Maxim Cournoyer wrote on 14 Jul 2022 03:30
Re: bug#54691: fortune-mod propagates various non-nice things
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
87leswxyy4.fsf@gmail.com
Hi Maxime,

Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (23 lines)
> Hi guix,
>
> fortune-mod currently propagates (in the non-technical sense) various
> non-nice things like objectification, misogeny, religious intolerance,
> anti-mathematician-ism (?) and date rape. That is not an exhaustive
> list, these are just the first few things I encountered with "fortune
> off".
>
> To reproduce the issue, run "fortune off" a few times. Or just
> "fortune", though then it can take a bit longer.
>
> There are also a few non-nice things in the non-off set. E.g.:
>
> $ fortune
>> User n.:
>> A programmer who will believe anything you tell him.
> # ^ from 'definitions'
>
> As such, just removing 'off' doesn't seem sufficient. Unless Someone™
> volunteers to remove the anti-fortunes (*), I would just remove
> 'fortune-mod', given that it seems to serve no practical purpose byond
> being non-nice. WDYT?

'off' here apparently means the 'offensive' database, as explained by
Liliana; seems it offends alright :-).

The GNU FSDG has says nothing about what programs may or may not
contain, for a good reason: the line to draw could get very subjective
(similar to how the GPL ).

I don't think we should judge our software on terms falling outside of
the Free Software Distribution Guidelines, but a simple thing we could
add here would be a note in the description to caution the user that
running

@example
fortune off
@end example

is intended to be offensive.

What do you think?

Thanks,

Maxim
C
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
87y1wvalbn.fsf@riseup.net
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (51 lines)
> Hi Maxime,
>
> Maxime Devos <maximedevos@telenet.be> writes:
>
>> Hi guix,
>>
>> fortune-mod currently propagates (in the non-technical sense) various
>> non-nice things like objectification, misogeny, religious intolerance,
>> anti-mathematician-ism (?) and date rape. That is not an exhaustive
>> list, these are just the first few things I encountered with "fortune
>> off".
>>
>> To reproduce the issue, run "fortune off" a few times. Or just
>> "fortune", though then it can take a bit longer.
>>
>> There are also a few non-nice things in the non-off set. E.g.:
>>
>> $ fortune
>>> User n.:
>>> A programmer who will believe anything you tell him.
>> # ^ from 'definitions'
>>
>> As such, just removing 'off' doesn't seem sufficient. Unless Someone™
>> volunteers to remove the anti-fortunes (*), I would just remove
>> 'fortune-mod', given that it seems to serve no practical purpose byond
>> being non-nice. WDYT?
>
> 'off' here apparently means the 'offensive' database, as explained by
> Liliana; seems it offends alright :-).
>
> The GNU FSDG has says nothing about what programs may or may not
> contain, for a good reason: the line to draw could get very subjective
> (similar to how the GPL ).
>
> I don't think we should judge our software on terms falling outside of
> the Free Software Distribution Guidelines, but a simple thing we could
> add here would be a note in the description to caution the user that
> running
>
> @example
> fortune off
> @end example
>
> is intended to be offensive.
>
> What do you think?
>
> Thanks,
>
> Maxim

Honestly this is dumb, it's not even practically useful software. We
have no obligation to package something that jokes about date rape and
contributes nothing of practical value.
This is very different to the reasoning behind the lack of moral clauses
in the GPL. And again, just because something is free software, we don't have to
package it.
It's a ticking PR timebomb and nothing of value would be lost if we got
rid of that file. If some snowflake gets triggered because we removed
their favorite date rape joke, they self identified as someone whose
opinion we should ignore. :P
M
M
Maxim Cournoyer wrote on 14 Jul 2022 16:55
(name . Csepp)(address . raingloom@riseup.net)
87h73jwxq3.fsf@gmail.com
Hi Csepp,

Csepp <raingloom@riseup.net> writes:

Toggle quote (64 lines)
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> Hi Maxime,
>>
>> Maxime Devos <maximedevos@telenet.be> writes:
>>
>>> Hi guix,
>>>
>>> fortune-mod currently propagates (in the non-technical sense) various
>>> non-nice things like objectification, misogeny, religious intolerance,
>>> anti-mathematician-ism (?) and date rape. That is not an exhaustive
>>> list, these are just the first few things I encountered with "fortune
>>> off".
>>>
>>> To reproduce the issue, run "fortune off" a few times. Or just
>>> "fortune", though then it can take a bit longer.
>>>
>>> There are also a few non-nice things in the non-off set. E.g.:
>>>
>>> $ fortune
>>>> User n.:
>>>> A programmer who will believe anything you tell him.
>>> # ^ from 'definitions'
>>>
>>> As such, just removing 'off' doesn't seem sufficient. Unless Someone™
>>> volunteers to remove the anti-fortunes (*), I would just remove
>>> 'fortune-mod', given that it seems to serve no practical purpose byond
>>> being non-nice. WDYT?
>>
>> 'off' here apparently means the 'offensive' database, as explained by
>> Liliana; seems it offends alright :-).
>>
>> The GNU FSDG has says nothing about what programs may or may not
>> contain, for a good reason: the line to draw could get very subjective
>> (similar to how the GPL ).
>>
>> I don't think we should judge our software on terms falling outside of
>> the Free Software Distribution Guidelines, but a simple thing we could
>> add here would be a note in the description to caution the user that
>> running
>>
>> @example
>> fortune off
>> @end example
>>
>> is intended to be offensive.
>>
>> What do you think?
>>
>> Thanks,
>>
>> Maxim
>
> Honestly this is dumb, it's not even practically useful software. We
> have no obligation to package something that jokes about date rape and
> contributes nothing of practical value.
> This is very different to the reasoning behind the lack of moral clauses
> in the GPL. And again, just because something is free software, we don't have to
> package it.
> It's a ticking PR timebomb and nothing of value would be lost if we got
> rid of that file. If some snowflake gets triggered because we removed
> their favorite date rape joke, they self identified as someone whose
> opinion we should ignore. :P

Thanks for the criticism. I admit I hadn't run 'fortune off' myself or
researched much on what it contains; after reading more about it,
especially considering these notes about the 'Offensive' database [0]:

Toggle snippet (7 lines)
[...]
In another file in this directory (Notes), the original author(s) of the
fortune distribution state that "racist, mysogynist [sic] (sexist), or
homophobic ideas" should never be included in the fortune database.
[...]

Toggle snippet (10 lines)
[...]
I admit that I was strongly tempted to simply remove these fortunes, an
action that I might have justified by pointing to the Notes of the
original authors. However, it appears that over the course of time there
have been those who find these sorts of prejudice amusing, and in
America, at least, even Nazi rhetoric is a protected form of speech. So
I include them, and leave the decision to individual system administrators.
[...]

But the most explicit recommendation is:

Toggle snippet (5 lines)
Those who respect women, gays, and people of color may prefer
to either remove the .dat file (which keeps the strings, but makes them
inaccessible via the fortune program), or to delete these files altogether.

I now think we should act on it :-)

Would you like to prepare a patch stripping out the offensive database
file?

Thanks,

Maxim

R
R
raingloom wrote on 16 Jul 2022 14:21
[PATCH] gnu: fortune-mod: Remove off database.
(address . guix-patches@gnu.org)
20220716122126.26328-1-raingloom@riseup.net
* gnu/packages/games.scm (fortune-mod): Delete off database after install phase.
---
gnu/packages/games.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 713f9339b2..cf10ebc9b6 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7721,7 +7721,10 @@ (define-public fortune-mod
(lambda _
(with-directory-excursion #$output
(rename-file "games/fortune" "bin/fortune")
- (rmdir "games")))))))
+ (rmdir "games"))))
+ (add-after 'install 'commit-censorship
+ (lambda* (#:key outputs #:allow-other-keys)
+ (delete-file-recursively (string-append (assoc-ref outputs "out") "/share/fortunes/off/")))))))
(inputs (list recode))
(native-inputs
(list perl
--
2.37.0
C
(name . Liliana Marie Prikler)(address . liliana.prikler@student.tugraz.at)
8735f19nth.fsf@riseup.net
Liliana Marie Prikler <liliana.prikler@student.tugraz.at> writes:

Toggle quote (34 lines)
> merge 56599 54691
> thanks
>
> Am Samstag, dem 16.07.2022 um 14:21 +0200 schrieb raingloom:
>> * gnu/packages/games.scm (fortune-mod): Delete off database after
>> install phase.
>> ---
>>  gnu/packages/games.scm | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
>> index 713f9339b2..cf10ebc9b6 100644
>> --- a/gnu/packages/games.scm
>> +++ b/gnu/packages/games.scm
>> @@ -7721,7 +7721,10 @@ (define-public fortune-mod
>>                   (lambda _
>>                     (with-directory-excursion #$output
>>                       (rename-file "games/fortune" "bin/fortune")
>> -                     (rmdir "games")))))))
>> +                     (rmdir "games"))))
>> +               (add-after 'install 'commit-censorship
>> +                 (lambda* (#:key outputs #:allow-other-keys)
>> +                   (delete-file-recursively (string-append
> Truly offensive files should be removed with a snippet rather than a
> funnily named phase. I'm not sure if this applies to all of off, but
> let it be said, that there's plenty of fortunes that'd violate the CoC
> in files not labeled as such. Some files could probably be salvaged if
> we only removed some quotes – for example limericks about numbers are
> probably fine, but other limericks aren't. Furthermore, we should also
> revise the list of fortunes not in off, men-women is just an alternate
> spelling of sexism.
>
> Cheers

That's probably better done as a fork of upstream. If no one wants to do
that, I wouldn't miss the package if it got yeeted. :shrug:
L
L
Liliana Marie Prikler wrote on 16 Jul 2022 15:46
(name . Csepp)(address . raingloom@riseup.net)
5dfc6d81f8b0600cde73254c42323a2c79c0453c.camel@gmail.com
Am Samstag, dem 16.07.2022 um 15:40 +0200 schrieb Csepp:
Toggle quote (39 lines)
>
> Liliana Marie Prikler <liliana.prikler@student.tugraz.at> writes:
>
> > merge 56599 54691
> > thanks
> >
> > Am Samstag, dem 16.07.2022 um 14:21 +0200 schrieb raingloom:
> > > * gnu/packages/games.scm (fortune-mod): Delete off database after
> > > install phase.
> > > ---
> > >  gnu/packages/games.scm | 5 ++++-
> > >  1 file changed, 4 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> > > index 713f9339b2..cf10ebc9b6 100644
> > > --- a/gnu/packages/games.scm
> > > +++ b/gnu/packages/games.scm
> > > @@ -7721,7 +7721,10 @@ (define-public fortune-mod
> > >                   (lambda _
> > >                     (with-directory-excursion #$output
> > >                       (rename-file "games/fortune" "bin/fortune")
> > > -                     (rmdir "games")))))))
> > > +                     (rmdir "games"))))
> > > +               (add-after 'install 'commit-censorship
> > > +                 (lambda* (#:key outputs #:allow-other-keys)
> > > +                   (delete-file-recursively (string-append
> > Truly offensive files should be removed with a snippet rather than
> > a funnily named phase.  I'm not sure if this applies to all of off,
> > but let it be said, that there's plenty of fortunes that'd violate
> > the CoC in files not labeled as such.  Some files could probably be
> > salvaged if we only removed some quotes – for example limericks
> > about numbers are probably fine, but other limericks aren't. 
> > Furthermore, we should also revise the list of fortunes not in off,
> > men-women is just an alternate spelling of sexism.
> >
> > Cheers
>
> That's probably better done as a fork of upstream. If no one wants to
> do that, I wouldn't miss the package if it got yeeted. :shrug:
I'm not necessarily asking you to go over joke for joke; that would
need to be a collective decision of Guix folk anyway. Right now I just
want to (1) make that a snippet and (2) also take a critical look at
the files not labeled "offensive".

Cheers
L
L
Liliana Marie Prikler wrote on 16 Jul 2022 15:32
(name . raingloom)(address . raingloom@riseup.net)
6ffa96ebffc7aa7858c2b20eb0f795f702b23528.camel@student.tugraz.at
merge 56599 54691
thanks

Am Samstag, dem 16.07.2022 um 14:21 +0200 schrieb raingloom:
Toggle quote (19 lines)
> * gnu/packages/games.scm (fortune-mod): Delete off database after
> install phase.
> ---
>  gnu/packages/games.scm | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 713f9339b2..cf10ebc9b6 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -7721,7 +7721,10 @@ (define-public fortune-mod
>                   (lambda _
>                     (with-directory-excursion #$output
>                       (rename-file "games/fortune" "bin/fortune")
> -                     (rmdir "games")))))))
> +                     (rmdir "games"))))
> +               (add-after 'install 'commit-censorship
> +                 (lambda* (#:key outputs #:allow-other-keys)
> +                   (delete-file-recursively (string-append
Truly offensive files should be removed with a snippet rather than a
funnily named phase. I'm not sure if this applies to all of off, but
let it be said, that there's plenty of fortunes that'd violate the CoC
in files not labeled as such. Some files could probably be salvaged if
we only removed some quotes – for example limericks about numbers are
probably fine, but other limericks aren't. Furthermore, we should also
revise the list of fortunes not in off, men-women is just an alternate
spelling of sexism.

Cheers
C
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87r12jsx0m.fsf@riseup.net
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (47 lines)
> Am Samstag, dem 16.07.2022 um 15:40 +0200 schrieb Csepp:
>>
>> Liliana Marie Prikler <liliana.prikler@student.tugraz.at> writes:
>>
>> > merge 56599 54691
>> > thanks
>> >
>> > Am Samstag, dem 16.07.2022 um 14:21 +0200 schrieb raingloom:
>> > > * gnu/packages/games.scm (fortune-mod): Delete off database after
>> > > install phase.
>> > > ---
>> > >  gnu/packages/games.scm | 5 ++++-
>> > >  1 file changed, 4 insertions(+), 1 deletion(-)
>> > >
>> > > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
>> > > index 713f9339b2..cf10ebc9b6 100644
>> > > --- a/gnu/packages/games.scm
>> > > +++ b/gnu/packages/games.scm
>> > > @@ -7721,7 +7721,10 @@ (define-public fortune-mod
>> > >                   (lambda _
>> > >                     (with-directory-excursion #$output
>> > >                       (rename-file "games/fortune" "bin/fortune")
>> > > -                     (rmdir "games")))))))
>> > > +                     (rmdir "games"))))
>> > > +               (add-after 'install 'commit-censorship
>> > > +                 (lambda* (#:key outputs #:allow-other-keys)
>> > > +                   (delete-file-recursively (string-append
>> > Truly offensive files should be removed with a snippet rather than
>> > a funnily named phase.  I'm not sure if this applies to all of off,
>> > but let it be said, that there's plenty of fortunes that'd violate
>> > the CoC in files not labeled as such.  Some files could probably be
>> > salvaged if we only removed some quotes – for example limericks
>> > about numbers are probably fine, but other limericks aren't. 
>> > Furthermore, we should also revise the list of fortunes not in off,
>> > men-women is just an alternate spelling of sexism.
>> >
>> > Cheers
>>
>> That's probably better done as a fork of upstream. If no one wants to
>> do that, I wouldn't miss the package if it got yeeted. :shrug:
> I'm not necessarily asking you to go over joke for joke; that would
> need to be a collective decision of Guix folk anyway. Right now I just
> want to (1) make that a snippet and (2) also take a critical look at
> the files not labeled "offensive".
>
> Cheers

Doing it before the install phase requires also patching the build
scripts. There are a bunch of other bugs calling me sadly, so I'm not
super keen on putting more energy into this one.
M
M
Maxime Devos wrote on 19 Jul 2022 20:54
Re: bug#54691: fortune-mod propagates various non-nice things
(address . 54691@debbugs.gnu.org)
8e6b0095-eece-a5b5-312c-376e5e119ad3@telenet.be
On 14-07-2022 16:55, Maxim Cournoyer wrote:
Toggle quote (10 lines)
> --8<---------------cut here---------------start------------->8---
> Those who respect women, gays, and people of color may prefer
> to either remove the .dat file (which keeps the strings, but makes them
> inaccessible via the fortune program), or to delete these files altogether.
> --8<---------------cut here---------------end--------------->8---
>
> I now think we should act on it:-)
>
> Would you like to prepare a patch stripping out the offensive database
> file?
Unfortunately, these kind 'fortunes' are not limited to the 'off'
section, so this is not sufficient -- they also appear outside. I also
already provided a patch for removing some of the bad fortunes, but it
was rejected upstream. Even then, that was for only one of the fortunes,
most likely there are a lot more bad fortunes that aren't contained in
the 'off' section. I am not interested in going through every fortune to
filter out the bad ones, so I will not prepare a patch.
Greetings,
Maxime
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 19 Jul 2022 21:20
Re: fortune-mod propagates various non-nice things
66494e02-a96c-6557-4895-2d2ffcf48bc4@telenet.be
On 03-04-2022 19:26, Liliana Marie Prikler wrote:
Toggle quote (12 lines)
> Am Sonntag, dem 03.04.2022 um 15:09 +0200 schrieb Maxime Devos:
>> Hi guix,
>>
>> fortune-mod currently propagates (in the non-technical sense) various
>> non-nice things like objectification, misoginy, religious
>> intolerance, anti-mathematician-ism (?) and date rape.  That is not
>> an exhaustive list, these are just the first few things I encountered
>> with "fortune off".
> Well, the purpose of "fortune off" is to provide offensive "jokes". As
> such, if you're offended by them, you're kinda getting what you've
> asked for. If removing them falls under what our CoC states, though,
> then so be it, I have no horse in this race.
My point wasn't that some individual could accidentally install a
package that offends them.  My point was that:
Toggle quote (5 lines)
> fortune-mod currently propagates (in the non-technical sense) various
> non-nice things like objectification, misogeny, religious intolerance,
> anti-mathematician-ism (?) and date rape. That is not an exhaustive
> list, these are just the first few things I encountered with "fortune
> off".
More concretely, consider the target audience for such "jokes" instead
of some random individual.
By including such jokes:
* we implicitly validate that such views are reasonable (people
holding those views get validation, unknowing people are nudged into
considering such views and people rejecting these views are invalidated)
* As such, we contribute to keeping those vile -isms intact and making
them more common.
I do not believe this to be a good course of action.
Something can be said about the individuals too, w.r.t. internalised
$BAD-isms, negative impact on mental health, possibly some other things
too?). I don't believe inflicting those to be a good idea either.
Csepp <raingloom@riseup.net>
Toggle quote (11 lines)
> [quoted stuff]
> Honestly this is dumb, it's not even practically useful software. We
> have no obligation to package something that jokes about date rape and
> contributes nothing of practical value.
> This is very different to the reasoning behind the lack of moral clauses
> in the GPL. And again, just because something is free software, we don't have to
> package it.
> It's a ticking PR timebomb and nothing of value would be lost if we got
> rid of that file. If some snowflake gets triggered because we removed
> their favorite date rape joke, they self identified as someone whose
> opinion we should ignore. :P
Exactly, though myself I prefer to reason in terms of "what is / what
changes / consequences / ..." instead of "how are our actions perceived".
(/me catches up on other responses, haven't read them all yet)
Greetings,
Maxime.
Attachment: file
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 19 Jul 2022 21:45
Re: bug#54691: fortune-mod propagates various non-nice things
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 54691@debbugs.gnu.org)
525e9478-b21b-dfc6-fb56-86fcd858ffaa@telenet.be
On 14-07-2022 03:30, Maxim Cournoyer wrote:
Toggle quote (16 lines)
> The GNU FSDG has says nothing about what programs may or may not
> contain, for a good reason: the line to draw could get very subjective
> (similar to how the GPL ).
>
> I don't think we should judge our software on terms falling outside of
> the Free Software Distribution Guidelines, but a simple thing we could
> add here would be a note in the description to caution the user that
> running
>
> @exampleGNU licellabourlabourabournse incompati
> fortune off
> @end example
>
> is intended to be offensive.
>
> What do you think?
I believe criteria like the FSDG to be important, but not the only
important criteria -- free software does not live in a vacuum. In this
case, I believe the absence of misogeny, etc., to be important and
choosing to further those (*) to be straight-out unethical.
Also, it is already policy to take such things in account, e.g. it has
been codified in CODE-OF-CONDUCT to some degree, though I want to be
clear that even if it wasn't codified, it should be policy anyways.  So
far, the principles behind things like CODE-OF-CONDUCT haven't been
applied to the contents of package but I see no reason they shouldn't be.
(*) here I consider choosing to take no action to be a choice.
Also, I would like to note that nobody here seems to actually want the
fortune-mod or disagrees that those "jokes" are vile and serve no useful
purpose, so it's not like removing it would cause fragmentation, so that
potential issue you seem to be referring to (or maybe I'm reading to
much in your response?) does not seem to apply here.
Greetings,
Maxime.
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 20 Jul 2022 06:31
Re: fortune-mod propagates various non-nice things
19e0c1a0ba4b562a9824f87fba8ba16a320f389b.camel@gmail.com
Am Dienstag, dem 19.07.2022 um 21:20 +0200 schrieb Maxime Devos:
Toggle quote (36 lines)
> On 03-04-2022 19:26, Liliana Marie Prikler wrote:
>
> > Am Sonntag, dem 03.04.2022 um 15:09 +0200 schrieb Maxime Devos:
> >
> > > Hi guix,
> > >
> > > fortune-mod currently propagates (in the non-technical sense)
> > > various non-nice things like objectification, misoginy, religious
> > > intolerance, anti-mathematician-ism (?) and date rape.  That is
> > > not an exhaustive list, these are just the first few things I
> > > encountered with "fortune off".
> > Well, the purpose of "fortune off" is to provide offensive "jokes".
> > As such, if you're offended by them, you're kinda getting what
> > you've asked for. If removing them falls under what our CoC states,
> > though, then so be it, I have no horse in this race.
> My point wasn't that some individual could accidentally install a
> package that offends them.  My point was that:
> > fortune-mod currently propagates (in the non-technical sense)
> > various non-nice things like objectification, misogeny, religious
> > intolerance, anti-mathematician-ism (?) and date rape. That is not
> > an exhaustive list, these are just the first few things I
> > encountered with "fortune off".
> More concretely, consider the target audience for such "jokes"
> instead of some random individual.
>  By including such jokes:
>  * we implicitly validate that such views are reasonable (people
> holding those views get validation, unknowing people are nudged into
> considering such views and people rejecting these views are
> invalidated)
>  * As such, we contribute to keeping those vile -isms intact and
> making them more common.
> I do not believe this to be a good course of action.
> Something can be said about the individuals too, w.r.t. internalised
> $BAD-isms, negative impact on mental health, possibly some other
> things too?). I don't believe inflicting those to be a good idea
> either.
I do get where you're coming from. However, I'd argue that the issue
with the current fortune-mod is that it doesn't really have a code of
conduct, or at best a poorly conceived one. Even if we removed
obviously bad stuff like misogyny, religious intolerance and date rape,
there are other points of contention. For example, the user one you
mentioned was not even listed in off, even though it might be
classified as offensive (a harmless offense, if you ask me, but
anyway). All sorts of "punching up" jokes against incompetent
politicians would also be offensive to those politicians and their
followers even if propagating them towards greater society would be a
good thing. There's probably more to add here.

Thus, my point is that we ought to consider a code of conduct while
we're choosing which themes fortune-mod is allowed to propagate and
which not (in particular our own might be a starting point). If we
find that patching fortune-mod is too hard as raingloom implied, we
might instead use a more CoC-friendly fork.

Cheers
M
M
Maxime Devos wrote on 20 Jul 2022 10:45
9251f82e-75aa-54a9-9295-2dd39a5c406b@telenet.be
On 20-07-2022 06:31, Liliana Marie Prikler wrote:
Toggle quote (17 lines)
> I do get where you're coming from. However, I'd argue that the issue
> with the current fortune-mod is that it doesn't really have a code of
> conduct, or at best a poorly conceived one. Even if we removed
> obviously bad stuff like misogyny, religious intolerance and date rape,
> there are other points of contention. For example, the user one you
> mentioned was not even listed in off, even though it might be
> classified as offensive (a harmless offense, if you ask me, but
> anyway). All sorts of "punching up" jokes against incompetent
> politicians would also be offensive to those politicians and their
> followers even if propagating them towards greater society would be a
> good thing. There's probably more to add here.
>
> Thus, my point is that we ought to consider a code of conduct while
> we're choosing which themes fortune-mod is allowed to propagate and
> which not (in particular our own might be a starting point). If we
> find that patching fortune-mod is too hard as raingloom implied, we
> might instead use a more CoC-friendly fork.
Like I wrote in my previous reply, I never based my reasoning on why
things are bad here on offense (and also not on the CoC itself but on
the principles behind those things), though it seems you are arriving at
about the same conclusion via a different method?
Moving to a friendly fork would be an option, but we need a fork for
that, and I'm not finding a clear choice -- I only found those on
are often rather specific (e.g.: 'The #kernelnewbies fortune file', not
an unified collection with lots of quotes on lots of things, so no clear
fork springs out.
There's maybe https://github.com/JKirchartz/fortunes, which at first
sight doesn't seem bad and seems to have lots of things, so if someone
wants to preserve fortune, they can write a patch to switch to that
fortunes database?
Greetings,
Maxime.
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 20 Jul 2022 18:57
f1772b28c9291a136ee3fc45bba74721fde98437.camel@gmail.com
Am Mittwoch, dem 20.07.2022 um 10:45 +0200 schrieb Maxime Devos:
Toggle quote (7 lines)
> [...]
> Moving to a friendly fork would be an option, but we need a fork for
> that, and I'm not finding a clear choice -- I only found those on
> <https://www.shlomifish.org/humour/fortunes/>, but most of the time
> they are often rather specific (e.g.: 'The #kernelnewbies fortune
> file', not an unified collection with lots of quotes on lots of
> things, so no clear fork springs out.
I think there's two problems to tackle here. First, fortune-mod does
not support an environment like FORTUNE_PATH and it'd be difficult to
patch it to do so (trust me, I've looked at the code and it's
horrible). Second, we need quotes replacements – once FORTUNE_PATH is
implemented, we could even have separate packages, provided that all of
them pass our QA.

In order to solve the first problem, I'll clear my mind and come up
with an alternative set of fortune tools (ideally once to which we can
apply the GPL3 rather than the BSD4).

Toggle quote (4 lines)
> There's maybe https://github.com/JKirchartz/fortunes, which at
> first sight doesn't seem bad and seems to have lots of things, so if
> someone wants to preserve fortune, they can write a patch to switch
> to that fortunes database?
Would you be willing to do a complete evaluation of this database? If
you find that it is indeed better than the one packaged by shlomifish,
replacing them would be easy. First, add a snippet to the origin of
fortune-mod to delete the datfiles, second add a phase to install
JKirchartz'.

Cheers
M
M
Maxime Devos wrote on 20 Jul 2022 20:50
4da2fccc-b2a2-0fa2-d39f-ce69474f2f19@telenet.be
On 20-07-2022 18:57, Liliana Marie Prikler wrote:
Toggle quote (5 lines)
> Would you be willing to do a complete evaluation of this database? If
> you find that it is indeed better than the one packaged by shlomifish,
> replacing them would be easy. First, add a snippet to the origin of
> fortune-mod to delete the datfiles, second add a phase to install
> JKirchartz'.
I looked diagonally through the files, and almost all of them seem fine.
The rest seems to be more a manner of difference in opinion and context
(e.g., see Bakunin on the State and on religion). The closest thing to
something like 'stupid users' seems to be in ComputerDictionary, but it
seems rather mild and doesn't hint at some kind of superiority.
FerengiRulesOfAcquisition is ... nothing I would recommend, but mild and
doesn't really target anyone and also, context.
There's also some 'my programming language is better than your
language', but those aren't serious IIUC.
It's not an exhaustive check, but so far the JKirchartz fortunes seem to
be well so far, so I'm not expecting large problems with the rest, maybe
tiny ones at worst.
Greetings,
Maxime
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:06
[PATCH 1/5] gnu: Add daikichi.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
3772bdf24391d8f6ba39c58b40863c936b37751f.camel@gmail.com
* gnu/packages/toys.scm (daikichi): New variable.
---
gnu/packages/toys.scm | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index fb2f367490..b3e4cc4f84 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019, 2020, 2021 Timotej Lazar <timotej.lazar@araneo.si>
-;;; Copyright © 2019 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2019, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
@@ -27,18 +27,48 @@ (define-module (gnu packages toys)
#:use-module (gnu packages flex)
#:use-module (gnu packages gtk)
#:use-module (gnu packages man)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
+(define-public daikichi
+ (package
+ (name "daikichi")
+ (version "0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/lilyp/daikichi")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13pj5gl1rf6nn97153psbmrj4djsc6rzaryawi29s32pnng5n28s"))))
+ (build-system meson-build-system)
+ (inputs (list gmp fmt))
+ (native-inputs (list pkg-config))
+ (home-page "https://gitlab.com/lilyp/daikichi")
+ (synopsis "Display random fortunes")
+ (description "Daikichi provides an alternative implementation of the
+@command{fortune} command, which displays random quotes from a database.
+This package provides just the utilities and no quotes.")
+ (license license:gpl3+)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "DAIFUKU_FORTUNE_PATH")
+ (files '("share/fortunes")))))))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:11
[PATCH 2/5] gnu: Add fortunes-jkirchartz.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
af2b11071aa64059a503ae624c4d85f3e435ed08.camel@gmail.com
* gnu/packages/toys.scm (fortunes-jkirchartz): New variable.
---
gnu/packages/toys.scm | 49 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index b3e4cc4f84..556f196a55 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -23,6 +23,7 @@
(define-module (gnu packages toys)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages gtk)
@@ -35,8 +36,10 @@ (define-module (gnu packages toys)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -69,6 +72,52 @@ (define-public daikichi
(variable "DAIFUKU_FORTUNE_PATH")
(files '("share/fortunes")))))))
+(define-public fortunes-jkirchartz
+ (let ((commit "2e32ba0a57e3842dc06c8128d880ab4c8ec3aefc")
+ (revision "2022.05.23")) ; Use a date rather than a number
+ (package
+ (name "fortunes-jkirchartz")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JKirchartz/fortunes")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ym4ldzww5yfd76q7zvhi491bqlykfjnc215bqx1cbj0c8ndb2l4"))
+ (snippet
+ #~(for-each delete-file
+ ;; incompatible license
+ '("BibleAbridged")))))
+ ;; To read the fortunes, but also to compile them.
+ ;; No support for cross-compilation yet
+ (build-system copy-build-system)
+ (propagated-inputs (list daikichi))
+ (native-inputs (list gnu-make))
+ (arguments
+ (list #:install-plan
+ #~`(("." "share/fortunes" #:include-regexp ("\\.dat$")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "showerthoughts"
+ (("&lt;") "<")
+ (("&gt;") ">")
+ (("&amp;") "&"))
+ (substitute* "Makefile"
+ (("strfile") "daikichi pack"))))
+ (add-before 'install 'build
+ (lambda _
+ (invoke "make"))))))
+ (home-page "https://github.com/JKirchartz/fortunes")
+ (synopsis "Collection of fortunes")
+ (description "This package contains a large collection of fortunes drawn
+from sources all around the world.")
+ (license license:unlicense))))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:13
[PATCH 3/5] gnu: Remove fortune-mod.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
fea2d5b3c58e59ee958d63c3298b09d2df338800.camel@gmail.com
* gnu/packages/games.scm (fortune-mod): Delete variable.
* gnu/packages/toys.scm (fortune-mod): Add deprecated package alias.
---
gnu/packages/games.scm | 73 ------------------------------------------
gnu/packages/toys.scm | 3 ++
2 files changed, 3 insertions(+), 73 deletions(-)

Toggle diff (100 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index d55a2ee867..4110ea99d1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7629,79 +7629,6 @@ (define-public rinutils
(description "This package provides C11 / gnu11 utilities C library")
(license license:expat)))
-(define-public fortune-mod
- (package
- (name "fortune-mod")
- (version "3.14.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shlomif/fortune-mod")
- (commit (string-append "fortune-mod-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg"))))
- (build-system cmake-build-system)
- (arguments
- (list #:configure-flags
- #~(let ((fortunes (string-append #$output "/share/fortunes")))
- (list (string-append "-DLOCALDIR=" fortunes)
- (string-append "-DLOCALODIR=" fortunes "/off")
- (string-append "-DCOOKIEDIR=" fortunes)
- (string-append "-DOCOOKIEDIR=" fortunes "/off")))
- #:test-target "check"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'enter-build-directory
- (lambda _
- (chdir "fortune-mod")))
- (add-after 'enter-build-directory 'symlink-rinutils
- (lambda _
- (mkdir-p "rinutils")
- (symlink #$(this-package-native-input "rinutils")
- "rinutils/rinutils")))
- (add-after 'enter-build-directory 'copy-cmake-modules
- (lambda _
- (copy-file #$shlomif-cmake-modules
- (string-append "cmake/"
- (strip-store-file-name
- #$shlomif-cmake-modules)))))
- (add-after 'enter-build-directory 'delete-failing-test
- (lambda _
- ;; TODO: Valgrind tests fail for some reason. Similar issue?
- ;; https://github.com/shlomif/fortune-mod/issues/21
- (delete-file "tests/data/valgrind.t")
- (with-output-to-file "tests/scripts/split-valgrind.pl"
- (const #t))))
- (add-after 'install 'fix-install-directory
- ;; Move fortune from "games/" to "bin/" and remove the
- ;; former. This is easier than patching CMakeLists.txt
- ;; since the tests hard-code the location as well.
- (lambda _
- (with-directory-excursion #$output
- (rename-file "games/fortune" "bin/fortune")
- (rmdir "games")))))))
- (inputs (list recode))
- (native-inputs
- (list perl
- ;; For generating the documentation.
- docbook-xml-5
- docbook-xsl
- perl-app-xml-docbook-builder
- ;; The following are only needed for tests.
- perl-file-find-object
- perl-test-differences
- perl-class-xsaccessor
- perl-io-all
- perl-test-runvalgrind
- rinutils))
- (home-page "https://www.shlomifish.org/open-source/projects/fortune-mod/")
- (synopsis "The Fortune Cookie program from BSD games")
- (description "Fortune is a command-line utility which displays a random
-quotation from a collection of quotes.")
- (license license:bsd-4)))
-
(define xonotic-data
(package
(name "xonotic-data")
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 556f196a55..2492a32d81 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -118,6 +118,9 @@ (define-public fortunes-jkirchartz
from sources all around the world.")
(license license:unlicense))))
+(define-public fortune-mod
+ (deprecated-package "fortune-mod" fortunes-jkirchartz))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:17
[PATCH 5/5] gnu: Remove shlomif-cmake-modules.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
3b74a3c5361b4cdfd2936283905c8de8c76f87b6.camel@gmail.com
This origin was added for the now removed fortune-mod, so let's remove it
as well.

* gnu/packages/games.scm (shlomif-cmake-modules): Delete variable.
---
gnu/packages/games.scm | 10 ----------
1 file changed, 10 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c22d6611f6..0c5f298283 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7560,16 +7560,6 @@ (define-public crispy-doom
original.")
(home-page "https://www.chocolate-doom.org/wiki/index.php/Crispy_Doom")))
-(define shlomif-cmake-modules
- (origin
- (method url-fetch)
- (uri (string-append
- "https://raw.githubusercontent.com/shlomif/shlomif-cmake-modules/"
- "89f05caf86078f783873975525230cf4fecede8a"
- "/shlomif-cmake-modules/Shlomif_Common.cmake"))
- (sha256
- (base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:16
[PATCH 4/5] gnu: Remove rinutils.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
38d941128c3015f21bf0189cd0669c6fe63def23.camel@gmail.com
This package was introduced as native input to the now removed fortune-mod,
so let's remove it as well.

* gnu/packages/games.scm (rinutils): Delete variable.
---
gnu/packages/games.scm | 59 ------------------------------------------
1 file changed, 59 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 4110ea99d1..c22d6611f6 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7570,65 +7570,6 @@ (define shlomif-cmake-modules
(sha256
(base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
-(define-public rinutils
- (package
- (name "rinutils")
- (version "0.10.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shlomif/rinutils")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0r90kncf6mvyklifpdsnm50iya7w2951nz35nlgndmqnr82gvdwf"))))
- (build-system cmake-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'copy-cmake-modules
- (lambda _
- (copy-file #$shlomif-cmake-modules
- (string-append "cmake/"
- (strip-store-file-name
- #$shlomif-cmake-modules)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "../source"
- (setenv "FCS_TEST_BUILD" "1")
- (setenv "RINUTILS_TEST_BUILD" "1")
- ;; TODO: Run tests after setting RINUTILS_TEST_TIDY to `1',
- ;; which requires tidy-all.
- ;; (setenv "RINUTILS_TEST_TIDY" "1")
- (invoke "perl"
- "CI-testing/continuous-integration-testing.pl"))))))))
- (native-inputs
- (list perl
- ;; The following are needed only for tests.
- perl-class-xsaccessor
- perl-file-find-object
- perl-io-all
- perl-test-differences
- perl-test-runvalgrind
- pkg-config))
- (inputs
- (list cmocka
- perl-env-path
- perl-inline
- perl-inline-c
- perl-string-shellquote
- perl-test-trailingspace
- perl-file-find-object-rule
- perl-text-glob
- perl-number-compare
- perl-moo))
- (home-page "https://www.shlomifish.org/open-source/projects/")
- (synopsis "C11 / gnu11 utilities C library")
- (description "This package provides C11 / gnu11 utilities C library")
- (license license:expat)))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
M
M
Maxime Devos wrote on 23 Jul 2022 21:54
Re: [PATCH 2/5] gnu: Add fortunes-jkirchartz.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54691@debbugs.gnu.org)
37f10843-87a2-5d5f-8c56-c4c7d916a6e6@telenet.be
On 23-07-2022 17:11, Liliana Marie Prikler wrote:
Toggle quote (1 lines)
> + (propagated-inputs (list daikichi))
It's used in the Makefile, so I'd have expected native-inputs here --
does "guix build fortunes-jkirchartz --target=aarch64-linux-gnu" or such
work?
Toggle quote (2 lines)
> (description "This package contains a large collection of fortunes drawn
> +from sources all around the world.")
For the people who don't know yet what fortunes are yet, I'd recommend
adding that these fortunes can be read with the package 'daikichi'.
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 23 Jul 2022 21:56
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54691@debbugs.gnu.org)
cd0288d6-4b8f-0aae-89c9-15dddda7b2c0@telenet.be
On 23-07-2022 17:11, Liliana Marie Prikler wrote:
Toggle quote (1 lines)
> + (revision "2022.05.23")) ; Use a date rather than a number
This is a technically a possibility, but currently the convention is to
use numbers and the number convention is expected by (guix upstream) and
the (not yet merged, needs some finishing touches IIRC) latest-git
updater, and AFAIK there hasn't been any discussion on switching to dates.
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 23 Jul 2022 21:58
Re: [PATCH 3/5] gnu: Remove fortune-mod.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54691@debbugs.gnu.org)
cdcb56d4-8d44-eeec-61b7-d0a85b88f0b2@telenet.be
On 23-07-2022 17:13, Liliana Marie Prikler wrote:
Toggle quote (2 lines)
> * gnu/packages/games.scm (fortune-mod): Delete variable.
> * gnu/packages/toys.scm (fortune-mod): Add deprecated package alias.
For future readers, I believe a link to the bug report to be in order.
Toggle quote (2 lines)
> +(define-public fortune-mod
> + (deprecated-package "fortune-mod" fortunes-jkirchartz))
Likewise.
Greetings,
Maxime.
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 22:43
Re: [PATCH 2/5] gnu: Add fortunes-jkirchartz.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
548ee30d100baebf62fe44c733109a47efbd442d.camel@gmail.com
Am Samstag, dem 23.07.2022 um 21:54 +0200 schrieb Maxime Devos:
Toggle quote (7 lines)
>
> On 23-07-2022 17:11, Liliana Marie Prikler wrote:
> > +      (propagated-inputs (list daikichi))
>
> It's used in the Makefile, so I'd have expected native-inputs here --
> does "guix build fortunes-jkirchartz --target=aarch64-linux-gnu" or
> such work?
That's what I tried to explain in the comment above. Because I'm using
native size and endianness, cross compilation only works if the two are
the same. For example, you could theoretically cross-compile from
x86_64 to aarch64 little endian, but not from aarch64 little endian to
aarch64 big endian. IMHO that restriction is big enough to practically
make it "not cross-compilable".

That said, one of my first goals is to make it not so, particularly to
always store integers in network order (big endian), so that afterwards
only size is a concern.

Toggle quote (6 lines)
> >   (description "This package contains a large collection of
> > fortunes drawn
> > +from sources all around the world.")
> For the people who don't know yet what fortunes are yet, I'd
> recommend adding that these fortunes can be read with the package
> 'daikichi'.
Well, the command to read those fortunes remains "fortune" even if the
package we use is daikichi. I'm not sure if "Fortunes can be read by
the fortune command" are helpful, but perhaps "a large collection of
quotes to display with @command{fortune}" is?
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 22:53
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
f54e21f1eba5365e109cbe39835abee2e2cdbb02.camel@gmail.com
Am Samstag, dem 23.07.2022 um 21:56 +0200 schrieb Maxime Devos:
Toggle quote (10 lines)
> On 23-07-2022 17:11, Liliana Marie Prikler wrote:
>
> > +        (revision "2022.05.23"))        ; Use a date rather than a
> > number
>
> This is a technically a possibility, but currently the convention is
> to use numbers and the number convention is expected by (guix
> upstream) and the (not yet merged, needs some finishing touches IIRC)
> latest-git updater, and AFAIK there hasn't been any discussion on
> switching to dates.
In this case I am departing from the usual convention because I think
calendar versioning is more useful for this type of content. Given the
issue that lead to this patch at all, I'm not sure if support for
automatic updates would be a good idea with this package. IMHO, it's a
feature rather than a bug that you can't accidentally pull a third of
BSD's offensive database, were it to ever land in this repo.

Should I explain this thought more clearly in the package or do
automatic updates trump ethical concerns?
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 22:54
Re: [PATCH 3/5] gnu: Remove fortune-mod.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
4190bce033ea7a276fce99746e77519fda1249de.camel@gmail.com
Am Samstag, dem 23.07.2022 um 21:58 +0200 schrieb Maxime Devos:
Toggle quote (12 lines)
> On 23-07-2022 17:13, Liliana Marie Prikler wrote:
>
> > * gnu/packages/games.scm (fortune-mod): Delete variable.
> > * gnu/packages/toys.scm (fortune-mod): Add deprecated package
> > alias.
>
> For future readers, I believe a link to the bug report to be in
> order.
>
> > +(define-public fortune-mod
> > +  (deprecated-package "fortune-mod" fortunes-jkirchartz))
> Likewise.
Will do.
M
M
Maxime Devos wrote on 23 Jul 2022 23:41
Re: [PATCH 2/5] gnu: Add fortunes-jkirchartz.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54691@debbugs.gnu.org)
687a86a9-0ca8-8f41-edae-68d9633a30b7@telenet.be
On 23-07-2022 22:43, Liliana Marie Prikler wrote:
Toggle quote (11 lines)
>> On 23-07-2022 17:11, Liliana Marie Prikler wrote:
>>> +      (propagated-inputs (list daikichi))
>> It's used in the Makefile, so I'd have expected native-inputs here --
>> does "guix build fortunes-jkirchartz --target=aarch64-linux-gnu" or
>> such work?
> That's what I tried to explain in the comment above. Because I'm using
> native size and endianness, cross compilation only works if the two are
> the same. For example, you could theoretically cross-compile from
> x86_64 to aarch64 little endian, but not from aarch64 little endian to
> aarch64 big endian. IMHO that restriction is big enough to practically
> make it "not cross-compilable".
OK, I read over the the comment that it's not cross-compilable. But now
you are writing it is cross-compilable in restricted contexts. So "guix
build --target=aarch64-linux-gnu --system=x86_64-linux-gnu" should work
(IIUC they have the same sizes and endianness, though not 100% sure).
(Unfortunately there is currently not a method to specify that packages
are not cross-compilable in restricted contexts ...)
However, that's was I was trying to say -- what I tried to say, is that
by sorting the inputs incorrectly it _becomes_ not cross-compilable, so
once daikichi supports cross-compilation you (generic you, not you in
particular) will have to modify the package to move daikichi to
native-inputs, and in the mean time people are misled by this package
definition on how native / non-native works. Actually, this not only
applies to the future, but to the present, because IIUC aarch64 and
x86_64 are sufficiently similar for "guix build
--target=aarch64-linux-gnu --system=x86_64-linux-gnu" to be able to work
except for daikichi being compiled for the wrong architecture currently.
Even better would be if daikichi had a cross-compiler mode, where you
can compile to another endianness or size. (Or simpler, work with a
fixed endianness and integer size such that cross-compilation concerns
disappear entirely, but there's more than one way to do it.)
Another problem is that currently it is propagated, but daikichi is not
a dependency of fortunes-jkirchartz.
Greetings,
Maxime.
Attachment: file
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 23:52
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
7aded66d54663ade6d5ab09d964c6fb236726859.camel@gmail.com
Hi,

Am Samstag, dem 23.07.2022 um 23:41 +0200 schrieb Maxime Devos:
Toggle quote (7 lines)
>
> However, that's was I was trying to say -- what I tried to say, is
> that by sorting the inputs incorrectly it _becomes_ not
> cross-compilable, so once daikichi supports cross-compilation you
> (generic you, not you in particular) will have to modify the package
> to move daikichi to native-inputs, and in the mean time people are
> misled by this package definition on how native / non-native works.
Fair enough, I'll include it in the native-inputs.

Toggle quote (4 lines)
> Even better would be if daikichi had a cross-compiler mode, where you
> can compile to another endianness or size. (Or simpler, work with a
> fixed endianness and integer size such that cross-compilation
> concerns disappear entirely, but there's more than one way to do it.)
We're speaking of a hack job done in a few evenings here, but I think a
cross-compiler mode will be more feasible than fixed sizes (assuming
that we won't cross-compile to larger integer sizes than supported by
the host, which I think is a fair assumption to make).

Toggle quote (2 lines)
> Another problem is that currently it is propagated, but daikichi is
> not a dependency of fortunes-jkirchartz.
Well, it is a dependency in that you need a fortune program to read the
quotes. Should I instead add a meta-package that propagates both?
M
M
Maxime Devos wrote on 24 Jul 2022 00:01
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54691@debbugs.gnu.org)
fb6246a5-e720-a0a4-8b40-2988b45c4cc3@telenet.be
On 23-07-2022 22:53, Liliana Marie Prikler wrote:
Toggle quote (12 lines)
> Am Samstag, dem 23.07.2022 um 21:56 +0200 schrieb Maxime Devos:
>> On 23-07-2022 17:11, Liliana Marie Prikler wrote:
>>
>>> +        (revision "2022.05.23"))        ; Use a date rather than a
>>> number
>> This is a technically a possibility, but currently the convention is
>> to use numbers and the number convention is expected by (guix
>> upstream) and the (not yet merged, needs some finishing touches IIRC)
>> latest-git updater, and AFAIK there hasn't been any discussion on
>> switching to dates.
> In this case I am departing from the usual convention because I think
> calendar versioning is more useful for this type of content.
OK, but Guix seems to have decided on numbering in the past, I don't
think a package patch is a place to change that policy. If you want to
change things to calendar versioning for some kinds of git stuff, this
sounds like something to be discussed and approved or disapproved on
guix-devel@gnu.org, not here.
Toggle quote (4 lines)
> Given the issue that lead to this patch at all, I'm not sure if support for
> automatic updates would be a good idea with this package. IMHO, it's a
> feature rather than a bug that you can't accidentally pull a third of
> BSD's offensive database, were it to ever land in this repo.
As mentioned later, "guix refresh -u" != automatic updates. I expect
that a person manually updating the package would prefer the aid of
"guix refresh -u" instead of having to clone the git repo by theirselves
and do "guix hash -r", maybe forget the "-x", then remembering that "-r"
is deprecated then having to look in the manual for --serializer=nix.
Toggle quote (1 lines)
> Should I explain this thought more clearly in the package or do automatic updates trump ethical concerns?
Guix does not have automatic updates, it does not decide by itself to
update some packaes without any review. The updaters are only run when
done so manually, e.g. with "guix refresh -u fortunes-jkirchartz". In
that case, as always though it seems to be neglected due to limited
resources currently, the diff between the previous version and the new
version should be verified for malware.  There's no X trumps Y here, AFAICT.
Also, if Guix decides on CalVer for some packages, then in the context
of the latest-git updater, the latest-git updater will have to be
modified to support CalVer -- latest-git has no idea about how
individual packages work, so it cannot decide to block updates. As such,
going for CalVer to prevent generic-git from updating (with guix refresh
-u or --with-latest) does not seem robust to me, as it will just be
updated anyway with future improvements to latest-git.
If you want to block updates to some degree for some packages, then you
could look into, say, adding a (updatable? . #false) flag or such for
the 'properties' field or maybe add a comment next to the package
definition to ask people updating the package to look out for
fortunes-mod-style badness.
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 24 Jul 2022 00:13
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54691@debbugs.gnu.org)
9507559e-23f1-af15-82a8-265d664a53f8@telenet.be
On 23-07-2022 23:52, Liliana Marie Prikler wrote:
Toggle quote (4 lines)
>> Another problem is that currently it is propagated, but daikichi is
>> not a dependency of fortunes-jkirchartz.
> Well, it is a dependency in that you need a fortune program to read the
> quotes. Should I instead add a meta-package that propagates both?
I think it's a situation like 'man-pages' and 'man-db'. 'man-pages' has
lots of man pages and 'man-db' has a reader for man pages, but this does
not make man-db a dependency of man-pages. (Similarly, IceCat is not a
dependency of the web page https://guix.gnu.org). OTOH, daikichi is the
only reader for the fortunes so the situation becomes a bit incomparable.
I suppose there's some convenience in propagating daikichi, but
currently AFAICT the policy for those situations appears to be to not
propagate it (and neither create a meta package reader+information), so
unless there's some agreement on guix-devel@gnu.org to change that
policy to go for meta packages or propagation, I don't think the
individual fortunes-jkirchartz package should do that.
Greetings,
Maxime.
Attachment: file
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:06
[PATCH v2 1/5] gnu: Add daikichi.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
b1062abce55c8afe74b7450af74334c5c48680e0.camel@gmail.com
* gnu/packages/toys.scm (daikichi): New variable.
---
gnu/packages/toys.scm | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index fb2f367490..45eb74ecbc 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019, 2020, 2021 Timotej Lazar <timotej.lazar@araneo.si>
-;;; Copyright © 2019 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2019, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
@@ -27,18 +27,48 @@ (define-module (gnu packages toys)
#:use-module (gnu packages flex)
#:use-module (gnu packages gtk)
#:use-module (gnu packages man)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
+(define-public daikichi
+ (package
+ (name "daikichi")
+ (version "0.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/lilyp/daikichi")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qhp07ixbx6l8kz8f1961gmlcpn6xpc3fwwlwkwgb6q4a46ywbkl"))))
+ (build-system meson-build-system)
+ (inputs (list gmp fmt))
+ (native-inputs (list pkg-config))
+ (home-page "https://gitlab.com/lilyp/daikichi")
+ (synopsis "Display random fortunes")
+ (description "Daikichi is an alternative implementation of
+@command{fortune}, which displays random quotes from a database.
+This package provides just the utilities and no quotes.")
+ (license license:gpl3+)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "DAIKICHI_FORTUNE_PATH")
+ (files '("share/fortunes")))))))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:11
[PATCH v2 2/5] gnu: Add fortunes-jkirchartz.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
f77a2569333d5c26a4ef0a8729801741bf24f016.camel@gmail.com
* gnu/packages/toys.scm (fortunes-jkirchartz): New variable.
---
gnu/packages/toys.scm | 51 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (80 lines)
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 45eb74ecbc..28131314ae 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -23,6 +23,7 @@
(define-module (gnu packages toys)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages gtk)
@@ -35,8 +36,10 @@ (define-module (gnu packages toys)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -69,6 +72,54 @@ (define-public daikichi
(variable "DAIKICHI_FORTUNE_PATH")
(files '("share/fortunes")))))))
+(define-public fortunes-jkirchartz
+ ;; No public release.
+ ;; Note to updaters: Please ensure that new quotes do not bring harm
+ ;; rather than fortune.
+ (let ((commit "2e32ba0a57e3842dc06c8128d880ab4c8ec3aefc")
+ (revision "0"))
+ (package
+ (name "fortunes-jkirchartz")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JKirchartz/fortunes")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ym4ldzww5yfd76q7zvhi491bqlykfjnc215bqx1cbj0c8ndb2l4"))
+ (snippet
+ #~(for-each delete-file
+ ;; incompatible license
+ '("BibleAbridged")))))
+ (build-system copy-build-system)
+ ;; Cross-compile with care, daikichi does not guarantee that the target
+ ;; can actually read the fortunes.
+ (native-inputs (list daikichi gnu-make))
+ (arguments
+ (list #:install-plan
+ #~`(("." "share/fortunes" #:include-regexp ("\\.dat$")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (substitute* "showerthoughts"
+ (("&lt;") "<")
+ (("&gt;") ">")
+ (("&amp;") "&"))
+ (substitute* "Makefile"
+ (("strfile") "daikichi pack"))))
+ (add-before 'install 'build
+ (lambda _
+ (invoke "make"))))))
+ (home-page "https://github.com/JKirchartz/fortunes")
+ (synopsis "Collection of fortunes")
+ (description "This package contains a large collection of quotes to
+display via @command{fortune}, drawn from sources all around the world.")
+ (license license:unlicense))))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:16
[PATCH v2 4/5] gnu: Remove rinutils.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
b256a8ef0499668ce6991dd53bacef4db778b2d5.camel@gmail.com
This package was introduced as native input to the now removed fortune-mod,
so let's remove it as well.

* gnu/packages/games.scm (rinutils): Delete variable.
---
gnu/packages/games.scm | 59 ------------------------------------------
1 file changed, 59 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 4110ea99d1..c22d6611f6 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7570,65 +7570,6 @@ (define shlomif-cmake-modules
(sha256
(base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
-(define-public rinutils
- (package
- (name "rinutils")
- (version "0.10.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shlomif/rinutils")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0r90kncf6mvyklifpdsnm50iya7w2951nz35nlgndmqnr82gvdwf"))))
- (build-system cmake-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'copy-cmake-modules
- (lambda _
- (copy-file #$shlomif-cmake-modules
- (string-append "cmake/"
- (strip-store-file-name
- #$shlomif-cmake-modules)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "../source"
- (setenv "FCS_TEST_BUILD" "1")
- (setenv "RINUTILS_TEST_BUILD" "1")
- ;; TODO: Run tests after setting RINUTILS_TEST_TIDY to `1',
- ;; which requires tidy-all.
- ;; (setenv "RINUTILS_TEST_TIDY" "1")
- (invoke "perl"
- "CI-testing/continuous-integration-testing.pl"))))))))
- (native-inputs
- (list perl
- ;; The following are needed only for tests.
- perl-class-xsaccessor
- perl-file-find-object
- perl-io-all
- perl-test-differences
- perl-test-runvalgrind
- pkg-config))
- (inputs
- (list cmocka
- perl-env-path
- perl-inline
- perl-inline-c
- perl-string-shellquote
- perl-test-trailingspace
- perl-file-find-object-rule
- perl-text-glob
- perl-number-compare
- perl-moo))
- (home-page "https://www.shlomifish.org/open-source/projects/")
- (synopsis "C11 / gnu11 utilities C library")
- (description "This package provides C11 / gnu11 utilities C library")
- (license license:expat)))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:13
[PATCH v2 3/5] gnu: Remove fortune-mod.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
98c6534fb3bf8c93ace8c7637f69dc80ea00d10c.camel@gmail.com
Since the addition of fortune-jkirchartz, it is no longer necessary to
keep around a package that propagates various non-nice things.
For a complete list, see https://bugs.gnu.org/54691.

* gnu/packages/games.scm (fortune-mod): Delete variable.
---
gnu/packages/games.scm | 73 ------------------------------------------
1 file changed, 73 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index d55a2ee867..4110ea99d1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7629,79 +7629,6 @@ (define-public rinutils
(description "This package provides C11 / gnu11 utilities C library")
(license license:expat)))
-(define-public fortune-mod
- (package
- (name "fortune-mod")
- (version "3.14.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shlomif/fortune-mod")
- (commit (string-append "fortune-mod-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg"))))
- (build-system cmake-build-system)
- (arguments
- (list #:configure-flags
- #~(let ((fortunes (string-append #$output "/share/fortunes")))
- (list (string-append "-DLOCALDIR=" fortunes)
- (string-append "-DLOCALODIR=" fortunes "/off")
- (string-append "-DCOOKIEDIR=" fortunes)
- (string-append "-DOCOOKIEDIR=" fortunes "/off")))
- #:test-target "check"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'enter-build-directory
- (lambda _
- (chdir "fortune-mod")))
- (add-after 'enter-build-directory 'symlink-rinutils
- (lambda _
- (mkdir-p "rinutils")
- (symlink #$(this-package-native-input "rinutils")
- "rinutils/rinutils")))
- (add-after 'enter-build-directory 'copy-cmake-modules
- (lambda _
- (copy-file #$shlomif-cmake-modules
- (string-append "cmake/"
- (strip-store-file-name
- #$shlomif-cmake-modules)))))
- (add-after 'enter-build-directory 'delete-failing-test
- (lambda _
- ;; TODO: Valgrind tests fail for some reason. Similar issue?
- ;; https://github.com/shlomif/fortune-mod/issues/21
- (delete-file "tests/data/valgrind.t")
- (with-output-to-file "tests/scripts/split-valgrind.pl"
- (const #t))))
- (add-after 'install 'fix-install-directory
- ;; Move fortune from "games/" to "bin/" and remove the
- ;; former. This is easier than patching CMakeLists.txt
- ;; since the tests hard-code the location as well.
- (lambda _
- (with-directory-excursion #$output
- (rename-file "games/fortune" "bin/fortune")
- (rmdir "games")))))))
- (inputs (list recode))
- (native-inputs
- (list perl
- ;; For generating the documentation.
- docbook-xml-5
- docbook-xsl
- perl-app-xml-docbook-builder
- ;; The following are only needed for tests.
- perl-file-find-object
- perl-test-differences
- perl-class-xsaccessor
- perl-io-all
- perl-test-runvalgrind
- rinutils))
- (home-page "https://www.shlomifish.org/open-source/projects/fortune-mod/")
- (synopsis "The Fortune Cookie program from BSD games")
- (description "Fortune is a command-line utility which displays a random
-quotation from a collection of quotes.")
- (license license:bsd-4)))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:17
[PATCH v2 5/5] gnu: Remove shlomif-cmake-modules.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54691@debbugs.gnu.org)
3f0fdd9003e8b27a27e035645e697fac29fba438.camel@gmail.com
This origin was added for the now removed fortune-mod, so let's remove it
as well.

* gnu/packages/games.scm (shlomif-cmake-modules): Delete variable.
---
gnu/packages/games.scm | 10 ----------
1 file changed, 10 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c22d6611f6..0c5f298283 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7560,16 +7560,6 @@ (define-public crispy-doom
original.")
(home-page "https://www.chocolate-doom.org/wiki/index.php/Crispy_Doom")))
-(define shlomif-cmake-modules
- (origin
- (method url-fetch)
- (uri (string-append
- "https://raw.githubusercontent.com/shlomif/shlomif-cmake-modules/"
- "89f05caf86078f783873975525230cf4fecede8a"
- "/shlomif-cmake-modules/Shlomif_Common.cmake"))
- (sha256
- (base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
B
Re: bug#54691: [PATCH 2/5] gnu: Add fortunes-jkirchartz.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
20220724010939.GA4249@LionPure
Hi,

On +2022-07-23 22:53:59 +0200, Liliana Marie Prikler wrote:
Toggle quote (24 lines)
> Am Samstag, dem 23.07.2022 um 21:56 +0200 schrieb Maxime Devos:
> > On 23-07-2022 17:11, Liliana Marie Prikler wrote:
> >
> > > +        (revision "2022.05.23"))        ; Use a date rather than a
> > > number
> >
> > This is a technically a possibility, but currently the convention is
> > to use numbers and the number convention is expected by (guix
> > upstream) and the (not yet merged, needs some finishing touches IIRC)
> > latest-git updater, and AFAIK there hasn't been any discussion on
> > switching to dates.
> In this case I am departing from the usual convention because I think
> calendar versioning is more useful for this type of content. Given the
> issue that lead to this patch at all, I'm not sure if support for
> automatic updates would be a good idea with this package. IMHO, it's a
> feature rather than a bug that you can't accidentally pull a third of
> BSD's offensive database, were it to ever land in this repo.
>
> Should I explain this thought more clearly in the package or do
> automatic updates trump ethical concerns?
>
>
>

I like the YYYY.MM.DD format to tag data with a version
cookie, but I sometimes (not often) wind up with more than
one version in a day, so I like to allow at least an optional
single lower case [a-z] suffix, e.g., (revision "2022.05.23b")

just 2¢ :)
--
Regards,
Bengt Richter
(
Re: bug#54691: [PATCH v2 4/5] gnu: Remove rinutils.
(address . 54691@debbugs.gnu.org)
CLNTH3MPAOKD.3TCJ6QHZU0OXR@guix-aspire
On Sat Jul 23, 2022 at 4:16 PM BST, Liliana Marie Prikler wrote:
Toggle quote (2 lines)
> This package was introduced as native input to the now removed fortune-mod,
> so let's remove it as well.
This package seems potentially useful by itself; should we really be
removing libraries just because they're leaves?

-- (
L
L
Liliana Marie Prikler wrote on 24 Jul 2022 13:27
(address . 54691@debbugs.gnu.org)
c4c4003fbde1c2c7d7b5921c28700afbffba2ebd.camel@gmail.com
Am Sonntag, dem 24.07.2022 um 11:33 +0100 schrieb (:
Toggle quote (8 lines)
> On Sat Jul 23, 2022 at 4:16 PM BST, Liliana Marie Prikler wrote:
> > This package was introduced as native input to the now removed
> > fortune-mod,
> > so let's remove it as well.
> This package seems potentially useful by itself; should we really be
> removing libraries just because they're leaves?
>
>     -- (
Normally, I'd argue "no", but in this case I'm not really sure if
they're that useful. Both this package and the one after were IIUC
unbundled git submodules, so my guess is they're not.
L
L
Ludovic Courtès wrote on 3 Aug 2022 15:43
Re: bug#54691: fortune-mod propagates various non-nice things
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87y1w5sarm.fsf_-_@gnu.org
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:

Toggle quote (6 lines)
> Since the addition of fortune-jkirchartz, it is no longer necessary to
> keep around a package that propagates various non-nice things.
> For a complete list, see <https://bugs.gnu.org/54691>.
>
> * gnu/packages/games.scm (fortune-mod): Delete variable.

[...]

Toggle quote (2 lines)
> -(define-public fortune-mod

(Perhaps also make “fortune-mod” a deprecated name for
“fortune-jkirchartz”.)

FWIW I’m fine with this change. Note that there’s also another patch
that removes the ‘off’ database of ‘fortune-mod’¹, though I don’t know
whether that would fully address the issues raised in this thread. It
will have to closed if/once this series is applied.

Thanks,
Ludo’.

L
L
Liliana Marie Prikler wrote on 3 Aug 2022 19:09
(name . Ludovic Courtès)(address . ludo@gnu.org)
c1d10237e964842e74f39c114d5a379b1f89c079.camel@gmail.com
Hi Ludo,

Am Mittwoch, dem 03.08.2022 um 15:43 +0200 schrieb Ludovic Courtès:
Toggle quote (5 lines)
> [...]
> > -(define-public fortune-mod
>
> (Perhaps also make “fortune-mod” a deprecated name for
> “fortune-jkirchartz”.)
I'm getting mixed messages here. On the one hand, Maxime suggests not
propagating daikichi from fortune-jkirchartz (which makes it a plain
data package lacking a `fortune' command), on the other we want to mark
fortune-mod as deprecated. These are mutually exclusive options.

Toggle quote (4 lines)
> FWIW I’m fine with this change.  Note that there’s also another patch
> that removes the ‘off’ database of ‘fortune-mod’¹, though I don’t
> know whether that would fully address the issues raised in this
> thread.  It will have to closed if/once this series is applied.
IIRC, I responded to such a patch already, though perhaps not that
thread in particular. To summarize, fortune-mod also propagates non-
nice things outside of ‘off’, so removing it is not enough.


Cheers
L
L
Ludovic Courtès wrote on 4 Aug 2022 14:23
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
8735ecmc2u.fsf@gnu.org
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:

Toggle quote (11 lines)
> Am Mittwoch, dem 03.08.2022 um 15:43 +0200 schrieb Ludovic Courtès:
>> [...]
>> > -(define-public fortune-mod
>>
>> (Perhaps also make “fortune-mod” a deprecated name for
>> “fortune-jkirchartz”.)
> I'm getting mixed messages here. On the one hand, Maxime suggests not
> propagating daikichi from fortune-jkirchartz (which makes it a plain
> data package lacking a `fortune' command), on the other we want to mark
> fortune-mod as deprecated. These are mutually exclusive options.

To me use of ‘deprecated-package’ in this case is just to ensure that
users who run ‘guix upgrade’ will transparently get
‘fortune-jkirchartz’. I don’t have a strong opinion though.

Toggle quote (8 lines)
>> FWIW I’m fine with this change.  Note that there’s also another patch
>> that removes the ‘off’ database of ‘fortune-mod’¹, though I don’t
>> know whether that would fully address the issues raised in this
>> thread.  It will have to closed if/once this series is applied.
> IIRC, I responded to such a patch already, though perhaps not that
> thread in particular. To summarize, fortune-mod also propagates non-
> nice things outside of ‘off’, so removing it is not enough.

Alright, let’s remove ‘fortune-mod’ then.

Thanks for taking care of it!

Ludo’.
T
T
Tobias Geerinckx-Rice wrote on 4 Aug 2022 17:37
E61C2DFA-D252-43C8-B946-5805C1C24847@tobias.gr
Toggle quote (4 lines)
>To me use of ‘deprecated-package’ in this case is just to ensure that
>users who run ‘guix upgrade’ will transparently get
>‘fortune-jkirchartz’. I don’t have a strong opinion though.

I believe what Liliana meant is that it's worse to 'transparently' upgrade to a data package that doesn't provide the 'fortune' command at all (or conversely, an implementation of the command that doesn't propagate the actual fortune data), than it is to signal to users through an error message that something's up and they need to stop and think.

(Er, that's a lot more words to put in someone's mouth than I intended to, sorry :-)

I'd suggest a news item but I really don't think this warrants it.

Kind regards,

T G-R

Sent on the go. Excuse or enjoy my brevity.
L
L
Liliana Marie Prikler wrote on 4 Aug 2022 19:12
8ddb8ad9db66e89534184df1a2b20bd3124672fc.camel@gmail.com
Am Donnerstag, dem 04.08.2022 um 15:37 +0000 schrieb Tobias Geerinckx-
Rice:
Toggle quote (13 lines)
> > To me use of ‘deprecated-package’ in this case is just to ensure
> > that users who run ‘guix upgrade’ will transparently get
> > ‘fortune-jkirchartz’.  I don’t have a strong opinion though.
>
> I believe what Liliana meant is that it's worse to 'transparently'
> upgrade to a data package that doesn't provide the 'fortune' command
> at all (or conversely, an implementation of the command that doesn't
> propagate the actual fortune data), than it is to signal to users
> through an error message that something's up and they need to stop
> and think.
>
> (Er, that's a lot more words to put in someone's mouth than I
> intended to, sorry :-)
I'm not saying either option is worse than the other, just that we
can't pick both in a manner that provides a functioning package, and
that transparently upgrading to a package that does nothing is a pretty
bad option. We could transparently upgrade to daikichi, but that'd
just say "no fortunes found" because FORTUNE_PATH will be empty. Other
options would include a metapackage (also rejected by Maxime) or
providing a dummy fortune-mod package that fails at build with a
helpful message and is disabled in CI (came up as a shower thought).

Cheers
T
T
Tobias Geerinckx-Rice wrote on 4 Aug 2022 21:58
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87k07nbvwl@nckx
Hi Liliana,

Liliana Marie Prikler ???
Toggle quote (2 lines)
> I'm not saying either option is worse than the other

I see; thanks for the clarification.

Then I *will* say that transparently upgrading to a package that
does nothing is worse than simple removal.

In fact, all of the proposed hacks are…

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYuwqug0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW159pkBAJG1d8cwDpMY5aa1wPG/sns1PY55p1+W1rA+sl2Y
a11gAQDTR2Ifz1PFhVVflIQ8jQjSXESzk6XjHHytveECW5MPCg==
=681v
-----END PGP SIGNATURE-----

B
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
20220806230112.GA16948@LionPure
Hi,

On +2022-08-04 21:58:16 +0200, Tobias Geerinckx-Rice via Bug reports for GNU Guix wrote:
Toggle quote (16 lines)
> Hi Liliana,
>
> Liliana Marie Prikler ???
> > I'm not saying either option is worse than the other
>
> I see; thanks for the clarification.
>
> Then I *will* say that transparently upgrading to a package that does
> nothing is worse than simple removal.
>
> In fact, all of the proposed hacks are…
>
> Kind regards,
>
> T G-R

I hope the original is preserved somewhere for history's sake.
So where can I get a copy to see what all the fuss is about? :)
--
Regards,
Bengt Richter
It ain't what they call you, it's what you answer to.
-- W. C. Fields
Start every day off with a smile and get it over with.
-- W. C. Fields
M
M
Maxime Devos wrote on 7 Aug 2022 01:05
a17282f6-8de5-9d45-ef42-2023c09e11d8@telenet.be
On 07-08-2022 01:01, bokr@bokr.com wrote:
Toggle quote (2 lines)
> I hope the original is preserved somewhere for history's sake.
> So where can I get a copy to see what all the fuss is about? :)
It's not merged yet IIUC, so you can just use the Guix package manager
to install the original.
For the history thing: we have "guix time-machine" and the SWH fallback.
Greetings,
Maxime.
Attachment: OpenPGP_signature
L
L
Liliana Marie Prikler wrote on 13 Aug 2022 11:26
[PATCH v3 1/6] build-system: copy: Support #:tests?.
(address . 54691@debbugs.gnu.org)
ea34b8883fb925b69b894618d2057498280fbcce.camel@gmail.com
* guix/build-system/copy.scm (copy-build): Pass tests? to builder.
---
guix/build-system/copy.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (22 lines)
diff --git a/guix/build-system/copy.scm b/guix/build-system/copy.scm
index 4894ba46fb..0df397cf77 100644
--- a/guix/build-system/copy.scm
+++ b/guix/build-system/copy.scm
@@ -84,6 +84,7 @@ (define* (copy-build name inputs
(install-plan ''(("." "./")))
(search-paths '())
(out-of-source? #t)
+ (tests? #t)
(validate-runpath? #t)
(patch-shebangs? #t)
(strip-binaries? #t)
@@ -118,6 +119,7 @@ (define builder
(sexp->gexp phases)
phases)
#:out-of-source? #$out-of-source?
+ #:tests? #$tests?
#:validate-runpath? #$validate-runpath?
#:patch-shebangs? #$patch-shebangs?
#:strip-binaries? #$strip-binaries?
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:06
[PATCH v3 2/6] gnu: Add daikichi.
(address . 54691@debbugs.gnu.org)
1cf2a24b8f569722b0f1c9d84c15fc7c9cbac303.camel@gmail.com
* gnu/packages/toys.scm (daikichi): New variable.
---
gnu/packages/toys.scm | 45 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)

Toggle diff (81 lines)
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index fb2f367490..051b4a885d 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019, 2020, 2021 Timotej Lazar <timotej.lazar@araneo.si>
-;;; Copyright © 2019 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2019, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
@@ -23,22 +23,65 @@
(define-module (gnu packages toys)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages gtk)
#:use-module (gnu packages man)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
+(define-public daikichi
+ (package
+ (name "daikichi")
+ (version "0.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/lilyp/daikichi")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y35f1qpxl743s0s83dg5ivkvprv19mqn0azm14k3y8pmp6cs52z"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'hard-code-test-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (list "test-dat.in" "test-strings.in")
+ (("(basename|cmp|diff|mktemp|rm|sed|seq)" cmd)
+ (search-input-file inputs
+ (string-append "bin/" cmd)))))))))
+ (inputs (list bash-minimal coreutils sed
+ fmt gmp))
+ (native-inputs (list pkg-config))
+ (home-page "https://gitlab.com/lilyp/daikichi")
+ (synopsis "Display random fortunes")
+ (description "Daikichi is an alternative implementation of
+@command{fortune}, which displays random quotes from a database.
+This package provides just the utilities and no quotes.")
+ (license license:gpl3+)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "DAIKICHI_FORTUNE_PATH")
+ (files '("share/fortunes")))))))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:13
[PATCH v3 4/6] gnu: Remove fortune-mod.
(address . 54691@debbugs.gnu.org)
8466fbccca93607f2c96622d15f1d1738606d3d5.camel@gmail.com
Since the addition of fortune-jkirchartz, it is no longer necessary to
keep around a package that propagates various non-nice things.
For a complete list, see https://bugs.gnu.org/54691.

* gnu/packages/games.scm (fortune-mod): Delete variable.
---
gnu/packages/games.scm | 73 ------------------------------------------
1 file changed, 73 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 99eccca04d..959ad319cf 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7683,79 +7683,6 @@ (define-public rinutils
(description "This package provides C11 / gnu11 utilities C library")
(license license:expat)))
-(define-public fortune-mod
- (package
- (name "fortune-mod")
- (version "3.14.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shlomif/fortune-mod")
- (commit (string-append "fortune-mod-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg"))))
- (build-system cmake-build-system)
- (arguments
- (list #:configure-flags
- #~(let ((fortunes (string-append #$output "/share/fortunes")))
- (list (string-append "-DLOCALDIR=" fortunes)
- (string-append "-DLOCALODIR=" fortunes "/off")
- (string-append "-DCOOKIEDIR=" fortunes)
- (string-append "-DOCOOKIEDIR=" fortunes "/off")))
- #:test-target "check"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'enter-build-directory
- (lambda _
- (chdir "fortune-mod")))
- (add-after 'enter-build-directory 'symlink-rinutils
- (lambda _
- (mkdir-p "rinutils")
- (symlink #$(this-package-native-input "rinutils")
- "rinutils/rinutils")))
- (add-after 'enter-build-directory 'copy-cmake-modules
- (lambda _
- (copy-file #$shlomif-cmake-modules
- (string-append "cmake/"
- (strip-store-file-name
- #$shlomif-cmake-modules)))))
- (add-after 'enter-build-directory 'delete-failing-test
- (lambda _
- ;; TODO: Valgrind tests fail for some reason. Similar issue?
- ;; https://github.com/shlomif/fortune-mod/issues/21
- (delete-file "tests/data/valgrind.t")
- (with-output-to-file "tests/scripts/split-valgrind.pl"
- (const #t))))
- (add-after 'install 'fix-install-directory
- ;; Move fortune from "games/" to "bin/" and remove the
- ;; former. This is easier than patching CMakeLists.txt
- ;; since the tests hard-code the location as well.
- (lambda _
- (with-directory-excursion #$output
- (rename-file "games/fortune" "bin/fortune")
- (rmdir "games")))))))
- (inputs (list recode))
- (native-inputs
- (list perl
- ;; For generating the documentation.
- docbook-xml-5
- docbook-xsl
- perl-app-xml-docbook-builder
- ;; The following are only needed for tests.
- perl-file-find-object
- perl-test-differences
- perl-class-xsaccessor
- perl-io-all
- perl-test-runvalgrind
- rinutils))
- (home-page "https://www.shlomifish.org/open-source/projects/fortune-mod/")
- (synopsis "The Fortune Cookie program from BSD games")
- (description "Fortune is a command-line utility which displays a random
-quotation from a collection of quotes.")
- (license license:bsd-4)))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:11
[PATCH v3 3/6] gnu: Add fortunes-jkirchartz.
(address . 54691@debbugs.gnu.org)
664c5a173a21d91c9215ace8845f3c38161a5188.camel@gmail.com
* gnu/packages/toys.scm (fortunes-jkirchartz): New variable.
---
gnu/packages/toys.scm | 54 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)

Toggle diff (74 lines)
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 051b4a885d..8967c0c25b 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages toys)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -82,6 +83,59 @@ (define-public daikichi
(variable "DAIKICHI_FORTUNE_PATH")
(files '("share/fortunes")))))))
+(define-public fortunes-jkirchartz
+ ;; No public release.
+ ;; Note to updaters: Please ensure that new quotes do not bring harm
+ ;; rather than fortune.
+ (let ((commit "2e32ba0a57e3842dc06c8128d880ab4c8ec3aefc")
+ (revision "0"))
+ (package
+ (name "fortunes-jkirchartz")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JKirchartz/fortunes")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ym4ldzww5yfd76q7zvhi491bqlykfjnc215bqx1cbj0c8ndb2l4"))
+ (snippet
+ #~(for-each delete-file
+ ;; incompatible license
+ '("BibleAbridged")))))
+ (build-system copy-build-system)
+ (native-inputs (list daikichi gnu-make))
+ (arguments
+ (list #:install-plan
+ #~`(("." "share/fortunes" #:include-regexp ("\\.dat$")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (substitute* "showerthoughts"
+ (("&lt;") "<")
+ (("&gt;") ">")
+ (("&amp;") "&"))
+ (substitute* "Makefile"
+ (("strfile") "daikichi pack"))))
+ (add-before 'install 'build
+ (lambda _
+ (invoke "make")))
+ (add-after 'build 'check
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (apply
+ invoke
+ (search-input-file inputs "libexec/daikichi/test-dat")
+ (find-files "." "\\.dat$"))))))))
+ (home-page "https://github.com/JKirchartz/fortunes")
+ (synopsis "Collection of fortunes")
+ (description "This package contains a large collection of quotes to
+display via @command{fortune}, drawn from sources all around the world.")
+ (license license:unlicense))))
+
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:17
[PATCH v3 6/6] gnu: Remove shlomif-cmake-modules.
(address . 54691@debbugs.gnu.org)
5f0076361cacbaa5e4d641b5ae019b51716fa7f2.camel@gmail.com
This origin was added for the now removed fortune-mod, so let's remove it
as well.

* gnu/packages/games.scm (shlomif-cmake-modules): Delete variable.
---
gnu/packages/games.scm | 10 ----------
1 file changed, 10 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 63cc980978..46c5d4f6dc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7614,16 +7614,6 @@ (define-public crispy-doom
original.")
(home-page "https://www.chocolate-doom.org/wiki/index.php/Crispy_Doom")))
-(define shlomif-cmake-modules
- (origin
- (method url-fetch)
- (uri (string-append
- "https://raw.githubusercontent.com/shlomif/shlomif-cmake-modules/"
- "89f05caf86078f783873975525230cf4fecede8a"
- "/shlomif-cmake-modules/Shlomif_Common.cmake"))
- (sha256
- (base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
L
L
Liliana Marie Prikler wrote on 23 Jul 2022 17:16
[PATCH v3 5/6] gnu: Remove rinutils.
(address . 54691@debbugs.gnu.org)
76b0f3cfe7863f1b0ac9a2fbd7ad6261030bb41f.camel@gmail.com
This package was introduced as native input to the now removed fortune-mod,
so let's remove it as well.

* gnu/packages/games.scm (rinutils): Delete variable.
---
gnu/packages/games.scm | 59 ------------------------------------------
1 file changed, 59 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 959ad319cf..63cc980978 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7624,65 +7624,6 @@ (define shlomif-cmake-modules
(sha256
(base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
-(define-public rinutils
- (package
- (name "rinutils")
- (version "0.10.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shlomif/rinutils")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0r90kncf6mvyklifpdsnm50iya7w2951nz35nlgndmqnr82gvdwf"))))
- (build-system cmake-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'copy-cmake-modules
- (lambda _
- (copy-file #$shlomif-cmake-modules
- (string-append "cmake/"
- (strip-store-file-name
- #$shlomif-cmake-modules)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "../source"
- (setenv "FCS_TEST_BUILD" "1")
- (setenv "RINUTILS_TEST_BUILD" "1")
- ;; TODO: Run tests after setting RINUTILS_TEST_TIDY to `1',
- ;; which requires tidy-all.
- ;; (setenv "RINUTILS_TEST_TIDY" "1")
- (invoke "perl"
- "CI-testing/continuous-integration-testing.pl"))))))))
- (native-inputs
- (list perl
- ;; The following are needed only for tests.
- perl-class-xsaccessor
- perl-file-find-object
- perl-io-all
- perl-test-differences
- perl-test-runvalgrind
- pkg-config))
- (inputs
- (list cmocka
- perl-env-path
- perl-inline
- perl-inline-c
- perl-string-shellquote
- perl-test-trailingspace
- perl-file-find-object-rule
- perl-text-glob
- perl-number-compare
- perl-moo))
- (home-page "https://www.shlomifish.org/open-source/projects/")
- (synopsis "C11 / gnu11 utilities C library")
- (description "This package provides C11 / gnu11 utilities C library")
- (license license:expat)))
-
(define xonotic-data
(package
(name "xonotic-data")
--
2.37.0
L
L
Liliana Marie Prikler wrote on 29 Aug 2022 00:16
Re: [PATCH v3 1/6] build-system: copy: Support #:tests?.
(address . 54691-done@debbugs.gnu.org)
443ce9cfbc10686d9b032b2d7fd8a7be790693b2.camel@gmail.com
Am Samstag, dem 13.08.2022 um 11:26 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (2 lines)
> * guix/build-system/copy.scm (copy-build): Pass tests? to builder.
> ---
I pushed this patch to core-updates and the rest to master; fortune-mod
is now removed and the replacement build (albeit with tests disabled
until the next c-u merge).

Cheers
Closed
?