3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

13 commits

Author SHA1 Message Date
Maximilian Bosch 689a50f3a2
weechat: build with python3 by default
WeeChat also supports Python3 for scripts which should be preferred as
CPython2 is about to get EOLed soon: https://weechat.org/scripts/python3/
2019-09-05 20:03:45 +02:00
danbst d80cd26ff9 Merge branch 'master' into flip-map-foreach 2019-08-18 18:00:25 +03:00
Benjamin Esham aaf6f09717 weechat: prevent impure use of system Python (#64262) 2019-08-08 11:34:44 -04:00
danbst 0f8596ab3f mass replace "flip map -> forEach"
See `forEach`-introduction commit.
```
rg 'flip map ' --files-with-matches | xargs sed -i 's/flip map /forEach /g'
```
2019-08-05 14:03:38 +03:00
danbst 91bb646e98 Revert "mass replace "flip map -> foreach""
This reverts commit 3b0534310c.
2019-08-05 14:01:45 +03:00
danbst 3b0534310c mass replace "flip map -> foreach"
See `foreach`-introduction commit.
```
rg 'flip map ' --files-with-matches | xargs sed -i 's/flip map /foreach /g'
```
2019-07-14 13:46:10 +03:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Maximilian Bosch 681b1d8061
weechat: install all outputs into the final store path
Resolves #59300

Until now only `$out/bin/weechat` and `$out/bin/weechat-headless` were installed
into the store path that will be used when running i.e. `nix-env -iA weechat`.

Further outputs like icons (`$out/share/icons`), man pages (`$man`) or the HTML
documentation (`$out/share/doc/weechat`) are omitted at the moment. As
this can be fairly confusing I figured that it's better to copy those
files into the environment as well.

As `buildEnv` doesn't appear to support output splitting (you can only
install additional outputs of `paths` using `extraOutputsToInstall`),
it's easier for now to always install the `man` output by
default.

Man page installation can be turned off like this now:

```
weechat.override { installManPages = false; }
```
2019-04-14 17:52:58 +02:00
Jörg Thalheim dadc7eb329
treewide: use runtimeShell instead of stdenv.shell whenever possible
Whenever we create scripts that are installed to $out, we must use runtimeShell
in order to get the shell that can be executed on the machine we create the
package for. This is relevant for cross-compiling. The only use case for
stdenv.shell are scripts that are executed as part of the build system.
Usages in checkPhase are borderline however to decrease the likelyhood
of people copying the wrong examples, I decided to use runtimeShell as well.
2019-02-26 14:10:49 +00:00
Matthew Bauer a2b606f8e7 weechat: remove outputsToInstall from meta 2019-01-31 14:36:16 -05:00
volth bb9557eb7c lib.makePerlPath -> perlPackages.makePerlPath 2018-12-15 03:50:31 +00:00
Alyssa Ross 6dc9347712
weechat: fix bad merge
Identified in 8887e1f697 (r239097413).

9504292b1e accidentally reverted all the
changes that had been made to the weechat wrapper since
8887e1f697.

I removed the wrapper, then wrote it again, but this time taking the
code from the latest version of weechat before the bad merge.
2018-12-05 15:21:19 +00:00
Alyssa Ross 8887e1f697
weechat: seperate weechat-unwrapped from wrapper
If I have a patch I want to apply to weechat, I can't do that with
overrideAttrs like I can with almost every other package, because that
only applies to the wrapper derivation. For other wrapped packages, one
can usually call the wrapper with any version of the derivation, but the
weechat derivation didn't expose a wrapper creation function.

Taking inspiration from other packages, particularly Firefox, I
extracted the wrapper into its own function, made the default weechat
derivation use that, and added weechat-unwrapped.

Now I can add my custom patch like this:

    (wrapWeechat
      (weechat-unwrapped.overrideAttrs (oldAttrs: {
        patches = [
          (fetchpatch {
            url = "55767f5f11.patch?full_index=1";
            sha256 = "1pkcdsby57diqds1y5hhl0fr4i8j0zax32jb0gqd36siki3lza3d";
          })
        ];
      }))
      { configure =
        { availablePlugins, ... }:
        {
          plugins = with availablePlugins; [
            (python.withPackages (packages: with packages; [ potr websocket_client ]))
          ];
        };
      })

There is a small backward incompatibility here: previously, it was
possible to get an unwrapped weechat like this:

    weechat.override { configure = null; }

This didn't seem too important to keep around since it was also possible
to get an unwrapped weechat in a much more obvious way:

    weechat.unwrapped

I could probably make it so that the first way still worked, if that
behavior turns out to really have been important.
2018-07-25 17:49:00 +01:00