diff options
-rw-r--r-- | lib/maintainers.nix | 3 | ||||
-rw-r--r-- | nixos/modules/virtualisation/container-config.nix | 2 | ||||
-rw-r--r-- | pkgs/applications/graphics/goxel/default.nix | 33 | ||||
-rw-r--r-- | pkgs/applications/science/biology/muscle/default.nix | 35 | ||||
-rw-r--r-- | pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch | 21 | ||||
-rw-r--r-- | pkgs/development/libraries/libpinyin/default.nix | 9 | ||||
-rw-r--r-- | pkgs/development/tools/build-managers/dub/default.nix | 16 | ||||
-rw-r--r-- | pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix | 17 | ||||
-rw-r--r-- | pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix | 8 | ||||
-rw-r--r-- | pkgs/tools/inputmethods/fcitx/unwrapped.nix | 71 | ||||
-rw-r--r-- | pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/misc/flameshot/default.nix | 39 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 8 |
13 files changed, 234 insertions, 32 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix index ba5ee757a7cd..ed3fcd819519 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -610,6 +610,7 @@ schmitthenner = "Fabian Schmitthenner <development@schmitthenner.eu>"; schneefux = "schneefux <schneefux+nixos_pkg@schneefux.xyz>"; schristo = "Scott Christopher <schristopher@konputa.com>"; + scode = "Peter Schuller <peter.schuller@infidyne.com>"; scolobb = "Sergiu Ivanov <sivanov@colimite.fr>"; sdll = "Sasha Illarionov <sasha.delly@gmail.com>"; SeanZicari = "Sean Zicari <sean.zicari@gmail.com>"; @@ -679,6 +680,7 @@ ThomasMader = "Thomas Mader <thomas.mader@gmail.com>"; thoughtpolice = "Austin Seipp <aseipp@pobox.com>"; thpham = "Thomas Pham <thomas.pham@ithings.ch>"; + tilpner = "Till Höppner <till@hoeppner.ws>"; timbertson = "Tim Cuthbertson <tim@gfxmonk.net>"; timokau = "Timo Kaufmann <timokau@zoho.com>"; tiramiseb = "Sébastien Maccagnoni <sebastien@maccagnoni.eu>"; @@ -698,6 +700,7 @@ tvorog = "Marsel Zaripov <marszaripov@gmail.com>"; tweber = "Thorsten Weber <tw+nixpkgs@360vier.de>"; twey = "James ‘Twey’ Kay <twey@twey.co.uk>"; + unode = "Renato Alves <alves.rjc@gmail.com>"; uralbash = "Svintsov Dmitry <root@uralbash.ru>"; utdemir = "Utku Demir <me@utdemir.com>"; #urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>"; inactive since 2012 diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index b4f9d8b6fc17..5e368acd6d8b 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -11,7 +11,7 @@ with lib; services.udisks2.enable = mkDefault false; powerManagement.enable = mkDefault false; - networking.useHostResolvConf = true; + networking.useHostResolvConf = mkDefault true; # Containers should be light-weight, so start sshd on demand. services.openssh.startWhenNeeded = mkDefault true; diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix new file mode 100644 index 000000000000..6fb7182035b6 --- /dev/null +++ b/pkgs/applications/graphics/goxel/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchFromGitHub, scons, pkgconfig, wrapGAppsHook +, glfw3, gtk3, libpng12 }: + +stdenv.mkDerivation rec { + name = "goxel-${version}"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "guillaumechereau"; + repo = "goxel"; + rev = "v${version}"; + sha256 = "1d6waj8zz9iq3ddbi9wbpcnh200ajjy9x53xrj5bij01pb8jwskv"; + }; + + nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ]; + buildInputs = [ glfw3 gtk3 libpng12 ]; + + buildPhase = '' + make release + ''; + + installPhase = '' + install -D ./goxel $out/bin/goxel + ''; + + meta = with stdenv.lib; { + description = "Open Source 3D voxel editor"; + homepage = https://guillaumechereau.github.io/goxel/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ tilpner ]; + }; +} diff --git a/pkgs/applications/science/biology/muscle/default.nix b/pkgs/applications/science/biology/muscle/default.nix new file mode 100644 index 000000000000..9cbabc7ab37e --- /dev/null +++ b/pkgs/applications/science/biology/muscle/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + _name = "muscle"; + name = "${_name}-${version}"; + version = "3.8.31"; + + src = fetchurl { + url = "https://www.drive5.com/muscle/downloads${version}/${_name}${version}_src.tar.gz"; + sha256 = "1b89z0x7h098g99g00nqadgjnb2r5wpi9s11b7ddffqkh9m9dia3"; + }; + + patches = [ + ./muscle-3.8.31-no-static.patch + ]; + + preBuild = '' + cd ./src/ + patchShebangs mk + ''; + + installPhase = '' + install -vD muscle $out/bin/muscle + ''; + + meta = with stdenv.lib; { + description = "A multiple sequence alignment method with reduced time and space complexity"; + license = licenses.publicDomain; + homepage = https://www.drive5.com/muscle/; + maintainers = [ maintainers.unode ]; + # NOTE: Supposed to be compatible with darwin/intel & PPC but currently fails. + # Anyone with access to these platforms is welcome to give it a try + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch b/pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch new file mode 100644 index 000000000000..7f4b2129518d --- /dev/null +++ b/pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch @@ -0,0 +1,21 @@ +--- a/src/mk 2010-05-02 01:15:42.000000000 +0200 ++++ b/src/mk 2018-01-27 17:07:23.539092748 +0100 +@@ -5,14 +5,14 @@ + rm -f *.o muscle.make.stdout.txt muscle.make.stderr.txt + for CPPName in $CPPNames + do +- echo $CPPName >> /dev/tty ++ echo $CPPName + g++ $ENV_GCC_OPTS -c -O3 -msse2 -mfpmath=sse -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 $CPPName.cpp -o $CPPName.o >> muscle.make.stdout.txt 2>> muscle.make.stderr.txt + done + + LINK_OPTS= +-if [ `uname -s` == Linux ] ; then +- LINK_OPTS=-static +-fi ++#if [ `uname -s` == Linux ] ; then ++# LINK_OPTS=-static ++#fi + g++ $LINK_OPTS $ENV_LINK_OPTS -g -o muscle $ObjNames >> muscle.make.stdout.txt 2>> muscle.make.stderr.txt + tail muscle.make.stderr.txt + diff --git a/pkgs/development/libraries/libpinyin/default.nix b/pkgs/development/libraries/libpinyin/default.nix index 15d141990417..26694eb37770 100644 --- a/pkgs/development/libraries/libpinyin/default.nix +++ b/pkgs/development/libraries/libpinyin/default.nix @@ -2,14 +2,13 @@ let modelData = fetchurl { - url = "mirror://sourceforge/libpinyin/models/model12.text.tar.gz"; - sha256 = "1fijhhnjgj8bj1xr5pp7c4qxf11cqybgfqg7v36l3x780d84hfnd"; + url = "mirror://sourceforge/libpinyin/models/model14.text.tar.gz"; + sha256 = "0qqk30nflj07zjhs231c95ln4yj4ipzwxxiwrxazrg4hb8bhypqq"; }; in - stdenv.mkDerivation rec { name = "libpinyin-${version}"; - version = "1.6.0"; + version = "2.1.91"; nativeBuildInputs = [ autoreconfHook glib db pkgconfig ]; @@ -21,7 +20,7 @@ stdenv.mkDerivation rec { owner = "libpinyin"; repo = "libpinyin"; rev = version; - sha256 = "0k40a7wfp8zj9d426afv0am5sr3m2i2p309fq0vf8qrb050hj17f"; + sha256 = "0jbvn65p3zh0573hh27aasd3qly5anyfi8jnps2dxi0my09wbrq3"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix index 15e801c1dffa..8af11f057380 100644 --- a/pkgs/development/tools/build-managers/dub/default.nix +++ b/pkgs/development/tools/build-managers/dub/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchFromGitHub, curl, dmd, libevent, rsync }: +{ stdenv, fetchFromGitHub, fetchpatch, curl, dmd, libevent, rsync }: let dubBuild = stdenv.mkDerivation rec { name = "dubBuild-${version}"; - version = "1.6.0"; + version = "1.7.1"; enableParallelBuilding = true; @@ -12,9 +12,17 @@ let owner = "dlang"; repo = "dub"; rev = "v${version}"; - sha256 = "1xjr5pp263lbcd4harxy1ybh7q0kzj9iyy63ji6pn66fizrgm7zk"; + sha256 = "09bcc9bq2z1rbm8sdip1l81y5p8q13r30k02lzifyasiplrnpvlv"; }; + patches = [ + # TODO Remove with next release which contains https://github.com/dlang/dub/pull/1354 + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/dlang/dub/pull/1354.patch"; + sha256 = "01alky8a91qwjmlnfjbrn8kiivwr69f3j4c84cjlxrzfp1ph20ah"; + }) + ]; + postPatch = '' # Avoid that the version file is overwritten substituteInPlace build.sh \ @@ -59,6 +67,8 @@ let outputHash = builtins.hashString "sha256" inputString; src = dubBuild.src; + + patches = dubBuild.patches; postPatch = dubBuild.postPatch; diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix index 6022bcebc3b2..f2610efd2eb4 100644 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix +++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, cmake, pkgconfig, fcitx, gettext, libpinyin, glib, pcre, dbus, qt4 }: +{ stdenv, fetchurl, cmake, pkgconfig, fcitx, gettext, libpinyin, glib, pcre, dbus, qtwebengine, qtbase, fcitx-qt5 }: stdenv.mkDerivation rec { name = "fcitx-libpinyin-${version}"; - version = "0.3.91"; + version = "0.5.3"; src = fetchurl { url = "http://download.fcitx-im.org/fcitx-libpinyin/${name}.tar.xz"; - sha256 = "19h0p1s8bkw24v7x6v19fg7dqpz2kkjlvvrqhypi5bkkvfswf7xn"; + sha256 = "196c229ckib3xvafkk4n3n3jk9rpksfcjsbbwka6a9k2f34qrjj6"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake fcitx gettext libpinyin glib pcre dbus qt4 ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ fcitx-qt5 qtbase qtwebengine.dev cmake fcitx gettext libpinyin glib pcre dbus ]; preInstall = '' substituteInPlace src/cmake_install.cmake \ @@ -24,13 +24,14 @@ stdenv.mkDerivation rec { ''; preBuild = let + ZHUYIN_DATA_FILE_NAME = "model.text.20161206.tar.gz"; store_path = fetchurl { - url = https://download.fcitx-im.org/data/model.text.20130308.tar.gz; - sha256 = "0s8sazix29z1ilxmkw2f0bv6i349awd89ibylf9ixy615s1vb5a5"; + url = "https://download.fcitx-im.org/data/${ZHUYIN_DATA_FILE_NAME}"; + sha256 = "017p11si1b7bkwx36xaybq5a9icq1pd7x1jbymqw92akfgjj8w2w"; }; in '' - cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/model.text.20130308.tar.gz + cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/${ZHUYIN_DATA_FILE_NAME} ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix index b0da0034ef96..7617d544d296 100644 --- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix +++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "fcitx-qt5-${version}"; - version = "1.1.0"; + version = "1.2.1"; src = fetchurl { url = "http://download.fcitx-im.org/fcitx-qt5/${name}.tar.xz"; - sha256 = "0r8c5k0qin3mz2p1mdciip6my0x58662sx5z50zs4c5pkdg21qwv"; + sha256 = "0z8ax0dxk88byic41mfaiahjdv1k8ciwn97xfjkkgr4ijgscdr8c"; }; nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ]; @@ -16,10 +16,12 @@ stdenv.mkDerivation rec { preInstall = '' substituteInPlace platforminputcontext/cmake_install.cmake \ --replace ${qtbase.out} $out + substituteInPlace quickphrase-editor/cmake_install.cmake \ + --replace ${fcitx} $out ''; meta = with stdenv.lib; { - homepage = "https://github.com/fcitx/fcitx-qt5"; + homepage = http://github.com/fcitx/fcitx-qt5; description = "Qt5 IM Module for Fcitx"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/pkgs/tools/inputmethods/fcitx/unwrapped.nix index c489b3e4ed74..27eb35ce6ae5 100644 --- a/pkgs/tools/inputmethods/fcitx/unwrapped.nix +++ b/pkgs/tools/inputmethods/fcitx/unwrapped.nix @@ -2,27 +2,75 @@ , libxml2, enchant, isocodes, icu, libpthreadstubs , pango, cairo, libxkbfile, libXau, libXdmcp, libxkbcommon , dbus, gtk2, gtk3, qt4, extra-cmake-modules +, xkeyboard_config, pcre, libuuid, curl, cacert +, withPinyin ? true +, fetchFromGitHub }: +let + # releases at http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz + # contains all data but if we want to compile from source, we need to + # fetch them ourselves + # to update the urls and where to unpack these, look into the + # src/module/*/data/CMakeLists.txt files + # fcitx_download tgt_name url output) + dicts = let SPELL_EN_DICT_VER="20121020"; in fetchurl { + url = "http://download.fcitx-im.org/data/en_dict-${SPELL_EN_DICT_VER}.tar.gz"; + sha256 = "1svcb97sq7nrywp5f2ws57cqvlic8j6p811d9ngflplj8xw5sjn4"; + }; + table = fetchurl { + url = http://download.fcitx-im.org/data/table.tar.gz; + sha256 = "1dw7mgbaidv3vqy0sh8dbfv8631d2zwv5mlb7npf69a1f8y0b5k1"; + }; + pystroke-data = let PY_STROKE_VER="20121124"; in fetchurl { + url = "http://download.fcitx-im.org/data/py_stroke-${PY_STROKE_VER}.tar.gz"; + sha256 = "0j72ckmza5d671n2zg0psg7z9iils4gyxz7jgkk54fd4pyljiccf"; + }; + pytable-data = let PY_TABLE_VER="20121124"; in fetchurl { + url = "http://download.fcitx-im.org/data/py_table-${PY_TABLE_VER}.tar.gz"; + sha256 = "011cg7wssssm6hm564cwkrrnck2zj5rxi7p9z5akvhg6gp4nl522"; + }; + pinyin-data = fetchurl { + url = http://download.fcitx-im.org/data/pinyin.tar.gz; + sha256 = "1qfq5dy4czvd1lvdnxzyaiir9x8b1m46jjny11y0i33m9ar2jf2q"; + }; +in stdenv.mkDerivation rec { name = "fcitx-${version}"; - version = "4.2.9.1"; + version = "4.2.9.5"; - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz"; - sha256 = "0xvcmm4yi7kagf55d0yl3ql5ssbkm9410fwbz3kd988pchichdsk"; + src = fetchFromGitHub { + owner = "fcitx"; + repo = "fcitx"; + rev = version; + sha256 = "0rv69bacdvblka85dakz4ldpznrgwj59nqcccp5mkkn1rab4zh1r"; }; + # put data at the correct locations else cmake tries to fetch them, + # which fails in sandboxed mode + prePatch = '' + cp ${dicts} src/module/spell/dict/$(stripHash ${dicts}) + cp ${table} src/im/table/data/$(stripHash ${table}) + '' + + stdenv.lib.optionalString withPinyin '' + cp ${pystroke-data} src/module/pinyin-enhance/data/$(stripHash ${pystroke-data}) + cp ${pytable-data} src/module/pinyin-enhance/data/$(stripHash ${pytable-data}) + cp ${pinyin-data} src/im/pinyin/data/$(stripHash ${pinyin-data}) + '' + ; + postPatch = '' substituteInPlace src/frontend/qt/CMakeLists.txt \ --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins + + patchShebangs cmake/ ''; - nativeBuildInputs = [ cmake extra-cmake-modules intltool pkgconfig ]; + nativeBuildInputs = [ cmake extra-cmake-modules intltool pkgconfig pcre ]; buildInputs = [ - enchant gettext isocodes icu libpthreadstubs libXau libXdmcp libxkbfile - libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4 + xkeyboard_config enchant gettext isocodes icu libpthreadstubs libXau libXdmcp libxkbfile + libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4 libuuid ]; cmakeFlags = '' @@ -33,10 +81,15 @@ stdenv.mkDerivation rec { -DENABLE_OPENCC=OFF -DENABLE_PRESAGE=OFF -DENABLE_XDGAUTOSTART=OFF - ''; + -DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"} + -DENABLE_TABLE=ON + -DENABLE_SPELL=ON + -DENABLE_QT_GUI=ON + -DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml' + ''; meta = with stdenv.lib; { - homepage = "https://github.com/fcitx/fcitx"; + homepage = http://github.com/fcitx/fcitx; description = "A Flexible Input Method Framework"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix index 6293fa30d7a7..85399bffd3fe 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "ibus-libpinyin-${version}"; - version = "1.8.0"; + version = "1.9.2"; src = fetchFromGitHub { owner = "libpinyin"; repo = "ibus-libpinyin"; rev = version; - sha256 = "1d85kzlhav0ay798i88yqyrjbkv3y7w2aiadpmcjgscyd5ccsnnz"; + sha256 = "067w926gcf0kwwn71yshhjmyzkad0qsdm1dsi2xwz1j633qd4xlb"; }; buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ]; diff --git a/pkgs/tools/misc/flameshot/default.nix b/pkgs/tools/misc/flameshot/default.nix new file mode 100644 index 000000000000..55aa146d301d --- /dev/null +++ b/pkgs/tools/misc/flameshot/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, qtbase, qmake, qttools }: + +stdenv.mkDerivation rec { + name = "flameshot-${version}"; + version = "0.5.0"; + + nativeBuildInputs = [ qmake qttools ]; + buildInputs = [ qtbase ]; + + qmakeFlags = [ + # flameshot.pro assumes qmake is being run in a git checkout and uses it + # to determine the version being built. Let's replace that. + "VERSION=${version}" + "PREFIX=/" + ]; + patchPhase = '' + sed -i 's/VERSION =/#VERSION =/g' flameshot.pro + sed -i 's,USRPATH = /usr/local,USRPATH = /,g' flameshot.pro + ''; + + installFlags = [ "INSTALL_ROOT=$(out)" ]; + + src = fetchFromGitHub { + owner = "lupoDharkael"; + repo = "flameshot"; + rev = "v${version}"; + sha256 = "1fy4il7rdj294l9cs642hx23bry25j9phn37274r2b87hwzy1rrv"; + }; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Powerful yet simple to use screenshot software"; + homepage = https://github.com/lupoDharkael/flameshot; + maintainers = [ maintainers.scode ]; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f4c6cfb105f..7775e5113617 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2107,7 +2107,7 @@ with pkgs; cloudpinyin = callPackage ../tools/inputmethods/fcitx-engines/fcitx-cloudpinyin { }; - libpinyin = callPackage ../tools/inputmethods/fcitx-engines/fcitx-libpinyin { }; + libpinyin = libsForQt5.callPackage ../tools/inputmethods/fcitx-engines/fcitx-libpinyin { }; skk = callPackage ../tools/inputmethods/fcitx-engines/fcitx-skk { }; }; @@ -15081,6 +15081,8 @@ with pkgs; gopherclient = libsForQt5.callPackage ../applications/networking/gopher/gopherclient { }; + goxel = callPackage ../applications/graphics/goxel { }; + gpa = callPackage ../applications/misc/gpa { }; gpicview = callPackage ../applications/graphics/gpicview { @@ -15220,6 +15222,8 @@ with pkgs; flac = callPackage ../applications/audio/flac { }; + flameshot = libsForQt5.callPackage ../tools/misc/flameshot { }; + flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer { debug = config.flashplayer.debug or false; }; @@ -18965,6 +18969,8 @@ with pkgs; kallisto = callPackage ../applications/science/biology/kallisto { }; + muscle = callPackage ../applications/science/biology/muscle/default.nix { }; + neuron = callPackage ../applications/science/biology/neuron { python = null; }; |