diff options
45 files changed, 613 insertions, 469 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8824472bfdf4..196b19ffc0f5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7197,6 +7197,12 @@ githubId = 13000278; name = "Maksim Bronsky"; }; + PlushBeaver = { + name = "Dmitry Kozlyuk"; + email = "dmitry.kozliuk+nixpkgs@gmail.com"; + github = "PlushBeaver"; + githubId = 8988269; + }; pmahoney = { email = "pat@polycrystal.org"; github = "pmahoney"; diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix index 3c7cd729c60a..80ec3126ca54 100644 --- a/nixos/modules/config/xdg/portal.nix +++ b/nixos/modules/config/xdg/portal.nix @@ -62,7 +62,7 @@ with lib; services.dbus.packages = packages; systemd.packages = packages; - environment.variables = { + environment.sessionVariables = { GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1"; XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals"; }; diff --git a/pkgs/applications/audio/hivelytracker/default.nix b/pkgs/applications/audio/hivelytracker/default.nix new file mode 100644 index 000000000000..4cf20e3c8985 --- /dev/null +++ b/pkgs/applications/audio/hivelytracker/default.nix @@ -0,0 +1,89 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, makeWrapper +, SDL +, SDL_image +, SDL_ttf +, gtk2 +, glib +}: + +stdenv.mkDerivation rec { + pname = "hivelytracker"; + version = "unstable-2020-08-19"; + + src = fetchFromGitHub { + owner = "pete-gordon"; + repo = "hivelytracker"; + rev = "c8e3c7a5ee9f4a07cb4a941caecf7e4c4f4d40e0"; + sha256 = "1nqianlf1msir6wqwapi7ys1vbmf6aik58wa54b6cn5v6kwxh75a"; + }; + + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + + buildInputs = [ + SDL + SDL_image + SDL_ttf + gtk2 + glib + ]; + + makeFlags = [ + "-C sdl" + "-f Makefile.linux" + "PREFIX=$(out)" + ]; + + # TODO: try to exclude gtk and glib from darwin builds + NIX_CFLAGS_COMPILE = [ + "-I${SDL}/include/SDL" + "-I${SDL_image}/include/SDL" + "-I${SDL_ttf}/include/SDL" + "-I${gtk2.dev}/include/gtk-2.0" + "-I${glib.dev}/include/glib-2.0" + ]; + + # Also build the hvl2wav tool + postBuild = '' + make -C hvl2wav + ''; + + postInstall = '' + # https://github.com/pete-gordon/hivelytracker/issues/43 + # Ideally we should patch the sources, but the program can't open + # files passed as arguments anyway, so this works well enough until the + # issue is fixed. + wrapProgram $out/bin/hivelytracker \ + --run "cd $out/share/hivelytracker" + + # Also install the hvl2wav tool + install -Dm755 hvl2wav/hvl2wav $out/bin/hvl2wav + ''; + + meta = with lib; { + homepage = "http://www.hivelytracker.co.uk/"; + downloadPage = "http://www.hivelytracker.co.uk/downl.php"; + description = "Chip music tracker based upon the AHX format"; + longDescription = '' + Hively Tracker is a tracker program based upon the AHX format created in + the mid '90s by Dexter and Pink of Abyss. The format was relatively + popular, and many songs were created and used in scene productions and + games. AHX was designed to create a very SID-like sound on the Amiga. + + HivelyTracker can import and export modules and instruments in the AHX + format, but it also improves on AHX in several ways and therefore has + its own instrument and module formats. + ''; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = with maintainers; [ fgaz ]; + broken = stdenv.isDarwin; # TODO: try to use xcbuild + }; +} + diff --git a/pkgs/applications/audio/mopidy/tunein.nix b/pkgs/applications/audio/mopidy/tunein.nix index 776b4a0afb54..d8a6d6eacca6 100644 --- a/pkgs/applications/audio/mopidy/tunein.nix +++ b/pkgs/applications/audio/mopidy/tunein.nix @@ -2,12 +2,12 @@ python3Packages.buildPythonApplication rec { pname = "mopidy-tunein"; - version = "1.0.2"; + version = "1.1.0"; src = python3Packages.fetchPypi { inherit version; pname = "Mopidy-TuneIn"; - sha256 = "1mvfhka8wi835yk9869yn3b6mdkfwqkylp14vpjkbm42d0kj4lkc"; + sha256 = "01y1asylscr73yqx071imhrzfzlg07wmqqzkdvpgm6r35marc2li"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix index 5784e7d50a43..8a5f4cf4b3a4 100644 --- a/pkgs/applications/editors/codeblocks/default.nix +++ b/pkgs/applications/editors/codeblocks/default.nix @@ -1,21 +1,21 @@ -{ lib, stdenv, fetchurl, autoreconfHook, libtool, pkg-config, file, zip, wxGTK, gtk2 -, contribPlugins ? false, hunspell, gamin, boost +{ lib, stdenv, fetchurl, pkg-config, file, zip, wxGTK30-gtk3, gtk3 +, contribPlugins ? false, hunspell, gamin, boost, wrapGAppsHook }: with lib; stdenv.mkDerivation rec { name = "${pname}-${lib.optionalString contribPlugins "full-"}${version}"; - version = "17.12"; + version = "20.03"; pname = "codeblocks"; src = fetchurl { - url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.xz"; - sha256 = "1q2pph7md1p10i83rir2l4gvy7ym2iw8w6sk5vl995knf851m20k"; + url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks-${version}.tar.xz"; + sha256 = "1idaksw1vacmm83krxh5zlb12kad3dkz9ixh70glw1gaibib7vhm"; }; - nativeBuildInputs = [ autoreconfHook pkg-config libtool file zip ]; - buildInputs = [ wxGTK gtk2 ] + nativeBuildInputs = [ pkg-config file zip wrapGAppsHook ]; + buildInputs = [ wxGTK30-gtk3 gtk3 ] ++ optionals contribPlugins [ hunspell gamin boost ]; enableParallelBuilding = true; patches = [ ./writable-projects.patch ]; diff --git a/pkgs/applications/misc/deadd-notification-center/default.nix b/pkgs/applications/misc/deadd-notification-center/default.nix index 8414e02eb889..35627b28d154 100644 --- a/pkgs/applications/misc/deadd-notification-center/default.nix +++ b/pkgs/applications/misc/deadd-notification-center/default.nix @@ -1,44 +1,46 @@ -{ lib, stdenv -, fetchurl +{ lib +, stdenv +, fetchFromGitHub , autoPatchelfHook +, wrapGAppsHook +, hicolor-icon-theme , gtk3 , gobject-introspection , libxml2 }: - -let - version = "1.7.2"; - - dbusService = fetchurl { - url = "https://github.com/phuhl/linux_notification_center/raw/${version}/com.ph-uhl.deadd.notification.service.in"; - sha256 = "0jvmi1c98hm8x1x7kw9ws0nbf4y56yy44c3bqm6rjj4lrm89l83s"; - }; -in stdenv.mkDerivation rec { - inherit version; pname = "deadd-notification-center"; + version = "1.7.3"; - src = fetchurl { - url = "https://github.com/phuhl/linux_notification_center/releases/download/${version}/${pname}"; - sha256 = "13f15slkjiw2n5dnqj13dprhqm3nf1k11jqaqda379yhgygyp9zm"; + src = fetchFromGitHub { + owner = "phuhl"; + repo = "linux_notification_center"; + rev = version; + sha256 = "QaOLrtlhQyhMOirk6JO1yMGRrgycHmF9FAdKNbN2TRk="; }; dontUnpack = true; - nativeBuildInputs = [ autoPatchelfHook ]; + nativeBuildInputs = [ + autoPatchelfHook + wrapGAppsHook + ]; buildInputs = [ gtk3 gobject-introspection libxml2 + hicolor-icon-theme ]; installPhase = '' mkdir -p $out/bin $out/share/dbus-1/services - cp $src $out/bin/deadd-notification-center - chmod +x $out/bin/deadd-notification-center - sed "s|##PREFIX##|$out|g" ${dbusService} > $out/share/dbus-1/services/com.ph-uhl.deadd.notification.service + cp $src/.out/${pname} $out/bin/ + chmod +x $out/bin/${pname} + + sed "s|##PREFIX##|$out|g" $src/${pname}.service.in > \ + $out/share/dbus-1/services/com.ph-uhl.deadd.notification.service ''; meta = with lib; { diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index adafe8801f39..ed1b31559f53 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "gpxsee"; - version = "8.0"; + version = "8.2"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "01ggakpzmiwkqdzc9xqc93xmynd53kzpwl99q3l9z2hpqyzlnj2a"; + sha256 = "05wn4kmvsswwd2q2pffxbplb38capwv7iddsghix3r5zds13142z"; }; patches = (substituteAll { diff --git a/pkgs/applications/misc/signumone-ks/default.nix b/pkgs/applications/misc/signumone-ks/default.nix index 144f725e2ef0..aeea3ff5daa3 100644 --- a/pkgs/applications/misc/signumone-ks/default.nix +++ b/pkgs/applications/misc/signumone-ks/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "signumone-ks"; - version = "3.1.2"; + version = "3.1.3"; src = fetchurl { url = "https://cdn-dist.signum.one/${version}/${pname}-${version}.deb"; - sha256 = "4efd80e61619ccf26df1292194fcec68eb14d77dfcf0a1a673da4cf5bf41f4b7"; + sha256 = "00wlya3kb6qac2crflm86km9r48r29bvngjq1wgzj9w2xv0q32b9"; }; # Necessary to avoid using multiple ffmpeg and gtk libs diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix index a97bf509fe46..f38e3135ecb4 100644 --- a/pkgs/applications/networking/cluster/kube3d/default.nix +++ b/pkgs/applications/networking/cluster/kube3d/default.nix @@ -1,7 +1,7 @@ { lib, buildGoModule, fetchFromGitHub, installShellFiles }: let - k3sVersion = "1.19.4-k3s1"; + k3sVersion = "1.20.0-k3s2"; in buildGoModule rec { pname = "kube3d"; diff --git a/pkgs/applications/networking/gmailctl/default.nix b/pkgs/applications/networking/gmailctl/default.nix index 30a25dc9f70d..1dfd1f62fb01 100644 --- a/pkgs/applications/networking/gmailctl/default.nix +++ b/pkgs/applications/networking/gmailctl/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "gmailctl"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "mbrt"; repo = "gmailctl"; rev = "v${version}"; - sha256 = "08q4yjfbwlldirf3j5db18l8kn6sf288wd364s50jlcx2ka8w50j"; + sha256 = "sha256-UZzpecW4vW1JYUDCcwDIJXCGjw80fgZC4wvCh0DdE98="; }; - vendorSha256 = "0qp8n7z3vcsbc6safp7i18i0i3r4hy4nidzwl85i981sg12vcg6b"; + vendorSha256 = "sha256-5oVr1qazTzsSNVLvcAsAN8UyrJOeqLjSVinImLOyJlk="; doCheck = false; diff --git a/pkgs/applications/networking/ngadmin/default.nix b/pkgs/applications/networking/ngadmin/default.nix index 718a0970c86b..8392e0583454 100644 --- a/pkgs/applications/networking/ngadmin/default.nix +++ b/pkgs/applications/networking/ngadmin/default.nix @@ -1,17 +1,28 @@ -{ stdenv, lib, fetchgit, autoreconfHook, readline }: +{ stdenv, lib, fetchFromGitHub, autoreconfHook, readline +, withReadline ? true +, enableEmu ? true +, enableSpy ? true +}: stdenv.mkDerivation { pname = "ngadmin"; - version = "unstable-2017-11-17"; + version = "unstable-2020-10-05"; - src = fetchgit { - url = "https://git.netgeek.ovh/c/ngadmin.git"; - rev = "95240c567b5c40129d733cbd76911ba7574e4998"; - sha256 = "052ss82fs8cxk3dqdwlh3r8q9gsm36in2lxdgwj9sljdgwg75c34"; + src = fetchFromGitHub { + owner = "Alkorin"; + repo = "ngadmin"; + rev = "5bf8650ce6d465b8cb1e570548819f0cefe9a87d"; + sha256 = "15vixhwqcpbjdxlaznans9w63kwl29mdkds6spvbv2i7l33qnhq4"; }; - nativeBuildInputs = [ autoreconfHook readline ]; + nativeBuildInputs = + [ autoreconfHook ] + ++ lib.optional withReadline readline; enableParallelBuild = true; + configureFlags = with lib; + optional (!withReadline) "--without-readline" + ++ optional enableEmu "--enable-emu" + ++ optional enableSpy "--enable-spy"; meta = with lib; { description = "Netgear switch (NSDP) administration tool"; diff --git a/pkgs/applications/snowmachine/default.nix b/pkgs/applications/snowmachine/default.nix new file mode 100644 index 000000000000..2e05fe0c6439 --- /dev/null +++ b/pkgs/applications/snowmachine/default.nix @@ -0,0 +1,24 @@ +{ buildPythonPackage, lib, click, colorama, fetchPypi, setuptools-git }: + +buildPythonPackage rec { + pname = "snowmachine"; + version = "1.0.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1v385hhxy2a8vx5p0fhn0di8l4qfpb0a86j6nwsg0aw6ngb09qf1"; + }; + + buildInputs = [ setuptools-git ]; + propagatedBuildInputs = [ click colorama ]; + + doCheck = false; + pythonImportsCheck = [ "snowmachine" ]; + + meta = with lib; { + description = "A python script that will make your terminal snow"; + homepage = "http://github.com/sontek/snowmachine"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ djanatyn ]; + }; +} diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix index ac5005254117..bdb4e67f85fe 100644 --- a/pkgs/development/libraries/gperftools/default.nix +++ b/pkgs/development/libraries/gperftools/default.nix @@ -1,11 +1,20 @@ -{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, libunwind }: +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, libunwind +}: stdenv.mkDerivation rec { - name = "gperftools-2.8"; - - src = fetchurl { - url = "https://github.com/gperftools/gperftools/releases/download/${name}/${name}.tar.gz"; - sha256 = "0gjiplvday50x695pwjrysnvm5wfvg2b0gmqf6b4bdi8sv6yl394"; + pname = "gperftools"; + version = "2.8.1"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "${pname}-${version}"; + sha256 = "19bj2vlsbfwq7m826v2ccqg47kd7cb5vcz1yw2x0v5qzhaxbakk1"; }; patches = [ @@ -29,8 +38,6 @@ stdenv.mkDerivation rec { prePatch = lib.optionalString stdenv.isDarwin '' substituteInPlace Makefile.am --replace stdc++ c++ - substituteInPlace Makefile.in --replace stdc++ c++ - substituteInPlace libtool --replace stdc++ c++ ''; NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin diff --git a/pkgs/development/libraries/libjcat/default.nix b/pkgs/development/libraries/libjcat/default.nix index 1eca110f8cb5..a6ad6d4bb649 100644 --- a/pkgs/development/libraries/libjcat/default.nix +++ b/pkgs/development/libraries/libjcat/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { pname = "libjcat"; - version = "0.1.4"; + version = "0.1.5"; outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ]; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { owner = "hughsie"; repo = "libjcat"; rev = version; - sha256 = "156sykcdzdfmd7va59qld4gyzhbf2yk1dfgifi494g6i99zyigfh"; + sha256 = "sha256-xf/hzTzhxKJDL5Way0Qbrs8pXCvAQ+ADtgJO2GbEvmc="; }; patches = [ diff --git a/pkgs/development/python-modules/catboost/default.nix b/pkgs/development/python-modules/catboost/default.nix new file mode 100644 index 000000000000..8c5184240f62 --- /dev/null +++ b/pkgs/development/python-modules/catboost/default.nix @@ -0,0 +1,56 @@ +{ buildPythonPackage, fetchFromGitHub, fetchpatch, lib, pythonOlder +, clang_7, python2 +, graphviz, matplotlib, numpy, pandas, plotly, scipy, six +, withCuda ? false, cudatoolkit }: + +buildPythonPackage rec { + pname = "catboost"; + version = "0.24.4"; + + disabled = pythonOlder "3.4"; + + src = fetchFromGitHub { + owner = "catboost"; + repo = "catboost"; + rev = "v${version}"; + sha256 = "sha256-pzmwEiKziB4ldnKgeCsP2HdnisX8sOkLssAzNfcSEx8="; + }; + + nativeBuildInputs = [ clang_7 python2 ]; + + propagatedBuildInputs = [ graphviz matplotlib numpy pandas scipy plotly six ] + ++ lib.optional withCuda [ cudatoolkit ]; + + patches = [ + ./nix-support.patch + (fetchpatch { + name = "format.patch"; + url = "https://github.com/catboost/catboost/pull/1528/commits/a692ba42e5c0f62e5da82b2f6fccfa77deb3419c.patch"; + sha256 = "sha256-fNGucHxsSDFRLk3hFH7rm+zzTdDpY9/QjRs8K+AzVvo="; + }) + ]; + + preBuild = '' + cd catboost/python-package + ''; + setupPyBuildFlags = [ "--with-ymake=no" ]; + CUDA_ROOT = lib.optional withCuda cudatoolkit; + enableParallelBuilding = true; + + # Tests use custom "ya" tool, not yet supported. + dontUseSetuptoolsCheck = true; + pythonImportsCheck = [ "catboost" ]; + + meta = with lib; { + description = "High-performance library for gradient boosting on decision trees."; + longDescription = '' + A fast, scalable, high performance Gradient Boosting on Decision Trees + library, used for ranking, classification, regression and other machine + learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU. + ''; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + homepage = "https://catboost.ai"; + maintainers = with maintainers; [ PlushBeaver ]; + }; +} diff --git a/pkgs/development/python-modules/catboost/nix-support.patch b/pkgs/development/python-modules/catboost/nix-support.patch new file mode 100644 index 000000000000..feaf97d57070 --- /dev/null +++ b/pkgs/development/python-modules/catboost/nix-support.patch @@ -0,0 +1,181 @@ +diff --git a/catboost/python-package/setup.py b/catboost/python-package/setup.py +index 17f1d8ff14..07da618cd1 100644 +--- a/catboost/python-package/setup.py ++++ b/catboost/python-package/setup.py +@@ -80,7 +80,7 @@ class Helper(object): + self.with_cuda = os.environ.get('CUDA_PATH') or os.environ.get('CUDA_ROOT') or None + self.os_sdk = 'local' + self.with_ymake = True +- self.parallel = None ++ self.parallel = os.environ.get('NIX_BUILD_CORES') or None + + def finalize_options(self): + if os.path.exists(str(self.with_cuda)): +@@ -222,11 +222,12 @@ class build_ext(_build_ext): + + def build_with_make(self, topsrc_dir, build_dir, catboost_ext, put_dir, verbose, dry_run): + logging.info('Buildling {} with gnu make'.format(catboost_ext)) +- makefile = 'python{}.{}CLANG50-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '') ++ makefile = 'python{}.{}CLANG7-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '') + make_cmd = [ + 'make', '-f', '../../make/' + makefile, +- 'CC=clang-5.0', +- 'CXX=clang++-5.0', ++ 'CC=clang', ++ 'CXX=clang++', ++ 'PYTHON=python2', + 'BUILD_ROOT=' + build_dir, + 'SOURCE_ROOT=' + topsrc_dir, + ] +diff --git a/make/python2.CLANG7-LINUX-X86_64.makefile b/make/python2.CLANG7-LINUX-X86_64.makefile +index e54b7078e8..fb7b208af9 100644 +--- a/make/python2.CLANG7-LINUX-X86_64.makefile ++++ b/make/python2.CLANG7-LINUX-X86_64.makefile +@@ -4,33 +4,6 @@ BUILD_ROOT = $(shell pwd) + SOURCE_ROOT = $(shell pwd) + PYTHON = $(shell which python) + +-ifneq ($(MAKECMDGOALS),help) +-define _CC_TEST +-__clang_major__ __clang_minor__ +-endef +- +-_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -) +-$(info _CC_VERSION = '$(_CC_VERSION)') +- +-ifneq '$(_CC_VERSION)' '7 0' +- $(error clang 7.0 is required) +-endif +-endif +- +-ifneq ($(MAKECMDGOALS),help) +-define _CXX_TEST +-__clang_major__ __clang_minor__ +-endef +- +-_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -) +-$(info _CXX_VERSION = '$(_CXX_VERSION)') +- +-ifneq '$(_CXX_VERSION)' '7 0' +- $(error clang 7.0 is required) +-endif +-endif +- +- + all\ + ::\ + $(BUILD_ROOT)/catboost/python-package/catboost/_catboost.so\ +diff --git a/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile b/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile +index 2a22a79b25..522fb54a7c 100644 +--- a/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile ++++ b/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile +@@ -4,33 +4,6 @@ BUILD_ROOT = $(shell pwd) + SOURCE_ROOT = $(shell pwd) + PYTHON = $(shell which python) + +-ifneq ($(MAKECMDGOALS),help) +-define _CC_TEST +-__clang_major__ __clang_minor__ +-endef +- +-_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -) +-$(info _CC_VERSION = '$(_CC_VERSION)') +- +-ifneq '$(_CC_VERSION)' '7 0' +- $(error clang 7.0 is required) +-endif +-endif +- +-ifneq ($(MAKECMDGOALS),help) +-define _CXX_TEST +-__clang_major__ __clang_minor__ +-endef +- +-_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -) +-$(info _CXX_VERSION = '$(_CXX_VERSION)') +- +-ifneq '$(_CXX_VERSION)' '7 0' +- $(error clang 7.0 is required) +-endif +-endif |