Merge branch 'master' into staging-next

This commit is contained in:
Martin Weinelt
2021-04-20 02:06:07 +02:00
committed by GitHub
37 changed files with 1570 additions and 755 deletions
+10
View File
@@ -7241,6 +7241,16 @@
github = "obsidian-systems-maintenance";
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 = {
email = "oliver.dunkl@gmail.com";
github = "odi";
+9
View File
@@ -56,6 +56,15 @@ with lib.maintainers; {
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 = {
members = [ jtojnar worldofpeace ];
scope = "Maintain Freedesktop.org packages for graphical desktop.";
+2 -1
View File
@@ -29,7 +29,7 @@ in
options.i18n = {
inputMethod = {
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;
example = "fcitx";
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>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>kime: Koream IME.</para></listitem>
</itemizedlist>
'';
};
@@ -40,6 +40,11 @@
Hime: An extremely easy-to-use input method framework.
</para>
</listitem>
<listitem>
<para>
Kime: Korean IME
</para>
</listitem>
</itemizedlist>
<section xml:id="module-services-input-methods-ibus">
<title>IBus</title>
@@ -264,6 +269,23 @@ i18n.inputMethod = {
i18n.inputMethod = {
<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>
</section>
</chapter>
+49
View File
@@ -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);
};
}
+1
View File
@@ -92,6 +92,7 @@
./i18n/input-method/ibus.nix
./i18n/input-method/nabi.nix
./i18n/input-method/uim.nix
./i18n/input-method/kime.nix
./installer/tools/tools.nix
./misc/assertions.nix
./misc/crashdump.nix
+38
View File
@@ -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;
};
}
+2 -2
View File
@@ -19,11 +19,11 @@ let
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in stdenv.mkDerivation rec {
pname = "poke";
version = "1.1";
version = "1.2";
src = fetchurl {
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-zWjfY8dBtBYLEsvqAvJ8RxWCeUZuNEOTDSU1pFLAatY=";
hash = "sha256-9hz42ltkwBoTWTc3JarRyiV/NcHJJp5NUN0GZBg932I=";
};
postPatch = ''
@@ -11,16 +11,15 @@ let
in
stdenv.mkDerivation rec {
pname = "brscan4";
version = "0.4.9-1";
version = "0.4.10-1";
src = {
"i686-linux" = fetchurl {
url = "http://download.brother.com/welcome/dlf006646/${pname}-${version}.i386.deb";
sha256 = "0pkg9aqvnkpjnb9cgzf7lxw2g4jqrf2w98irkv22r0gfsfs3nwma";
sha256 = "sha256-ymIAg+rfSYP5uzsAM1hUYZacJ0PXmKEoljNtb0pgGMw=";
};
"x86_64-linux" = fetchurl {
url = "https://download.brother.com/welcome/dlf006645/${pname}-${version}.amd64.deb";
sha256 = "0kakkl8rmsi2yr3f8vd1kk8vsl9g2ijhqil1cvvbwrhwgi0b7ai7";
sha256 = "sha256-Gpr5456MCNpyam3g2qPo7S3aEZFMaUGR8bu7YmRY8xk=";
};
}."${stdenv.hostPlatform.system}";
@@ -33,7 +32,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libusb-compat-0_1 ];
dontBuild = true;
patchPhase = ''
postPatch = ''
${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"}
RPATH=${libusb-compat-0_1.out}/lib
@@ -45,6 +44,7 @@ stdenv.mkDerivation rec {
'';
installPhase = with lib; ''
runHook preInstall
PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
mkdir -p $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
cp -p ${udevRules}/etc/udev/rules.d/*.rules \
$out/etc/udev/rules.d
runHook postInstall
'';
dontStrip = true;
+2 -4
View File
@@ -26,11 +26,11 @@
mkDerivation rec {
pname = "calibre";
version = "5.13.0";
version = "5.16.1";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-GDFAZxZmkio7e7kVjhYqhNdhXIlUPJF0iMWVl0uWVCM=";
hash = "sha256-lTXCW0MGNOezecaGO9c2JGU4ylwpPmBaMXTY3nLNcrE=";
};
patches = [
@@ -62,8 +62,6 @@ mkDerivation rec {
dontUseQmakeConfigure = true;
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config qmake removeReferencesTo ];
buildInputs = [
+91
View File
@@ -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 {
firefox = common rec {
pname = "firefox";
ffversion = "87.0";
ffversion = "88.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "c1c08be2283e7a162c8be2f2647ec2bb85cab592738dc45e4b4ffb72969229cc0019a30782a4cb27f09a13b088c63841071dd202b3543dfba295140a7d6246a4";
sha512 = "f58f44f2f0d0f54eae5ab4fa439205feb8b9209b1bf2ea2ae0c9691e9e583bae2cbd4033edb5bdf4e37eda5b95fca688499bed000fe26ced8ff4bbc49347ce31";
};
meta = {
@@ -32,10 +32,10 @@ rec {
firefox-esr-78 = common rec {
pname = "firefox-esr";
ffversion = "78.9.0esr";
ffversion = "78.10.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "28582fc0a03fb50c0a817deb1083817bb7f2f5d38e98439bf655ed4ee18c83568b3002a59ef76edf357bfb11f55832a221d14130f116aac19d850768fba3ac8b";
sha512 = "5e2cf137dc781855542c29df6152fa74ba749801640ade3cf01487ce993786b87a4f603d25c0af9323e67c7e15c75655523428c1c1426527b8623c7ded9f5946";
};
meta = {
+43
View File
@@ -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,
meson, ninja, pkg-config, scdoc,
wayland, wayland-protocols, libxkbcommon,
cairo, gdk-pixbuf, pam
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, scdoc
, wayland
, wayland-protocols
, libxkbcommon
, cairo
, gdk-pixbuf
, pam
}:
stdenv.mkDerivation rec {
pname = "swaylock-effects";
version = "v1.6-2";
version = "1.6-3";
src = fetchFromGitHub {
owner = "mortie";
repo = "swaylock-effects";
rev = version;
sha256 = "0fs3c4liajgkax0a2pdc7117v1g9k73nv87g3kyv9wsnkfbbz534";
rev = "v${version}";
sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg=";
};
postPatch = ''
@@ -23,7 +32,9 @@ stdenv.mkDerivation rec {
buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
mesonFlags = [
"-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled"
"-Dpam=enabled"
"-Dgdk-pixbuf=enabled"
"-Dman-pages=enabled"
];
meta = with lib; {
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "intel-media-sdk";
version = "20.4.1";
version = "20.5.1";
src = fetchFromGitHub {
owner = "Intel-Media-SDK";
repo = "MediaSDK";
rev = "intel-mediasdk-${version}";
sha256 = "0qnq43qjcmzkn6v2aymzi3kycndk9xw6m5f5g5sz5x53nz556bp0";
sha256 = "0l5m7r8585ycifbbi5i0bs63c9sb8rsmk43ik97mhfl1ivswf1mv";
};
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,
batteries, cmdliner, lwt_ppx, ocaml_lwt, ppx_deriving_yojson,
ppx_tools_versioned, yojson }:
{ lib, fetchurl, ocaml, buildDunePackage
, cmdliner, dap, fmt, iter, logs, lru, lwt_ppx, lwt_react, menhir, path_glob, ppx_deriving_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}"
else
buildDunePackage rec {
pname = "earlybird";
version = "0.1.5";
version = "1.1.0";
useDune2 = true;
minimumOCamlVersion = "4.04";
minimumOCamlVersion = "4.11";
src = fetchurl {
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 = {
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 {
pname = "ailment";
version = "9.0.5903";
version = "9.0.6281";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-75Ul9JfMFYv3AfBlgmer6IDyfgOAS4AdXexznoxi35Y=";
sha256 = "sha256-IFUGtTO+DY8FIxLgvmwM/y/RQr42T9sABPpnJMILkqg=";
};
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 {
pname = "archinfo";
version = "9.0.5903";
version = "9.0.6281";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4e+ZGIt/ouZj5rsmaVxUrz8gAq4Yq2+Qx4jdOojB4Sw=";
sha256 = "sha256-ZO2P53RdR3cYhDbtrdGJnadFZgKkBdDi5gR/CB7YTpI=";
};
checkInputs = [
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "claripy";
version = "9.0.5903";
version = "9.0.6281";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-NIKWUx1VT5TjnuqppuT6VzwNRwcBLc0xI5k3F2Nmj8A=";
sha256 = "sha256-gvo8I6LQRAEUa7QiV5Sugrt+e2SmGkkKfsGn/IKz+Mk=";
};
# 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
, archinfo
, bitstring
, fetchPypi
, cffi
, buildPythonPackage
, cffi
, fetchPypi
, future
, pycparser
}:
@@ -26,6 +26,11 @@ buildPythonPackage rec {
pycparser
];
postPatch = ''
substituteInPlace pyvex_c/Makefile \
--replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc"
'';
# No tests are available on PyPI, GitHub release has tests
# Switch to GitHub release after all angr parts are present
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 ];
})
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gopls";
version = "0.6.2";
version = "0.6.10";
src = fetchgit {
rev = "gopls/v${version}";
url = "https://go.googlesource.com/tools";
sha256 = "0hbfxdsbfz044vw8zp223ni6m7gcwqpff4xpjiqmihhgga5849lf";
sha256 = "13mv6rvqlmgn1shx0hnlqxgqiiiz1ij37j30jz1jkr9kcrbxpacr";
};
modRoot = "gopls";
vendorSha256 = "0r9bffgi9ainqrl4kraqy71rgwdfcbqmv3srs12h3xvj0w5ya5rz";
vendorSha256 = "01apsvkds8f3m88inb37z4lgalrbjp12xr2jikwx7n10hjddgbqi";
doCheck = false;
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-crev";
version = "0.19.1";
version = "0.19.2";
src = fetchFromGitHub {
owner = "crev-dev";
repo = "cargo-crev";
rev = "v${version}";
sha256 = "sha256-/TROCaguzIdXnkQ4BpVR1W14ppGODGQ0MQAjJExMGVw=";
sha256 = "sha256-aqvdAljAJsYtmxz/WtMrrnmJJRXDpqDjUn1LusoM8ns=";
};
cargoSha256 = "sha256-3uIf6vyeDeww8+dqrzOG4J/T9QbXAnKQKXRbeujeqSo=";
cargoSha256 = "sha256-KwnZmehh0vdR1eSPBrY6yHJR6r7mhIEgfN4soEBDTjU=";
nativeBuildInputs = [ perl pkg-config ];
+3 -3
View File
@@ -33,14 +33,14 @@ let
in env.mkDerivation rec {
pname = "katago";
version = "1.8.1";
githash = "73bc3e38b3490cbe00179c9c37f5385dfd60c6bc";
version = "1.8.2";
githash = "b846bddd88fbc5353e4a93fa514f6cbf45358362";
src = fetchFromGitHub {
owner = "lightvector";
repo = "katago";
rev = "v${version}";
sha256 = "sha256-Rj6fgj1ZQgYhz6TrZk5b8dCMsCPk5N3qN3kgqV+UEDc=";
sha256 = "sha256-kL+y2rsEiC5GGDlWrbzxlJvLxHDCuvVT6CDOlUtXpDk=";
};
fakegit = writeShellScriptBin "git" "echo ${githash}";
+115
View File
@@ -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 ];
};
}
+7 -1
View File
@@ -136,6 +136,13 @@ in buildFHSUserEnv rec {
libbsd
alsaLib
# Loop Hero
libidn2
libpsl
nghttp2.lib
openssl_1_1
rtmpdump
# needed by getcap for vr startup
libcap
@@ -202,7 +209,6 @@ in buildFHSUserEnv rec {
SDL
SDL2_image
glew110
openssl
libidn
tbb
wayland
+319 -314
View File
@@ -1,146 +1,91 @@
{ lib
, stdenv
, python
, cmake
, meson
, vim
, ruby
, which
, fetchFromGitHub
, fetchurl
, fetchpatch
, llvmPackages
, rustPlatform
# nixpkgs functions
, buildGoModule
, pkg-config
, curl
, openssl
, libgit2
, libiconv
, xkb-switch
, fzf
, skim
, stylish-haskell
, buildVimPluginFrom2Nix
, fetchFromGitHub
, fetchpatch
, fetchurl
, substituteAll
# Language dependencies
, python
, 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
, cmake
, icu
, ncurses
, ycmd
, rake
, gobject-introspection
, glib
, wrapGAppsHook
, substituteAll
, languagetool
, tabnine
, Cocoa
# LanguageClient-neovim dependencies
, CoreFoundation
, CoreServices
, buildVimPluginFrom2Nix
, nodePackages
, dasht
, sqlite
, code-minimap
# sved dependencies
, glib
, gobject-introspection
, wrapGAppsHook
# deoplete-khard dependency
, khard
# vim-clap dependencies
, curl
, libgit2
, libiconv
, openssl
, pkg-config
# vim-go dependencies
# vim-go dependencies
, asmfmt
, delve
, errcheck
, godef
, golint
, gomodifytags
, gotags
, gotools
, go-motion
, gnused
, reftools
, gogetdoc
, golangci-lint
, impl
, iferr
, go-motion
, go-tools
, gocode
, gocode-gomod
, go-tools
, godef
, gogetdoc
, golangci-lint
, golint
, gomodifytags
, gopls
# direnv-vim dependencies
, direnv
# vCoolor dependency
, gnome3
# fruzzy dependency
, nim
, gotags
, gotools
, iferr
, impl
, reftools
}:
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: {
# 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++).
@@ -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: {
preFixup = ''
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: {
buildInputs = [
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: {
passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
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: {
configurePhase = "cd plugins/nvim";
});
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 ];
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;
};
});
vim-gist = super.vim-gist.overrideAttrs (old: {
dependencies = with super; [ webapi-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/'"
'';
};
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: {
preFixup = ''
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: {
dependencies = with super; [ nvim-yarp ];
});
@@ -336,14 +364,16 @@ self: super: {
dependencies = with super; [ popfix ];
});
fzf-vim = super.fzf-vim.overrideAttrs (old: {
dependencies = [ self.fzfWrapper ];
});
onehalf = super.onehalf.overrideAttrs (old: {
configurePhase = "cd vim";
});
skim = buildVimPluginFrom2Nix {
pname = "skim";
version = skim.version;
src = skim.vim;
};
skim-vim = super.skim-vim.overrideAttrs (old: {
dependencies = [ self.skim ];
});
@@ -384,30 +414,60 @@ self: super: {
};
});
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 ];
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;
});
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: {
dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
});
@@ -428,6 +488,10 @@ self: super: {
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: {
dependencies = with super; [ vim-addon-other vim-addon-mw-utils ];
});
@@ -467,6 +531,36 @@ self: super: {
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: {
patches = [
# 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: {
# use `:GrammarousCheck` to initialize checking
# In neovim, you also want to use set
@@ -546,16 +644,20 @@ self: super: {
];
});
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;
})
];
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-hier = super.vim-hier.overrideAttrs (old: {
@@ -593,6 +695,13 @@ self: super: {
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: {
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: {
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: {
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
nodePackageNames = [
+113
View File
@@ -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;
};
}
+12
View File
@@ -2542,6 +2542,8 @@ in
gif-for-cli = callPackage ../tools/misc/gif-for-cli { };
giph = callPackage ../applications/video/giph { };
gir-rs = callPackage ../development/tools/gir { };
gist = callPackage ../tools/text/gist { };
@@ -2667,6 +2669,8 @@ in
jellyfin-mpv-shim = python3Packages.callPackage ../applications/video/jellyfin-mpv-shim { };
jiten = callPackage ../applications/misc/jiten { };
jotta-cli = callPackage ../applications/misc/jotta-cli { };
joycond = callPackage ../os-specific/linux/joycond { };
@@ -2759,6 +2763,8 @@ in
meritous = callPackage ../games/meritous { };
oh-my-git = callPackage ../games/oh-my-git { };
opendune = callPackage ../games/opendune { };
merriweather = callPackage ../data/fonts/merriweather { };
@@ -3465,6 +3471,8 @@ in
gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { };
kime = callPackage ../tools/inputmethods/kime { };
libpinyin = callPackage ../development/libraries/libpinyin { };
libskk = callPackage ../development/libraries/libskk {
@@ -5047,6 +5055,8 @@ in
godot = callPackage ../development/tools/godot {};
godot-export-templates = callPackage ../development/tools/godot/export-templates.nix { };
godot-headless = callPackage ../development/tools/godot/headless.nix { };
godot-server = callPackage ../development/tools/godot/server.nix { };
@@ -25111,6 +25121,8 @@ in
pamixer = callPackage ../applications/audio/pamixer { };
myxer = callPackage ../applications/audio/myxer { };
ncpamixer = callPackage ../applications/audio/ncpamixer { };
pan = callPackage ../applications/networking/newsreaders/pan { };
+4
View File
@@ -236,6 +236,8 @@ let
ctypes = callPackage ../development/ocaml-modules/ctypes { };
dap = callPackage ../development/ocaml-modules/dap { };
decompress = callPackage ../development/ocaml-modules/decompress { };
diet = callPackage ../development/ocaml-modules/diet { };
@@ -930,6 +932,8 @@ let
parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
path_glob = callPackage ../development/ocaml-modules/path_glob { };
pbkdf = callPackage ../development/ocaml-modules/pbkdf { };
pcap-format = callPackage ../development/ocaml-modules/pcap-format { };
+6
View File
@@ -391,6 +391,8 @@ in {
androguard = callPackage ../development/python-modules/androguard { };
angr = callPackage ../development/python-modules/angr { };
aniso8601 = callPackage ../development/python-modules/aniso8601 { };
annexremote = callPackage ../development/python-modules/annexremote { };
@@ -1341,6 +1343,8 @@ in {
cld2-cffi = callPackage ../development/python-modules/cld2-cffi { };
cle = callPackage ../development/python-modules/cle { };
cleo = callPackage ../development/python-modules/cleo { };
clevercsv = callPackage ../development/python-modules/clevercsv { };
@@ -6669,6 +6673,8 @@ in {
pyx = callPackage ../development/python-modules/pyx { };
pyxbe = callPackage ../development/python-modules/pyxbe { };
pyxdg = callPackage ../development/python-modules/pyxdg { };
pyxeoma = callPackage ../development/python-modules/pyxeoma { };