diff options
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r-- | pkgs/applications/misc/archiver/default.nix | 6 | ||||
-rw-r--r-- | pkgs/applications/misc/dasel/default.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/misc/elf-dissector/default.nix | 26 | ||||
-rw-r--r-- | pkgs/applications/misc/megasync/default.nix | 36 | ||||
-rw-r--r-- | pkgs/applications/misc/nwg-launchers/default.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/misc/octoprint/m33-fio-one-library.patch | 175 | ||||
-rw-r--r-- | pkgs/applications/misc/octoprint/plugins.nix | 19 | ||||
-rw-r--r-- | pkgs/applications/misc/pass-secret-service/default.nix | 61 | ||||
-rw-r--r-- | pkgs/applications/misc/plater/default.nix | 30 | ||||
-rw-r--r-- | pkgs/applications/misc/wtf/default.nix | 6 | ||||
-rw-r--r-- | pkgs/applications/misc/xautoclick/default.nix | 42 |
11 files changed, 196 insertions, 213 deletions
diff --git a/pkgs/applications/misc/archiver/default.nix b/pkgs/applications/misc/archiver/default.nix index aec0b9d51186b..1691ab0736105 100644 --- a/pkgs/applications/misc/archiver/default.nix +++ b/pkgs/applications/misc/archiver/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "archiver"; - version = "3.4.0"; + version = "3.5.0"; src = fetchFromGitHub { owner = "mholt"; repo = pname; rev = "v${version}"; - sha256 = "16jawybywqfkp68035bnf206a2w4khjw239saa429a21lxrfyk4a"; + sha256 = "0fdkqfs87svpijccz8m11gvby8pvmznq6fs9k94vbzak0kxhw1wg"; }; - vendorSha256 = "0m89ibj3dm58j49d99dhkn0ryivnianxz7lkpkvhs0cdbzzc02az"; + vendorSha256 = "0avnskay23mpl3qkyf1h75rr7szpsxis2bj5pplhwf8q8q0212xf"; buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ]; diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix index ef1279cddfc14..0e5c33c00b5be 100644 --- a/pkgs/applications/misc/dasel/default.nix +++ b/pkgs/applications/misc/dasel/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "dasel"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "TomWright"; repo = pname; rev = "v${version}"; - sha256 = "sha256:11xm47p7n79mq2zkv9q9m5v4a1gga01pkzi2j42gq1ma9hwz4idz"; + sha256 = "sha256-Un9tqODwiWsaw66t2m8NyaDF0+hq/e0tmRFi3/T4LMI="; }; vendorSha256 = "sha256:1552k85z4s6gv7sss7dccv3h8x22j2sr12icp6s7s0a3i4iwyksw"; diff --git a/pkgs/applications/misc/elf-dissector/default.nix b/pkgs/applications/misc/elf-dissector/default.nix new file mode 100644 index 0000000000000..36ceb49d5c4be --- /dev/null +++ b/pkgs/applications/misc/elf-dissector/default.nix @@ -0,0 +1,26 @@ +{ mkDerivation, fetchgit, lib, cmake, extra-cmake-modules, kitemmodels +, libiberty, libelf, libdwarf, libopcodes }: + +mkDerivation rec { + pname = "elf-dissector"; + version = "unstable-2020-11-14"; + + src = fetchgit { + url = "https://invent.kde.org/sdk/elf-dissector.git"; + rev = "d1700e76e3f60aff0a2a9fb63bc001251d2be522"; + sha256 = "1h1xr3ag1sbf005drcx8g8dc5mk7fb2ybs73swrld7clcawhxnk8"; + }; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + + buildInputs = [ kitemmodels libiberty libelf libdwarf libopcodes ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://invent.kde.org/sdk/elf-dissector"; + description = "Tools for inspecting, analyzing and optimizing ELF files"; + license = licenses.gpl2; + maintainers = with maintainers; [ ehmry ]; + }; +} diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix index d5da4c7d773ab..3b25d7e606a65 100644 --- a/pkgs/applications/misc/megasync/default.nix +++ b/pkgs/applications/misc/megasync/default.nix @@ -1,17 +1,40 @@ -{ stdenv, autoconf, automake, c-ares, cryptopp, curl, doxygen, fetchFromGitHub -, fetchpatch, ffmpeg_3, libmediainfo, libraw, libsodium, libtool, libuv, libzen -, lsb-release, mkDerivation, pkgconfig, qtbase, qttools, sqlite, swig, unzip -, wget }: +{ stdenv +, autoconf +, automake +, c-ares +, cryptopp +, curl +, doxygen +, fetchFromGitHub +, fetchpatch +, ffmpeg_3 +, libmediainfo +, libraw +, libsodium +, libtool +, libuv +, libzen +, lsb-release +, mkDerivation +, pkgconfig +, qtbase +, qttools +, qtx11extras +, sqlite +, swig +, unzip +, wget +}: mkDerivation rec { pname = "megasync"; - version = "4.3.1.0"; + version = "4.3.5.0"; src = fetchFromGitHub { owner = "meganz"; repo = "MEGAsync"; rev = "v${version}_Linux"; - sha256 = "0b68wpif8a0wf1vfn1nr19dmz8f31dprb27jpldxrxhyfslc43yj"; + sha256 = "0rr1jjy0n5bj1lh6xi3nbbcikvq69j3r9qnajp4mhywr5izpccvs"; fetchSubmodules = true; }; @@ -29,6 +52,7 @@ mkDerivation rec { libuv libzen qtbase + qtx11extras sqlite unzip wget diff --git a/pkgs/applications/misc/nwg-launchers/default.nix b/pkgs/applications/misc/nwg-launchers/default.nix index d14d4d43e83f0..77eae10293d41 100644 --- a/pkgs/applications/misc/nwg-launchers/default.nix +++ b/pkgs/applications/misc/nwg-launchers/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "nwg-launchers"; - version = "0.4.0"; + version = "0.4.2"; src = fetchFromGitHub { owner = "nwg-piotr"; repo = pname; rev = "v${version}"; - sha256 = "0r0wj4w3jj3l56z1lx6ypkzz4fsgx4vzqbvs95661l8q362pndzw"; + sha256 = "0flp7mwj1pgcwx3k9pzc8pmqlkhbddj0maimdnvlazk87kzxpfd0"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch deleted file mode 100644 index 24c9c4a80f5d1..0000000000000 --- a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 314bcebfcd1759981ce12255be29d8ae68cd400b Mon Sep 17 00:00:00 2001 -From: Nikolay Amiantov <ab@fmap.me> -Date: Wed, 23 Nov 2016 00:40:48 +0300 -Subject: [PATCH] Build and use one version of preprocessor library - ---- - octoprint_m33fio/__init__.py | 73 ++---------------------------------------- - shared library source/Makefile | 62 +++-------------------------------- - 2 files changed, 6 insertions(+), 129 deletions(-) - -diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py -index 054870a..4d5ecc1 100755 ---- a/octoprint_m33fio/__init__.py -+++ b/octoprint_m33fio/__init__.py -@@ -1189,78 +1189,9 @@ class M33FioPlugin( - # Check if using shared library or checking if it is usable - if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable : - -- # Check if running on Linux -- if platform.uname()[0].startswith("Linux") : -- -- # Check if running on a Raspberry Pi 1 -- if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm1176jzf-s.so") -- -- # Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3 -- elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm_cortex-a7.so") -- -- # Otherwise check if running on an ARM7 device -- elif platform.uname()[4].startswith("armv7") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm7.so") -- -- # Otherwise check if using an i386 or x86-64 device -- elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") : -- -- # Check if Python is running as 32-bit -- if platform.architecture()[0].startswith("32") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.so") -- -- # Otherwise check if Python is running as 64-bit -- elif platform.architecture()[0].startswith("64") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.so") -- -- # Otherwise check if running on Windows and using an i386 or x86-64 device -- elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) : -+ # Set shared library -+ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so") - -- # Check if Python is running as 32-bit -- if platform.architecture()[0].startswith("32") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.dll") -- -- # Otherwise check if Python is running as 64-bit -- elif platform.architecture()[0].startswith("64") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dll") -- -- # Otherwise check if running on macOS and using an i386 or x86-64 device -- elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) : -- -- # Check if Python is running as 32-bit -- if platform.architecture()[0].startswith("32") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.dylib") -- -- # Otherwise check if Python is running as 64-bit -- elif platform.architecture()[0].startswith("64") : -- -- # Set shared library -- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dylib") -- -- # Otherwise check if running FreeBSD -- elif platform.uname()[0].startswith("FreeBSD") : -- -- # TODO: Compile FreeBSD shared library pre-processors -- pass -- - # Check if shared library was set - if self.sharedLibrary : - -diff --git a/shared library source/Makefile b/shared library source/Makefile -index 792b4f4..4c74f5c 100755 ---- a/shared library source/Makefile -+++ b/shared library source/Makefile -@@ -1,68 +1,14 @@ --# Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, MACOS32, MACOS64 --LIBRARY_NAME = preprocessor --TARGET_PLATFORM = LINUX64 -+LIBRARY_NAME = libpreprocessor - VER = .1 - --ifeq ($(TARGET_PLATFORM), LINUX32) -- PROG = $(LIBRARY_NAME)_i386.so -- CC = g++ -- CFLAGS = -fPIC -m32 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), LINUX64) -- PROG = $(LIBRARY_NAME)_x86-64.so -- CC = g++ -- CFLAGS = -fPIC -m64 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), WINDOWS32) -- PROG = $(LIBRARY_NAME)_i386.dll -- CC = i686-w64-mingw32-g++ -- CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), WINDOWS64) -- PROG = $(LIBRARY_NAME)_x86-64.dll -- CC = x86_64-w64-mingw32-g++ -- CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), PI) -- PROG = $(LIBRARY_NAME)_arm1176jzf-s.so -- CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -- CFLAGS = -fPIC -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), PI2) -- PROG = $(LIBRARY_NAME)_arm_cortex-a7.so -- CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -- CFLAGS = -fPIC -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), ARM7) -- PROG = $(LIBRARY_NAME)_arm7.so -- CC = /opt/arm-toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -- CFLAGS = -fPIC -mcpu=generic-armv7-a -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ --endif -- --ifeq ($(TARGET_PLATFORM), MACOS32) -- PROG = $(LIBRARY_NAME)_i386.dylib -- CC = clang++ -- CFLAGS = -fPIC -m32 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER) -- --endif -- --ifeq ($(TARGET_PLATFORM), MACOS64) -- PROG = $(LIBRARY_NAME)_x86-64.dylib -- CC = clang++ -- CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER) --endif -+PROG = $(LIBRARY_NAME).so -+CFLAGS = -fPIC -O3 -Wl,-soname,$(PROG)$(VER) - - SRCS = preprocessor.cpp gcode.cpp vector.cpp - CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared - - all: -- $(CC) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS) -+ $(CXX) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS) - - clean: - rm -f ../octoprint_m33fio/static/libraries/$(PROG) --- -2.14.1 - diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix index 366b3866dfd50..421690f29d465 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -109,6 +109,25 @@ in { }; }; + marlingcodedocumentation = buildPlugin rec { + pname = "MarlinGcodeDocumentation"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "costas-basdekis"; + repo = pname; + rev = "v${version}"; + sha256 = "0vx06w9hqwy0k4r8g67y8gdckfdx7wl8ghfx6hmxc1s8fgkghfkc"; + }; + + meta = with stdenv.lib; { + description = "Displays GCode documentation for Marlin in the Octoprint terminal command line"; + homepage = "https://github.com/costas-basdekis/MarlinGcodeDocumentation"; + license = licenses.agpl3; + maintainers = with maintainers; [ lovesegfault ]; + }; + }; + mqtt = buildPlugin rec { pname = "MQTT"; version = "0.8.7"; diff --git a/pkgs/applications/misc/pass-secret-service/default.nix b/pkgs/applications/misc/pass-secret-service/default.nix new file mode 100644 index 0000000000000..678bc06f8004f --- /dev/null +++ b/pkgs/applications/misc/pass-secret-service/default.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchFromGitHub, python3, dbus, gnupg }: + +python3.pkgs.buildPythonApplication rec { + pname = "pass-secret-service"; + # PyPI has old alpha version. Since then the project has switched from using a + # seemingly abandoned D-Bus package pydbus and started using maintained + # dbus-next. So let's use latest from GitHub. + version = "unstable-2020-04-12"; + + src = fetchFromGitHub { + owner = "mdellweg"; + repo = "pass_secret_service"; + rev = "f6fbca6ac3ccd16bfec407d845ed9257adf74dfa"; + sha256 = "0rm4pbx1fiwds1v7f99khhh7x3inv9yniclwd95mrbgljk3cc6a4"; + }; + + + # Need to specify session.conf file for tests because it won't be found under + # /etc/ in check phase. + postPatch = '' + substituteInPlace Makefile \ + --replace \ + "dbus-run-session" \ + "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf" + ''; + + propagatedBuildInputs = with python3.pkgs; [ + click + cryptography + dbus-next + decorator + pypass + secretstorage + ]; + + checkInputs = + let + ps = python3.pkgs; + in + [ + dbus + gnupg + ps.pytest + ps.pytest-asyncio + ps.pypass + ]; + + checkPhase = '' + runHook preCheck + make test + runHook postCheck + ''; + + meta = { + description = "Libsecret D-Bus API with pass as the backend"; + homepage = "https://github.com/mdellweg/pass_secret_service/"; + license = stdenv.lib.licenses.gpl3Only; + platforms = stdenv.lib.platforms.all; + maintainers = with stdenv.lib.maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/applications/misc/plater/default.nix b/pkgs/applications/misc/plater/default.nix new file mode 100644 index 0000000000000..9d29390870e8c --- /dev/null +++ b/pkgs/applications/misc/plater/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation +, cmake +, fetchFromGitHub +, lib +, libGLU +, qtbase +}: + +mkDerivation rec { + pname = "plater"; + version = "2020-07-30"; + + src = fetchFromGitHub { + owner = "Rhoban"; + repo = "Plater"; + rev = "f8de6d038f95a9edebfcfe142c8e9783697d5b47"; + sha256 = "0r20mbzd16zv1aiadjqdy7z6sp09rr6lgfxhvir4ll3cpakkynr4"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ libGLU qtbase ]; + + meta = with lib; { + description = "3D-printer parts placer and plate generator"; + homepage = "https://github.com/Rhoban/Plater"; + maintainers = with maintainers; [ lovesegfault ]; + platforms = platforms.linux; + license = licenses.cc-by-nc-30; + }; +} diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix index ad8e261cf6863..ad107b644722e 100644 --- a/pkgs/applications/misc/wtf/default.nix +++ b/pkgs/applications/misc/wtf/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "wtf"; - version = "0.33.0"; + version = "0.34.0"; src = fetchFromGitHub { owner = "wtfutil"; repo = pname; rev = "v${version}"; - sha256 = "0dszc3igfvlb6dgf5whyhw72id39lqqmgpd42kyqx5yjf5dw2wg7"; + sha256 = "01zydr1w8byjhxf4xj6z001q4ynq0452cn332ap1l1w0dmx9mxyr"; }; - vendorSha256 = "1wcqk8lfv3jq7dfaj9dj8bzsmq2qislzs1m38gx1hh4jwg1rn2cn"; + vendorSha256 = "1xyai417l8q44b562ssp5qqw04klrhg5397ahr4pc3i30csz8a7a"; doCheck = false; diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix index 4f441d8a9a99e..f259b28131db6 100644 --- a/pkgs/applications/misc/xautoclick/default.nix +++ b/pkgs/applications/misc/xautoclick/default.nix @@ -1,32 +1,30 @@ -{ stdenv, fetchurl, xorg, pkgconfig -, gtkSupport ? true, gtk2 -, qtSupport ? true, qt4 +{ stdenv, fetchFromGitHub, xorg, pkg-config +, cmake, libevdev +, gtkSupport ? true, gtk3, pcre, glib, wrapGAppsHook +, fltkSupport ? true, fltk +, qtSupport ? true, qt5 }: -stdenv.mkDerivation { - version = "0.31"; +stdenv.mkDerivation rec { pname = "xautoclick"; - src = fetchurl { - url = "mirror://sourceforge/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz"; - sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm"; + version = "0.34"; + + src = fetchFromGitHub { + owner = "qarkai"; + repo = "xautoclick"; + rev = "v${version}"; + sha256 = "GN3zI5LQnVmRC0KWffzUTHKrxcqnstiL55hopwTTwpE="; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext ] - ++ stdenv.lib.optionals gtkSupport [ gtk2 ] - ++ stdenv.lib.optionals qtSupport [ qt4 ]; - patchPhase = '' - substituteInPlace configure --replace /usr/X11R6 ${xorg.libX11.dev} - ''; - preConfigure = stdenv.lib.optional qtSupport '' - mkdir .bin - ln -s ${qt4}/bin/moc .bin/moc-qt4 - addToSearchPath PATH .bin - sed -i -e "s@LD=\$_cc@LD=\$_cxx@" configure - ''; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ libevdev xorg.libXtst ] + ++ stdenv.lib.optionals gtkSupport [ gtk3 pcre glib wrapGAppsHook ] + ++ stdenv.lib.optionals fltkSupport [ fltk ] + ++ stdenv.lib.optionals qtSupport [ qt5.qtbase qt5.wrapQtAppsHook ]; meta = with stdenv.lib; { description = "Autoclicker application, which enables you to automatically click the left mousebutton"; - homepage = "http://xautoclick.sourceforge.net"; + homepage = "https://github.com/qarkai/xautoclick"; license = licenses.gpl2; platforms = platforms.linux; }; |