Merge branch 'master' into staging-next
This commit is contained in:
commit
6b34489f81
|
@ -7241,6 +7241,16 @@
|
||||||
github = "obsidian-systems-maintenance";
|
github = "obsidian-systems-maintenance";
|
||||||
githubId = 80847921;
|
githubId = 80847921;
|
||||||
};
|
};
|
||||||
|
obfusk = {
|
||||||
|
email = "flx@obfusk.net";
|
||||||
|
github = "obfusk";
|
||||||
|
githubId = 1260687;
|
||||||
|
name = "Felix C. Stegerman";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x2F9607F09B360F2D";
|
||||||
|
fingerprint = "D5E4 A51D F8D2 55B9 FAC6 A9BB 2F96 07F0 9B36 0F2D";
|
||||||
|
}];
|
||||||
|
};
|
||||||
odi = {
|
odi = {
|
||||||
email = "oliver.dunkl@gmail.com";
|
email = "oliver.dunkl@gmail.com";
|
||||||
github = "odi";
|
github = "odi";
|
||||||
|
|
|
@ -56,6 +56,15 @@ with lib.maintainers; {
|
||||||
scope = "Group registration for D. E. Shaw employees who collectively maintain packages.";
|
scope = "Group registration for D. E. Shaw employees who collectively maintain packages.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
determinatesystems = {
|
||||||
|
# Verify additions to this team with at least one already existing member of the team.
|
||||||
|
members = [
|
||||||
|
cole-h
|
||||||
|
grahamc
|
||||||
|
];
|
||||||
|
scope = "Group registration for packages maintained by Determinate Systems.";
|
||||||
|
};
|
||||||
|
|
||||||
freedesktop = {
|
freedesktop = {
|
||||||
members = [ jtojnar worldofpeace ];
|
members = [ jtojnar worldofpeace ];
|
||||||
scope = "Maintain Freedesktop.org packages for graphical desktop.";
|
scope = "Maintain Freedesktop.org packages for graphical desktop.";
|
||||||
|
|
|
@ -29,7 +29,7 @@ in
|
||||||
options.i18n = {
|
options.i18n = {
|
||||||
inputMethod = {
|
inputMethod = {
|
||||||
enabled = mkOption {
|
enabled = mkOption {
|
||||||
type = types.nullOr (types.enum [ "ibus" "fcitx" "fcitx5" "nabi" "uim" "hime" ]);
|
type = types.nullOr (types.enum [ "ibus" "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]);
|
||||||
default = null;
|
default = null;
|
||||||
example = "fcitx";
|
example = "fcitx";
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -46,6 +46,7 @@ in
|
||||||
<listitem><para>nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.</para></listitem>
|
<listitem><para>nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.</para></listitem>
|
||||||
<listitem><para>uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.</para></listitem>
|
<listitem><para>uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.</para></listitem>
|
||||||
<listitem><para>hime: An extremely easy-to-use input method framework.</para></listitem>
|
<listitem><para>hime: An extremely easy-to-use input method framework.</para></listitem>
|
||||||
|
<listitem><para>kime: Koream IME.</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
@ -40,6 +40,11 @@
|
||||||
Hime: An extremely easy-to-use input method framework.
|
Hime: An extremely easy-to-use input method framework.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Kime: Korean IME
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<section xml:id="module-services-input-methods-ibus">
|
<section xml:id="module-services-input-methods-ibus">
|
||||||
<title>IBus</title>
|
<title>IBus</title>
|
||||||
|
@ -264,6 +269,23 @@ i18n.inputMethod = {
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
<link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "hime";
|
<link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "hime";
|
||||||
};
|
};
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section xml:id="module-services-input-methods-kime">
|
||||||
|
<title>Kime</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Kime is Korean IME. it's built with Rust language and let you get simple, safe, fast Korean typing
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following snippet can be used to configure Kime:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
i18n.inputMethod = {
|
||||||
|
<link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "kime";
|
||||||
|
};
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</section>
|
</section>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
{ config, pkgs, lib, generators, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.i18n.inputMethod.kime;
|
||||||
|
yamlFormat = pkgs.formats.yaml { };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
i18n.inputMethod.kime = {
|
||||||
|
config = mkOption {
|
||||||
|
type = yamlFormat.type;
|
||||||
|
default = { };
|
||||||
|
example = literalExample ''
|
||||||
|
{
|
||||||
|
daemon = {
|
||||||
|
modules = ["Xim" "Indicator"];
|
||||||
|
};
|
||||||
|
|
||||||
|
indicator = {
|
||||||
|
icon_color = "White";
|
||||||
|
};
|
||||||
|
|
||||||
|
engine = {
|
||||||
|
hangul = {
|
||||||
|
layout = "dubeolsik";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
kime configuration. Refer to <link xlink:href="https://github.com/Riey/kime/blob/v${pkgs.kime.version}/docs/CONFIGURATION.md"/> for details on supported values.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (config.i18n.inputMethod.enabled == "kime") {
|
||||||
|
i18n.inputMethod.package = pkgs.kime;
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
GTK_IM_MODULE = "kime";
|
||||||
|
QT_IM_MODULE = "kime";
|
||||||
|
XMODIFIERS = "@im=kime";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc."xdg/kime/config.yaml".text = replaceStrings [ "\\\\" ] [ "\\" ] (builtins.toJSON cfg.config);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -92,6 +92,7 @@
|
||||||
./i18n/input-method/ibus.nix
|
./i18n/input-method/ibus.nix
|
||||||
./i18n/input-method/nabi.nix
|
./i18n/input-method/nabi.nix
|
||||||
./i18n/input-method/uim.nix
|
./i18n/input-method/uim.nix
|
||||||
|
./i18n/input-method/kime.nix
|
||||||
./installer/tools/tools.nix
|
./installer/tools/tools.nix
|
||||||
./misc/assertions.nix
|
./misc/assertions.nix
|
||||||
./misc/crashdump.nix
|
./misc/crashdump.nix
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ lib
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pkg-config
|
||||||
|
, libpulseaudio
|
||||||
|
, glib
|
||||||
|
, pango
|
||||||
|
, gtk3
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "myxer";
|
||||||
|
version = "1.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Aurailus";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "10m5qkys96n4v6qiffdiy0w660yq7b5sa70ww2zskc8d0gbmxp6x";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "0nsscdjl5fh24sg87vdmijjmlihc0zk0p3vac701v60xlz55qipn";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [ libpulseaudio glib pango gtk3 ];
|
||||||
|
|
||||||
|
# Currently no tests are implemented, so we avoid building the package twice
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A modern Volume Mixer for PulseAudio";
|
||||||
|
homepage = "https://github.com/Aurailus/Myxer";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ erin ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -19,11 +19,11 @@ let
|
||||||
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "poke";
|
pname = "poke";
|
||||||
version = "1.1";
|
version = "1.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
|
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
|
||||||
hash = "sha256-zWjfY8dBtBYLEsvqAvJ8RxWCeUZuNEOTDSU1pFLAatY=";
|
hash = "sha256-9hz42ltkwBoTWTc3JarRyiV/NcHJJp5NUN0GZBg932I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -11,16 +11,15 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "brscan4";
|
pname = "brscan4";
|
||||||
version = "0.4.9-1";
|
version = "0.4.10-1";
|
||||||
src = {
|
src = {
|
||||||
"i686-linux" = fetchurl {
|
"i686-linux" = fetchurl {
|
||||||
url = "http://download.brother.com/welcome/dlf006646/${pname}-${version}.i386.deb";
|
url = "http://download.brother.com/welcome/dlf006646/${pname}-${version}.i386.deb";
|
||||||
sha256 = "0pkg9aqvnkpjnb9cgzf7lxw2g4jqrf2w98irkv22r0gfsfs3nwma";
|
sha256 = "sha256-ymIAg+rfSYP5uzsAM1hUYZacJ0PXmKEoljNtb0pgGMw=";
|
||||||
};
|
};
|
||||||
"x86_64-linux" = fetchurl {
|
"x86_64-linux" = fetchurl {
|
||||||
|
|
||||||
url = "https://download.brother.com/welcome/dlf006645/${pname}-${version}.amd64.deb";
|
url = "https://download.brother.com/welcome/dlf006645/${pname}-${version}.amd64.deb";
|
||||||
sha256 = "0kakkl8rmsi2yr3f8vd1kk8vsl9g2ijhqil1cvvbwrhwgi0b7ai7";
|
sha256 = "sha256-Gpr5456MCNpyam3g2qPo7S3aEZFMaUGR8bu7YmRY8xk=";
|
||||||
};
|
};
|
||||||
}."${stdenv.hostPlatform.system}";
|
}."${stdenv.hostPlatform.system}";
|
||||||
|
|
||||||
|
@ -33,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ libusb-compat-0_1 ];
|
buildInputs = [ libusb-compat-0_1 ];
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
patchPhase = ''
|
postPatch = ''
|
||||||
${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"}
|
${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"}
|
||||||
|
|
||||||
RPATH=${libusb-compat-0_1.out}/lib
|
RPATH=${libusb-compat-0_1.out}/lib
|
||||||
|
@ -45,6 +44,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = with lib; ''
|
installPhase = with lib; ''
|
||||||
|
runHook preInstall
|
||||||
PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
|
PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
|
||||||
mkdir -p $out/$PATH_TO_BRSCAN4
|
mkdir -p $out/$PATH_TO_BRSCAN4
|
||||||
cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4
|
cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4
|
||||||
|
@ -79,6 +79,7 @@ stdenv.mkDerivation rec {
|
||||||
mkdir -p $out/etc/udev/rules.d
|
mkdir -p $out/etc/udev/rules.d
|
||||||
cp -p ${udevRules}/etc/udev/rules.d/*.rules \
|
cp -p ${udevRules}/etc/udev/rules.d/*.rules \
|
||||||
$out/etc/udev/rules.d
|
$out/etc/udev/rules.d
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
|
@ -26,11 +26,11 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "calibre";
|
pname = "calibre";
|
||||||
version = "5.13.0";
|
version = "5.16.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-GDFAZxZmkio7e7kVjhYqhNdhXIlUPJF0iMWVl0uWVCM=";
|
hash = "sha256-lTXCW0MGNOezecaGO9c2JGU4ylwpPmBaMXTY3nLNcrE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -62,8 +62,6 @@ mkDerivation rec {
|
||||||
|
|
||||||
dontUseQmakeConfigure = true;
|
dontUseQmakeConfigure = true;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config qmake removeReferencesTo ];
|
nativeBuildInputs = [ pkg-config qmake removeReferencesTo ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3Packages
|
||||||
|
, makeWrapper
|
||||||
|
, pcre
|
||||||
|
, sqlite
|
||||||
|
, nodejs
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "jiten";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "obfusk";
|
||||||
|
repo = "jiten";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1lg1n7f4383jdlkbma0q65yl6l159wgh886admcq7l7ap26zpqd2";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
buildInputs = [ pcre sqlite ];
|
||||||
|
propagatedBuildInputs = with python3Packages; [ click flask ];
|
||||||
|
checkInputs = [ nodejs ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
export JITEN_VERSION=${version} # override `git describe`
|
||||||
|
export JITEN_FINAL=yes # build & package *.sqlite3
|
||||||
|
'';
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile --replace /bin/bash "$(command -v bash)"
|
||||||
|
substituteInPlace jiten/res/jmdict/Makefile --replace /bin/bash "$(command -v bash)"
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkPhase = "make test";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# requires pywebview
|
||||||
|
rm $out/bin/jiten-gui
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Japanese android/cli/web dictionary based on jmdict/kanjidic";
|
||||||
|
longDescription = ''
|
||||||
|
Jiten is a Japanese dictionary based on JMDict/Kanjidic
|
||||||
|
|
||||||
|
Fine-grained search using regexes (regular expressions)
|
||||||
|
• simple searches don't require knowledge of regexes
|
||||||
|
• quick reference available in the web interface and android app
|
||||||
|
|
||||||
|
JMDict multilingual japanese dictionary
|
||||||
|
• kanji, readings (romaji optional), meanings & more
|
||||||
|
• meanings in english, dutch, german, french and/or spanish
|
||||||
|
• pitch accent (from Wadoku)
|
||||||
|
• browse by frequency/jlpt
|
||||||
|
|
||||||
|
Kanji dictionary
|
||||||
|
• readings (romaji optional), meanings (english), jmdict entries, radicals & more
|
||||||
|
• search using SKIP codes
|
||||||
|
• search by radical
|
||||||
|
• browse by frequency/level/jlpt
|
||||||
|
|
||||||
|
Example sentences (from Tatoeba)
|
||||||
|
• with english, dutch, german, french and/or spanish translation
|
||||||
|
• some with audio
|
||||||
|
|
||||||
|
Stroke order
|
||||||
|
• input a word or sentence and see how it's written
|
||||||
|
|
||||||
|
Web interface
|
||||||
|
• available online at https://jiten.obfusk.dev
|
||||||
|
• light/dark mode
|
||||||
|
• search history (stored locally)
|
||||||
|
• tooltips to quickly see meanings and readings for kanji and words
|
||||||
|
• use long press for tooltips on mobile
|
||||||
|
• converts romaji to hiragana and between hiragana and katakana
|
||||||
|
• can be run on your own computer
|
||||||
|
|
||||||
|
Command-line interface
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/obfusk/jiten";
|
||||||
|
license = with licenses; [
|
||||||
|
agpl3Plus # code
|
||||||
|
cc-by-sa-30 # jmdict/kanjidic
|
||||||
|
unfreeRedistributable # pitch data from wadoku is non-commercial :(
|
||||||
|
];
|
||||||
|
maintainers = [ maintainers.obfusk ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -7,10 +7,10 @@ in
|
||||||
rec {
|
rec {
|
||||||
firefox = common rec {
|
firefox = common rec {
|
||||||
pname = "firefox";
|
pname = "firefox";
|
||||||
ffversion = "87.0";
|
ffversion = "88.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
||||||
sha512 = "c1c08be2283e7a162c8be2f2647ec2bb85cab592738dc45e4b4ffb72969229cc0019a30782a4cb27f09a13b088c63841071dd202b3543dfba295140a7d6246a4";
|
sha512 = "f58f44f2f0d0f54eae5ab4fa439205feb8b9209b1bf2ea2ae0c9691e9e583bae2cbd4033edb5bdf4e37eda5b95fca688499bed000fe26ced8ff4bbc49347ce31";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -32,10 +32,10 @@ rec {
|
||||||
|
|
||||||
firefox-esr-78 = common rec {
|
firefox-esr-78 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
ffversion = "78.9.0esr";
|
ffversion = "78.10.0esr";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
||||||
sha512 = "28582fc0a03fb50c0a817deb1083817bb7f2f5d38e98439bf655ed4ee18c83568b3002a59ef76edf357bfb11f55832a221d14130f116aac19d850768fba3ac8b";
|
sha512 = "5e2cf137dc781855542c29df6152fa74ba749801640ade3cf01487ce993786b87a4f603d25c0af9323e67c7e15c75655523428c1c1426527b8623c7ded9f5946";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ stdenvNoCC
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, ffmpeg
|
||||||
|
, xdotool
|
||||||
|
, slop
|
||||||
|
, libnotify
|
||||||
|
, procps
|
||||||
|
, makeWrapper
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
pname = "giph";
|
||||||
|
version = "1.1.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "phisch";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "19l46m1f32b3bagzrhaqsfnl5n3wbrmg3sdy6fdss4y1yf6nqayk";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/giph \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ ffmpeg xdotool libnotify slop procps ]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/phisch/giph";
|
||||||
|
description = "Simple gif recorder";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.legendofmiracles ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,18 +1,27 @@
|
||||||
{ lib, stdenv, fetchFromGitHub,
|
{ lib
|
||||||
meson, ninja, pkg-config, scdoc,
|
, stdenv
|
||||||
wayland, wayland-protocols, libxkbcommon,
|
, fetchFromGitHub
|
||||||
cairo, gdk-pixbuf, pam
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, scdoc
|
||||||
|
, wayland
|
||||||
|
, wayland-protocols
|
||||||
|
, libxkbcommon
|
||||||
|
, cairo
|
||||||
|
, gdk-pixbuf
|
||||||
|
, pam
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "swaylock-effects";
|
pname = "swaylock-effects";
|
||||||
version = "v1.6-2";
|
version = "1.6-3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mortie";
|
owner = "mortie";
|
||||||
repo = "swaylock-effects";
|
repo = "swaylock-effects";
|
||||||
rev = version;
|
rev = "v${version}";
|
||||||
sha256 = "0fs3c4liajgkax0a2pdc7117v1g9k73nv87g3kyv9wsnkfbbz534";
|
sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -23,7 +32,9 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
|
buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled"
|
"-Dpam=enabled"
|
||||||
|
"-Dgdk-pixbuf=enabled"
|
||||||
|
"-Dman-pages=enabled"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "intel-media-sdk";
|
pname = "intel-media-sdk";
|
||||||
version = "20.4.1";
|
version = "20.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Intel-Media-SDK";
|
owner = "Intel-Media-SDK";
|
||||||
repo = "MediaSDK";
|
repo = "MediaSDK";
|
||||||
rev = "intel-mediasdk-${version}";
|
rev = "intel-mediasdk-${version}";
|
||||||
sha256 = "0qnq43qjcmzkn6v2aymzi3kycndk9xw6m5f5g5sz5x53nz556bp0";
|
sha256 = "0l5m7r8585ycifbbi5i0bs63c9sb8rsmk43ik97mhfl1ivswf1mv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ lib, buildDunePackage, fetchurl
|
||||||
|
, angstrom-lwt-unix, lwt, logs, lwt_ppx, ppx_deriving_yojson, ppx_expect, ppx_here, react
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildDunePackage rec {
|
||||||
|
pname = "dap";
|
||||||
|
version = "1.0.6";
|
||||||
|
useDune2 = true;
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/hackwaly/ocaml-dap/releases/download/${version}/dap-${version}.tbz";
|
||||||
|
sha256 = "1zq0f8429m38a4x3h9n3rv7n1vsfjbs72pfi5902a89qwyilkcp0";
|
||||||
|
};
|
||||||
|
|
||||||
|
minimumOCamlVersion = "4.08";
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
lwt_ppx
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
angstrom-lwt-unix
|
||||||
|
logs
|
||||||
|
lwt
|
||||||
|
ppx_deriving_yojson
|
||||||
|
ppx_expect
|
||||||
|
ppx_here
|
||||||
|
react
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Debug adapter protocol";
|
||||||
|
homepage = "https://github.com/hackwaly/ocaml-dap";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,25 +1,25 @@
|
||||||
{ lib, fetchurl, ocaml, buildDunePackage, angstrom, angstrom-lwt-unix,
|
{ lib, fetchurl, ocaml, buildDunePackage
|
||||||
batteries, cmdliner, lwt_ppx, ocaml_lwt, ppx_deriving_yojson,
|
, cmdliner, dap, fmt, iter, logs, lru, lwt_ppx, lwt_react, menhir, path_glob, ppx_deriving_yojson
|
||||||
ppx_tools_versioned, yojson }:
|
}:
|
||||||
|
|
||||||
if lib.versionAtLeast ocaml.version "4.08"
|
if lib.versionAtLeast ocaml.version "4.13"
|
||||||
then throw "earlybird is not available for OCaml ${ocaml.version}"
|
then throw "earlybird is not available for OCaml ${ocaml.version}"
|
||||||
else
|
else
|
||||||
|
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
pname = "earlybird";
|
pname = "earlybird";
|
||||||
version = "0.1.5";
|
version = "1.1.0";
|
||||||
|
|
||||||
useDune2 = true;
|
useDune2 = true;
|
||||||
|
|
||||||
minimumOCamlVersion = "4.04";
|
minimumOCamlVersion = "4.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/hackwaly/ocamlearlybird/releases/download/${version}/${pname}-${version}.tbz";
|
url = "https://github.com/hackwaly/ocamlearlybird/releases/download/${version}/${pname}-${version}.tbz";
|
||||||
sha256 = "10yflmsicw4sdmm075zjpbmxpwm9fvibnl3sl18zjpwnm6l9sv7d";
|
sha256 = "1pwzhcr3pw24ra4j4d23vz71h0psz4xkyp7b12l2wl1slxzjbrxa";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ angstrom angstrom-lwt-unix batteries cmdliner lwt_ppx ocaml_lwt ppx_deriving_yojson ppx_tools_versioned yojson ];
|
buildInputs = [ cmdliner dap fmt iter logs lru lwt_ppx lwt_react menhir path_glob ppx_deriving_yojson ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/hackwaly/ocamlearlybird";
|
homepage = "https://github.com/hackwaly/ocamlearlybird";
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ lib, buildDunePackage, fetchurl }:
|
||||||
|
|
||||||
|
buildDunePackage rec {
|
||||||
|
pname = "path_glob";
|
||||||
|
version = "0.2";
|
||||||
|
useDune2 = true;
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://gasche.gitlab.io/path_glob/releases/path_glob-${version}.tbz";
|
||||||
|
sha256 = "01ra20bzjiihbgma74axsp70gqmid6x7jmiizg48mdkni0aa42ay";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://gitlab.com/gasche/path_glob";
|
||||||
|
description = "Checking glob patterns on paths";
|
||||||
|
license = lib.licenses.lgpl2Only;
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,14 +7,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ailment";
|
pname = "ailment";
|
||||||
version = "9.0.5903";
|
version = "9.0.6281";
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "angr";
|
owner = "angr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-75Ul9JfMFYv3AfBlgmer6IDyfgOAS4AdXexznoxi35Y=";
|
sha256 = "sha256-IFUGtTO+DY8FIxLgvmwM/y/RQr42T9sABPpnJMILkqg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ pyvex ];
|
propagatedBuildInputs = [ pyvex ];
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
{ lib
|
||||||
|
, ailment
|
||||||
|
, archinfo
|
||||||
|
, buildPythonPackage
|
||||||
|
, cachetools
|
||||||
|
, capstone
|
||||||
|
, cffi
|
||||||
|
, claripy
|
||||||
|
, cle
|
||||||
|
, cppheaderparser
|
||||||
|
, dpkt
|
||||||
|
, fetchFromGitHub
|
||||||
|
, GitPython
|
||||||
|
, itanium_demangler
|
||||||
|
, mulpyplexer
|
||||||
|
, networkx
|
||||||
|
, progressbar2
|
||||||
|
, protobuf
|
||||||
|
, psutil
|
||||||
|
, pycparser
|
||||||
|
, pkgs
|
||||||
|
, pythonOlder
|
||||||
|
, pyvex
|
||||||
|
, sqlalchemy
|
||||||
|
, rpyc
|
||||||
|
, sortedcontainers
|
||||||
|
, unicorn
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Only the pinned release in setup.py works properly
|
||||||
|
unicorn' = unicorn.overridePythonAttrs (old: rec {
|
||||||
|
pname = "unicorn";
|
||||||
|
version = "1.0.2-rc4";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "unicorn-engine";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "angr";
|
||||||
|
version = "9.0.6281";
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = pname;
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "10i4qdk8f342gzxiwy0pjdc35lc4q5ab7l5q420ca61cgdvxkk4r";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
ailment
|
||||||
|
archinfo
|
||||||
|
cachetools
|
||||||
|
capstone
|
||||||
|
cffi
|
||||||
|
claripy
|
||||||
|
cle
|
||||||
|
cppheaderparser
|
||||||
|
dpkt
|
||||||
|
GitPython
|
||||||
|
itanium_demangler
|
||||||
|
mulpyplexer
|
||||||
|
networkx
|
||||||
|
progressbar2
|
||||||
|
protobuf
|
||||||
|
psutil
|
||||||
|
sqlalchemy
|
||||||
|
pycparser
|
||||||
|
pyvex
|
||||||
|
sqlalchemy
|
||||||
|
rpyc
|
||||||
|
sortedcontainers
|
||||||
|
unicorn'
|
||||||
|
];
|
||||||
|
|
||||||
|
# Tests have additional requirements, e.g., pypcode and angr binaries
|
||||||
|
# cle is executing the tests with the angr binaries
|
||||||
|
doCheck = false;
|
||||||
|
pythonImportsCheck = [ "angr" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Powerful and user-friendly binary analysis platform";
|
||||||
|
homepage = "https://angr.io/";
|
||||||
|
license = with licenses; [ bsd2 ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "archinfo";
|
pname = "archinfo";
|
||||||
version = "9.0.5903";
|
version = "9.0.6281";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "angr";
|
owner = "angr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-4e+ZGIt/ouZj5rsmaVxUrz8gAq4Yq2+Qx4jdOojB4Sw=";
|
sha256 = "sha256-ZO2P53RdR3cYhDbtrdGJnadFZgKkBdDi5gR/CB7YTpI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "claripy";
|
pname = "claripy";
|
||||||
version = "9.0.5903";
|
version = "9.0.6281";
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "angr";
|
owner = "angr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-NIKWUx1VT5TjnuqppuT6VzwNRwcBLc0xI5k3F2Nmj8A=";
|
sha256 = "sha256-gvo8I6LQRAEUa7QiV5Sugrt+e2SmGkkKfsGn/IKz+Mk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use upstream z3 implementation
|
# Use upstream z3 implementation
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, cffi
|
||||||
|
, fetchFromGitHub
|
||||||
|
, minidump
|
||||||
|
, nose
|
||||||
|
, pefile
|
||||||
|
, pyelftools
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, pyvex
|
||||||
|
, pyxbe
|
||||||
|
, sortedcontainers
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
# The binaries are following the argr projects release cycle
|
||||||
|
version = "9.0.6281";
|
||||||
|
|
||||||
|
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
|
||||||
|
binaries = fetchFromGitHub {
|
||||||
|
owner = "angr";
|
||||||
|
repo = "binaries";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1qlrxfj1n34xvwkac6mbcc7zmixxbp34fj7lkf0fvp7zcz1rpla1";
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "cle";
|
||||||
|
inherit version;
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "angr";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0f2zc02dljmgp6ny6ja6917j08kqhwckncan860dq4xv93g61rmg";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
cffi
|
||||||
|
minidump
|
||||||
|
pefile
|
||||||
|
pyelftools
|
||||||
|
pyvex
|
||||||
|
pyxbe
|
||||||
|
sortedcontainers
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
nose
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
# Place test binaries in the right location (location is hard-coded in the tests)
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
cp -r ${binaries} $HOME/binaries
|
||||||
|
'';
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# PPC tests seems to fails
|
||||||
|
"test_ppc_rel24_relocation"
|
||||||
|
"test_ppc_addr16_ha_relocation"
|
||||||
|
"test_ppc_addr16_lo_relocation"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "cle" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python loader for many binary formats";
|
||||||
|
homepage = "https://github.com/angr/cle";
|
||||||
|
license = with licenses; [ bsd2 ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,9 +2,9 @@
|
||||||
, stdenv
|
, stdenv
|
||||||
, archinfo
|
, archinfo
|
||||||
, bitstring
|
, bitstring
|
||||||
, fetchPypi
|
|
||||||
, cffi
|
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
|
, cffi
|
||||||
|
, fetchPypi
|
||||||
, future
|
, future
|
||||||
, pycparser
|
, pycparser
|
||||||
}:
|
}:
|
||||||
|
@ -26,6 +26,11 @@ buildPythonPackage rec {
|
||||||
pycparser
|
pycparser
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace pyvex_c/Makefile \
|
||||||
|
--replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc"
|
||||||
|
'';
|
||||||
|
|
||||||
# No tests are available on PyPI, GitHub release has tests
|
# No tests are available on PyPI, GitHub release has tests
|
||||||
# Switch to GitHub release after all angr parts are present
|
# Switch to GitHub release after all angr parts are present
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pyxbe";
|
||||||
|
version = "unstable-2021-01-10";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mborgerson";
|
||||||
|
repo = pname;
|
||||||
|
rev = "a7ae1bb21b02a57783831eb080c1edbafaad1d5d";
|
||||||
|
sha256 = "1cp9a5f41z8j7bzip6nhka8qnxs12v75cdf80sk2nzgf1k15wi2p";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
# Update location for run with pytest
|
||||||
|
preCheck = ''
|
||||||
|
substituteInPlace tests/test_load.py \
|
||||||
|
--replace "'xbefiles'" "'tests/xbefiles'"
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "xbe" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Library to work with XBE files";
|
||||||
|
homepage = "https://github.com/mborgerson/pyxbe";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ godot, lib }:
|
||||||
|
|
||||||
|
# https://docs.godotengine.org/en/stable/development/compiling/compiling_for_x11.html#building-export-templates
|
||||||
|
godot.overrideAttrs (oldAttrs: rec {
|
||||||
|
pname = "godot-export-templates";
|
||||||
|
sconsFlags = "target=release platform=x11 tools=no";
|
||||||
|
installPhase = ''
|
||||||
|
# The godot export command expects the export templates at
|
||||||
|
# .../share/godot/templates/3.2.3.stable with 3.2.3 being the godot version.
|
||||||
|
mkdir -p "$out/share/godot/templates/${oldAttrs.version}.stable"
|
||||||
|
cp bin/godot.x11.opt.64 $out/share/godot/templates/${oldAttrs.version}.stable/linux_x11_64_release
|
||||||
|
'';
|
||||||
|
outputs = [ "out" ];
|
||||||
|
meta.description =
|
||||||
|
"Free and Open Source 2D and 3D game engine (export templates)";
|
||||||
|
meta.maintainers = with lib.maintainers; [ twey jojosch ];
|
||||||
|
})
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gopls";
|
pname = "gopls";
|
||||||
version = "0.6.2";
|
version = "0.6.10";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
rev = "gopls/v${version}";
|
rev = "gopls/v${version}";
|
||||||
url = "https://go.googlesource.com/tools";
|
url = "https://go.googlesource.com/tools";
|
||||||
sha256 = "0hbfxdsbfz044vw8zp223ni6m7gcwqpff4xpjiqmihhgga5849lf";
|
sha256 = "13mv6rvqlmgn1shx0hnlqxgqiiiz1ij37j30jz1jkr9kcrbxpacr";
|
||||||
};
|
};
|
||||||
|
|
||||||
modRoot = "gopls";
|
modRoot = "gopls";
|
||||||
vendorSha256 = "0r9bffgi9ainqrl4kraqy71rgwdfcbqmv3srs12h3xvj0w5ya5rz";
|
vendorSha256 = "01apsvkds8f3m88inb37z4lgalrbjp12xr2jikwx7n10hjddgbqi";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-crev";
|
pname = "cargo-crev";
|
||||||
version = "0.19.1";
|
version = "0.19.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "crev-dev";
|
owner = "crev-dev";
|
||||||
repo = "cargo-crev";
|
repo = "cargo-crev";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-/TROCaguzIdXnkQ4BpVR1W14ppGODGQ0MQAjJExMGVw=";
|
sha256 = "sha256-aqvdAljAJsYtmxz/WtMrrnmJJRXDpqDjUn1LusoM8ns=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-3uIf6vyeDeww8+dqrzOG4J/T9QbXAnKQKXRbeujeqSo=";
|
cargoSha256 = "sha256-KwnZmehh0vdR1eSPBrY6yHJR6r7mhIEgfN4soEBDTjU=";
|
||||||
|
|
||||||
nativeBuildInputs = [ perl pkg-config ];
|
nativeBuildInputs = [ perl pkg-config ];
|
||||||
|
|
||||||
|
|
|
@ -33,14 +33,14 @@ let
|
||||||
|
|
||||||
in env.mkDerivation rec {
|
in env.mkDerivation rec {
|
||||||
pname = "katago";
|
pname = "katago";
|
||||||
version = "1.8.1";
|
version = "1.8.2";
|
||||||
githash = "73bc3e38b3490cbe00179c9c37f5385dfd60c6bc";
|
githash = "b846bddd88fbc5353e4a93fa514f6cbf45358362";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lightvector";
|
owner = "lightvector";
|
||||||
repo = "katago";
|
repo = "katago";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Rj6fgj1ZQgYhz6TrZk5b8dCMsCPk5N3qN3kgqV+UEDc=";
|
sha256 = "sha256-kL+y2rsEiC5GGDlWrbzxlJvLxHDCuvVT6CDOlUtXpDk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
fakegit = writeShellScriptBin "git" "echo ${githash}";
|
fakegit = writeShellScriptBin "git" "echo ${githash}";
|
||||||
|
|
|
@ -0,0 +1,115 @@
|
||||||
|
{ lib
|
||||||
|
, copyDesktopItems
|
||||||
|
, fetchFromGitHub
|
||||||
|
, makeDesktopItem
|
||||||
|
, stdenv
|
||||||
|
, alsaLib
|
||||||
|
, gcc-unwrapped
|
||||||
|
, git
|
||||||
|
, godot-export-templates
|
||||||
|
, godot-headless
|
||||||
|
, libGLU
|
||||||
|
, libX11
|
||||||
|
, libXcursor
|
||||||
|
, libXext
|
||||||
|
, libXfixes
|
||||||
|
, libXi
|
||||||
|
, libXinerama
|
||||||
|
, libXrandr
|
||||||
|
, libXrender
|
||||||
|
, libglvnd
|
||||||
|
, libpulseaudio
|
||||||
|
, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "oh-my-git";
|
||||||
|
version = "0.6.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "git-learning-game";
|
||||||
|
repo = "oh-my-git";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-GQLHyBUXF+yqEZ/LYutAn6TBCXFX8ViOaERQEm2J6CY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
copyDesktopItems
|
||||||
|
godot-headless
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
alsaLib
|
||||||
|
gcc-unwrapped.lib
|
||||||
|
git
|
||||||
|
libGLU
|
||||||
|
libX11
|
||||||
|
libXcursor
|
||||||
|
libXext
|
||||||
|
libXfixes
|
||||||
|
libXi
|
||||||
|
libXinerama
|
||||||
|
libXrandr
|
||||||
|
libXrender
|
||||||
|
libglvnd
|
||||||
|
libpulseaudio
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "oh-my-git";
|
||||||
|
exec = "oh-my-git";
|
||||||
|
icon = "oh-my-git";
|
||||||
|
desktopName = "oh-my-git";
|
||||||
|
comment = "An interactive Git learning game!";
|
||||||
|
genericName = "An interactive Git learning game!";
|
||||||
|
categories = "Game;";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
# Cannot create file '/homeless-shelter/.config/godot/projects/...'
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
|
||||||
|
# Link the export-templates to the expected location. The --export commands
|
||||||
|
# expects the template-file at .../templates/3.2.3.stable/linux_x11_64_release
|
||||||
|
# with 3.2.3 being the version of godot.
|
||||||
|
mkdir -p $HOME/.local/share/godot
|
||||||
|
ln -s ${godot-export-templates}/share/godot/templates $HOME/.local/share/godot
|
||||||
|
|
||||||
|
mkdir -p $out/share/oh-my-git
|
||||||
|
godot-headless --export "Linux" $out/share/oh-my-git/oh-my-git
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s $out/share/oh-my-git/oh-my-git $out/bin
|
||||||
|
|
||||||
|
# Patch binaries.
|
||||||
|
interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
|
||||||
|
patchelf \
|
||||||
|
--set-interpreter $interpreter \
|
||||||
|
--set-rpath ${lib.makeLibraryPath buildInputs} \
|
||||||
|
$out/share/oh-my-git/oh-my-git
|
||||||
|
|
||||||
|
mkdir -p $out/share/pixmaps
|
||||||
|
cp images/oh-my-git.png $out/share/pixmaps/oh-my-git.png
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://ohmygit.org/";
|
||||||
|
description = "An interactive Git learning game";
|
||||||
|
license = with licenses; [ blueOak100 ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = with maintainers; [ jojosch ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -136,6 +136,13 @@ in buildFHSUserEnv rec {
|
||||||
libbsd
|
libbsd
|
||||||
alsaLib
|
alsaLib
|
||||||
|
|
||||||
|
# Loop Hero
|
||||||
|
libidn2
|
||||||
|
libpsl
|
||||||
|
nghttp2.lib
|
||||||
|
openssl_1_1
|
||||||
|
rtmpdump
|
||||||
|
|
||||||
# needed by getcap for vr startup
|
# needed by getcap for vr startup
|
||||||
libcap
|
libcap
|
||||||
|
|
||||||
|
@ -202,7 +209,6 @@ in buildFHSUserEnv rec {
|
||||||
SDL
|
SDL
|
||||||
SDL2_image
|
SDL2_image
|
||||||
glew110
|
glew110
|
||||||
openssl
|
|
||||||
libidn
|
libidn
|
||||||
tbb
|
tbb
|
||||||
wayland
|
wayland
|
||||||
|
|
|
@ -1,146 +1,91 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, python
|
|
||||||
, cmake
|
# nixpkgs functions
|
||||||
, meson
|
|
||||||
, vim
|
|
||||||
, ruby
|
|
||||||
, which
|
|
||||||
, fetchFromGitHub
|
|
||||||
, fetchurl
|
|
||||||
, fetchpatch
|
|
||||||
, llvmPackages
|
|
||||||
, rustPlatform
|
|
||||||
, buildGoModule
|
, buildGoModule
|
||||||
, pkg-config
|
, buildVimPluginFrom2Nix
|
||||||
, curl
|
, fetchFromGitHub
|
||||||
, openssl
|
, fetchpatch
|
||||||
, libgit2
|
, fetchurl
|
||||||
, libiconv
|
, substituteAll
|
||||||
, xkb-switch
|
|
||||||
, fzf
|
# Language dependencies
|
||||||
, skim
|
, python
|
||||||
, stylish-haskell
|
|
||||||
, python3
|
, python3
|
||||||
|
, rustPlatform
|
||||||
|
|
||||||
|
# Misc dependencies
|
||||||
|
, Cocoa
|
||||||
|
, code-minimap
|
||||||
|
, dasht
|
||||||
|
, direnv
|
||||||
|
, fzf
|
||||||
|
, gnome3
|
||||||
|
, khard
|
||||||
|
, languagetool
|
||||||
|
, llvmPackages
|
||||||
|
, meson
|
||||||
|
, nim
|
||||||
|
, nodePackages
|
||||||
|
, skim
|
||||||
|
, sqlite
|
||||||
|
, stylish-haskell
|
||||||
|
, tabnine
|
||||||
|
, vim
|
||||||
|
, which
|
||||||
|
, xkb-switch
|
||||||
|
, ycmd
|
||||||
|
|
||||||
|
# command-t dependencies
|
||||||
|
, rake
|
||||||
|
, ruby
|
||||||
|
|
||||||
|
# cpsm dependencies
|
||||||
, boost
|
, boost
|
||||||
|
, cmake
|
||||||
, icu
|
, icu
|
||||||
, ncurses
|
, ncurses
|
||||||
, ycmd
|
|
||||||
, rake
|
|
||||||
, gobject-introspection
|
|
||||||
, glib
|
|
||||||
, wrapGAppsHook
|
|
||||||
, substituteAll
|
|
||||||
, languagetool
|
|
||||||
, tabnine
|
|
||||||
|
|
||||||
, Cocoa
|
# LanguageClient-neovim dependencies
|
||||||
, CoreFoundation
|
, CoreFoundation
|
||||||
, CoreServices
|
, CoreServices
|
||||||
|
|
||||||
, buildVimPluginFrom2Nix
|
# sved dependencies
|
||||||
, nodePackages
|
, glib
|
||||||
, dasht
|
, gobject-introspection
|
||||||
, sqlite
|
, wrapGAppsHook
|
||||||
, code-minimap
|
|
||||||
|
|
||||||
# deoplete-khard dependency
|
# vim-clap dependencies
|
||||||
, khard
|
, curl
|
||||||
|
, libgit2
|
||||||
|
, libiconv
|
||||||
|
, openssl
|
||||||
|
, pkg-config
|
||||||
|
|
||||||
# vim-go dependencies
|
# vim-go dependencies
|
||||||
, asmfmt
|
, asmfmt
|
||||||
, delve
|
, delve
|
||||||
, errcheck
|
, errcheck
|
||||||
, godef
|
|
||||||
, golint
|
|
||||||
, gomodifytags
|
|
||||||
, gotags
|
|
||||||
, gotools
|
|
||||||
, go-motion
|
|
||||||
, gnused
|
, gnused
|
||||||
, reftools
|
, go-motion
|
||||||
, gogetdoc
|
, go-tools
|
||||||
, golangci-lint
|
|
||||||
, impl
|
|
||||||
, iferr
|
|
||||||
, gocode
|
, gocode
|
||||||
, gocode-gomod
|
, gocode-gomod
|
||||||
, go-tools
|
, godef
|
||||||
|
, gogetdoc
|
||||||
|
, golangci-lint
|
||||||
|
, golint
|
||||||
|
, gomodifytags
|
||||||
, gopls
|
, gopls
|
||||||
|
, gotags
|
||||||
# direnv-vim dependencies
|
, gotools
|
||||||
, direnv
|
, iferr
|
||||||
|
, impl
|
||||||
# vCoolor dependency
|
, reftools
|
||||||
, gnome3
|
|
||||||
|
|
||||||
# fruzzy dependency
|
|
||||||
, nim
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
|
|
||||||
vim2nix = buildVimPluginFrom2Nix {
|
|
||||||
pname = "vim2nix";
|
|
||||||
version = "1.0";
|
|
||||||
src = ./vim2nix;
|
|
||||||
dependencies = with super; [ vim-addon-manager ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Mainly used as a dependency for fzf-vim. Wraps the fzf program as a vim
|
|
||||||
# plugin, since part of the fzf vim plugin is included in the main fzf
|
|
||||||
# program.
|
|
||||||
fzfWrapper = buildVimPluginFrom2Nix {
|
|
||||||
inherit (fzf) src version;
|
|
||||||
pname = "fzf";
|
|
||||||
postInstall = ''
|
|
||||||
ln -s ${fzf}/bin/fzf $target/bin/fzf
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
skim = buildVimPluginFrom2Nix {
|
|
||||||
pname = "skim";
|
|
||||||
version = skim.version;
|
|
||||||
src = skim.vim;
|
|
||||||
};
|
|
||||||
|
|
||||||
LanguageClient-neovim =
|
|
||||||
let
|
|
||||||
version = "0.1.161";
|
|
||||||
LanguageClient-neovim-src = fetchFromGitHub {
|
|
||||||
owner = "autozimu";
|
|
||||||
repo = "LanguageClient-neovim";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "Z9S2ie9RxJCIbmjSV/Tto4lK04cZfWmK3IAy8YaySVI=";
|
|
||||||
};
|
|
||||||
LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
|
|
||||||
pname = "LanguageClient-neovim-bin";
|
|
||||||
inherit version;
|
|
||||||
src = LanguageClient-neovim-src;
|
|
||||||
|
|
||||||
cargoSha256 = "H34UqJ6JOwuSABdOup5yKeIwFrGc83TUnw1ggJEx9o4=";
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
|
|
||||||
|
|
||||||
# FIXME: Use impure version of CoreFoundation because of missing symbols.
|
|
||||||
# Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable"
|
|
||||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
|
||||||
export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
buildVimPluginFrom2Nix {
|
|
||||||
pname = "LanguageClient-neovim";
|
|
||||||
inherit version;
|
|
||||||
src = LanguageClient-neovim-src;
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ LanguageClient-neovim-bin ];
|
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \
|
|
||||||
--replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
clang_complete = super.clang_complete.overrideAttrs (old: {
|
clang_complete = super.clang_complete.overrideAttrs (old: {
|
||||||
# In addition to the arguments you pass to your compiler, you also need to
|
# In addition to the arguments you pass to your compiler, you also need to
|
||||||
# specify the path of the C++ std header (if you are using C++).
|
# specify the path of the C++ std header (if you are using C++).
|
||||||
|
@ -156,14 +101,6 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
direnv-vim = super.direnv-vim.overrideAttrs (oa: {
|
|
||||||
preFixup = oa.preFixup or "" + ''
|
|
||||||
substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \
|
|
||||||
--replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \
|
|
||||||
"let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')"
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
clighter8 = super.clighter8.overrideAttrs (old: {
|
clighter8 = super.clighter8.overrideAttrs (old: {
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
|
sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
|
||||||
|
@ -179,6 +116,24 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
compe-tabnine = super.compe-tabnine.overrideAttrs (old: {
|
||||||
|
buildInputs = [ tabnine ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
mkdir $target/binaries
|
||||||
|
ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s)
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
completion-tabnine = super.completion-tabnine.overrideAttrs (old: {
|
||||||
|
buildInputs = [ tabnine ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
mkdir $target/binaries
|
||||||
|
ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s)
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
cpsm = super.cpsm.overrideAttrs (old: {
|
cpsm = super.cpsm.overrideAttrs (old: {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
python3
|
python3
|
||||||
|
@ -232,6 +187,14 @@ self: super: {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
direnv-vim = super.direnv-vim.overrideAttrs (oa: {
|
||||||
|
preFixup = oa.preFixup or "" + ''
|
||||||
|
substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \
|
||||||
|
--replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \
|
||||||
|
"let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
ensime-vim = super.ensime-vim.overrideAttrs (old: {
|
ensime-vim = super.ensime-vim.overrideAttrs (old: {
|
||||||
passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
|
passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
|
||||||
dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
|
dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
|
||||||
|
@ -276,22 +239,93 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
fzf-vim = super.fzf-vim.overrideAttrs (old: {
|
||||||
|
dependencies = [ self.fzfWrapper ];
|
||||||
|
});
|
||||||
|
|
||||||
|
# Mainly used as a dependency for fzf-vim. Wraps the fzf program as a vim
|
||||||
|
# plugin, since part of the fzf vim plugin is included in the main fzf
|
||||||
|
# program.
|
||||||
|
fzfWrapper = buildVimPluginFrom2Nix {
|
||||||
|
inherit (fzf) src version;
|
||||||
|
pname = "fzf";
|
||||||
|
postInstall = ''
|
||||||
|
ln -s ${fzf}/bin/fzf $target/bin/fzf
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
ghcid = super.ghcid.overrideAttrs (old: {
|
ghcid = super.ghcid.overrideAttrs (old: {
|
||||||
configurePhase = "cd plugins/nvim";
|
configurePhase = "cd plugins/nvim";
|
||||||
});
|
});
|
||||||
|
|
||||||
vimsence = super.vimsence.overrideAttrs (old: {
|
jedi-vim = super.jedi-vim.overrideAttrs (old: {
|
||||||
meta = with lib; {
|
# checking for python3 support in vim would be neat, too, but nobody else seems to care
|
||||||
description = "Discord rich presence for Vim";
|
buildInputs = [ python3.pkgs.jedi ];
|
||||||
homepage = "https://github.com/hugolgst/vimsence";
|
meta = {
|
||||||
maintainers = with lib.maintainers; [ hugolgst ];
|
description = "code-completion for python using python-jedi";
|
||||||
|
license = lib.licenses.mit;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
vim-gist = super.vim-gist.overrideAttrs (old: {
|
LanguageClient-neovim =
|
||||||
dependencies = with super; [ webapi-vim ];
|
let
|
||||||
|
version = "0.1.161";
|
||||||
|
LanguageClient-neovim-src = fetchFromGitHub {
|
||||||
|
owner = "autozimu";
|
||||||
|
repo = "LanguageClient-neovim";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "Z9S2ie9RxJCIbmjSV/Tto4lK04cZfWmK3IAy8YaySVI=";
|
||||||
|
};
|
||||||
|
LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
|
||||||
|
pname = "LanguageClient-neovim-bin";
|
||||||
|
inherit version;
|
||||||
|
src = LanguageClient-neovim-src;
|
||||||
|
|
||||||
|
cargoSha256 = "H34UqJ6JOwuSABdOup5yKeIwFrGc83TUnw1ggJEx9o4=";
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
|
||||||
|
|
||||||
|
# FIXME: Use impure version of CoreFoundation because of missing symbols.
|
||||||
|
# Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable"
|
||||||
|
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||||
|
export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
buildVimPluginFrom2Nix {
|
||||||
|
pname = "LanguageClient-neovim";
|
||||||
|
inherit version;
|
||||||
|
src = LanguageClient-neovim-src;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ LanguageClient-neovim-bin ];
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \
|
||||||
|
--replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
lens-vim = super.lens-vim.overrideAttrs (old: {
|
||||||
|
# remove duplicate g:lens#animate in doc/lens.txt
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985
|
||||||
|
# https://github.com/camspiers/lens.vim/pull/40/files
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./patches/lens-vim/remove_duplicate_g_lens_animate.patch;
|
||||||
|
inherit languagetool;
|
||||||
|
})
|
||||||
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
lf-vim = super.lf-vim.overrideAttrs (old: {
|
||||||
|
dependencies = with super; [ vim-floaterm ];
|
||||||
|
});
|
||||||
|
|
||||||
|
meson = buildVimPluginFrom2Nix {
|
||||||
|
inherit (meson) pname version src;
|
||||||
|
preInstall = "cd data/syntax-highlighting/vim";
|
||||||
|
meta.maintainers = with lib.maintainers; [ vcunat ];
|
||||||
|
};
|
||||||
|
|
||||||
minimap-vim = super.minimap-vim.overrideAttrs (old: {
|
minimap-vim = super.minimap-vim.overrideAttrs (old: {
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
substituteInPlace $out/share/vim-plugins/minimap-vim/plugin/minimap.vim \
|
substituteInPlace $out/share/vim-plugins/minimap-vim/plugin/minimap.vim \
|
||||||
|
@ -301,12 +335,6 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
meson = buildVimPluginFrom2Nix {
|
|
||||||
inherit (meson) pname version src;
|
|
||||||
preInstall = "cd data/syntax-highlighting/vim";
|
|
||||||
meta.maintainers = with lib.maintainers; [ vcunat ];
|
|
||||||
};
|
|
||||||
|
|
||||||
ncm2 = super.ncm2.overrideAttrs (old: {
|
ncm2 = super.ncm2.overrideAttrs (old: {
|
||||||
dependencies = with super; [ nvim-yarp ];
|
dependencies = with super; [ nvim-yarp ];
|
||||||
});
|
});
|
||||||
|
@ -336,14 +364,16 @@ self: super: {
|
||||||
dependencies = with super; [ popfix ];
|
dependencies = with super; [ popfix ];
|
||||||
});
|
});
|
||||||
|
|
||||||
fzf-vim = super.fzf-vim.overrideAttrs (old: {
|
|
||||||
dependencies = [ self.fzfWrapper ];
|
|
||||||
});
|
|
||||||
|
|
||||||
onehalf = super.onehalf.overrideAttrs (old: {
|
onehalf = super.onehalf.overrideAttrs (old: {
|
||||||
configurePhase = "cd vim";
|
configurePhase = "cd vim";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
skim = buildVimPluginFrom2Nix {
|
||||||
|
pname = "skim";
|
||||||
|
version = skim.version;
|
||||||
|
src = skim.vim;
|
||||||
|
};
|
||||||
|
|
||||||
skim-vim = super.skim-vim.overrideAttrs (old: {
|
skim-vim = super.skim-vim.overrideAttrs (old: {
|
||||||
dependencies = [ self.skim ];
|
dependencies = [ self.skim ];
|
||||||
});
|
});
|
||||||
|
@ -384,30 +414,60 @@ self: super: {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
vimacs = super.vimacs.overrideAttrs (old: {
|
telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs (old: {
|
||||||
buildPhase = ''
|
dependencies = [ self.sql-nvim ];
|
||||||
substituteInPlace bin/vim \
|
});
|
||||||
--replace '/usr/bin/vim' 'vim' \
|
|
||||||
--replace '/usr/bin/gvim' 'gvim'
|
telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: {
|
||||||
# remove unnecessary duplicated bin wrapper script
|
preFixup =
|
||||||
rm -r plugin/vimacs
|
let
|
||||||
'';
|
fzy-lua-native-path = "deps/fzy-lua-native";
|
||||||
meta = with lib; {
|
fzy-lua-native =
|
||||||
description = "Vim-Improved eMACS: Emacs emulation plugin for Vim";
|
stdenv.mkDerivation {
|
||||||
homepage = "http://algorithm.com.au/code/vimacs";
|
name = "fzy-lua-native";
|
||||||
license = licenses.gpl2Plus;
|
src = "${old.src}/${fzy-lua-native-path}";
|
||||||
maintainers = with lib.maintainers; [ millerjason ];
|
# remove pre-compiled binaries
|
||||||
|
preBuild = "rm -rf static/*";
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm 444 -t $out/static static/*
|
||||||
|
install -Dm 444 -t $out/lua lua/*
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
''
|
||||||
|
rm -rf $target/${fzy-lua-native-path}/*
|
||||||
|
ln -s ${fzy-lua-native}/static $target/${fzy-lua-native-path}/static
|
||||||
|
ln -s ${fzy-lua-native}/lua $target/${fzy-lua-native-path}/lua
|
||||||
|
'';
|
||||||
|
meta.platforms = lib.platforms.all;
|
||||||
|
});
|
||||||
|
|
||||||
|
unicode-vim =
|
||||||
|
let
|
||||||
|
unicode-data = fetchurl {
|
||||||
|
url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt";
|
||||||
|
sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
super.unicode-vim.overrideAttrs (old: {
|
||||||
|
|
||||||
|
# redirect to /dev/null else changes terminal color
|
||||||
|
buildPhase = ''
|
||||||
|
cp "${unicode-data}" autoload/unicode/UnicodeData.txt
|
||||||
|
echo "Building unicode cache"
|
||||||
|
${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
vCoolor-vim = super.vCoolor-vim.overrideAttrs (old: {
|
||||||
|
# on linux can use either Zenity or Yad.
|
||||||
|
propagatedBuildInputs = [ gnome3.zenity ];
|
||||||
|
meta = {
|
||||||
|
description = "Simple color selector/picker plugin";
|
||||||
|
license = lib.licenses.publicDomain;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
vimshell-vim = super.vimshell-vim.overrideAttrs (old: {
|
|
||||||
dependencies = with super; [ vimproc-vim ];
|
|
||||||
});
|
|
||||||
|
|
||||||
vim-addon-manager = super.vim-addon-manager.overrideAttrs (old: {
|
|
||||||
buildInputs = lib.optional stdenv.isDarwin Cocoa;
|
|
||||||
});
|
|
||||||
|
|
||||||
vim-addon-actions = super.vim-addon-actions.overrideAttrs (old: {
|
vim-addon-actions = super.vim-addon-actions.overrideAttrs (old: {
|
||||||
dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
|
dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
|
||||||
});
|
});
|
||||||
|
@ -428,6 +488,10 @@ self: super: {
|
||||||
dependencies = with super; [ tlib_vim ];
|
dependencies = with super; [ tlib_vim ];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vim-addon-manager = super.vim-addon-manager.overrideAttrs (old: {
|
||||||
|
buildInputs = lib.optional stdenv.isDarwin Cocoa;
|
||||||
|
});
|
||||||
|
|
||||||
vim-addon-mru = super.vim-addon-mru.overrideAttrs (old: {
|
vim-addon-mru = super.vim-addon-mru.overrideAttrs (old: {
|
||||||
dependencies = with super; [ vim-addon-other vim-addon-mw-utils ];
|
dependencies = with super; [ vim-addon-other vim-addon-mw-utils ];
|
||||||
});
|
});
|
||||||
|
@ -467,6 +531,36 @@ self: super: {
|
||||||
passthru.python3Dependencies = ps: with ps; [ beancount ];
|
passthru.python3Dependencies = ps: with ps; [ beancount ];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vim-clap = super.vim-clap.overrideAttrs (old: {
|
||||||
|
preFixup =
|
||||||
|
let
|
||||||
|
maple-bin = rustPlatform.buildRustPackage {
|
||||||
|
name = "maple";
|
||||||
|
src = old.src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
openssl
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
CoreServices
|
||||||
|
curl
|
||||||
|
libgit2
|
||||||
|
libiconv
|
||||||
|
];
|
||||||
|
|
||||||
|
cargoSha256 = "25UkYKhlGmlDg4fz1jZHjpQn5s4k5FKlFK0MU8YM5SE=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
''
|
||||||
|
ln -s ${maple-bin}/bin/maple $target/bin/maple
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta.platforms = lib.platforms.all;
|
||||||
|
});
|
||||||
|
|
||||||
vim-closer = super.vim-closer.overrideAttrs (old: {
|
vim-closer = super.vim-closer.overrideAttrs (old: {
|
||||||
patches = [
|
patches = [
|
||||||
# Fix duplicate tag in doc
|
# Fix duplicate tag in doc
|
||||||
|
@ -533,6 +627,10 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vim-gist = super.vim-gist.overrideAttrs (old: {
|
||||||
|
dependencies = with super; [ webapi-vim ];
|
||||||
|
});
|
||||||
|
|
||||||
vim-grammarous = super.vim-grammarous.overrideAttrs (old: {
|
vim-grammarous = super.vim-grammarous.overrideAttrs (old: {
|
||||||
# use `:GrammarousCheck` to initialize checking
|
# use `:GrammarousCheck` to initialize checking
|
||||||
# In neovim, you also want to use set
|
# In neovim, you also want to use set
|
||||||
|
@ -546,16 +644,20 @@ self: super: {
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
lens-vim = super.lens-vim.overrideAttrs (old: {
|
vim-hexokinase = super.vim-hexokinase.overrideAttrs (old: {
|
||||||
# remove duplicate g:lens#animate in doc/lens.txt
|
preFixup =
|
||||||
# https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985
|
let
|
||||||
# https://github.com/camspiers/lens.vim/pull/40/files
|
hexokinase = buildGoModule {
|
||||||
patches = [
|
name = "hexokinase";
|
||||||
(substituteAll {
|
src = old.src + "/hexokinase";
|
||||||
src = ./patches/lens-vim/remove_duplicate_g_lens_animate.patch;
|
vendorSha256 = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
|
||||||
inherit languagetool;
|
};
|
||||||
})
|
in
|
||||||
];
|
''
|
||||||
|
ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta.platforms = lib.platforms.all;
|
||||||
});
|
});
|
||||||
|
|
||||||
vim-hier = super.vim-hier.overrideAttrs (old: {
|
vim-hier = super.vim-hier.overrideAttrs (old: {
|
||||||
|
@ -593,6 +695,13 @@ self: super: {
|
||||||
dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
|
dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: {
|
||||||
|
postPatch = old.postPatch or "" + ''
|
||||||
|
substituteInPlace ftplugin/haskell/stylish-haskell.vim --replace \
|
||||||
|
'g:stylish_haskell_command = "stylish-haskell"' \
|
||||||
|
'g:stylish_haskell_command = "${stylish-haskell}/bin/stylish-haskell"'
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
vim-wakatime = super.vim-wakatime.overrideAttrs (old: {
|
vim-wakatime = super.vim-wakatime.overrideAttrs (old: {
|
||||||
buildInputs = [ python ];
|
buildInputs = [ python ];
|
||||||
|
@ -617,6 +726,37 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vim2nix = buildVimPluginFrom2Nix {
|
||||||
|
pname = "vim2nix";
|
||||||
|
version = "1.0";
|
||||||
|
src = ./vim2nix;
|
||||||
|
dependencies = with super; [ vim-addon-manager ];
|
||||||
|
};
|
||||||
|
|
||||||
|
vimacs = super.vimacs.overrideAttrs (old: {
|
||||||
|
buildPhase = ''
|
||||||
|
substituteInPlace bin/vim \
|
||||||
|
--replace '/usr/bin/vim' 'vim' \
|
||||||
|
--replace '/usr/bin/gvim' 'gvim'
|
||||||
|
# remove unnecessary duplicated bin wrapper script
|
||||||
|
rm -r plugin/vimacs
|
||||||
|
'';
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Vim-Improved eMACS: Emacs emulation plugin for Vim";
|
||||||
|
homepage = "http://algorithm.com.au/code/vimacs";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
maintainers = with lib.maintainers; [ millerjason ];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
vimsence = super.vimsence.overrideAttrs (old: {
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Discord rich presence for Vim";
|
||||||
|
homepage = "https://github.com/hugolgst/vimsence";
|
||||||
|
maintainers = with lib.maintainers; [ hugolgst ];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
vimproc-vim = super.vimproc-vim.overrideAttrs (old: {
|
vimproc-vim = super.vimproc-vim.overrideAttrs (old: {
|
||||||
buildInputs = [ which ];
|
buildInputs = [ which ];
|
||||||
|
|
||||||
|
@ -629,6 +769,10 @@ self: super: {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vimshell-vim = super.vimshell-vim.overrideAttrs (old: {
|
||||||
|
dependencies = with super; [ vimproc-vim ];
|
||||||
|
});
|
||||||
|
|
||||||
YankRing-vim = super.YankRing-vim.overrideAttrs (old: {
|
YankRing-vim = super.YankRing-vim.overrideAttrs (old: {
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
});
|
});
|
||||||
|
@ -652,145 +796,6 @@ self: super: {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
jedi-vim = super.jedi-vim.overrideAttrs (old: {
|
|
||||||
# checking for python3 support in vim would be neat, too, but nobody else seems to care
|
|
||||||
buildInputs = [ python3.pkgs.jedi ];
|
|
||||||
meta = {
|
|
||||||
description = "code-completion for python using python-jedi";
|
|
||||||
license = lib.licenses.mit;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
lf-vim = super.lf-vim.overrideAttrs (old: {
|
|
||||||
dependencies = with super; [ vim-floaterm ];
|
|
||||||
});
|
|
||||||
|
|
||||||
vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: {
|
|
||||||
postPatch = old.postPatch or "" + ''
|
|
||||||
substituteInPlace ftplugin/haskell/stylish-haskell.vim --replace \
|
|
||||||
'g:stylish_haskell_command = "stylish-haskell"' \
|
|
||||||
'g:stylish_haskell_command = "${stylish-haskell}/bin/stylish-haskell"'
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
vCoolor-vim = super.vCoolor-vim.overrideAttrs (old: {
|
|
||||||
# on linux can use either Zenity or Yad.
|
|
||||||
propagatedBuildInputs = [ gnome3.zenity ];
|
|
||||||
meta = {
|
|
||||||
description = "Simple color selector/picker plugin";
|
|
||||||
license = lib.licenses.publicDomain;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
unicode-vim =
|
|
||||||
let
|
|
||||||
unicode-data = fetchurl {
|
|
||||||
url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt";
|
|
||||||
sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
super.unicode-vim.overrideAttrs (old: {
|
|
||||||
|
|
||||||
# redirect to /dev/null else changes terminal color
|
|
||||||
buildPhase = ''
|
|
||||||
cp "${unicode-data}" autoload/unicode/UnicodeData.txt
|
|
||||||
echo "Building unicode cache"
|
|
||||||
${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
vim-hexokinase = super.vim-hexokinase.overrideAttrs (old: {
|
|
||||||
preFixup =
|
|
||||||
let
|
|
||||||
hexokinase = buildGoModule {
|
|
||||||
name = "hexokinase";
|
|
||||||
src = old.src + "/hexokinase";
|
|
||||||
vendorSha256 = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
''
|
|
||||||
ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta.platforms = lib.platforms.all;
|
|
||||||
});
|
|
||||||
|
|
||||||
vim-clap = super.vim-clap.overrideAttrs (old: {
|
|
||||||
preFixup =
|
|
||||||
let
|
|
||||||
maple-bin = rustPlatform.buildRustPackage {
|
|
||||||
name = "maple";
|
|
||||||
src = old.src;
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
pkg-config
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
openssl
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
CoreServices
|
|
||||||
curl
|
|
||||||
libgit2
|
|
||||||
libiconv
|
|
||||||
];
|
|
||||||
|
|
||||||
cargoSha256 = "25UkYKhlGmlDg4fz1jZHjpQn5s4k5FKlFK0MU8YM5SE=";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
''
|
|
||||||
ln -s ${maple-bin}/bin/maple $target/bin/maple
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta.platforms = lib.platforms.all;
|
|
||||||
});
|
|
||||||
|
|
||||||
compe-tabnine = super.compe-tabnine.overrideAttrs (old: {
|
|
||||||
buildInputs = [ tabnine ];
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
mkdir $target/binaries
|
|
||||||
ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s)
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
completion-tabnine = super.completion-tabnine.overrideAttrs (old: {
|
|
||||||
buildInputs = [ tabnine ];
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
mkdir $target/binaries
|
|
||||||
ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s)
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs (old: {
|
|
||||||
dependencies = [ self.sql-nvim ];
|
|
||||||
});
|
|
||||||
|
|
||||||
telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: {
|
|
||||||
preFixup =
|
|
||||||
let
|
|
||||||
fzy-lua-native-path = "deps/fzy-lua-native";
|
|
||||||
fzy-lua-native =
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "fzy-lua-native";
|
|
||||||
src = "${old.src}/${fzy-lua-native-path}";
|
|
||||||
# remove pre-compiled binaries
|
|
||||||
preBuild = "rm -rf static/*";
|
|
||||||
installPhase = ''
|
|
||||||
install -Dm 444 -t $out/static static/*
|
|
||||||
install -Dm 444 -t $out/lua lua/*
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
''
|
|
||||||
rm -rf $target/${fzy-lua-native-path}/*
|
|
||||||
ln -s ${fzy-lua-native}/static $target/${fzy-lua-native-path}/static
|
|
||||||
ln -s ${fzy-lua-native}/lua $target/${fzy-lua-native-path}/lua
|
|
||||||
'';
|
|
||||||
meta.platforms = lib.platforms.all;
|
|
||||||
});
|
|
||||||
|
|
||||||
} // (
|
} // (
|
||||||
let
|
let
|
||||||
nodePackageNames = [
|
nodePackageNames = [
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
{ lib, stdenv, rustPlatform, rustc, cargo, fetchFromGitHub, pkg-config, cmake, extra-cmake-modules, llvmPackages
|
||||||
|
, withWayland ? true
|
||||||
|
, withIndicator ? true, dbus, libdbusmenu
|
||||||
|
, withXim ? true, xorg, cairo
|
||||||
|
, withGtk2 ? true, gtk2
|
||||||
|
, withGtk3 ? true, gtk3
|
||||||
|
, withQt5 ? true, qt5
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cmake_args = lib.optionals withGtk2 ["-DENABLE_GTK2=ON"]
|
||||||
|
++ lib.optionals withGtk3 ["-DENABLE_GTK3=ON"]
|
||||||
|
++ lib.optionals withQt5 ["-DENABLE_QT5=ON"];
|
||||||
|
|
||||||
|
optFlag = w: (if w then "1" else "0");
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "kime";
|
||||||
|
version = "2.5.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Riey";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "10zd4yrqxzxf4nj3b5bsblcmlbqssxqq9pac0misa1g61jdbszj8";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
|
inherit src;
|
||||||
|
sha256 = "1bimi7020m7v287bh7via7zm9m7y13d13kqpd772xmpdbwrj8nrl";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Replace autostart path
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace res/kime.desktop --replace "/usr/bin/kime" "$out/bin/kime"
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
export KIME_BUILD_CHECK=1
|
||||||
|
export KIME_BUILD_INDICATOR=${optFlag withIndicator}
|
||||||
|
export KIME_BUILD_XIM=${optFlag withXim}
|
||||||
|
export KIME_BUILD_WAYLAND=${optFlag withWayland}
|
||||||
|
export KIME_BUILD_KIME=1
|
||||||
|
export KIME_CARGO_ARGS="-j$NIX_BUILD_CORES --frozen"
|
||||||
|
export KIME_MAKE_ARGS="-j$NIX_BUILD_CORES"
|
||||||
|
export KIME_CMAKE_ARGS="${lib.concatStringsSep " " cmake_args}"
|
||||||
|
bash scripts/build.sh -r
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
cargo test --release --frozen
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
export KIME_BIN_DIR=bin
|
||||||
|
export KIME_INSTALL_HEADER=1
|
||||||
|
export KIME_INSTALL_DOC=1
|
||||||
|
export KIME_INCLUDE_DIR=include
|
||||||
|
export KIME_DOC_DIR=share/doc/kime
|
||||||
|
export KIME_ICON_DIR=share/icons
|
||||||
|
export KIME_LIB_DIR=lib
|
||||||
|
export KIME_QT5_DIR=lib/qt-${qt5.qtbase.version}
|
||||||
|
bash scripts/install.sh "$out"
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
runHook preInstallCheck
|
||||||
|
# Don't pipe output to head directly it will cause broken pipe error https://github.com/rust-lang/rust/issues/46016
|
||||||
|
kimeVersion=$(echo "$($out/bin/kime --version)" | head -n1)
|
||||||
|
echo "'kime --version | head -n1' returns: $kimeVersion"
|
||||||
|
[[ "$kimeVersion" == "kime ${version}" ]]
|
||||||
|
runHook postInstallCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = lib.optionals withIndicator [ dbus libdbusmenu ]
|
||||||
|
++ lib.optionals withXim [ xorg.libxcb cairo ]
|
||||||
|
++ lib.optionals withGtk2 [ gtk2 ]
|
||||||
|
++ lib.optionals withGtk3 [ gtk3 ]
|
||||||
|
++ lib.optionals withQt5 [ qt5.qtbase ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
llvmPackages.clang
|
||||||
|
llvmPackages.libclang
|
||||||
|
llvmPackages.bintools
|
||||||
|
cmake
|
||||||
|
extra-cmake-modules
|
||||||
|
rustPlatform.cargoSetupHook
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
];
|
||||||
|
|
||||||
|
RUST_BACKTRACE = 1;
|
||||||
|
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/Riey/kime";
|
||||||
|
description = "Korean IME";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = [ maintainers.riey ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -2542,6 +2542,8 @@ in
|
||||||
|
|
||||||
gif-for-cli = callPackage ../tools/misc/gif-for-cli { };
|
gif-for-cli = callPackage ../tools/misc/gif-for-cli { };
|
||||||
|
|
||||||
|
giph = callPackage ../applications/video/giph { };
|
||||||
|
|
||||||
gir-rs = callPackage ../development/tools/gir { };
|
gir-rs = callPackage ../development/tools/gir { };
|
||||||
|
|
||||||
gist = callPackage ../tools/text/gist { };
|
gist = callPackage ../tools/text/gist { };
|
||||||
|
@ -2667,6 +2669,8 @@ in
|
||||||
|
|
||||||
jellyfin-mpv-shim = python3Packages.callPackage ../applications/video/jellyfin-mpv-shim { };
|
jellyfin-mpv-shim = python3Packages.callPackage ../applications/video/jellyfin-mpv-shim { };
|
||||||
|
|
||||||
|
jiten = callPackage ../applications/misc/jiten { };
|
||||||
|
|
||||||
jotta-cli = callPackage ../applications/misc/jotta-cli { };
|
jotta-cli = callPackage ../applications/misc/jotta-cli { };
|
||||||
|
|
||||||
joycond = callPackage ../os-specific/linux/joycond { };
|
joycond = callPackage ../os-specific/linux/joycond { };
|
||||||
|
@ -2759,6 +2763,8 @@ in
|
||||||
|
|
||||||
meritous = callPackage ../games/meritous { };
|
meritous = callPackage ../games/meritous { };
|
||||||
|
|
||||||
|
oh-my-git = callPackage ../games/oh-my-git { };
|
||||||
|
|
||||||
opendune = callPackage ../games/opendune { };
|
opendune = callPackage ../games/opendune { };
|
||||||
|
|
||||||
merriweather = callPackage ../data/fonts/merriweather { };
|
merriweather = callPackage ../data/fonts/merriweather { };
|
||||||
|
@ -3465,6 +3471,8 @@ in
|
||||||
|
|
||||||
gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { };
|
gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { };
|
||||||
|
|
||||||
|
kime = callPackage ../tools/inputmethods/kime { };
|
||||||
|
|
||||||
libpinyin = callPackage ../development/libraries/libpinyin { };
|
libpinyin = callPackage ../development/libraries/libpinyin { };
|
||||||
|
|
||||||
libskk = callPackage ../development/libraries/libskk {
|
libskk = callPackage ../development/libraries/libskk {
|
||||||
|
@ -5047,6 +5055,8 @@ in
|
||||||
|
|
||||||
godot = callPackage ../development/tools/godot {};
|
godot = callPackage ../development/tools/godot {};
|
||||||
|
|
||||||
|
godot-export-templates = callPackage ../development/tools/godot/export-templates.nix { };
|
||||||
|
|
||||||
godot-headless = callPackage ../development/tools/godot/headless.nix { };
|
godot-headless = callPackage ../development/tools/godot/headless.nix { };
|
||||||
|
|
||||||
godot-server = callPackage ../development/tools/godot/server.nix { };
|
godot-server = callPackage ../development/tools/godot/server.nix { };
|
||||||
|
@ -25111,6 +25121,8 @@ in
|
||||||
|
|
||||||
pamixer = callPackage ../applications/audio/pamixer { };
|
pamixer = callPackage ../applications/audio/pamixer { };
|
||||||
|
|
||||||
|
myxer = callPackage ../applications/audio/myxer { };
|
||||||
|
|
||||||
ncpamixer = callPackage ../applications/audio/ncpamixer { };
|
ncpamixer = callPackage ../applications/audio/ncpamixer { };
|
||||||
|
|
||||||
pan = callPackage ../applications/networking/newsreaders/pan { };
|
pan = callPackage ../applications/networking/newsreaders/pan { };
|
||||||
|
|
|
@ -236,6 +236,8 @@ let
|
||||||
|
|
||||||
ctypes = callPackage ../development/ocaml-modules/ctypes { };
|
ctypes = callPackage ../development/ocaml-modules/ctypes { };
|
||||||
|
|
||||||
|
dap = callPackage ../development/ocaml-modules/dap { };
|
||||||
|
|
||||||
decompress = callPackage ../development/ocaml-modules/decompress { };
|
decompress = callPackage ../development/ocaml-modules/decompress { };
|
||||||
|
|
||||||
diet = callPackage ../development/ocaml-modules/diet { };
|
diet = callPackage ../development/ocaml-modules/diet { };
|
||||||
|
@ -930,6 +932,8 @@ let
|
||||||
|
|
||||||
parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
|
parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
|
||||||
|
|
||||||
|
path_glob = callPackage ../development/ocaml-modules/path_glob { };
|
||||||
|
|
||||||
pbkdf = callPackage ../development/ocaml-modules/pbkdf { };
|
pbkdf = callPackage ../development/ocaml-modules/pbkdf { };
|
||||||
|
|
||||||
pcap-format = callPackage ../development/ocaml-modules/pcap-format { };
|
pcap-format = callPackage ../development/ocaml-modules/pcap-format { };
|
||||||
|
|
|
@ -391,6 +391,8 @@ in {
|
||||||
|
|
||||||
androguard = callPackage ../development/python-modules/androguard { };
|
androguard = callPackage ../development/python-modules/androguard { };
|
||||||
|
|
||||||
|
angr = callPackage ../development/python-modules/angr { };
|
||||||
|
|
||||||
aniso8601 = callPackage ../development/python-modules/aniso8601 { };
|
aniso8601 = callPackage ../development/python-modules/aniso8601 { };
|
||||||
|
|
||||||
annexremote = callPackage ../development/python-modules/annexremote { };
|
annexremote = callPackage ../development/python-modules/annexremote { };
|
||||||
|
@ -1341,6 +1343,8 @@ in {
|
||||||
|
|
||||||
cld2-cffi = callPackage ../development/python-modules/cld2-cffi { };
|
cld2-cffi = callPackage ../development/python-modules/cld2-cffi { };
|
||||||
|
|
||||||
|
cle = callPackage ../development/python-modules/cle { };
|
||||||
|
|
||||||
cleo = callPackage ../development/python-modules/cleo { };
|
cleo = callPackage ../development/python-modules/cleo { };
|
||||||
|
|
||||||
clevercsv = callPackage ../development/python-modules/clevercsv { };
|
clevercsv = callPackage ../development/python-modules/clevercsv { };
|
||||||
|
@ -6669,6 +6673,8 @@ in {
|
||||||
|
|
||||||
pyx = callPackage ../development/python-modules/pyx { };
|
pyx = callPackage ../development/python-modules/pyx { };
|
||||||
|
|
||||||
|
pyxbe = callPackage ../development/python-modules/pyxbe { };
|
||||||
|
|
||||||
pyxdg = callPackage ../development/python-modules/pyxdg { };
|
pyxdg = callPackage ../development/python-modules/pyxdg { };
|
||||||
|
|
||||||
pyxeoma = callPackage ../development/python-modules/pyxeoma { };
|
pyxeoma = callPackage ../development/python-modules/pyxeoma { };
|
||||||
|
|
Loading…
Reference in New Issue