diff options
author | wmertens <Wout.Mertens@gmail.com> | 2014-11-05 13:44:44 +0100 |
---|---|---|
committer | wmertens <Wout.Mertens@gmail.com> | 2014-11-05 13:44:44 +0100 |
commit | e13f15b43a7b8a365384f70b2bc3b4efaf5c4243 (patch) | |
tree | dd195de97b0940d29b0e121970c3bd80deaca355 /pkgs | |
parent | 66ae2a53220c90f119e4fd1cb4c76adfc2436555 (diff) | |
parent | f0c3c54712cb7f4caf5334fbf926723a6af5d0cc (diff) | |
download | nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.tar nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.tar.gz nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.tar.bz2 nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.tar.lz nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.tar.xz nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.tar.zst nixlib-e13f15b43a7b8a365384f70b2bc3b4efaf5c4243.zip |
Merge pull request #4839 from cdepillabout/fcitx-with-plugins-2
Create wrapper package for fcitx with plugins.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/tools/inputmethods/fcitx/default.nix | 3 | ||||
-rw-r--r-- | pkgs/tools/inputmethods/fcitx/wrapper.nix | 35 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
3 files changed, 41 insertions, 1 deletions
diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix index 28f6c97949b5..a8b3089c58ac 100644 --- a/pkgs/tools/inputmethods/fcitx/default.nix +++ b/pkgs/tools/inputmethods/fcitx/default.nix @@ -5,7 +5,8 @@ }: stdenv.mkDerivation rec { - name = "fcitx-4.2.8.5"; + name = "fcitx-${version}"; + version = "4.2.8.5"; src = fetchurl { url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz"; diff --git a/pkgs/tools/inputmethods/fcitx/wrapper.nix b/pkgs/tools/inputmethods/fcitx/wrapper.nix new file mode 100644 index 000000000000..d4efb3326969 --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx/wrapper.nix @@ -0,0 +1,35 @@ +{ stdenv, buildEnv, fcitx, makeWrapper, plugins }: + +# This is based on the pidgin-with-plugins package. +# Users should be able to configure what plugins are used +# by putting the following in their /etc/nixos/configuration.nix: +# environment.systemPackages = with pkgs; [ +# (fcitx-with-plugins.override { plugins = [ fcitx-anthy ]; }) +# ] +# Or, a normal user could use it by putting the following in his +# ~/.nixpkgs/config.nix: +# packageOverrides = pkgs: with pkgs; rec { +# (fcitx-with-plugins.override { plugins = [ fcitx-anthy ]; }) +# } + +let +drv = buildEnv { + name = "fcitx-with-plugins-" + (builtins.parseDrvName fcitx.name).version; + + paths = [ fcitx ] ++ plugins; + + postBuild = '' + # TODO: This could be avoided if buildEnv could be forced to create all directories + if [ -L $out/bin ]; then + rm $out/bin + mkdir $out/bin + for i in ${fcitx}/bin/*; do + ln -s $i $out/bin + done + fi + wrapProgram $out/bin/fcitx \ + --set FCITXDIR "$out/" + ''; + }; +in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; }) + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab8bbe486e19..f21567a381c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1117,6 +1117,10 @@ let fcitx-configtool = callPackage ../tools/inputmethods/fcitx/fcitx-configtool.nix { }; + fcitx-with-plugins = callPackage ../tools/inputmethods/fcitx/wrapper.nix { + plugins = [ ]; + }; + fcron = callPackage ../tools/system/fcron { }; fdm = callPackage ../tools/networking/fdm {}; |