Re: Unencrypted boot with encrypted root

2020-04-08 Thread Alex Griffin
On Wed, Apr 8, 2020, at 12:25 PM, Ellen Papsch wrote:
> These may be dangerous waters. The key file in initrd is like a house
> key under the mattress. A malicious process could look in the well
> defined place and exfiltrate the key. Think state trojan horses. A
> random name would not suffice, because other characteristics may help
> identifying the file (i.e. size).

What's the threat model here? For me, an encrypted disk is only meant to 
protect my data at rest. If a malicious process is already running on my system 
as root, then I don't care if they can exfiltrate the key.

-- 
Alex Griffin



Re: Unencrypted boot with encrypted root

2020-04-08 Thread Alex Griffin
On Wed, Apr 8, 2020, at 7:57 AM, Pierre Neidhardt wrote:
> Do you have a working example of this for Guix?

Unfortunately not. I do have an old NixOS config[1] where I set things up like 
this, if what you're looking for is a proof-of-concept.

-- 
Alex Griffin

[1]: 
https://gitlab.com/ajgrf/dotfiles/-/blob/1e17dac3cda00af68772dc22731ac0880d280b9c/.nixpkgs/antares.nix



Re: Unencrypted boot with encrypted root

2020-04-07 Thread Alex Griffin
On Tue, Apr 7, 2020, at 9:46 AM, Ludovic Courtès wrote:
> The difficulty is that any file traveling through the store is
> world-readable.  It’s hard to avoid.

If we can create the key file outside of the store, then GRUB is capable of 
being passed multiple initrds. So we can put the key in its own initrd (outside 
of the store), continue to generate the normal initrd in /gnu/store, and pass 
both of them to GRUB. The key never enters the store in any way.

The result is that the user only needs to enter a password into GRUB, because 
GRUB then passes the key file to the kernel.

-- 
Alex Griffin



Re: New build system: copy-build-system

2020-02-18 Thread Alex Griffin
I was looking to package [PaperWM][1][2] today, a tiling window manager 
extension for gnome-shell. To my surprise, it's an excellent candidate for 
copy-build-system! So I think I will wait for this to merge first. Good job 
with this!
-- 
Alex Griffin

[1]: https://github.com/paperwm/PaperWM
[2]: https://jvns.ca/blog/2020/01/05/paperwm/



Re: Guix search, colors and INSIDE_EMACS

2020-02-13 Thread Alex Griffin
On Thu, Feb 13, 2020, at 9:30 AM, zimoun wrote:
> Therefore, IMHO you need to set the environment variable by yourself
> in your config file. Or send a patch upstream.
> Because the reason is that EShell is not doing the right thing and it
> is not compliant to the doc.

Compliant to which doc? The only place I can find documentation for 
INSIDE_EMACS is in the shell-mode docs. I can't find any doc that suggests it 
should be set by any other package.

-- 
Alex Griffin



Re: help updateing go to 1.13

2020-02-08 Thread Alex Griffin
I believe the go-build-system will need to be updated to support Go modules. 
For some reason they thought it would be a good idea for `go build` to access 
the network for consistency with `go get`. Until we figure out what to do about 
this, I think we can just set the $GO111MODULE environment variable to "off".

https://golang.org/cmd/go/#hdr-Module_support

-- 
Alex Griffin

On Sat, Feb 8, 2020, at 3:59 AM, Jack Hill wrote:
> Hi Guix,
> 
> I thought I would try my hand at updating our go package to 1.13. Looking 
> at the release notes [0] it didn't look to bad. What I have so far can be 
> found in the attached patch.
> 
> With the patch, go builds. To spot check that everything still looked 
> okay, I also tried to build syncthing. Doing so, however, failed when it 
> tried to fetch a dependency from the network:
> 
> ```
> go: 
> github.com/AudriusButkevicius/go-nat-pmp@v0.0.0-20160522074932-452c97607362: 
> Get 
> https://proxy.golang.org/github.com/%21audrius%21butkevicius/go-nat-pmp/@v/v0.0.0-20160522074932-452c97607362.mod:
>  dial tcp: lookup proxy.golang.org on [::1]:53: read udp 
> [::1]:35040->[::1]:53: read: connection refused
> command "go" "run" "build.go" "-no-upgrade" failed with status 1
> builder for 
> `/gnu/store/5zs0yrcvr0vwsashsn2i5vx1fgynhmaw-syncthing-1.2.2.drv' 
> failed with exit code 1
> ```
> 
> go-github-com-audriusbutkevicius-go-nat-pmp is listed as an input for 
> syncthing. I don't know why the change in compiler version would have 
> caused this. Thoughts?
> 
> [0] https://golang.org/doc/go1.13
> 
> [1] On thing that might need addition thinking is that `go get` in 1.13 
> now uses the Google mirror for fetching modules and cheksums which is 
> different than current behavior. I'm not sure if this poses any privacy 
> concerns for the user, and would like to hear what other's think, but this 
> is not the main problem I'm struggling with today.
> 
> Best,
> Jack
> Attachments:
> * 0001-WIP-gnu-go-update-to-1.13.patch



Re: Collect guix profiles in single directory.

2020-01-06 Thread Alex Griffin
I like the idea of collecting guix profiles in one place, and I also like the 
suggestion to not put it right in $HOME. However, I don't think profiles belong 
in $XDG_CONFIG_HOME, for the simple reason that they are not configuration. If 
you really want to follow the xdg basedir spec, they would go in $XDG_DATA_HOME 
(~/.local/share). Personally, I already keep my profiles in ~/.local/guix, 
which fits my brain well but is not xdg compliant either.

-- 
Alex Griffin



Re: bug#22883: Authenticating Git checkouts: step #1

2019-12-27 Thread Alex Griffin
Do I need to update anything on Savannah when I extend the expiration of my GPG 
key? On January 1st, I think my key will appear to expire unless the keyring 
was refreshed very recently.
-- 
Alex Griffin

On Fri, Dec 27, 2019, at 8:47 PM, Ricardo Wurmus wrote:
> 
> Hi Ludo,
> 
> > I’ve now committed this file:
> >
> >   b3011dbbd2 doc: Mention "make authenticate".
> >   787766ed1e git-authenticate: Keep a local cache of 
> > previously-authenticated commits.
> >   785af04a75 git: 'commit-difference' takes a list of excluded commits.
> >   1e43ab2c03 Add 'build-aux/git-authenticate.scm'.
> >
> > Commit 787766ed1e takes care of caching (one of the limitations I
> > mentioned in my previous message).
> >
> > Commit b3011dbbd2 adds instructions for contributors on how to
> > authenticate a checkout (copied below).  It’s a bit bumpy so I would
> > very much welcome feedback and suggestions on how to improve this!
> 
> This is great!
> 
> Thank you for the instructions.  I thought I had all keys, but
> apparently at least one of them is missing.  “make authenticate” fails
> for me with this error:
> 
> Throw to key `srfi-34' with args `(# "could not authenticate commit 
> b291c9570d5a27b11472df3df61cef9ed012241b: key 
> B943509D633E80DD27FC4EED634A8DFFD3F631DF is missing"] 7f70fb08c240>)'.
> 
> I previously downloaded the gpg keyring from Savannah:
> 
> https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=guix
> 
> Looks like Hartmut used to use a different key, which I don’t have.
> 
> --
> Ricardo
> 
> 
>



Re: Staging branch is OPEN

2019-12-12 Thread Alex Griffin
Never mind, I see that it was already updated.

-- 
Alex Griffin

On Thu, Dec 12, 2019, at 5:38 PM, Alex Griffin wrote:
> Is eudev 3.2.9 an appropriate update for staging? It contains an 
> important fix for Librem laptop keyboards.
> 
> $ guix refresh -l eudev
> Building the following 964 packages would ensure 1723 dependent 
> packages are rebuilt: ...
> 
> -- 
> Alex Griffin
> 
> On Wed, Dec 11, 2019, at 10:34 PM, Marius Bakke wrote:
> > Guix,
> > 
> > The 'staging' branch is awaiting your patches.  Please submit your
> > changes by the end of this week (i.e. before Monday, 2019-12-15).
> > 
> > Thanks,
> > Marius
> > 
> > Attachments:
> > * signature.asc
> 
>



Re: Staging branch is OPEN

2019-12-12 Thread Alex Griffin
Is eudev 3.2.9 an appropriate update for staging? It contains an important fix 
for Librem laptop keyboards.

$ guix refresh -l eudev
Building the following 964 packages would ensure 1723 dependent packages 
are rebuilt: ...

-- 
Alex Griffin

On Wed, Dec 11, 2019, at 10:34 PM, Marius Bakke wrote:
> Guix,
> 
> The 'staging' branch is awaiting your patches.  Please submit your
> changes by the end of this week (i.e. before Monday, 2019-12-15).
> 
> Thanks,
> Marius
> 
> Attachments:
> * signature.asc



Re: Python 2 end-of-life?

2019-11-21 Thread Alex Griffin
On Thu, Nov 21, 2019, at 11:46 AM, zimoun wrote:
> What do you do?
> Do we deprecate the python2 packages? If yes, what would be the
> schedule? If no, do we move all the python2 packages to a
> python2-xyz.scm file?
> Do we do nothing? Based on what rationale?

I think a good place to start is by just filing bugs against packages that rely 
on Python 2, saying that they face removal once Python 2 is EOL. As Konrad 
pointed out though, not every package necessarily needs to support Python 3. I 
think there can probably be exceptions for packages that do not add much 
security risk or maintenance work.

Red Hat will continue providing security fixes to Python 2 for several more 
years. PyPy will also continue to support Python 2 indefinitely, so packaging 
that and making it an option in python-build-system may be an option for some 
packages.

-- 
Alex Griffin



Re: “Guix Profiles in Practice”

2019-10-26 Thread Alex Griffin
On Fri, Oct 25, 2019, at 5:24 AM, Ludovic Courtès wrote:
> Here’s a new blog post by Pierre Neidhardt entitled “Guix Profiles in
> Practice”:
> 
>   https://guix.gnu.org/blog/2019/guix-profiles-in-practice/
> 
> A great discussion on the benefits of manifests and on ways to manage
> several profiles!

Great article, Pierre! I've known for a while how to do all this, but I still 
just used one big profile. Following along with your article, I finally went 
ahead and split it up.

I noticed some typos though. This line has mismatched quotes:

> export MANPATH=/path/to/profile${MANPATH:+:}$MANPATH"

And this sentence is missing a couple words in the cookbook version:

> This means that the exact same profile can be anytime, with

-- 
Alex Griffin




Re: SLiM graphical login manager and keyboard layout

2019-10-18 Thread Alex Griffin
For security reasons, GDM is highly recommended even if you don't use GNOME. As 
far as I know, it's the only currently maintained display manager that doesn't 
run X as root.

-- 
Alex Griffin

On Fri, Oct 18, 2019, at 7:33 AM, Tanguy Le Carrour wrote:
> Hi Guix!
> 
> I'm not a Gnome user and I would like to get rid of GDM and use SLiM
> instead.
> 
> I'm struggling to set the keyboard layout as, apparently,
> slim-service-type is not supposed to be extended as gdm-service-type is.
> 
> I guess it's only a matter of copying (and adapting) the `(extend …)` and
> `(compose …)` blocks from `gdm-service-type` to `slim-service-type`. But it's
> just a guess. I've tried to define `my-slim-service-type` in my system config,
> but failed!
> 
> Any help will be welcome!
> 
> -- 
> Tanguy
> 
>



Re: Guix beyond 1.0: let’s have a roadmap!

2019-07-01 Thread Alex Griffin
On Mon, Jul 1, 2019, at 10:06 AM, Ludovic Courtès wrote:
> > ** TODO run-time configuration system for services, similar to OpenWrt's UCI
> 
> What does it mean?  (I don’t know UCI.)

UCI is a configuration language and tool layered on top of the underlying 
packages. It gives a single machine-readable configuration format to 
everything, and then uses it to generate the real config files used by 
services. It's the thing that lets you change your router settings from the 
OpenWrt web interface or command line.

It's a lot like Guix system declarations, except service configuration happens 
at runtime. I guess the thing I really want though is a web interface.

> > ** TODO support automatic GPG/signify signature verification of origin 
> > objects
> 
> For users or for packagers?

For packagers. If a package ships with a cryptographic signature, we could 
commit it with the package and have Guix double check our source integrity. 
This would be especially helpful with `guix refresh`, because I suspect not 
everybody is as diligent about integrity checking when Guix just generates a 
working hash for you.

-- 
Alex Griffin




Re: Guix beyond 1.0: let’s have a roadmap!

2019-06-27 Thread Alex Griffin
On Thu, Jun 27, 2019, at 4:31 PM, Ludovic Courtès wrote:
> What do *you* want Guix to address in the future?

* Guix System

** TODO add firewall-service to provide a configurable stateful firewall 
suitable for most desktops and servers
*** TODO add service-extensions to existing services so that firewall-service 
can be added to %base-services without unnecessary breakage

** TODO use guile-bash to automatically update environment variables when the 
current profile changes

** TODO support more partitioning and bootloader configurations (full disk 
encryption without entering password twice, LVM support, os-prober, etc.)
*** TODO support secured boot from Heads/PureBoot 
(https://docs.puri.sm/PureBoot.html)

** TODO easier loading of out-of-tree kernel modules

** TODO run-time configuration system for services, similar to OpenWrt's UCI


* Command Line Interface

** TODO refresh able to take a contributor name and find out-of-date packages 
that they have contributed to

** TODO improved search: support AND terms instead of OR, configurable recfmt 
template

** TODO package --show should allow multiple arguments and not require an equal 
sign


* Other

** TODO evaluate shepherd service definitions placed somewhere in 
~/.guix-profile before evaluating ~/.config/shepherd/init.scm

** TODO support automatic GPG/signify signature verification of origin objects

** TODO better Node.js packaging and tooling
*** TODO package important Icecat and Ungoogled-Chromium extensions. This is a 
pain point because IceCat steers users away from Firefox Add-ons and 
Ungoogled-Chromium completely disallows installing from Chrome Web Store.


-- 
Alex Griffin



Re: [GNU-linux-libre] [PATCH] gnu: Add ungoogled-chromium.

2019-02-16 Thread Alex Griffin
On Sat, Feb 16, 2019, at 7:48 PM, Adonay Felipe Nogueira wrote:
> If the norm would be to only check the licenses, then we would have for
> example, taken ages to figure out that the kernel source files from
> upstream of GNU Linux-libre was/is non-free.

The Linux kernel was included in GNU distributions until a concrete problem was 
identified, exactly the opposite of what is being demanded here. AFAICT Marius 
has expended quite a bit of effort to resolve every known problem with the 
package, and what is left is literally just FUD (fear, uncertainty, doubt).

-- 
Alex Griffin



Re: GDM update!

2019-02-11 Thread Alex Griffin
On Mon, Feb 11, 2019, at 1:55 AM, Ludovic Courtès wrote:
> BTW, at the Guix Days, there were discussions about defaulting to
> LightDM instead of GDM. I forgot to mention then that using LightDM
> wouldn’t solve the GNOME use case; in particular, closing the lid under
> GNOME wouldn’t lock the screen, and clicking the lock button wouldn’t
> have any effect, which is pretty bad.

According to Hans de Goede's talk[1] at FOSDEM (around 27:00), GDM is currently 
the only option for running Xorg without root privileges. If true, that's a 
very compelling reason to default to GDM.
-- 
Alex Griffin

[1]: https://fosdem.org/2019/schedule/event/flickerfree/



Re: Stop it. Formerly - Re: Promoting the GNU Kind Communication Guidelines?

2018-11-01 Thread Alex Griffin
On Thu, Nov 1, 2018, at 9:40 AM, Ludovic Courtès wrote:
> it would seem unreasonable to join and at the same
> time push for a change of rules that have long been established by
> members of the group.

Agreed, that's why I left the project without making a fuss and waited over 15 
months for someone else to bring it up first. At least for my part I only 
wanted people to understand my perspective, whether or not you make any changes 
is up to the people who actually have a stake in the project.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-31 Thread Alex Griffin
On Wed, Oct 31, 2018, at 8:48 AM, Thomas Danckaert wrote:
> In practice, just send 
> your patches, be civil and respect all other contributors.  I can't 
> remember any occasion where people were banned.

Yes, even feminists and anti-feminists should be able to get along despite 
their disagreements.

> One or two people 
> left when they were asked to respect people's choice of pronouns, and 
> decided they'd rather leave, but nobody told them to leave...

This case sounds trickier to me, because you may be asking them to say 
something they don't believe. I suspect that most of the world believes there 
is only male and female, and that it's fixed at birth. A simple correction or 
educational link is probably not going to be enough to convince many of them 
otherwise. If someone's insistence on the wrong pronoun is not accompanied by 
other harassing behavior then I hope there's another way to get along.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Griffin
On Mon, Oct 29, 2018, at 7:46 PM, Alex Griffin wrote:
> It's not *just* a low standard of communication. The same sentence goes 
> on to list a whole slew of categories you might use to put people into 
> groups, which I don't agree with because it encourages treating people 
> as members of a group rather than as individuals.

I know someone will argue this, so I'll get ahead of it. This is probably a 
confusing statement, because the literal meaning of the words is that you 
should treat people as individuals. The problem is that if that's what you 
really want then it's a bad idea to remind people of all the ways they're 
divided.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Griffin
On Mon, Oct 29, 2018, at 5:58 PM, Tonton wrote:
> There are limits though. The CC pledges you to abide by it's rules in
> relation to a certain community. Outside of this you are not pledged to it.
> but see below.

I know, but my point is that pledging yourself to the CoC is way different than 
just entering a space with established rules or norms that you should follow.

> I'm not sure I understand what you mean by "The words themselves actually
> carry weight, and not just as rules to follow" How do they carry weight
> outside of setting rules? I'm a bit intrigued by how much weight you put in
> your words though. Do you never blow with the wind and dance with the stars
> because of this bondage to words?

The words "covenant" or "code" in this sense of the word are far more weighty 
than guidelines or even rules. Obviously I do speak casually most of the time 
but not when discussing statements of value.

> I too spent some time mulling that one over, but seeing as it
> asks you to pledge what I see as a low standard of communication I found no
> problem with it. The fact that it gives some of us pause is probably enough
> to warrant a change though.

It's not *just* a low standard of communication. The same sentence goes on to 
list a whole slew of categories you might use to put people into groups, which 
I don't agree with because it encourages treating people as members of a group 
rather than as individuals.

> Debians spend time
> encouraging positive behaviour, and alludes to process - it misses
> responsibility and properly talking about process.

Both documents barely address responsibility at all, and to properly address it 
would veer this discussion far down the philosophical rabbit hole.

> Debians also misses defining negative behaviour, which leaves it up to
> potential contributors to investigate what is allowed and not in the
> community. This is enough for some to not bother trying, and that is one of
> the important points. I (we) want to include them.

Behavior which causes conficts qualifies as *potentially* negative, to be 
negotiated as it occurs, except possibly in very serious cases.

> Alex Griffin  wrote:
> > In a sense, the Debian Code of Conduct is a code in name only. It's really
> > just 6 guidelines for kind communication and resolving conflicts
> > peacefully, and finally a method for seeking recourse either as a last
> > resort or in serious cases. The Contributor Covenant is actually a real
> > covenant.
> 
> that's the same thing. :) I encourage reading the tao of pooh - this is
> completely off topic.

They're not the same thing at all. A covenant is something you pledge yourself 
to, a code in this sense of the word might otherwise be called a creed. A code 
might also just be a plain old list of rules, which the Debian CoC still 
wouldn't qualify for.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Griffin
On Mon, Oct 29, 2018 at 11:49:23AM +0100, Thorsten Wilms wrote:
> bullshit. I pledged nothing. More pragmatic and truthful would be:
> 
> "The project owners expect everyone who contributes to [...]

Exactly. I would actually have less of a problem with it if it were 
presented as moderation rules come down from on high. They still might 
be bad rules that I disagreed with (or not), but at least there would 
only be a problem if I broke a rule.

When the CoC actually purports to speak for me, then there's a problem 
even if no one ever invokes the CoC. I view the Contributor Covenant in 
particular as pushing identity politics on the free software world and 
manufacturing consent for that agenda. That's why the website proudly 
lists all the projects that agreed to it, and why they go push newer 
projects to adopt it.

I mean don't you think it's odd that the net effect of CoCs is to cause 
drama and divide communities, when they're supposed to be about 
welcoming everybody? Even if you can't understand why it shakes out like 
that, that alone should throw up red flags in your mind.

-- 
Alex Griffin




Re: Promoting the GNU Kind Communication Guidelines?

2018-10-28 Thread Alex Griffin
On Sun, Oct 28, 2018, at 1:42 PM, Tonton wrote:
> It seems to me you are making punishment way bigger than it actually is.

Think about it this way. The Contributor Covenant goes on about the many 
different ways that a disagreement might escalate, while the Debian CoC spends 
almost all of its time modeling how to de-escalate a disagreement.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-28 Thread Alex Griffin
In a sense, the Debian Code of Conduct is a code in name only. It's really just 
6 guidelines for kind communication and resolving conflicts peacefully, and 
finally a method for seeking recourse either as a last resort or in serious 
cases. The Contributor Covenant is actually a real covenant.
-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-28 Thread Alex Griffin
On Sun, Oct 28, 2018, at 1:42 PM, Tonton wrote:
> It seems to me you are making punishment way bigger than it actually is.

The CoC actually says that maintainers have a responsibility to remove 
offenders or risk being removed themselves. In contrast the Debian Code 
of Conduct says:

> While this code of conduct should be adhered to by participants, we 
> recognize that sometimes people may have a bad day, or be unaware of 
> some of the guidelines in this code of conduct. When that happens, you 
> may reply to them and point out this code of conduct. Such messages 
> may be in public or in private, whatever is most appropriate. However, 
> regardless of whether the message is public or not, it should still 
> adhere to the relevant parts of this code of conduct; in particular, 
> it should not be abusive or disrespectful. Assume good faith; it is 
> more likely that participants are unaware of their bad behaviour than 
> that they intentionally try to degrade the quality of the discussion.

The difference is like night and day.

> Remember the CoC is only true for some communities/cultures, it does not
> influence your legal entity outside of your interactions with the community

To enter into a covenant, or agree to be bound by a code, means to stake 
your word on it. The words themselves actually carry weight, and not 
just as rules to follow, which is why the tiniest details of these 
documents receive so much scrutiny.

>From sentence 1 of the Contributor Covenant:
> In the interest of fostering an open and welcoming environment, we as 
> contributors and maintainers pledge to [...]

This snippet right here is a problem even before we get to the meat and 
potatoes. I don't appreciate the presumption that my mere participation 
indicates my agreement with this document. It rubs me the wrong way even 
when I'm only reporting a bug (which does fall under its scope, because 
'issues', as found in an issue tracker, are explicitly mentioned further 
down).

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-28 Thread Alex Griffin
On Sun, Oct 28, 2018, at 7:33 AM, Gábor Boskovits wrote:
> I proposed to try to roll our own, essentially based on GKCG,
> but have the acceptable behaviour and the processes defined.
> 
> Do you think this can/should be done?
> Do you think that this could result in a better situation overall?

It's tough work to get everything right in a CoC. I think that's probably why 
the Contributor Covenant was chosen in the first place, but IMO it was a bad 
choice.

The GKCG is slightly less polished, and only preferable because it does NOT 
specify processes (making it less important to agree with every word). The 
processes are where the whole controversy is; nobody objects to behaving 
compassionately.

If you must spell out consequences for bad behavior, the Debian Code of Conduct 
is impeccable, I suggest starting with that. Despite the fact that I dislike 
codes of conduct in principle, I couldn't find a single thing wrong with it.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-26 Thread Alex Griffin
> An interesting element here is that many of the
> harrassers don't seem to understand that they are harrassing.

I'm so glad you brought this up, because it seems equally plausible to me that 
the other party could be reacting  overly sensitively.

This is precisely why it is a bad idea to set up an authority for people to 
appeal to. In many cases it's not clear which party is the unreasonable one, 
and it must be worked through with dialogue.

If people don't have to work things out among themselves, and disputes are 
instead handled by a committee of project maintainers, contributors lose the 
opportunity to better understand each other. Oh, and that committee of 
maintainers have all agreed according to the Contributor Covenant that they 
have a responsibility to punish abusers, so they might find it difficult to 
avoid being biased towards punishing the accused.

Software projects should focus on software. They are not equipped to administer 
justice.

-- 
Alex Griffin



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-26 Thread Alex Griffin
Adopting both actually does nothing for those who take issue with the CoC, 
since between the 2 documents the stricter one must take precedence in order to 
mean anything at all.

-- 
Alex Griffin

On Thu, Oct 25, 2018, at 9:43 PM, Gábor Boskovits wrote:
> Hello
> 
> George Clemmer  ezt írta (időpont: 2018. okt. 26., P, 1:04):
> >
> > Hello
> >
> > Ricardo Wurmus  writes:
> >
> > > Hello Mathieu,
> > >
> > >> Mathieu Lirzin  skribis:
> > >>
> > >>> Following the announcement made by RMS regarding the new GNU Kind
> > >>> Communication Guidelines (GKCG) [1], I would like to know if the Guix
> > >>> developpers in particular its maintainers would agree to adopt it in
> > >>> place of the current Code of Conduct (CoC)?
> > >>
> > >> Speaking for myself: no.  I think the GKCG fails to address important
> > >> issues, such as defining what’s acceptable and what’s not as well as
> > >> clear processes to address this.
> > >
> > > [Apologies for the delay; I’m currently traveling.]
> > >
> > > Adding to what Ludovic wrote, I also would not want to replace the
> > > current proven Contributor Covenant with the recently emerged GKCG.
> > > Using *both* of them would not be useful, I think, as I find our current
> > > CoC to be sufficient; using *only* the GKCG and dropping the existing
> > > CoC would be a mistake in my opinion, as our CoC describes a process
> > > which the GKCG does not.
> 
> I belive that if there are voices who would like to have them both, there is
> actually no problem with using both. The current CoC is in fact sufficient, 
> but
> if having the GKCG also makes people feel better I am not opposed to adopt it.
> 
> > >
> > > Committing to a process to deal with grievances is a very desirable
> > > feature of our current CoC that I don’t want to give up.  As one of the
> > > people who shares responsibility for dealing with incidents of
> > > harassment or misunderstandings, this helps me do a better job.
> > >
> > > Even so, I encourage people to continue to engage in fostering kind
> > > communication in the channels of the Guix project, something that this
> > > community by and large does very well.
> > >
> > >>> Adopting the GKCG instead of a CoC would help attracting people (like
> > >>> me) who agree to use a welcoming and respectful language which
> > >>> encourages everyone to contribute but are reluctant in contributing to
> > >>> any project following a CoC due to its punitive nature and the politics
> > >>> of its authors [2][3].
> > >
> > > To me the politics of the author(s) of the original or current version
> > > of the Contributor Covenant don’t play much of a role in prefering it as
> > > a practical guiding document for this community.  (I don’t know the
> > > author.)
> > >
> > > I think I see how it could be seen as “punitive”, but I don’t share this
> > > assessment.  We all want what’s best for the project and the people who
> > > currently work on or consider working on it — to me the emergence of the
> > > GKCG is more evidence that this is true.  I hope that seeing these
> > > similarities in intent more than the differences in implementation will
> > > allow you to overcome your feeling of reluctance to contribute to Guix
> > > (and other projects that have decided to adopt a CoC).
> >
> > The responses above seem consistent with why CoC mightq appeal to
> > maintainers. But as a Guix user and occasional contributor, I find GKCG
> > more welcoming and more useful. For me, RMS' rationale is compelling:
> >
> > The idea of the GNU Kind Communication Guidelines is to start
> > guiding people towards kinder communication at a point well before
> > one would even think of saying, "You are breaking the rules."  The
> > way we do this, rather than ordering people to be kind or else, is
> > try to help people learn to make their communication more kind.
> >
> > It is really the either-or situation implied by the discussion above?
> >
> > What would be wrong with adding GKCG and keeping CoC?
> >
> 
> I think this can be done, I feel nothing wrong with it.
> 
> > - George
> >
> 
> It is also quite obvious what the maintainers feel missing from
> GKCG, so it also might be possible to improve on the current
> GKCG and make some of the features of CoC available, like:
> 1. Explicitly defining acceptable and not acceptable behaviour
> (maybe by providing a liked document for that for flexibility and
> easier adoptation)
> 2. Explicitly define a process to deal with issues
> (this can also be a linked doument)
> One way to do this easily would be to provide the current CoC as the
> linked document
> defining these. Later we could improve on this.
> WDYT?
> 
> Best regards,
> g_bor
> 



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-24 Thread Alex Griffin
Jack Hill  skribis:
>
> Interesting. I too am eager understand your thinking on this.

I am skeptical of codes of conduct in FLOSS projects because they often 
come bundled with a certain (non-software-related) political orthodoxy.

The Contributor Covenant is the worst offender in this regard, having 
been created specifically for that purpose [1]. Although most of the 
offending text has now been removed from the document itself, the same 
spirit still follows behind it to projects that adopt the CC.

(It is also baffling to me that programmers would want to recreate an 
imitation HR department in their time off from the corporate world, but 
I'll put that aside.)

On Wed, Oct 24, 2018 at 12:02:37PM +0200, Ludovic Courtès wrote:
>
> Same here.  For the record, the code of conduct was adopted in Guix
> in Dec. 2015.

I hadn't noticed when I first started contributing. A bad code of 
conduct can still work out fine with good project leadership in place, 
which is why the Contributor Covenant was only one of several factors 
influencing my decision to move away from Guix.

I hope it is evident that I don't oppose the CoC out of a desire to 
behave badly. Please forgive some vagueness as well; I tried very hard 
not to provoke unnecessary controversy. As a result much of this email 
was edited out before sending.

-- 
Alex Griffin

[1]: https://twitter.com/coralineada/status/1041465346656530432



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-23 Thread Alex Griffin
On Tue, Oct 23, 2018 at 01:15:23PM +0200, Mathieu Lirzin wrote:
> Adopting the GKCG instead of a CoC would help attracting people (like
> me) who agree to use a welcoming and respectful language which
> encourages everyone to contribute but are reluctant in contributing to
> any project following a CoC due to its punitive nature and the politics
> of its authors [2][3].

FWIW once I noticed that Guix had adopted the Contributor Covenant, it 
factored strongly into my decision to stop contributing to the project 
last year.

I can't say for sure that I would contribute again if the CoC were gone, 
but I would very much welcome this change.  

-- 
Alex Griffin



Git-style aliases in Guix?

2017-02-25 Thread Alex Griffin
I think it would be cool and useful if Guix had some kind of config file
where users could define new commands or aliases, as in git. I'm sure
many people here already have their own helper code to work witk Guix,
whether that's in shell scripts, bashrc, guile, elisp, etc. And it would
make it easier to experiment with changing the command line syntax
without committing to any change too soon.

I've attached my own Guix wrapper function to show some use cases, like:

# New features
* automatically invoke `./pre-inst-env` when ~/.config/guix/latest
points to a git repo
* `guix make` builds Guix in your git checkout directory
* `guix clean` cleans out your Guix git checkout
* `guix visit ` opens a package's homepage in a browser
* `guix ls` lists the files in a Guix package (must be present or built
on your machine)

# Convenience Commands
* `guix search` wraps `guix package -s` with a recutils template
* `guix manifest` -> guix package --manifest=~/.config/guix/profile.scm
* `guix reconfigure` -> sudo guix system reconfigure
~/.config/guix/system.scm
* `guix repl` just invokes `./pre-inst-env guile`, but it should
probably also load some Guix modules.

# Simple Aliases
* `guix add` or `guix install` -> guix package --install
* `guix env` -> guix environment
* `guix try` -> guix environment --ad-hoc
* `guix profile` -> guix package
* `guix show` or `guix info` -> guix package --show=
* `guix remove` or `guix uninstall` -> guix package --remove

What does everyone think? If you like the idea, what would the
implementation/config file look like?
-- 
Alex Griffin



Git-style aliases in Guix?

2017-02-25 Thread Alex Griffin
I think it would be cool and useful if Guix had some kind of config file
where users could define new commands or aliases, as in git. I'm sure
many people here already have their own helper code to work witk Guix,
whether that's in shell scripts, bashrc, guile, elisp, etc. And it would
make it easier to experiment with changing the command line syntax
without committing to any change too soon.

I've attached my own Guix wrapper function to show some use cases, like:

# New features
* automatically invoke `./pre-inst-env` when ~/.config/guix/latest
points to a git repo
* `guix make` builds Guix in your git checkout directory
* `guix clean` cleans out your Guix git checkout
* `guix visit ` opens a package's homepage in a browser
* `guix ls` lists the files in a Guix package (must be present or built
on your machine)

# Convenience Commands
* `guix search` wraps `guix package -s` with a recutils template
* `guix manifest` -> guix package --manifest=~/.config/guix/profile.scm
* `guix reconfigure` -> sudo guix system reconfigure
~/.config/guix/system.scm
* `guix repl` just invokes `./pre-inst-env guile`, but it should
probably also load some Guix modules.

# Simple Aliases
* `guix add` or `guix install` -> guix package --install
* `guix env` -> guix environment
* `guix try` -> guix environment --ad-hoc
* `guix profile` -> guix package
* `guix show` or `guix info` -> guix package --show=
* `guix remove` or `guix uninstall` -> guix package --remove

What does everyone think? If you like the idea, what would the
implementation/config file look like?
-- 
Alex Griffin


guix-wrapper.sh
Description: application/shellscript


Re: [PATCH 2/3] gnu: Add font-iosevka.

2017-02-10 Thread Alex Griffin
On Fri, Feb 10, 2017, at 10:02 AM, Ludovic Courtès wrote:
> Any idea how many Node packages we’re missing to make that happen?

It only depends on 10 packages directly, but I have no idea how many
recursive dependencies that would mean. Probably a lot.
-- 
Alex Griffin



Re: [PATCH 0/3] Various new fonts

2017-02-10 Thread Alex Griffin
On Fri, Feb 10, 2017, at 06:48 AM, Ludovic Courtès wrote:
> I think copying TTFs is not perfect, but I don’t think it contradicts
> the GNU FSDG.  What part of the FSDG did you have in mind?

The first two paragraphs under "License Rules." It reads to me like
fonts should be treated identically to other software and be available
in source form. Which I guess doesn't exactly mean we need to build from
source, but when a user runs `guix build -S font-foo`, they may not get
the preferred format for making changes.

> I’m not sure which discussion you’re referring to, but I think
> long-term, we should encourage font packages that build from source.
> However, I would not refuse packages that copy TTF/OTF files today
> because the other packages are not up to that standard yet.
> 
> WDYT?

I would agree with that. I was referring to the discussion about Adobe
Source Code Pro, starting with Mark's message here:

https://lists.gnu.org/archive/html/guix-devel/2016-08/msg00727.html
-- 
Alex Griffin



[PATCH 0/3] Various new fonts

2017-02-09 Thread Alex Griffin
These patches add the Comic Neue, Iosevka, and Go fonts.

I've been holding off on submitting them because they just copy TTF
files instead of building from source, which I think may be against the
FSDG. I brought up this point a few months back and nothing really came
of it. I'm submitting them now because nobody else seems concerned, and
I've been happy enough with these packages to use them myself. Many free
fonts make it very difficult or impossible to build from source anyway.
-- 
Alex Griffin



[PATCH 1/3] gnu: Add font-comic-neue.

2017-02-09 Thread Alex Griffin
This patch adds Comic Neue, a casual typeface meant to improve upon
Comic Sans.
-- 
Alex Griffin
From af9a68eada588421521631a95348143ec01e606a Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Thu, 9 Feb 2017 14:25:24 -0600
Subject: [PATCH 1/3] gnu: Add font-comic-neue.

* gnu/packages/fonts.scm (font-comic-neue): New variable.
---
 gnu/packages/fonts.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 43991d103..fdda81c2b 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2016 Toni Reina 
 ;;; Copyright © 2017 Tobias Geerinckx-Rice 
 ;;; Copyright © 2017 José Miguel Sánchez García 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1031,3 +1032,39 @@ designed to work well in user interface environments.")
 "Font Awesome is a full suite of pictographic icons for easy scalable
 vector graphics.")
(license license:silofl1.1)))
+
+(define-public font-comic-neue
+  (package
+   (name "font-comic-neue")
+   (version "2.3")
+   (source (origin
+(method url-fetch)
+(uri (string-append
+  "http://www.comicneue.com/comic-neue-"; version ".zip"))
+(sha256
+ (base32
+  "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"
+   (build-system trivial-build-system)
+   (arguments
+`(#:modules ((guix build utils))
+  #:builder (begin
+  (use-modules (guix build utils))
+  (let ((font-dir (string-append %output
+ "/share/fonts/truetype"))
+(source (assoc-ref %build-inputs "source"))
+(unzip  (string-append (assoc-ref %build-inputs "unzip")
+   "/bin/unzip")))
+(mkdir-p font-dir)
+(system* unzip source)
+(with-directory-excursion
+ (string-append "Web")
+ (for-each (lambda (ttf)
+ (install-file ttf font-dir))
+   (find-files "." "\\.ttf$")))
+   (native-inputs `(("unzip" ,unzip)))
+   (home-page "http://www.comicneue.com/";)
+   (synopsis "Font that fixes the shortcomings of Comic Sans")
+   (description
+"Comic Neue is a font that attempts to create a respectable casual
+typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
+   (license license:silofl1.1)))
-- 
2.11.0



[PATCH 3/3] gnu: Add font-go.

2017-02-09 Thread Alex Griffin
This patch adds the Go font family.
-- 
Alex Griffin
From 646708ab7db745322773324de7a7443a5fce2712 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Thu, 9 Feb 2017 14:27:12 -0600
Subject: [PATCH 3/3] gnu: Add font-go.

* gnu/packages/fonts.scm (font-go): New variable.
---
 gnu/packages/fonts.scm | 40 
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index d74c1fb2b..4105449c8 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -39,11 +39,13 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -1102,3 +1104,41 @@ by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
 programming.  Iosevka is completely generated from its source code.")
(license (list license:silofl1.1  ; build artifacts (i.e. the fonts)
   license:bsd-3  ; supporting code
+
+(define-public font-go
+  (let ((commit "b7f8df6bc082334698d4505fb85fa05e99156b72")
+(revision "1"))
+(package
+ (name "font-go")
+ (version (string-append "20161115-" revision "." (string-take commit 7)))
+ (source (origin
+  (file-name (string-append "go-image-" version "-checkout"))
+  (method git-fetch)
+  (uri (git-reference
+(url "https://go.googlesource.com/image";)
+(commit commit)))
+  (sha256
+   (base32
+"1ywxs6dmcyzwwsmnan3qqza7znprnbvmdi260x6sjmydz6dyq2zs"
+ (build-system trivial-build-system)
+ (arguments
+  `(#:modules ((guix build utils))
+#:builder (begin
+(use-modules (guix build utils))
+(let ((font-dir (string-append %output
+   "/share/fonts/truetype"))
+  (source (assoc-ref %build-inputs "source")))
+  (mkdir-p font-dir)
+  (with-directory-excursion
+   (string-append source "/font/gofont/ttfs")
+   (for-each (lambda (ttf)
+   (install-file ttf font-dir))
+ (find-files "." "\\.ttf$")))
+ (home-page "https://blog.golang.org/go-fonts";)
+ (synopsis "The Go font family")
+ (description
+  "The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
+Holmes type foundry, released under the same license as the Go programming
+language.  It includes a set of proportional, sans-serif fonts, and a set of
+monospace, slab-serif fonts.")
+ (license (package-license go-1.4)
-- 
2.11.0



[PATCH 2/3] gnu: Add font-iosevka.

2017-02-09 Thread Alex Griffin
This patch adds Iosevka, a coders' font written in a node.js DSL. It
could be built from source if Guix had better JavaScript support, but
for now it just copies TTF files.
-- 
Alex Griffin
From 04963f88c6d2a89300856fbf4b32654691ec3855 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Thu, 9 Feb 2017 14:26:41 -0600
Subject: [PATCH 2/3] gnu: Add font-iosevka.

* gnu/packages/fonts.scm (font-iosevka): New variable.
---
 gnu/packages/fonts.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index fdda81c2b..d74c1fb2b 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1068,3 +1068,37 @@ vector graphics.")
 "Comic Neue is a font that attempts to create a respectable casual
 typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
(license license:silofl1.1)))
+
+(define-public font-iosevka
+  (package
+   (name "font-iosevka")
+   (version "1.11.0")
+   (source (origin
+(method url-fetch)
+(uri (string-append
+  "https://github.com/be5invis/Iosevka/releases/download/v";
+  version "/iosevka-pack-" version ".zip"))
+(sha256
+ (base32
+  "0d8prdk7s5z94sdfd0y92cvqq531yqrlg7hnadbnhd7fs9jqr5hj"
+   (build-system trivial-build-system)
+   (arguments
+`(#:modules ((guix build utils))
+  #:builder (begin
+  (use-modules (guix build utils))
+  (let ((font-dir (string-append %output
+ "/share/fonts/truetype"))
+(source (assoc-ref %build-inputs "source"))
+(unzip  (string-append (assoc-ref %build-inputs "unzip")
+   "/bin/unzip")))
+(mkdir-p font-dir)
+(system* unzip "-d" font-dir source)
+   (native-inputs `(("unzip" ,unzip)))
+   (home-page "https://be5invis.github.io/Iosevka/";)
+   (synopsis "Coders' typeface, built from code")
+   (description
+"Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
+by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
+programming.  Iosevka is completely generated from its source code.")
+   (license (list license:silofl1.1  ; build artifacts (i.e. the fonts)
+  license:bsd-3  ; supporting code
-- 
2.11.0



gnu: gnome-mpv: Update to 0.11.

2017-01-07 Thread Alex Griffin
This patch updates gnome-mpv to the latest version, 0.11.
-- 
Alex Griffin
From 7013ffde1efb85041bbf834fc4c14f9dffd7c8b7 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Sat, 7 Jan 2017 09:22:47 -0600
Subject: [PATCH] gnu: gnome-mpv: Update to 0.11.

* gnu/packages/video.scm (gnome-mpv): Update to 0.11.
---
 gnu/packages/video.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b9f2d6910..8d7bab030 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015 Andy Patterson 
 ;;; Copyright © 2015 Ricardo Wurmus 
 ;;; Copyright © 2015, 2016 Alex Vong 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;; Copyright © 2016 Kei Kebreau 
 ;;; Copyright © 2016 Dmitry Nikolaev 
 ;;; Copyright © 2016 Andy Patterson 
@@ -904,7 +904,7 @@ projects while introducing many more.")
 (define-public gnome-mpv
   (package
 (name "gnome-mpv")
-(version "0.10")
+(version "0.11")
 (source
  (origin
(method url-fetch)
@@ -913,7 +913,7 @@ projects while introducing many more.")
".tar.xz"))
(sha256
 (base32
- "10zizf926a82c753a80bi49rb5c4yqjyd6zin4xgmggspfxngncj"
+ "1hn3mpsxbrwf2m0nz4vzji4i6i896y8kqjb9kijqpk04cnrs3fgz"
 (native-inputs
  `(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
-- 
2.11.0



Re: [PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-03 Thread Alex Griffin
On Tue, Jan 3, 2017, at 08:52 PM, Alex Griffin wrote:
> This patch updates libreoffice to 5.1.6.2, the latest release from their
> "still" branch (long-term support, stable). Although I think it will be
> EOL soon, so updating to 5.2.4.2 would be better... if someone else were
> up to it. The only reason I didn't try moving straight to that version
> is because my laptop takes ~8 hours to build libreoffice.

Apologies, this email was poorly worded. Basically, LibreOffice has 2
supported releases: a "fresh" release (5.2.4.2) and a "still" release
(5.1.6.2). Since Guix already had the "still" release packaged,
upgrading to 5.1.6.2 just required a version bump. Upgrading to "fresh"
requires more work, which I don't really want to do myself because I
would have to wait way too long to iterate on my changes.
-- 
Alex Griffin



[PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-03 Thread Alex Griffin
This patch updates libreoffice to 5.1.6.2, the latest release from their
"still" branch (long-term support, stable). Although I think it will be
EOL soon, so updating to 5.2.4.2 would be better... if someone else were
up to it. The only reason I didn't try moving straight to that version
is because my laptop takes ~8 hours to build libreoffice.
-- 
Alex Griffin
From 5d9cc76bac292e215eeaf8188aaeb76dfebed601 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 09:58:41 -0600
Subject: [PATCH 1/2] gnu: libreoffice: Update to 5.1.6.2.

* gnu/packages/libreoffice.scm (libreoffice): Update to 5.1.6.2.
---
 gnu/packages/libreoffice.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 78579bbb0..cad987373 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 John Darrington 
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -713,7 +714,7 @@ and to return information on pronunciations, meanings and synonyms.")
 (define-public libreoffice
   (package
 (name "libreoffice")
-(version "5.1.5.2")
+(version "5.1.6.2")
 (source
  (origin
   (method url-fetch)
@@ -722,7 +723,7 @@ and to return information on pronunciations, meanings and synonyms.")
   "http://download.documentfoundation.org/libreoffice/src/";
   (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
   (sha256 (base32
-   "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x"
+   "150xb76pc3889gfy4jrnq8sidymm1aihkm5pzy8b1fdy51zip804"
 (build-system gnu-build-system)
 (native-inputs
  `(;; autoreconf is run by the LibreOffice build system, since after
-- 
2.11.0



[PATCH] gnu: calibre: Update to 2.76.0.

2017-01-03 Thread Alex Griffin
This patch updates calibre to 2.76.0, a bugfix release.
-- 
Alex Griffin
From 1030c9fa675467f845ce09d90feb293603c3971b Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 10:36:52 -0600
Subject: [PATCH 6/9] gnu: calibre: Update to 2.76.0.

* gnu/packages/ebook.scm (calibre): Update to 2.76.0.
---
 gnu/packages/ebook.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 1a030ce4e..0a53e6ca9 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,7 +61,7 @@
 (define-public calibre
   (package
 (name "calibre")
-(version "2.74.0")
+(version "2.76.0")
 (source
   (origin
 (method url-fetch)
@@ -70,7 +70,7 @@
 version ".tar.xz"))
 (sha256
  (base32
-  "1dpz1682zd8anvgafk2m5m123dxy1bc07ysj0z1my7zqaq1cyrm3"))
+  "1xfm586n6gm44mkyn25mbiyhj6w9ji9yl6fvmnr4zk1q6qcga3v8"))
 ;; Remove non-free or doubtful code, see
 ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 (modules '((guix build utils)))
-- 
2.11.0



[PATCH] gnu: feh: Update to 2.18.

2017-01-03 Thread Alex Griffin
This patch just updates feh from 2.14.1 to 2.18.
-- 
Alex Griffin
From dade6be7d356e589b63b22c784640e55f4ca5528 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 10:55:26 -0600
Subject: [PATCH 7/9] gnu: feh: Update to 2.18.

* gnu/packages/image-viewers.scm (feh): Update to 2.18.
---
 gnu/packages/image-viewers.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 11cead6b3..bc56041f8 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Ian Denhardt 
 ;;; Copyright © 2015, 2016 Alex Kost 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,7 +40,7 @@
 (define-public feh
   (package
 (name "feh")
-(version "2.14.1")
+(version "2.18")
 (home-page "https://feh.finalrewind.org/";)
 (source (origin
   (method url-fetch)
@@ -47,7 +48,7 @@
   name "-" version ".tar.bz2"))
   (sha256
(base32
-"1hlzgr0masgbm1vdn085vz81s9kpnah8kjkb1w1xfsxr1b99x8f0"
+"036lgv81d0vmrnmh1z1x360nr5avb2sk5jb1h3g5n6jijm8vzblx"
 (build-system gnu-build-system)
 (arguments
   '(#:phases (alist-delete 'configure %standard-phases)
-- 
2.11.0



[PATCH] gnu: dwm: Update to 6.1.

2017-01-03 Thread Alex Griffin
This patch updates dwm to 6.1, which adds nicer text rendering in the
same manner as dmenu.

(Note my slock patch updates the copyright attribution.)
-- 
Alex Griffin
From 29b5e89b62d490583d4febca4f28426ab1d819ca Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 09:43:46 -0600
Subject: [PATCH 3/9] gnu: dwm: Update to 6.1.

* gnu/packages/suckless.scm (dwm): Update to 6.1.
[inputs]: Add libxft and freetype.
[arguments]: Add make-flags for finding freetype headers.
---
 gnu/packages/suckless.scm | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 10785ec15..a00420312 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -41,16 +41,19 @@
 (define-public dwm
   (package
 (name "dwm")
-(version "6.0")
+(version "6.1")
 (source (origin
  (method url-fetch)
  (uri (string-append "http://dl.suckless.org/dwm/dwm-";
  version ".tar.gz"))
  (sha256
-  (base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj"
+  (base32 "1zkmwb6df6m254shx06ly90c0q4jl70skk1pvkixpb7hcxhwbxn2"
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f
+   #:make-flags (list (string-append "FREETYPEINC="
+ (assoc-ref %build-inputs "freetype")
+ "/include/freetype2"))
#:phases
(alist-replace
 'configure
@@ -66,7 +69,9 @@
  (string-append "DESTDIR=" out) "PREFIX="
  %standard-phases
 (inputs
- `(("libx11" ,libx11)
+ `(("freetype" ,freetype)
+   ("libx11" ,libx11)
+   ("libxft" ,libxft)
("libxinerama" ,libxinerama)))
 (home-page "http://dwm.suckless.org/";)
 (synopsis "Dynamic window manager")
-- 
2.11.0



[PATCH] gnu: bs1770gain: Update to 0.4.12.

2017-01-03 Thread Alex Griffin
This patch updates bs1770gain to 0.4.12, a bugfix release.
-- 
Alex Griffin
From 1dccb720badece326d94f84b53181d526795afe7 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 10:46:59 -0600
Subject: [PATCH 5/9] gnu: bs1770gain: Update to 0.4.12.

* gnu/packages/audio.scm (bs1770gain): Update to 0.4.12.
---
 gnu/packages/audio.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 641d44cea..d2821244a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Alex Kost 
 ;;; Copyright © 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2016 Efraim Flashner 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;; Copyright © 2016 ng0 
 ;;; Copyright © 2016 Lukas Gradl 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
@@ -2699,7 +2699,7 @@ with support for HD extensions.")
 (define-public bs1770gain
   (package
 (name "bs1770gain")
-(version "0.4.11")
+(version "0.4.12")
 (source
  (origin
(method url-fetch)
@@ -2707,7 +2707,7 @@ with support for HD extensions.")
version "/bs1770gain-" version ".tar.gz"))
(sha256
 (base32
- "0j765drdb7h3y5ipjv9sg1a0if6zh8cksbv3rdk5ppd7kxcrjnlb"
+ "0n9skdap1vnl6w52fx0gsrjlk7w3xgdwi62ycyf96h29rx059z6a"
 (build-system gnu-build-system)
 (inputs `(("ffmpeg" ,ffmpeg)
   ("sox" ,sox)))
-- 
2.11.0



[PATCH] gnu: dmenu: Update to 4.6.

2017-01-03 Thread Alex Griffin
This patch updates dmenu to 4.6, which added nicer text rendering by
default and couple new dependencies related to that.

(Note my slock patch updates the copyright attribution.)
-- 
Alex Griffin
From c1360e73ffa4644f90cfd848ac747852cae5f34a Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 09:40:33 -0600
Subject: [PATCH 2/9] gnu: dmenu: Update to 4.6.

* gnu/packages/suckless.scm (dmenu): Update to 4.6.
[inputs]: Add libxft and freetype.
[arguments]: Add make-flags for finding freetype headers.
---
 gnu/packages/suckless.scm | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index a501bb5f2..10785ec15 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -79,23 +79,28 @@ optimising the environment for the application in use and the task performed.")
 (define-public dmenu
   (package
 (name "dmenu")
-(version "4.5")
+(version "4.6")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://dl.suckless.org/tools/dmenu-";
   version ".tar.gz"))
   (sha256
(base32
-"0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08"
+"1cwnvamqqlgczvd5dv5rsgqbhv8kp0ddjnhmavb3q732i8028yja"
 (build-system gnu-build-system)
 (arguments
  '(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
-  (string-append "PREFIX=" %output))
+  (string-append "PREFIX=" %output)
+  (string-append "FREETYPEINC="
+ (assoc-ref %build-inputs "freetype")
+ "/include/freetype2"))
#:phases
(alist-delete 'configure %standard-phases)))
 (inputs
- `(("libx11" ,libx11)
+ `(("freetype" ,freetype)
+   ("libxft" ,libxft)
+   ("libx11" ,libx11)
("libxinerama" ,libxinerama)))
 (home-page "http://tools.suckless.org/dmenu/";)
 (synopsis "Dynamic menu")
-- 
2.11.0



[PATCH] gnu: trash-cli: Update to 0.17.1.1.

2017-01-03 Thread Alex Griffin
This patch updates trash-cli to 0.17.1.1, which among other things
includes a new command for restoring files from the trash.
-- 
Alex Griffin
From 0f7cd27badea222ae9f7794629e689e20aaf1456 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 07:47:57 -0600
Subject: [PATCH 4/9] gnu: trash-cli: Update to 0.17.1.1.

* gnu/packages/shellutils.scm (trash-cli): Update to 0.17.1.1.
---
 gnu/packages/shellutils.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index d83219470..c9a35ca3b 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Matthew Jordan 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;; Copyright © 2016 Christopher Baines 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -58,14 +58,14 @@ between various shells or commands.")
 (define-public trash-cli
   (package
 (name "trash-cli")
-(version "0.12.9.14")
+(version "0.17.1.1")
 (source
  (origin
(method url-fetch)
(uri (pypi-uri "trash-cli" version))
(sha256
 (base32
- "1p4v2qx0sy47d9c9axszq04wns63s4b7rrhmsavg948sklqdaf54"
+ "019sjab29jkps8zkf8icihhf3ng4lx9y4p1lxjd3wbnnynphc4is"
 (build-system python-build-system)
 (arguments
  `(#:python ,python-2
-- 
2.11.0



[PATCH] gnu: slock: Update to 1.4.

2017-01-03 Thread Alex Griffin
After a long absence, I'm back with a string of trivial version bumps!
This patch updates slock to version 1.4, which also no longer needs the
patch for CVE-2016-6866.
-- 
Alex Griffin
From b24fc41055a7e345bac348df09f017c138319bd6 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 08:49:01 -0600
Subject: [PATCH 1/9] gnu: slock: Update to 1.4.

* gnu/packages/suckless.scm (slock): Update to 1.4.
[source] Remove CVE-2016-6866 patch (no longer needed).
* gnu/packages/patches/slock-CVE-2016-6866.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk   |  1 -
 gnu/packages/patches/slock-CVE-2016-6866.patch | 51 --
 gnu/packages/suckless.scm  |  6 +--
 3 files changed, 3 insertions(+), 55 deletions(-)
 delete mode 100644 gnu/packages/patches/slock-CVE-2016-6866.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 0c42f9f44..f45030f84 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -851,7 +851,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/slim-sigusr1.patch			\
   %D%/packages/patches/slim-reset.patch\
   %D%/packages/patches/slim-login.patch\
-  %D%/packages/patches/slock-CVE-2016-6866.patch		\
   %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
   %D%/packages/patches/soprano-find-clucene.patch		\
   %D%/packages/patches/steghide-fixes.patch			\
diff --git a/gnu/packages/patches/slock-CVE-2016-6866.patch b/gnu/packages/patches/slock-CVE-2016-6866.patch
deleted file mode 100644
index 2f94b8c1a..0
--- a/gnu/packages/patches/slock-CVE-2016-6866.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Fix CVE-2016-6866.
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6866
-https://security-tracker.debian.org/tracker/CVE-2016-6866
-
-Copied from upstream source repository:
-http://git.suckless.org/slock/commit/?id=d8bec0f6fdc8a246d78cb488a0068954b46fcb29
-
-From d8bec0f6fdc8a246d78cb488a0068954b46fcb29 Mon Sep 17 00:00:00 2001
-From: Markus Teich 
-Date: Tue, 30 Aug 2016 22:59:06 +
-Subject: fix CVE-2016-6866
-

-diff --git a/slock.c b/slock.c
-index 847b328..8ed59ca 100644
 a/slock.c
-+++ b/slock.c
-@@ -123,7 +123,7 @@ readpw(Display *dpy)
- readpw(Display *dpy, const char *pws)
- #endif
- {
--	char buf[32], passwd[256];
-+	char buf[32], passwd[256], *encrypted;
- 	int num, screen;
- 	unsigned int len, color;
- 	KeySym ksym;
-@@ -159,7 +159,11 @@ readpw(Display *dpy, const char *pws)
- #ifdef HAVE_BSD_AUTH
- running = !auth_userokay(getlogin(), NULL, "auth-slock", passwd);
- #else
--running = !!strcmp(crypt(passwd, pws), pws);
-+errno = 0;
-+if (!(encrypted = crypt(passwd, pws)))
-+	fprintf(stderr, "slock: crypt: %s\n", strerror(errno));
-+else
-+	running = !!strcmp(encrypted, pws);
- #endif
- if (running) {
- 	XBell(dpy, 100);
-@@ -312,6 +316,8 @@ main(int argc, char **argv) {
- 
- #ifndef HAVE_BSD_AUTH
- 	pws = getpw();
-+	if (strlen(pws) < 2)
-+		die("slock: failed to get user password hash.\n");
- #endif
- 
- 	if (!(dpy = XOpenDisplay(NULL)))
---
-cgit v0.9.0.3-65-g4555
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 820d550d6..a501bb5f2 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2015 Dmitry Bogatov 
 ;;; Copyright © 2015 Leo Famulari 
 ;;; Copyright © 2016 Eric Bavier 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -106,15 +107,14 @@ numbers of user-defined menu items efficiently.")
 (define-public slock
   (package
 (name "slock")
-(version "1.3")
+(version "1.4")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://dl.suckless.org/tools/slock-";
   version ".tar.gz"))
-  (patches (search-patches "slock-CVE-2016-6866.patch"))
   (sha256
(base32
-"065xa9hl7zn0lv2f7yjxphqsa35rg6dn9hv10gys0sh4ljpa7d5s"
+"0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m"
 (build-system gnu-build-system)
 (arguments
  '(#:tests? #f ; no tests
-- 
2.11.0



Re: [PATCH] gnu: Add praat

2016-08-31 Thread Alex Griffin
On Tue, Aug 30, 2016, at 02:07 PM, Marius Bakke wrote:
> I don't have a Guix system with audio atm so someone else will have to
> review it :)

It works for me on GuixSD OOTB.

Brendan Tildesley wrote:
> +(home-page "http://praat.org";)

The docs point to "http://www.praat.org";, so I think we should include
the www.

> +(synopsis "Doing phonetics by computer")
> +(description
> + "Praat is a program for linguists to analyse, synthesize, and
> +manipulate speech, generate graphs for scientific papers, and more.")

I know it's Praat's tagline, but the synopsis doesn't match the rest of
our packages. Something like "Phonetic analysis program" would be
better. The description could probably be a bit more fleshed out too,
but I think it's also fine if you don't want to bother.

> +(license license:gpl2)))

This should be gpl2+. It looks like praat bundles some third-party
libraries under external/ with various licenses. These should be
unbundled if possible, or else their licenses should be added to praat's
license field.

Thanks for contributing, hope it's not too much trouble cleaning up
these last few details!
-- 
Alex Griffin



Re: [PATCH 2/2] gnu: Add sway.

2016-08-26 Thread Alex Griffin
On Thu, Aug 25, 2016, at 02:10 PM, Tomáš Čech wrote:
> +(home-page "https://github.com/Cloudef/wlc";)

This looks like the wrong homepage to me.
-- 
Alex Griffin



[PATCH] gnu: gnome-maps: Update to 3.18.3.

2016-08-17 Thread Alex Griffin
This patch updates GNOME Maps to 3.18.3, which changes the map tile
provider to Mapbox after Mapquest revoked GNOME's access.

I tried updating straight to 3.20.2 (the latest), but there were some
issues I wasn't willing to investigate.
-- 
Alex Griffin
From 14ce2c74c39c4ec26353e28b1dcf2e89b74905ca Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 17 Aug 2016 16:37:58 -0500
Subject: [PATCH 1/2] gnu: gnome-maps: Update to 3.18.3.

* gnu/packages/geo.scm (gnome-maps): Update to 3.18.3.
---
 gnu/packages/geo.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 1ef5eeb..86828e7 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,7 +36,7 @@
 (define-public gnome-maps
   (package
 (name "gnome-maps")
-(version "3.18.2")
+(version "3.18.3")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://gnome/sources/" name "/"
@@ -43,7 +44,7 @@
   name "-" version ".tar.xz"))
   (sha256
(base32
-"0y4jmh5hwskh2mnladh9hxp9k8as7crm8wwwiifvxsjjj9az2gv9"
+"1vdnr2wmhqhql2gxd5n1ijwk88qhim14izbkczncg35846hfsr5i"
 (build-system glib-or-gtk-build-system)
 (arguments
  `(#:configure-flags ; Ensure that geoclue is referred to by output.
-- 
2.9.3



[PATCH] gnu: bs1770gain: Update to 0.4.11.

2016-08-17 Thread Alex Griffin
This patch just updates bs1770gain to 0.4.11, which includes a number of
bug fixes.
-- 
Alex Griffin
From c08d5616bdb579780d910429bd81ec7ec36491f3 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 16 Aug 2016 13:58:07 -0500
Subject: [PATCH 1/2] gnu: bs1770gain: Update to 0.4.11.

* gnu/packages/audio.scm (bs1770gain): Update to 0.4.11.
---
 gnu/packages/audio.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 5c42aaa..de634c5 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2430,7 +2430,7 @@ with support for HD extensions.")
 (define-public bs1770gain
   (package
 (name "bs1770gain")
-(version "0.4.10")
+(version "0.4.11")
 (source
  (origin
(method url-fetch)
@@ -2438,7 +2438,7 @@ with support for HD extensions.")
version "/bs1770gain-" version ".tar.gz"))
(sha256
 (base32
- "1syr8qchs8091z9ayivj723szlidx81gll099bmk9kgpykmckd62"
+ "0j765drdb7h3y5ipjv9sg1a0if6zh8cksbv3rdk5ppd7kxcrjnlb"
 (build-system gnu-build-system)
 (inputs `(("ffmpeg" ,ffmpeg)
   ("sox" ,sox)))
-- 
2.9.3



Re: [PATCH 1/1] Go: Update to 1.7

2016-08-17 Thread Alex Griffin
On Wed, Aug 17, 2016, at 04:34 AM, Petter wrote:
> Hi,
> 
> Made an attempt to update my first package.
> 
> Hope it's good!

Hi Petter,

Thanks for contributing! Your changes work for me, but it looks like
your mail client mangled the formatting of your patch. So I produced a
good patch with your changes, and added a copyright line and commit
message for you. Hopefully that will make it easier for someone with
commit access to look it over.

-- 
Alex Griffin
From f2f28e088f2a3f833251c2b31de7e6f531bcdf9a Mon Sep 17 00:00:00 2001
From: Petter 
Date: Wed, 17 Aug 2016 10:27:04 -0500
Subject: [PATCH] gnu: go: Update to 1.7.

* gnu/packages/golang.scm (go-1.6): Update to 1.7, with corresponding
  minor changes to prebuild phase, and rename variable to...
  (go-1.7): ...this new variable.
  (go): Inherit from new "go-1.7".
---
 gnu/packages/golang.scm | 18 +++---
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 09d962d..afa3a36 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 Matthew Jordan 
 ;;; Copyright © 2016 Andy Wingo 
 ;;; Copyright © 2016 Ludovic Courtès 
+;;; Copyright © 2016 Petter 
 ;;;
 ;;; This file is an addendum GNU Guix.
 ;;;
@@ -185,11 +186,11 @@ garbage collection, various safety features and in the 
style of communicating
 sequential processes (CSP) concurrent programming features added.")
 (license license:bsd-3)))
 
-(define-public go-1.6
+(define-public go-1.7
   (package
 (inherit go-1.4)
 (name "go")
-(version "1.6.3")
+(version "1.7")
 (source
  (origin
(method url-fetch)
@@ -197,7 +198,7 @@ sequential processes (CSP) concurrent programming features 
added.")
name version ".src.tar.gz"))
(sha256
 (base32
- "002v6irgfd63zp9iza8nski5by0lar033j3ddpqiikw6bznsw9k3"
+ "1h712yd5wk5mrj2dixc9z2xlgksfks00yvglrkrgr488p8b0qs3j"
 (arguments
  (substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -216,11 +217,14 @@ sequential processes (CSP) concurrent programming 
features added.")
  ;; Removing net/ tests, which fail when attempting to access
  ;; network resources not present in the build container.
  (for-each delete-file
-   '("net/listen_test.go" "net/parse_test.go"))
+   '("net/listen_test.go"
+ "net/parse_test.go"
+ "net/cgo_unix_test.go"))
 
  (substitute* "os/os_test.go"
(("/usr/bin") (getcwd))
-   (("/bin/pwd") (which "pwd")))
+   (("/bin/pwd") (which "pwd"))
+   (("/bin/sh") (which "sh")))
 
  ;; Add libgcc to runpath
  (substitute* "cmd/link/internal/ld/lib.go"
@@ -275,7 +279,7 @@ sequential processes (CSP) concurrent programming features 
added.")
 
  ;; fix shebang for testar script
  ;; note the target script is generated at build time.
- (substitute* "../misc/cgo/testcarchive/test.bash"
+ (substitute* "../misc/cgo/testcarchive/carchive_test.go"
(("#!/usr/bin/env") (string-append "#!" (which "env"
 
  (substitute* "net/lookup_unix.go"
@@ -336,4 +340,4 @@ sequential processes (CSP) concurrent programming features 
added.")
  `(("go" ,go-1.4)
,@(package-native-inputs go-1.4)
 
-(define-public go go-1.6)
+(define-public go go-1.7)
-- 
2.9.3



Re: Trying to fix IBus

2016-08-10 Thread Alex Griffin
On Wed, Aug 10, 2016, at 04:09 PM, Ricardo Wurmus wrote:
> What do you think?  Is this acceptable/reasonable?

It seems to me like it's probably fine, for whatever that's worth, and
also cleaner than the NIX_PROFILES solution. How will this work on
foreign distros, though?
-- 
Alex Griffin



Re: [PATCH] python-kivy and Adobe source-code-pro font

2016-08-10 Thread Alex Griffin
On Wed, Aug 10, 2016, at 04:09 PM, Leo Famulari wrote:
> I don't know what the right answer is, but (gnu packages fonts) has
> several font packages that simply download and unpack TTF files.

I was assuming that font editors typically operated directly on font
files, so there is no corresponding source. I guess that's not true
though, since FontForge operates on SFD files and Adobe apparently works
with AFDKO files. The question is do we need to built fonts from source?

I think we can package Source Code Pro either way. It looks like there
are two versions of AFDKO, a free software version on GitHub [1] and one
with non-free code on adobe.com.

[1]: https://github.com/adobe-type-tools/afdko

Thanks,
-- 
Alex Griffin

P.S. Iosevka is really weird because it's actually built from JavaScript
code, and also because it tries to license the source under a BSD-style
license and the built artifacts under the SIL OFL. I don't really know
what to make of that.



Re: [PATCH] python-kivy and Adobe source-code-pro font

2016-08-10 Thread Alex Griffin
On Wed, Aug 10, 2016, at 01:42 PM, Mark H Weaver wrote:
> That said, this needn't be a blocker for including the built OTF files
> in Guix, as long as the license permits all users to copy and
> redistribute them for commercial and non-commercial purposes, as these
> fonts are considered non-functional data.  See:
> 
>   
> http://www.gnu.org/distros/free-system-distribution-guidelines.html#non-functional-data

Are you sure about that? By my reading, that document explicitly
categorizes fonts as functional works by that document:

> “Information for practical use” includes software, documentation, fonts,
> and other data that has direct functional applications. It does not include
> artistic works that have an aesthetic (rather than functional) purpose,
> or statements of opinion or judgment.

Personally, I have avoided submitting my font-iosevka [1] package for
months because it just downloads the ttf files instead of building them
from the JavaScript source code. (Maybe when we have better node
support, eh?)

[1]: https://be5invis.github.io/Iosevka/
-- 
Alex Griffin



[PATCH] gnu: gnome-mpv: Update to 0.10.

2016-08-10 Thread Alex Griffin
This patch just updates gnome-mpv to 0.10.
-- 
Alex Griffin
From 3618b61160eff267f04aaaf4453ea836fa489a9c Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 10 Aug 2016 13:24:53 -0500
Subject: [PATCH 1/2] gnu: gnome-mpv: Update to 0.10.

* gnu/packages/video.scm (gnome-mpv): Update to 0.10.
---
 gnu/packages/video.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5164477..d72faa5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -838,7 +838,7 @@ projects while introducing many more.")
 (define-public gnome-mpv
   (package
 (name "gnome-mpv")
-(version "0.9")
+(version "0.10")
 (source
  (origin
(method url-fetch)
@@ -847,7 +847,7 @@ projects while introducing many more.")
".tar.xz"))
(sha256
 (base32
- "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0"
+ "10zizf926a82c753a80bi49rb5c4yqjyd6zin4xgmggspfxngncj"
 (native-inputs
  `(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
-- 
2.9.2



Re: [PATCH] gnu: beets: Update to 1.3.19.

2016-08-08 Thread Alex Griffin
Thanks for the feedback Leo!

On Sat, Aug 6, 2016, at 09:39 PM, Leo Famulari wrote:
> Do you know how it works for Beets on "traditional" distros?

In Debian, some plugins' dependencies are optional, and the user has to
install them explicitly. That's sort of what we're doing, except Guix
doesn't have optional dependencies so you can't look at the package
metadata to figure out what to install.

I don't think this approach works with python dependencies though,
because you'll need to mess with the package description to get those
working. If someone wanted to use the replaygain plugin with the
gstreamer backend instead, for example, they couldn't just install
python-gst.

I have one more patch coming to enable the acoustic fingerprinting
plugin, then all the plugins I use will work. I think I'm just going to
hard-code its dependencies for now, but we may need to use another
approach if anyone wants to enable a bunch of other plugins.
-- 
Alex Griffin



Re: License auditing

2016-08-04 Thread Alex Griffin
On Thu, Aug 4, 2016, at 09:23 AM, Ludovic Courtès wrote:
> Strictly speaking it’s wrong, but I think it better reflects the intent
> of the authors (I think authors who throw a GPLv3 ‘COPYING’ file without
> bothering to add file headers probably think that GPLv3 and maybe later
> versions apply, but not previous versions.)

Ah, I guess that seems more reasonable when the whole situation is laid
out.

> I suppose many package violations could be detected using Guix, but
> you’re right that subtle cases like this one can go undetected.
> 
> In the end, we’re talking about legal documents whose interpretation
> isn’t as formal as we would like.  So I suspect that no single tool can
> provide what you want—there is no “license calculus”.  Tools like
> Fossology go a long way, but AFAIK they are no substitute for proper
> manual auditing.

I know it can't and shouldn't be fully automated, but we can still build
useful tools to help us.

-- 
Alex Griffin



Re: [PATCH] gnu: beets: Update to 1.3.19.

2016-08-03 Thread Alex Griffin
On Fri, Jul 29, 2016, at 06:24 PM, Leo Famulari wrote:
> > (I'm also working on a few more patches to enable more beets plugins.
> > They'll probably be ready sometime this weekend.)
> 
> Doubly awesome!

The most important plugin that I'm missing is the replaygain plugin, and
I've got it working on my system now. There are multiple replaygain
backends, and I wanted the bs1770gain backend, so I created a package
for that. I started to make some related changes in the beets package
too, but I'm not sure if it's worth the trouble.

If a user (1) installs bs1770gain into their profile, and (2) edits
their config file to use that backend, then the replaygain plugin works
fine. The nix package does a lot of patching to make both of those step
unnecessary, but it seems like overkill to me.

The 'convert' plugin is similar in that it doesn't work OOTB, but it can
be fixed by the user without modifying beets (just install ffmeg or
configure it to use other commands for conversion).

WDYT?

> By the way, Beets says that the next version will be compatible with
> Python 3:
> https://twitter.com/b33ts/status/746871072436289537
> 
> When that release comes, let's take the opportunity to update Beets's
> entire dependency graph.

Nice! Sounds good to me.
-- 
Alex Griffin



[PATCH] gnu: Add bs1770gain.

2016-08-03 Thread Alex Griffin
This patch adds bs1770gain, a tool for adjusting and normalizing the
loudness of audio and video files.
-- 
Alex Griffin
From 166ed6d602c21bdc6544775327424187ac19cc3d Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 3 Aug 2016 15:02:04 -0500
Subject: [PATCH 1/2] gnu: Add bs1770gain.

* gnu/packages/video.scm (bs1770gain): New variable.
---
 gnu/packages/video.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e3da8f1..169cbb5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1562,3 +1562,26 @@ and MPEG system streams.")
license:lgpl2.1
license:lgpl2.1+
license:gpl2
+
+(define-public bs1770gain
+  (package
+(name "bs1770gain")
+(version "0.4.10")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
+   version "/bs1770gain-" version ".tar.gz"))
+   (sha256
+(base32
+ "1syr8qchs8091z9ayivj723szlidx81gll099bmk9kgpykmckd62"
+(build-system gnu-build-system)
+(inputs `(("ffmpeg" ,ffmpeg)
+  ("sox" ,sox)))
+(home-page "http://bs1770gain.sourceforge.net/";)
+(synopsis "Tool to adjust loudness of media files")
+(description
+ "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
+flavors EBU R128, ATSC A/85, and ReplayGain 2.0.  It helps normalizing the
+loudness of audio and video files to the same level.")
+(license license:gpl2)))
-- 
2.9.2



Re: License auditing

2016-08-03 Thread Alex Griffin
On Wed, Aug 3, 2016, at 03:42 PM, Ludovic Courtès wrote:
> However, in Guix we encode such cases as ‘gpl3+’ (or similar), rather
> than ‘gpl1+’.

That seems wrong and confusing. It means that if I'm writing a GPLv2
program, for example, then I cannot rely on Guix to search for legally
compatible libraries to use. It also means we cannot implement a tool to
automatically flag Guix package dependencies for possible license
violations.
-- 
Alex Griffin



Re: [PATCH] add go@1.6

2016-07-30 Thread Alex Griffin
Hey Matthew,

On Sat, Jul 30, 2016, at 11:28 AM, Matthew Jordan wrote:
> Good Day,
> 
> This patch contains the suggestions made in the previous email. Take a
> look a let me know if any further changes are needed.

Looks good to me!
-- 
Alex Griffin



[PATCH] gnu: beets: Update to 1.3.19.

2016-07-29 Thread Alex Griffin
This patch just updates beets to 1.3.19.

With the new pypi URLs, are we updating the long hash portion? I did in
this patch, but it seemed to work either way.

(I'm also working on a few more patches to enable more beets plugins.
They'll probably be ready sometime this weekend.)
-- 
Alex Griffin
From 3e6c158530d3c024402db51dac459f11733f6f30 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Fri, 29 Jul 2016 10:39:47 -0500
Subject: [PATCH] gnu: beets: Update to 1.3.19.

* gnu/packages/music.scm (beets): Update to 1.3.19.
[source]: Remove patch to skip failing tests. It's handled upstream now.

* gnu/packages/patches/beets-image-test-failure.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk   |  1 -
 gnu/packages/music.scm |  8 ++--
 .../patches/beets-image-test-failure.patch | 46 --
 3 files changed, 4 insertions(+), 51 deletions(-)
 delete mode 100644 gnu/packages/patches/beets-image-test-failure.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a0d9b8f..9c115fa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -445,7 +445,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/avidemux-install-to-lib.patch		\
   %D%/packages/patches/awesome-reproducible-png.patch		\
   %D%/packages/patches/bash-completion-directories.patch	\
-  %D%/packages/patches/beets-image-test-failure.patch		\
   %D%/packages/patches/bigloo-gc-shebangs.patch			\
   %D%/packages/patches/binutils-ld-new-dtags.patch		\
   %D%/packages/patches/binutils-loongson-workaround.patch	\
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5d73790..74c3e2a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Kei Kebreau 
 ;;; Copyright © 2016 John J. Foerch 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1518,17 +1519,16 @@ websites such as Libre.fm.")
 (define-public beets
   (package
 (name "beets")
-(version "1.3.18")
+(version "1.3.19")
 (source (origin
   (method url-fetch)
   (uri (string-append
  "https://pypi.python.org/packages/";
- "14/6f/c9c79c5339ab3ecced265ca18adbf5bae3d4058bae737b6164d738fb4d2c/"
+ "46/a0/b72a980dc56990d51cee1dcaa9fb76b472ef6430978997e58bff48a23b78/"
  name "-" version ".tar.gz"))
-  (patches (search-patches "beets-image-test-failure.patch"))
   (sha256
(base32
-"09pgyywa5llbc36y0lrr21ywgsp8m2zx6p8ncf8hxik28knd5kld"
+"1vi1dh3fr554bnm8y9pjy09hblw18v6cl2jppzwlp72afri1w93b"
 (build-system python-build-system)
 (arguments
  `(#:python ,python-2 ; only Python 2 is supported
diff --git a/gnu/packages/patches/beets-image-test-failure.patch b/gnu/packages/patches/beets-image-test-failure.patch
deleted file mode 100644
index 360d7d3..000
--- a/gnu/packages/patches/beets-image-test-failure.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix test failure due to missing image library backend.
-
-Cherry-picked from upstream:
-https://github.com/beetbox/beets/commit/07c95a1bf16bf86c640436208dda828cc7df0181
-
-From 07c95a1bf16bf86c640436208dda828cc7df0181 Mon Sep 17 00:00:00 2001
-From: Adrian Sampson 
-Date: Thu, 2 Jun 2016 11:39:05 -0700
-Subject: [PATCH] Require an imaging backend for fuzzy ratio tests
-
-These fail outright if we don't have a way to get image sizes (e.g.,
-ImageMagick).

- test/test_art.py | 4 
- 1 file changed, 4 insertions(+)
-
-diff --git a/test/test_art.py b/test/test_art.py
-index 02d26f4..1b12b76 100644
 a/test/test_art.py
-+++ b/test/test_art.py
-@@ -561,21 +561,25 @@ def test_respect_enforce_ratio_no(self):
- self._assertImageIsValidArt(self.IMG_500x490, True)
- 
- def test_respect_enforce_ratio_px_above(self):
-+self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_px = 5
- self._assertImageIsValidArt(self.IMG_500x490, False)
- 
- def test_respect_enforce_ratio_px_below(self):
-+self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_px = 15
- self._assertImageIsValidArt(self.IMG_500x490, True)
- 
- def test_respect_enforce_ratio_percent_above(self):
-+self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_percent = (500 - 490) / 500 * 0.5
- self._assertImageIsValidArt(self.IMG_500x490, False)
- 
- def test_respect_enforce_ratio_percent_below(self):
-+self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_percent = (500 - 490) / 500 * 1.5
- self._assertImageIsValidArt(self.IMG_500x490, True)
-- 
2.9.2



Re: Rust

2016-07-29 Thread Alex Griffin
On Fri, Jul 29, 2016, at 10:16 AM, Ludovic Courtès wrote:
> Do you know what’s Rust’s bootstrapping story is?  Can we reasonably
> expect to bootstrap it from source, using a series of previous Rust
> versions, or using an alternative implementation?

Yes, Rust 1.10 builds with the previous stable release (1.9) for the
first time. So we will only need one binary to bootstrap Rust. Although
this will quickly require a long chain of builds because Rust releases
every 6 weeks and 1.11 is only guaranteed to build with 1.10, etc.

So after only two years we may need to compile like 17 different
releases to get the current version.
-- 
Alex Griffin



Re: [PATCH] gnu: password-store: Wrap PATH.

2016-07-29 Thread Alex Griffin
On Fri, Jul 29, 2016, at 09:02 AM, Thompson, David wrote:
> Sorry I'm late, but I don't think this is the right fix.  Wrapping
> programs should only be considered after other options are exhausted.
> The correct fix is to patch the source directly to refer to
> executables by their absolute path.  Why wasn't it done this way?

Mostly because it would be a lot of on-going work every time the package
is updated. As a shell script, it invokes an external tool nearly every
other line. If you look at the discussion that happened in February when
the package was first added [1], Jessica (the original packager) was
really discouraged by the prospect of patching every invocation of an
external tool. She also tried to submit changes upstream so that kind of
work wouldn't be necessary, but upstream wasn't very receptive to the
idea. In the end, the package was just committed to Guix in a broken
state.

Another approach I considered was adding a bunch of shell aliases to the
top of the script pointing to the Guix store. That makes the problem a
lot more tractable than replacing every external invocation, but it's
still kinda complicated and it still requires finding every single
program that gets called and keeping it up to date with new releases. So
even if all upstream does is use another program from coreutils, the fix
would be out-of-date again.

[1]: https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01310.html
-- 
Alex Griffin



Re: [PATCH] gnu: password-store: Wrap PATH.

2016-07-28 Thread Alex Griffin
On Thu, Jul 28, 2016, at 07:20 PM, Alex Griffin wrote:
> This patch fixes password-store so that you no longer need to install
> its dependencies into your profile.

Forgot a copyright line. Here's an updated patch.
-- 
Alex Griffin
From 74b838fea52293386169299881cdd7cfefff7f4d Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Thu, 28 Jul 2016 19:06:10 -0500
Subject: [PATCH] gnu: password-store: Wrap PATH.

* gnu/packages/password-utils.scm (password-store):
[arguments]: Wrap PATH more thoroughly.
[native-inputs]: Move getopt to inputs.
[inputs]: Add sed & alphabetize packages.
---
 gnu/packages/password-utils.scm | 33 -
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index a03214a..497717f 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016 Jessica Tallon 
 ;;; Copyright © 2016 Andreas Enge 
 ;;; Copyright © 2016 Lukas Gradl 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -266,27 +267,25 @@ any X11 window.")
  '(#:phases
(modify-phases %standard-phases
  (delete 'configure)
- (add-after
-  ;; The script requires 'getopt' at run-time, and this allows
-  ;; the user to not install the providing package 'util-linux'
-  ;; in their profile.
-  'unpack 'patch-path
-  (lambda* (#:key inputs outputs #:allow-other-keys)
-(let ((getopt (string-append (assoc-ref inputs "getopt")
- "/bin/getopt")))
-  (substitute* "src/password-store.sh"
-(("GETOPT=\"getopt\"")
- (string-append "GETOPT=\"" getopt "\"")))
-  #t
+ (add-after 'install 'wrap-path
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(path (map (lambda (pkg)
+ (string-append (assoc-ref inputs pkg) "/bin"))
+   '("coreutils" "getopt" "git" "gnupg" "pwgen"
+ "sed" "tree" "which" "xclip"
+   (wrap-program (string-append out "/bin/pass")
+ `("PATH" ":" prefix (,(string-join path ":"
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
#:test-target "test"))
-(native-inputs `(("getopt" ,util-linux))) ; getopt for the tests
-(inputs `(("gnupg" ,gnupg)
-  ("pwgen" ,pwgen)
-  ("xclip" ,xclip)
+(inputs `(("getopt" ,util-linux)
   ("git" ,git)
+  ("gnupg" ,gnupg)
+  ("pwgen" ,pwgen)
+  ("sed" ,sed)
   ("tree" ,tree)
-  ("which" ,which)))
+  ("which" ,which)
+  ("xclip" ,xclip)))
 (home-page "http://www.passwordstore.org/";)
 (synopsis "Encrypted password manager")
 (description "Password-store is a password manager which uses GnuPG to
-- 
2.9.2



[PATCH] gnu: password-store: Wrap PATH.

2016-07-28 Thread Alex Griffin
This patch fixes password-store so that you no longer need to install
its dependencies into your profile.
-- 
Alex Griffin
From 60527038221d2c1c0d35ca97a65ba2a01734da75 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Thu, 28 Jul 2016 19:06:10 -0500
Subject: [PATCH] gnu: password-store: Wrap PATH.

* gnu/packages/password-utils.scm (password-store):
[arguments]: Wrap PATH more thoroughly.
[native-inputs]: Move getopt to inputs.
[inputs]: Add sed & alphabetize packages.
---
 gnu/packages/password-utils.scm | 32 +++-
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index a03214a..eda800b 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -266,27 +266,25 @@ any X11 window.")
  '(#:phases
(modify-phases %standard-phases
  (delete 'configure)
- (add-after
-  ;; The script requires 'getopt' at run-time, and this allows
-  ;; the user to not install the providing package 'util-linux'
-  ;; in their profile.
-  'unpack 'patch-path
-  (lambda* (#:key inputs outputs #:allow-other-keys)
-(let ((getopt (string-append (assoc-ref inputs "getopt")
- "/bin/getopt")))
-  (substitute* "src/password-store.sh"
-(("GETOPT=\"getopt\"")
- (string-append "GETOPT=\"" getopt "\"")))
-  #t
+ (add-after 'install 'wrap-path
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(path (map (lambda (pkg)
+ (string-append (assoc-ref inputs pkg) "/bin"))
+   '("coreutils" "getopt" "git" "gnupg" "pwgen"
+ "sed" "tree" "which" "xclip"
+   (wrap-program (string-append out "/bin/pass")
+ `("PATH" ":" prefix (,(string-join path ":"
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
#:test-target "test"))
-(native-inputs `(("getopt" ,util-linux))) ; getopt for the tests
-(inputs `(("gnupg" ,gnupg)
-  ("pwgen" ,pwgen)
-  ("xclip" ,xclip)
+(inputs `(("getopt" ,util-linux)
   ("git" ,git)
+  ("gnupg" ,gnupg)
+  ("pwgen" ,pwgen)
+  ("sed" ,sed)
   ("tree" ,tree)
-  ("which" ,which)))
+  ("which" ,which)
+  ("xclip" ,xclip)))
 (home-page "http://www.passwordstore.org/";)
 (synopsis "Encrypted password manager")
 (description "Password-store is a password manager which uses GnuPG to
-- 
2.9.2



Re: [PATCH] add go@1.6

2016-07-28 Thread Alex Griffin
On Thu, Jul 28, 2016, at 05:11 AM, Matthew Jordan wrote:
> Doesn't sh already handle picking the shell/interpretor?  That's why I
> put it there. sh or an sh compatible shell is usually the first to
> start. Feel free to correct me if I'm wrong.

In Guix, sh is provided by bash, but when bash is launched as sh it gets
put into a compatibility mode which might not be what script authors
expect. In this case I guess it doesn't really matter, it's a small
thing and it works either way.

> This sounds like the beginning of a long conversation. Suffice to say
> it's doesn't bother me either way.  However I would rather change this
> in later patch, if it has to be changed.

Okay, sounds fine to me.

Thanks for all your hard work!
-- 
Alex Griffin



Re: [PATCH] add go@1.6

2016-07-27 Thread Alex Griffin
Hello Matthew,

I'm not done looking at the package, but here are some of my initial
thoughts:

On Wed, Jul 27, 2016, at 06:54 PM, Matthew Jordan wrote:
> (version "1.6.2")

Version 1.6.3 was just released to fix a security issue.

>(zero? (system* "sh" "all.bash")

This seems to work, but I think it should just be `(zero? (system*
"./all.bash"))`. It has a shebang, and expects bash, not sh.

If it doesn't cause any problems, we should delete pkg/bootstrap/* so
that it doesn't retain any references to go@1.4. I think that would
drastically reduce the size of its closure.

Also, I'm not sure I'm sold on splitting up into multiple outputs, but I
haven't thought about it much and don't have a strong opinion. The
"tests" output is only 5M and "doc" is only 10M, vs 270M for the default
output.
-- 
Alex Griffin



[PATCH] gnu: Add asciinema.

2016-07-27 Thread Alex Griffin
This patch adds asciinema, a tool for recording and sharing terminal
sessions.
-- 
Alex Griffin
From 56dfd86e92c86d2f816b9b0f6f71330cecbc2caf Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 27 Jul 2016 16:22:32 -0500
Subject: [PATCH] gnu: Add asciinema.

* gnu/packages/terminals.scm (asciinema): New variable.
---
 gnu/packages/terminals.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index ee36f64..98f0060 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Efraim Flashner 
 ;;; Copyright © 2016 Mckinley Olsen 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
@@ -30,6 +32,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages wm)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages gtk)
@@ -121,3 +124,38 @@ insert mode and command mode where keybindings have different functions.")
 
 ;; Files under util/ are under the Expat license; the rest is LGPLv2+.
 (license license:lgpl2.0+)))
+
+(define-public asciinema
+  (package
+(name "asciinema")
+(version "1.3.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/06/96/93947d9be78aebb7985014fdf";
+ "4d84896dd0f62514d922ee03f5bb55a21fb/asciinema-" version
+ ".tar.gz"))
+   (sha256
+(base32
+ "1crdm9zfdbjflvz1gsqvy5zsbgwdfkj34z69kg6h5by70rrs1hdc"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'patch-exec-paths
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let ((ncurses (assoc-ref inputs "ncurses")))
+   (substitute* "asciinema/recorder.py"
+ (("'tput'")
+  (string-append "'" ncurses "/bin/tput'"
+ #t)
+(inputs `(("ncurses" ,ncurses)
+  ("python-setuptools" ,python-setuptools)))
+(home-page "https://asciinema.org";)
+(synopsis "Terminal session recorder")
+(description
+ "Use asciinema to record and share your terminal sessions, the right way.
+Forget screen recording apps and blurry video.  Enjoy a lightweight, purely
+text-based approach to terminal recording.")
+(license license:gpl3)))
-- 
2.9.2



Re: [PATCH] gnu: magit: Fix interactive rebase.

2016-07-27 Thread Alex Griffin
On Wed, Jul 27, 2016, at 03:21 AM, Alex Kost wrote:
> Since this fix is not really for the "interactive rebase" itself (I mean
> what is bound to "r i"), but for the other rebase commands, I changed
> the commit message and applied the patch as 46bd45152¹, thanks!

Ah, somehow I thought it affected all of the rebase commands. I should
have known someone would have caught it if it did.
-- 
Alex Griffin



[PATCH] gnu: calibre: Update to 2.63.0

2016-07-27 Thread Alex Griffin
This patch updates calibre to 2.63.0. I had to update one of the patches
as well to get it to apply. It also removes a dependency on ImageMagick,
which hasn't been necessary since 2.57.1.
-- 
Alex Griffin
From 94adb22e4751392755b6052f11ee69a22b763998 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 26 Jul 2016 12:26:25 -0500
Subject: [PATCH] gnu: calibre: Update to 2.63.0.

* gnu/packages/ebook.scm (calibre): Update to 2.63.0.
[inputs]: Remove unnecessary imagemagick dependency.
[phases]: Use modify-phases.

* gnu/packages/patches/calibre-drop-unrar.patch: Update
for new version.
---
 gnu/packages/ebook.scm| 14 
 gnu/packages/patches/calibre-drop-unrar.patch | 48 +++
 2 files changed, 26 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index d97e869..ad18716 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
@@ -61,7 +61,7 @@
 (define-public calibre
   (package
 (name "calibre")
-(version "2.62.0")
+(version "2.63.0")
 (source
   (origin
 (method url-fetch)
@@ -70,7 +70,7 @@
 version ".tar.xz"))
 (sha256
  (base32
-  "15qskfsdg3fy9cpw1m3mccwgn45366yn7lci5kim0fdzpw9pnkna"))
+  "1rwgv6rsmy3ljfwcpv42w203ghngw86s5kzb0yjm1zgsxmas2wh6"))
 ;; Remove non-free or doubtful code, see
 ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 (modules '((guix build utils)))
@@ -102,7 +102,6 @@
("fontconfig" ,fontconfig)
("glib" ,glib)
("icu4c" ,icu4c)
-   ("imagemagick" ,imagemagick)
("libmtp" ,libmtp)
("libpng" ,libpng)
("libusb" ,libusb)
@@ -128,16 +127,15 @@
#:test-target "check"
#:tests? #f ; FIXME: enable once flake8 is packaged
#:phases
- (alist-cons-before
-  'build 'configure
+   (modify-phases %standard-phases
+ (add-before 'build 'configure
   (lambda* (#:key inputs #:allow-other-keys)
 (let ((podofo (assoc-ref inputs "podofo"))
   (pyqt (assoc-ref inputs "python2-pyqt")))
   (substitute* "setup/build_environment.py"
 (("sys.prefix") (string-append "'" pyqt "'")))
   (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
-  (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"
-  %standard-phases)))
+  (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"
 (home-page "http://calibre-ebook.com/";)
 (synopsis "E-book library management software")
 (description "Calibre is an ebook library manager.  It can view, convert
diff --git a/gnu/packages/patches/calibre-drop-unrar.patch b/gnu/packages/patches/calibre-drop-unrar.patch
index 6b7a9f4..4eb6440 100644
--- a/gnu/packages/patches/calibre-drop-unrar.patch
+++ b/gnu/packages/patches/calibre-drop-unrar.patch
@@ -1,4 +1,4 @@
-Taken from Debian.
+Taken from Debian. Updated by Alex Griffin.
 
 Author: Dmitry Shachnev 
 Description: do not build unrar extension as we strip unrar from the tarball
@@ -7,37 +7,29 @@ Last-Update: 2013-04-04
 
 Index: calibre/setup/extensions.py
 ===
 calibre.orig/setup/extensions.py	2014-02-02 10:42:14.510954007 +0100
-+++ calibre/setup/extensions.py	2014-02-02 10:42:14.502954007 +0100
-@@ -209,24 +209,6 @@
- sip_files=['calibre/ebooks/pdf/render/qt_hack.sip']
- ),
- 
--Extension('unrar',
--  ['unrar/%s.cpp'%(x.partition('.')[0]) for x in '''
--   rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o
--   filefn.o filcreat.o archive.o arcread.o unicode.o system.o
--   isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o
--   timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o
--   secpassword.o rijndael.o getbits.o sha1.o extinf

[PATCH] gnu: gnome: Propagate file-roller.

2016-07-27 Thread Alex Griffin
Most GNOME users will probably expect to be able to open archives, so
this patch adds file-roller to the gnome "meta-package".
-- 
Alex Griffin
From 4a582632170f58a4dcb4d675bc519a5e999b75d0 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 27 Jul 2016 09:40:35 -0500
Subject: [PATCH] gnu: gnome: Propagate file-roller.

* gnu/packages/gnome.scm (gnome)[propagated-inputs]: Add file-roller.
---
 gnu/packages/gnome.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 318a04d..b2f4695 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2016 Jan Nieuwenhuizen 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5014,6 +5015,7 @@ software that do not provide their own configuration interface.")
("eog"   ,eog)
("epiphany"  ,epiphany)
("evince",evince)
+   ("file-roller"   ,file-roller)
("gedit" ,gedit)
("glib-networking"   ,glib-networking)
("gnome-backgrounds" ,gnome-backgrounds)
-- 
2.9.2



Re: [PATCH] gnu: calibre: Remove imagemagick dependency.

2016-07-27 Thread Alex Griffin
On Wed, Jul 27, 2016, at 07:50 AM, Alex Griffin wrote:
> Calibre dropped the dependency on ImageMagick in version 2.57.1.

On second thought, disregard this patch. I'm going to roll it into
another one that updates the package as well.
-- 
Alex Griffin



[PATCH] gnu: calibre: Remove imagemagick dependency.

2016-07-27 Thread Alex Griffin
Calibre dropped the dependency on ImageMagick in version 2.57.1.
-- 
Alex Griffin
From 418283c53c66e2da7634ef1e1545ab406450ee6f Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 26 Jul 2016 12:26:25 -0500
Subject: [PATCH] gnu: calibre: Remove imagemagick dependency.

* gnu/packages/ebook.scm (calibre): Remove out-dated imagemagick dependency.
---
 gnu/packages/ebook.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index d97e869..c73b52f 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
@@ -102,7 +102,6 @@
("fontconfig" ,fontconfig)
("glib" ,glib)
("icu4c" ,icu4c)
-   ("imagemagick" ,imagemagick)
("libmtp" ,libmtp)
("libpng" ,libpng)
("libusb" ,libusb)
-- 
2.9.2



[PATCH] gnu: magit: Fix interactive rebase.

2016-07-26 Thread Alex Griffin
This patch fixes magit's interactive rebase function, which calls perl
and fails if perl is not in PATH.
-- 
Alex Griffin
From 1f73f2635225bfcf942194ffe8c02a07e4705d34 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 26 Jul 2016 13:29:51 -0500
Subject: [PATCH] gnu: magit: Fix interactive rebase.

* gnu/packages/emacs.scm (magit): Fix interactive rebase.
---
 gnu/packages/emacs.scm | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 8dd728b..f6e1234 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016 Matthew Jordan 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -454,7 +455,9 @@ on stdout instead of using a socket as the Emacsclient does.")
 (build-system gnu-build-system)
 (native-inputs `(("texinfo" ,texinfo)
  ("emacs" ,emacs-minimal)))
-(inputs `(("git" ,git)))
+(inputs
+ `(("git" ,git)
+   ("perl" ,perl)))
 (propagated-inputs
  `(("dash" ,emacs-dash)
("with-editor" ,emacs-with-editor)))
@@ -487,9 +490,12 @@ on stdout instead of using a socket as the Emacsclient does.")
  (add-before
   'build 'patch-exec-paths
   (lambda* (#:key inputs #:allow-other-keys)
-(let ((git (assoc-ref inputs "git")))
+(let ((git (assoc-ref inputs "git"))
+  (perl (assoc-ref inputs "perl")))
   (emacs-substitute-variables "lisp/magit-git.el"
 ("magit-git-executable" (string-append git "/bin/git")))
+  (substitute* "lisp/magit-sequence.el"
+(("perl") (string-append perl "/bin/perl")))
   #t))
 (home-page "http://magit.github.io/";)
 (synopsis "Emacs interface for the Git version control system")
-- 
2.9.2



Re: Go & bundling

2016-07-26 Thread Alex Griffin
I realized my previous message was probably confusing. Here are some
missing details that you may need to make sense of it.

* Go embeds its dependency information right into the source code.

* The command I gave gets its list of dependencies by parsing source
code, not that manifest file. Also, it lists packages, not repositories.
There may be several packages coming from a single repository.

* Those manifest files, then, are just lists of bundled libraries. This
might be a litte confusing coming from other languages, because it is
not directly analogous to the package manager manifests that other
languages use. They are not written manually, nor does the tooling
necessarily make it easy to keep up-to-date (it may take 2-3 separately
maintained, non-standard tools to keep a vendor/ directory in good
working order). The packages in them may not even be dependencies any
more if the maintainer has not been vigilant.

Ultimately I think a Go importer will be tricky to get right. In some
cases it may even make the most sense to just use what's bundled,
unfortunately...
-- 
Alex Griffin



Re: Go & bundling

2016-07-25 Thread Alex Griffin
Leo Famulari  wrote:
> If that manifest is a standard thing, we could make a go-importer that
> used it to create new packages.

The manifest is not standardized, or rather, there are too many
competing standards.

On Mon, Jul 25, 2016, at 08:56 PM, Catonano wrote:
> The "new packages" indicated in the manifest could, in turn, have bundled 
> dependencies. So the importer should be a recursive one.
> Like the one that Jelle is using for npm. 
> 
> Right ?

If we are going to unbundle packages, I think it would be best if our
code ignored any manifest files entirely. Versioning is a mess in the Go
ecosystem, and usually the version specified in them only reflects the
most recent commit that the developers had on their machine when they
ran the vendor command. Rarely is it an actual tagged, stable release.

BTW, the following command will probably be useful. It lists the
dependencies of the current package (whose source is in the current
directory), minus the stdlib.

go list -f '{{join .Deps "\n"}}' | xargs go list -f '{{if not
.Standard}}{{.ImportPath}}{{end}}'

I hope that helps!
-- 
Alex Griffin



[PATCH] gnu: icecat: Install icons.

2016-07-23 Thread Alex Griffin
This patch installs some icons so that the IceCat desktop menu entry
displays its logo.
-- 
Alex Griffin
From 3db1ee5a43de65ad14645267b1abcfd323304d45 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Sat, 23 Jul 2016 16:44:46 -0500
Subject: [PATCH] gnu: icecat: Install icons.

* gnu/packages/gnuzilla.scm (icecat)[arguments]: Add
'install-icons' phase.
---
 gnu/packages/gnuzilla.scm | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index b1ffbc8..9afe87c 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2015 Sou Bunnbu 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -566,7 +567,21 @@ standards.")
  (("@MOZ_APP_NAME@")
   "icecat"))
(install-file "debian/icecat.desktop" applications)
-   #t))
+   #t)))
+ (add-after 'install-desktop-entry 'install-icons
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+   (with-directory-excursion "browser/branding/official"
+ (for-each
+  (lambda (file)
+(let* ((size (string-filter char-numeric? file))
+   (icons (string-append out "/share/icons/hicolor/"
+ size "x" size "/apps")))
+  (mkdir-p icons)
+  (copy-file file (string-append icons "/icecat.png"
+  '("default16.png" "default22.png" "default24.png"
+"default32.png" "default48.png" "content/icon64.png"
+"mozicon128.png" "default256.png")
 (home-page "http://www.gnu.org/software/gnuzilla/";)
 (synopsis "Entirely free browser derived from Mozilla Firefox")
 (description
-- 
2.9.1



[PATCH] gnu: Add trash-cli.

2016-07-22 Thread Alex Griffin
This patch adds trash-cli, a simple command line utility for interacting
with the FreeDesktop.org Trash used by GNOME, KDE, XFCE, etc.
-- 
Alex Griffin
From 1aaeb3dc699d58d7ef18791b8c385e341e4acc15 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Fri, 22 Jul 2016 19:20:53 -0500
Subject: [PATCH] gnu: Add trash-cli.

* gnu/packages/shellutils.scm (trash-cli): New variable.
---
 gnu/packages/shellutils.scm | 42 +-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 8108b04..27f45ba 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Matthew Jordan 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -17,11 +18,14 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages shellutils)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages python)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python))
 
 (define-public envstore
   (package
@@ -48,3 +52,39 @@
 between various shells or commands.")
 (license
  (non-copyleft "http://www.wtfpl.net/txt/copying/";
+
+(define-public trash-cli
+  (package
+(name "trash-cli")
+(version "0.12.9.14")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "trash-cli" version))
+   (sha256
+(base32
+ "1p4v2qx0sy47d9c9axszq04wns63s4b7rrhmsavg948sklqdaf54"
+(build-system python-build-system)
+(arguments
+ `(#:python ,python-2
+   #:tests? #f ; no tests
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'patch-path-constants
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc"))
+   (coreutils (assoc-ref inputs "coreutils")))
+   (substitute* "trashcli/list_mount_points.py"
+ (("\"/lib/libc.so.6\".*")
+  (string-append "\"" libc "/lib/libc.so.6\"\n"))
+ (("\"df\"")
+  (string-append "\"" coreutils "/bin/df\"")
+(inputs `(("coreutils" ,coreutils)))
+(home-page "https://github.com/andreafrancia/trash-cli";)
+(synopsis "Trash can management tool")
+(description
+ "trash-cli is a command line utility for interacting with the
+FreeDesktop.org trash can used by GNOME, KDE, XFCE, and other common desktop
+environments.  It can move files to the trash, and remove or list files that
+are already there.")
+(license gpl2+)))
-- 
2.9.1



[PATCH] gnu: wesnoth: Update to 1.12.6.

2016-07-22 Thread Alex Griffin
This patch just updates wesnoth to the latest version.
-- 
Alex Griffin
From 6c85b6054737f6d96d31eb8862c84bd429a16f3c Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Fri, 22 Jul 2016 13:09:01 -0500
Subject: [PATCH] gnu: wesnoth: Update to 1.12.6.

* gnu/packages/games.scm (wesnoth): Update to 1.12.6.
---
 gnu/packages/games.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 068b7d4..672d640 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1023,7 +1023,7 @@ falling, themeable graphics and sounds, and replays.")
 (define-public wesnoth
   (package
 (name "wesnoth")
-(version "1.12.5")
+(version "1.12.6")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@@ -1032,7 +1032,7 @@ falling, themeable graphics and sounds, and replays.")
   name "-" version ".tar.bz2"))
   (sha256
(base32
-"07d8ms9ayswg2g530p0zwmz3d77zv68l6nmc718iq9sbv90av6jr"
+"0kifp6g1dsr16m6ngjq2hx19h851fqg326ps3krnhpyix963h3x5"
 (build-system cmake-build-system)
 (arguments
  '(#:tests? #f ; no check target
-- 
2.9.1



[PATCH] download: Add official SourceForge mirror.

2016-07-22 Thread Alex Griffin
This patch mirrors a similar change in nixpkgs [1][2].

The official method for downloading from SourceForge is to use
downloads.sourceforge.net, which redirects to various other mirrors. It
can be unreliable, but also faster because it can find a nearby mirror
and load-balance. If it fails Guix will still fall back to known good
mirrors.

[1]: https://github.com/NixOS/nixpkgs/issues/16900
[2]: https://github.com/NixOS/nixpkgs/pull/16976
-- 
Alex Griffin
From 387f1116e6d6c8aa99e19a0ade3605300d59b0f9 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Fri, 22 Jul 2016 12:55:47 -0500
Subject: [PATCH] download: Add official SourceForge mirror.

The official method for downloading from SourceForge is to use
downloads.sourceforge.net, which redirects to various other mirrors. It
can be unreliable, but also faster because it can find a nearby mirror
and load-balance. If it fails Guix will still fall back to known good
mirrors.

* guix/download.scm (mirrors)[sourceforge]: Add official SourceForge mirror.
---
 guix/download.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/guix/download.scm b/guix/download.scm
index 8f38a4f..aa403af 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -99,6 +99,7 @@
"http://www.centervenus.com/mirrors/nongnu/";
"http://download.savannah.gnu.org/releases-noredirect/";)
   (sourceforge ; https://sourceforge.net/p/forge/documentation/Mirrors/
+   "http://downloads.sourceforge.net/project/";
"http://ufpr.dl.sourceforge.net/project/";
"http://heanet.dl.sourceforge.net/project/";
"http://freefr.dl.sourceforge.net/project/";
-- 
2.9.1



Re: SourceForge URLs changed

2016-07-21 Thread Alex Griffin
On Thu, Jul 21, 2016, at 09:33 AM, Leo Famulari wrote:
> Alex, how is Q-Z coming along? I can finish it quickly later today if
> you haven't started yet.

I apologize, I haven't started it yet... So go ahead if you want to
finish it up, else I can still do it tomorrow when I will have time for
it again.
-- 
Alex Griffin



Re: SourceForge URLs changed

2016-07-18 Thread Alex Griffin
Hey Leo,

On Sun, Jul 17, 2016, at 03:58 PM, Leo Famulari wrote:
> I've attached the list of bad packages, which includes the ones I've
> done so far. If you want to fix some of them, please pick a section of
> the alphabet and reply to claim it, so we don't duplicate effort.

I'll start by claiming Q-Z, and maybe I can do more than that depending
on how things go.
-- 
Alex Griffin



Re: SourceForge URLs changed

2016-07-15 Thread Alex Griffin
On Fri, Jul 15, 2016, at 12:58 PM, Leo Famulari wrote:
> I contacted SourceForge to ask about this. They said that they did have
> an outage that lasted for ~23 hours but that, otherwise, there has been
> no change to the URLs from which they serve things.
> 
> Is anyone still noticing problems on our end? If so, can you give some
> details that I can pass on to SourceForge?

I haven't done a whole lot of testing, but as an example I've run into
problems when trying to update wesnoth for example. I can download the
source from the web interface or from a new URL, but the old URL we used
is broken now.

So this used to work, but doesn't any more:

https://downloads.sourceforge.net/project/wesnoth/wesnoth-1.12.5.tar.bz2

Now it has to be:


https://downloads.sourceforge.net/project/wesnoth/wesnoth-1.12/wesnoth-1.12.5/wesnoth-1.12.5.tar.bz2

-- 
Alex Griffin



Re: SourceForge URLs changed

2016-07-15 Thread Alex Griffin
On Wed, Jul 13, 2016, at 05:16 AM, Ludovic Courtès wrote:
> Alex Griffin  skribis:
> > Their Twitter feed[1] says that they're investigating issues at the
> > moment, so it's possible that all we need to do is wait.
> 
> OK, we’ll see.

So it has been a few days now, and it looks like I was probably wrong.
I'm a little baffled that I couldn't find any other free software
communities talking about this either, since I would have guessed a
disruptive change like this would have affected other distros that
automate source downloads (like NixOS, Arch Linux, Gentoo, etc.)
-- 
Alex Griffin



Re: SourceForge URLs changed

2016-07-12 Thread Alex Griffin
Hello,

On Tue, Jul 12, 2016, at 06:00 PM, Ludovic Courtès wrote:
> Apparently SourceForge did a massive URL change, *and*, for extra fun,
> failing mirrors return 200 instead of 404.
> 
> [...]
> 
> Would anyone like to investigate?  :-)

Their Twitter feed[1] says that they're investigating issues at the
moment, so it's possible that all we need to do is wait.
-- 
Alex Griffin

[1]: https://twitter.com/sfnet_ops



Re: [PATCH] gnu: Add reptyr.

2016-07-12 Thread Alex Griffin
On Sat, Jul 9, 2016, at 01:20 PM, Leo Famulari wrote:
> If we are considering moving these packages around, I think that
> screen.scm and tmux.scm should go into terminals.scm. But, I also think
> that this patch should not be held up by that discussion.

Yes, I didn't necessarily mean just moving tmux into screen.scm. I just
meant that they clearly belong next to each other, wherever that is.

> Why skip the tests? We prefer to run tests whenever possible. Otherwise,
> please add a comment explaining why. For example "No test suite."

There's no tests to run. I added a comment on it.

> This is short and sweet, but we like to use modify-phases for
> consistency.

Okay, done. (btw a bunch of packages in suckless.scm do it that way,
which is where I copied the arguments field from)

> We should capitalize the beginning of the description, and I would also
> wrap 'ssh' and 'screen' in texinfo:
> 
> @code{ssh}
> @code{screen}

I wrapped those commands in texinfo, but I don't think that reptyr
should be capitalized even at the beginning of a sentence. Upstream
always seems to keep it lower case, and other package descriptions do it
this way too (like dtach).

I included the updated patch as an attachment. Thanks for the feedback,
-- 
Alex Griffin
From 29b9aec04bb3d750922661bf0360762e39f04694 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Fri, 8 Jul 2016 14:27:32 -0500
Subject: [PATCH 1/2] gnu: Add reptyr.

* gnu/packages/screen.scm (reptyr): New variable.
---
 gnu/packages/screen.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index a4eefd8..c031e1a 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Mark H Weaver 
 ;;; Copyright © 2015 Eric Bavier 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -144,3 +145,30 @@ as folding room dividers.  The Byobu software includes an enhanced profile,
 configuration utilities, and system status notifications for the GNU Screen
 window manager as well as the Tmux terminal multiplexer.")
 (license gpl3+)))
+
+(define-public reptyr
+  (package
+(name "reptyr")
+(version "0.6.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/nelhage/reptyr/archive";
+   "/reptyr-" version ".tar.gz"))
+   (sha256
+(base32
+ "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f ; no tests
+   #:make-flags (list "CC=gcc"
+  (string-append "PREFIX=" %output))
+   #:phases (modify-phases %standard-phases (delete 'configure
+(home-page "https://github.com/nelhage/reptyr";)
+(synopsis "Tool for reparenting a running program to a new terminal")
+(description
+ "reptyr is a utility for taking an existing running program and attaching
+it to a new terminal.  Started a long-running process over @code{ssh}, but have
+to leave and don't want to interrupt it?  Just start a @code{screen}, use
+reptyr to grab it, and then kill the ssh session and head on home.")
+(license expat)))
-- 
2.9.0



Re: [PATCH] add go@1.5

2016-07-12 Thread Alex Griffin
Matthew,

I don't think we should consider minimum requirements, because Go's
backward compatibility is really good. I have yet to come across a
package that builds with an older compiler (post-1.0) but not a newer
one. Instead I think we should consider which releases we actually need
and which are supported upstream. The Go Release Policy[1] says that
security fixes are only issued for the current and previous releases.

I had thought that the 1.5 series was EOL already but when I looked it
up I guess it's still supported until next month. So I guess I don't
really have any objections to packaging go 1.5, except that it should be
removed next month when go 1.7 is released.

Thanks,
-- 
Alex Griffin

[1]: https://golang.org/doc/devel/release.html


On Tue, Jul 12, 2016, at 04:47 AM, Matthew Jordan wrote:
> Good Day Alex,
> 
> > Can I ask why even package go 1.5? Upstream has committed to making sure
> > all future compiler versions can bootstrap from go 1.4.x, so my thinking
> > is that we only need to package two versions, go 1.4 and the latest
> > version (1.6.2 at the moment). Or am I missing something?
> 
> Some packages still recommend building with go@1.5 or have go@1.5 as
> the minimum requirement. So thought it would be a good idea to add
> go@1.5 as well.
> 
> However I have no objections towards going straight to go@1.6.
> 
> Respectfully,
> 
> ---
> Matthew Jordan



Re: [PATCH] add go@1.5

2016-07-11 Thread Alex Griffin
Can I ask why even package go 1.5? Upstream has committed to making sure
all future compiler versions can bootstrap from go 1.4.x, so my thinking
is that we only need to package two versions, go 1.4 and the latest
version (1.6.2 at the moment). Or am I missing something?
-- 
Alex Griffin


On Sun, Jul 10, 2016, at 06:52 PM, Matthew Jordan wrote:
> Good Day,
> 
> Attached a patch to add go@1.5. I updated this one in a similar manner
> to what was asked for go@1.4.  However, let me know if any other changes
> are required, or if I missed something.
> 
> 
> Respectfully,
> 
> ---
> Matthew Jordan
> Email had 1 attachment:
> + 0001-gnu-Add-go-1.5.patch
>   8k (text/x-patch)



[PATCH] gnu: Add reptyr.

2016-07-08 Thread Alex Griffin
This patch adds reptyr, a tool for reparenting a running program to a
new terminal. I put it in screen.scm because it is usually used to move
a process into a screen or tmux session.

Also somewhat related, I think the file tmux.scm should merge with
screen.scm.

Thanks,
 -- 
Alex Griffin
From 8e48e2a27b16215a23ecc224661808b58a6a7c40 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Fri, 8 Jul 2016 14:27:32 -0500
Subject: [PATCH] gnu: Add reptyr.

* gnu/packages/screen.scm (reptyr): New variable.
---
 gnu/packages/screen.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index a4eefd8..74f3f44 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Mark H Weaver 
 ;;; Copyright © 2015 Eric Bavier 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -144,3 +145,30 @@ as folding room dividers.  The Byobu software includes an enhanced profile,
 configuration utilities, and system status notifications for the GNU Screen
 window manager as well as the Tmux terminal multiplexer.")
 (license gpl3+)))
+
+(define-public reptyr
+  (package
+(name "reptyr")
+(version "0.6.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/nelhage/reptyr/archive";
+   "/reptyr-" version ".tar.gz"))
+   (sha256
+(base32
+ "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f
+   #:make-flags (list "CC=gcc"
+  (string-append "PREFIX=" %output))
+   #:phases (alist-delete 'configure %standard-phases)))
+(home-page "https://github.com/nelhage/reptyr";)
+(synopsis "Tool for reparenting a running program to a new terminal")
+(description
+ "reptyr is a utility for taking an existing running program and attaching
+it to a new terminal.  Started a long-running process over ssh, but have to
+leave and don't want to interrupt it?  Just start a screen, use reptyr to grab
+it, and then kill the ssh session and head on home.")
+(license expat)))
-- 
2.9.0



Re: [PATCH 2/2] gnu: Add gnome-mpv.

2016-07-07 Thread Alex Griffin
On Thu, Jul 7, 2016, at 02:10 AM, Ricardo Wurmus wrote:
> > +   (uri (string-append 
> > "https://github.com/gnome-mpv/gnome-mpv/releases/download/v";
> > +   version "/gnome-mpv-" version ".tar.xz"))
> 
> This line looks a bit long to me.  Have you checked with “guix lint
> gnome-mpv”?

Actually, yes I did, and it didn't catch it. Maybe there's a bug in the
linter?

Anyway, here's an updated patch. In addition to correcting the long
line, I also tweaked the synopsis and description to make clear that
this is a media player, for the benefit of anyone who hasn't heard of
mpv.
-- 
Alex Griffin
From e3f40673b6883bba023eec9eb8995df97d9245fd Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 6 Jul 2016 18:58:17 -0500
Subject: [PATCH 2/2] gnu: Add gnome-mpv.

* gnu/packages/video.scm (gnome-mpv): New variable.
---
 gnu/packages/video.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ae1813d..6888e36 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -33,6 +33,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
@@ -829,6 +830,34 @@ fork of mplayer2 and MPlayer.  It shares some features with the former
 projects while introducing many more.")
 (license license:gpl2+)))
 
+(define-public gnome-mpv
+  (package
+(name "gnome-mpv")
+(version "0.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases";
+   "/download/v" version "/gnome-mpv-" version
+   ".tar.xz"))
+   (sha256
+(base32
+ "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0"
+(native-inputs
+ `(("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("gtk+" ,gtk+)
+   ("libepoxy" ,libepoxy)
+   ("mpv" ,mpv)))
+(build-system glib-or-gtk-build-system)
+(home-page "https://github.com/gnome-mpv/gnome-mpv";)
+(synopsis "GTK+ frontend for the mpv media player")
+(description "GNOME MPV is a simple GTK+ frontend for the mpv media player.
+GNOME MPV interacts with mpv via the client API exported by libmpv, allowing
+access to mpv's powerful playback capabilities.")
+(license license:gpl3+)))
+
 (define-public libvpx
   (package
 (name "libvpx")
-- 
2.9.0



[PATCH 2/2] gnu: Add gnome-mpv.

2016-07-06 Thread Alex Griffin
This patch adds gnome-mpv, a simple GTK+ frontend to the mpv video
player.
-- 
Alex Griffin
From b72a82b9abfe01fa9374d22893cb5a0564eee97e Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 6 Jul 2016 18:58:17 -0500
Subject: [PATCH 2/2] gnu: Add gnome-mpv.

* gnu/packages/video.scm (gnome-mpv): New variable.
---
 gnu/packages/video.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ae1813d..e9088fd 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -33,6 +33,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
@@ -829,6 +830,33 @@ fork of mplayer2 and MPlayer.  It shares some features with the former
 projects while introducing many more.")
 (license license:gpl2+)))
 
+(define-public gnome-mpv
+  (package
+(name "gnome-mpv")
+(version "0.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases/download/v";
+   version "/gnome-mpv-" version ".tar.xz"))
+   (sha256
+(base32
+ "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0"
+(native-inputs
+ `(("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("gtk+" ,gtk+)
+   ("libepoxy" ,libepoxy)
+   ("mpv" ,mpv)))
+(build-system glib-or-gtk-build-system)
+(home-page "https://github.com/gnome-mpv/gnome-mpv";)
+(synopsis "Simple GTK+ frontend for mpv")
+(description "GNOME MPV is a simple GTK+ frontend for mpv.  GNOME MPV
+interacts with mpv via the client API exported by libmpv, allowing access to
+mpv's powerful playback capabilities.")
+(license license:gpl3+)))
+
 (define-public libvpx
   (package
 (name "libvpx")
-- 
2.9.0



gnu: Add gnome-mpv.

2016-07-06 Thread Alex Griffin
This patch adds gnome-mpv, a simple GTK+ frontend to the mpv video
player.
-- 
Alex Griffin
From b72a82b9abfe01fa9374d22893cb5a0564eee97e Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 6 Jul 2016 18:58:17 -0500
Subject: [PATCH 2/2] gnu: Add gnome-mpv.

* gnu/packages/video.scm (gnome-mpv): New variable.
---
 gnu/packages/video.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ae1813d..e9088fd 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -33,6 +33,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
@@ -829,6 +830,33 @@ fork of mplayer2 and MPlayer.  It shares some features with the former
 projects while introducing many more.")
 (license license:gpl2+)))
 
+(define-public gnome-mpv
+  (package
+(name "gnome-mpv")
+(version "0.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases/download/v";
+   version "/gnome-mpv-" version ".tar.xz"))
+   (sha256
+(base32
+ "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0"
+(native-inputs
+ `(("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("gtk+" ,gtk+)
+   ("libepoxy" ,libepoxy)
+   ("mpv" ,mpv)))
+(build-system glib-or-gtk-build-system)
+(home-page "https://github.com/gnome-mpv/gnome-mpv";)
+(synopsis "Simple GTK+ frontend for mpv")
+(description "GNOME MPV is a simple GTK+ frontend for mpv.  GNOME MPV
+interacts with mpv via the client API exported by libmpv, allowing access to
+mpv's powerful playback capabilities.")
+(license license:gpl3+)))
+
 (define-public libvpx
   (package
 (name "libvpx")
-- 
2.9.0



[PATCH 1/2] gnu: mpv: Enable shared library support.

2016-07-06 Thread Alex Griffin
This patch enables the libmpv shared library, needed by frontends like
gnome-mpv.
-- 
Alex Griffin
From 23617cd9805a2aeebf8b86caccfb482b7ba8e8c5 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 6 Jul 2016 18:55:54 -0500
Subject: [PATCH 1/2] gnu: mpv: Enable shared library support.

* gnu/packages/video.scm (mpv): Enable shared library support.
---
 gnu/packages/video.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2332a0d..ae1813d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2015 Andy Patterson 
 ;;; Copyright © 2015 Ricardo Wurmus 
 ;;; Copyright © 2015 Alex Vong 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -818,7 +819,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
   (lambda* (#:key inputs #:allow-other-keys)
 (copy-file (assoc-ref inputs "waf") "waf")
 (setenv "CC" "gcc"
-   #:configure-flags (list "--enable-zsh-comp")
+   #:configure-flags (list "--enable-libmpv-shared" "--enable-zsh-comp")
;; No check function defined.
#:tests? #f))
 (home-page "https://mpv.io/";)
-- 
2.9.0



Re: [PATCH] gnu: services: Add bluetooth-service.

2016-06-15 Thread Alex Griffin
Thanks for writing this, I've been wanting bluetooth support for a
while!

I added this to my system services and added my user to the "lp" group,
but I still ran into a few issues. GNOME still didn't recognize my
bluetooth adaptor, so I tried using bluetoothctl from the command line.
Several actions completed successfully but I still couldn't use my
bluetooth mouse. Here's what I tried (I omitted all output except the
error):

$ bluetoothctl
[bluetooth]# scan on
[bluetooth]# pair 
[bluetooth]# trust 
[bluetooth]# connect 
Failed to connect: org.bluez.Error.Failed

I also couldn't find any bluez files in /var. Is it possible that it's
failing because it can't save its state?

I can look into it more this weekend if you can't reproduce any issues.
-- 
Alex Griffin

On Wed, Jun 15, 2016, at 10:23 AM, 宋文武 wrote:
> * gnu/services/desktop.scm (bluetooth-shepherd-service)
> (bluetooth-service): New Prodecures.
> (bluetooth-service-type): New variable.
> * doc/guix.text (Desktop Services): Document it.
> ---
>  doc/guix.texi|  7 +++
>  gnu/services/desktop.scm | 34 ++
>  2 files changed, 41 insertions(+)
> 
> diff --git a/doc/guix.texi b/doc/guix.texi
> index e163f36..a6fd89a 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -7982,6 +7982,13 @@ location databases.  See
>  web site} for more information.
>  @end deffn
>  
> +@deffn {Scheme Procedure} bluetooth-service [#:bluez @var{bluez}]
> +Return a service that runs the @command{bluetoothd} daemon, which
> manages
> +all the Bluetooth devices and provides a number of D-Bus interfaces.
> +
> +Users need to be in the @code{lp} group to access the D-Bus service.
> +@end deffn
> +
>  @node Database Services
>  @subsubsection Database Services
>  
> diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
> index f427d35..80ac0ac 100644
> --- a/gnu/services/desktop.scm
> +++ b/gnu/services/desktop.scm
> @@ -2,6 +2,7 @@
>  ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès 
>  ;;; Copyright © 2015 Andy Wingo 
>  ;;; Copyright © 2015 Mark H Weaver 
> +;;; Copyright © 2016 Sou Bunnbu 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -37,6 +38,7 @@
>#:use-module (gnu packages polkit)
>#:use-module (gnu packages xdisorg)
>#:use-module (gnu packages suckless)
> +  #:use-module (gnu packages linux)
>#:use-module (guix records)
>#:use-module (guix packages)
>#:use-module (guix store)
> @@ -49,6 +51,7 @@
>  geoclue-application
>  %standard-geoclue-applications
>  geoclue-service
> +bluetooth-service
>  polkit-service
>  elogind-configuration
>  elogind-service
> @@ -346,6 +349,37 @@ site} for more information."
>  
>  
>  ;;;
> +;;; Bluetooth.
> +;;;
> +
> +(define (bluetooth-shepherd-service bluez)
> +  "Return a shepherd service for @command{bluetoothd}."
> +  (shepherd-service
> +   (provision '(bluetooth))
> +   (requirement '(dbus-system udev))
> +   (documentation "Run the bluetoothd daemon.")
> +   (start #~(make-forkexec-constructor
> + (string-append #$bluez "/libexec/bluetooth/bluetoothd")))
> +   (stop #~(make-kill-destructor
> +
> +(define bluetooth-service-type
> +  (service-type
> +   (name 'bluetooth)
> +   (extensions
> +(list (service-extension dbus-root-service-type list)
> +  (service-extension shepherd-root-service-type
> + (compose list
> bluetooth-shepherd-service))
> +
> +(define* (bluetooth-service #:key (bluez bluez))
> +  "Return a service that runs the @command{bluetoothd} daemon, which
> manages
> +all the Bluetooth devices and provides a number of D-Bus interfaces.
> +
> +Users need to be in the @code{lp} group to access the D-Bus service.
> +"
> +  (service bluetooth-service-type bluez))
> +
> +
> +;;;
>  ;;; Polkit privilege management service.
>  ;;;
>  
> -- 
> 2.6.3
> 
> 



Re: [Patch] go@1.4 Updated patch

2016-06-03 Thread Alex Griffin
I don't think this package needs to depend on rc or gccgo. Without rc,
guix will fail to patch the paths to rc, but those are only used on Plan
9 systems. And despite a few references to gccgo in the package
definition, removing it does not actually affect the build at all.
-- 
Alex Griffin



Re: Publishing an Official Statement on Self-Hosted Compilers

2016-05-21 Thread Alex Griffin
On Thu, May 12, 2016, at 05:05 AM, Ludovic Courtès wrote:
> I like it.  :-)
> 
> I think the bit about the “trusting trust” attack should go under “The
> Problem”. [...]
> 
> WDYT?
> 
> We should then discuss it with the repro-builds folks, and probably
> contact a bunch of compiler writers to get initial feedback.

Thanks for the feedback, I agree!

Unfortunately I can't continue working on this right now. Even though
this is not such a large task, it still requires more attention than I
can afford at the moment. I intend to come back to it later, once I am
confident that I can do a good job without neglecting anything more
important. In the meantime, everyone should feel free to work on this
without me if they want.

Thanks for understanding,
-- 
Alex Griffin



Re: [PATCH 2/3] gnu: Add ledger.

2016-05-13 Thread Alex Griffin
I don't know whether parallel builds should be enabled or disabled. My
initial thought was that it makes sense if it allows ledger to build on
more machines. On the other hand, the more general fix (one that will
also work on lots of other packages) is simply to allocate more swap on
those machines.

On Fri, May 13, 2016, at 02:16 PM, Alex Kost wrote:
> Overall, here is how I would write 'arguments' field of this package: [...]

Since I wrote this package largely by copying other packages I found,
I'm curious how I would ever learn some of this stuff. How do I know
which variables are available in different parts of the package
definition, and similar details? I could probably just continue diving
deeper into the source, but since it's guile I suspect there's some way
to explore interactively. I'm just not sure how; my REPL fu is weak.
-- 
Alex Griffin



  1   2   >