summaryrefslogtreecommitdiff
path: root/gnu/local.mk
AgeCommit message (Collapse)Author
2021-11-25gnu: julia: Allow parallel tests.zimoun
* gnu/packages/julia.scm (julia)[origin]<patches>: New patch. * gnu/packages/patches/julia-allow-parallel-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-24gnu: glib-networking: Work around test failure on 32-bit platforms.Ludovic Courtès
On 32-bit platforms with a 32-bit 'time_t', we'd get this test failure: GLib-Net:ERROR:../glib-networking-2.70.rc/tls/tests/certificate.c:689:test_certificate_not_valid_after: assertion failed (actual_str == EXPECTED_NOT_VALID_AFTER): ("2037-12-31T23:23:23Z" == "2046-07-25T18:13:10Z") This commit includes the workaround implemented upstream. * gnu/packages/patches/glib-networking-32-bit-time.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (glib-networking)[arguments]: New field.
2021-11-24gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions.Josselin Poiret
* gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Add patch. * gnu/local.mk (dist_patch_DATA): List it. * gnu/packages/gnome.scm (gdm): Use it. * gnu/services/xorg.scm (gdm-shepherd-service): Pass GDK_PIXBUF_MODULE_FILE. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-23gnu: libgit2: Reintroduce 1.1.0.Ludovic Courtès
* gnu/packages/version-control.scm (libgit2-1.1): New variable. * gnu/packages/patches/libgit2-mtime-0.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
2021-11-23Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-11-22gnu: guile-git: Patch to support latest libgit2.Maxim Cournoyer
* gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/guile.scm (guile-git)[source]: Use it.
2021-11-22gnu: libgit2: Update to 1.3.0.Maxim Cournoyer
* gnu/packages/patches/libgit2-mtime-0.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it. * gnu/packages/version-control.scm (libgit2): Update to 1.3.0. [source]: Remove patch and simplify snippet. [phases]: Remove trailing #t.
2021-11-22gnu: transmission-remote-gtk: Update to 1.4.2.Ricardo Wurmus
* gnu/packages/bittorrent.scm (transmission-remote-gtk): Update to 1.4.2. [source]: Remove patch. * gnu/packages/patches/transmission-remote-gtk-fix-appstream.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it.
2021-11-22gnu: Move visidata to (gnu packages spreadsheet).Jorge Gomez
See <http://issues.guix.gnu.org/47852>. * gnu/packages/visidata.scm (visidata): Move from here… * gnu/packages/spreadsheet.scm (visidata): …to here. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-11-22gnu: Add sc-im.Jorge Gomez
* gnu/packages/spreadsheet.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-11-22gnu: awesome: Fix build.Mathieu Othacehe
* gnu/packages/patches/awesome-4.3-fno-common.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/wm.scm (awesome)[source]: Use it. [arguments]{set-paths}: Set HOME and XDG_CACHE_HOME variables.
2021-11-21gnu: network-manager: Build with Meson 0.60.Ludovic Courtès
This is another way to address <https://github.com/mesonbuild/meson/issues/9492> as suggested by Nirbheek Chauhan and Paolo Bonzini. * gnu/packages/patches/network-manager-meson.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (network-manager)[source]: Use it. [arguments]: Remove #:meson.
2021-11-21gnu: python-werkzeug: Reintroduce 1.0.1.Ludovic Courtès
* gnu/packages/python-web.scm (python-werkzeug-1.0): New variable. * gnu/packages/patches/python-werkzeug-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
2021-11-21gnu: gdb: Build fix for the Hurd.Jan (janneke) Nieuwenhuizen
This allows (cross-)building gdb-minimal for the Hurd. * gnu/packages/patches/gdb-fix-gnu-nat-build.patch: New file, taken from upstream. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/web.scm (gdb)[inputs]: When building for the Hurd, add it. [arguments]: When building for the Hurd, apply it.
2021-11-20gnu: ocaml-qcheck: Update to 0.18.Julien Lepiller
* gnu/packages/ocaml.scm (ocaml-qcheck): Update to 0.18. * gnu/packages/patches/ocaml-qcheck-fix-test-whitespace.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
2021-11-20gnu: ocaml-ppx-variants-conv: Update to 0.14.2.Julien Lepiller
* gnu/packages/ocaml.scm (ocaml-ppx-variants-conv): Update to 0.14.2. [origin]: Remove patch. * gnu/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it.
2021-11-20gnu: gnome-shell: Update to 41.0.Maxim Cournoyer
* gnu/packages/gnome.scm (gnome-shell): Update to 41.0. [origin]: Remove patches and modules fields. [phases]{pre-check}: Set HOME. * gnu/packages/patches/gnome-shell-disable-test.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it.
2021-11-19gnu: elogind: Revert changes to polkit build time detection.Josselin Poiret
* gnu/packages/patches/elogind-revert-polkit-detection.patch: New file. * gnu/packages/freedesktop.scm (elogind): Use it. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Timothy Sample <samplet@ngyro.com>
2021-11-19gnu: geary: Upgrade to 40.0Vivien Kraus
* gnu/packages/gnome.scm (geary): Upgrade to 40.0. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-19gnu: polkit: Fix elogind configuration.Timothy Sample
* gnu/packages/patches/polkit-configure-elogind.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/polkit.scm (polkit): Use it.
2021-11-18gnu: Add shell2batch.Jacob Hrbek
* gnu/packages/crates-io.scm (shell2batch): New variable. * gnu/packages/patches/rust-shell2batch-lint-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-11-18gnu: xf86-video-nouveau: Use upstream patch for xorg-server 21.1.Josselin Poiret
* gnu/packages/patches/xf86-video-nouveau-fixup-ABI.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/xorg.scm (xf86-video-nouveau): Use it. Signed-off-by: Timothy Sample <samplet@ngyro.com>
2021-11-18gnu: xf86-video-mach64: Patch to build with xorg-server 21.1.Josselin Poiret
* gnu/packages/patches/xf86-video-mach64-bool-to-boolean.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/xorg.scm (xf86-video-mach64): Use it. Signed-off-by: Timothy Sample <samplet@ngyro.com>
2021-11-18gnu: strace: Allow readlink, readlinkat tests to pass.Simon South
Modify the invocation of strace's "readlink" and "readlinkat" tests to prevent them from failing due to an additional system call made by Guix's patched version of glibc. * gnu/packages/linux.scm (strace)[source]: Add patch. [arguments]<#:phases>: Do not disable the "readlink" test now that it can succeed. * gnu/packages/patches/strace-readlink-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-18gnu: gnome-screenshot: Fix build with Meson 0.60.0.Jack Hill
* gnu/packages/patches/gnome-screenshot-meson-0.60.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gnome-screenshot)[patches]: New field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-11-16gnu: aws-checksums: Replace patch.Greg Hogan
* gnu/packages/c.scm (aws-checksums): Replace patch. [arguments]: Fix CMAKE_PREFIX_PATH. [source]: Remove patch. * gnu/packages/patches/aws-checksums-cmake-prefix.patch: Delete file. * gnu/local.mk: Remove it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-event-stream: Replace patch.Greg Hogan
* gnu/packages/c.scm (aws-c-event-stream): Replace patch. [arguments]: Fix CMAKE_PREFIX_PATH. [source]: Remove patch. * gnu/packages/patches/aws-c-event-stream-cmake-prefix.patch: Delete file. * gnu/local.mk: Remove it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-sdk-cpp: Update to 1.9.136.Greg Hogan
* gnu/packages/cpp.scm (aws-sdk-cpp): Update to 1.9.136. [arguments]: Fix CMAKE_PREFIX_PATH. [source]: Remove patches. * gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch, gnu/packages/patches/aws-sdk-cpp-disable-network-tests.patch, gnu/packages/patches/aws-sdk-cpp-disable-werror.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-crt-cpp: Update to 0.17.1.Greg Hogan
* gnu/packages/c.scm (aws-crt-cpp): Update to 0.17.1. [arguments]: Fix CMAKE_PREFIX_PATH, disable network tests. [source]: Remove patches. * gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch, gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch: Delete files. * gnu/local.mk: Remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-mqtt: Replace patch.Greg Hogan
* gnu/packages/c.scm (aws-c-mqtt): Replace patch. [arguments]: Fix CMAKE_PREFIX_PATH. [source]: Remove patch. * gnu/packages/patches/aws-c-mqtt-cmake-prefix.patch: Delete file. * gnu/local.mk: Remove it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-s3: Update to 0.1.26.Greg Hogan
* gnu/packages/c.scm (aws-c-s3): Update to 0.1.26. [arguments]: Fix CMAKE_PREFIX_PATH, disable network tests. [source]: Remove patches. * gnu/packages/patches/aws-c-s3-cmake-prefix.patch, gnu/packages/patches/aws-c-s3-disable-networking-tests.patch: Delete files. * gnu/local.mk: Remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-auth: Update to 0.6.4.Greg Hogan
* gnu/packages/c.scm (aws-c-auth): Update to 0.6.4. [arguments]: Fix CMAKE_PREFIX_PATH, disable network tests. [source]: Add and remove patches. * gnu/packages/patches/aws-c-auth-install-private-headers.patch: New file. * gnu/packages/patches/aws-c-auth-cmake-prefix.patch, gnu/packages/patches/aws-c-auth-disable-networking-tests.patch: Delete files. * gnu/local.mk: Add and remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-compression: Update to 0.2.14.Greg Hogan
* gnu/packages/c.scm (aws-c-compression): Update to 0.2.14. [arguments]: Fix CMAKE_PREFIX_PATH. [source]: Remove patch. * gnu/packages/patches/aws-c-compression-cmake-prefix.patch: Delete file. * gnu/local.mk: Remove it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-http: Update to 0.6.7.Greg Hogan
* gnu/packages/c.scm (aws-c-http): Update to 0.6.7. [arguments]: Fix CMAKE_PREFIX_PATH, disable network tests. [source]: Remove patches. * gnu/packages/patches/aws-c-http-cmake-prefix.patch, gnu/packages/patches/aws-c-http-disable-networking-tests.patch: Delete files. * gnu/local.mk: Remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-cal: Update to 0.5.12.Greg Hogan
* gnu/packages/c.scm (aws-c-cal): Update to 0.5.12. [arguments]: Fix CMAKE_PREFIX_PATH. [source]: Remove patch. * gnu/packages/patches/aws-c-cal-cmake-prefix.patch: Delete file. * gnu/local.mk: Remove it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-16gnu: aws-c-io: Update to 0.10.9.Greg Hogan
* gnu/packages/c.scm (aws-c-io): Update to 0.10.9. [arguments]: Fix CMAKE_PREFIX_PATH, disable network tests. [source]: Remove patches. * gnu/packages/patches/aws-c-io-cmake-prefix.patch, gnu/packages/patches/aws-c-io-disable-networking-tests.patch: Delete files. * gnu/local.mk: Remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-15gnu: Add rust-adblock-0.4.phodina
* gnu/packages/crates-io.scm (rust-adblock-0.4): New variable. * gnu/packages/patches/rust-adblock-ignore-live-tests.patch: New file. * gnu/local.mk: Add patch. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-11-14gnu: gd: Fix long patch filename.Vagrant Cascadian
This fixes the generation of a tarball with "make dist": tar: guix-1.3.0.10365-4c4f9/gnu/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch: file name is too long (max 99); not dumped * gnu/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch: Rename patch to ... * gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch: ... this. * gnu/packages/gd.scm (gd)[source]: Update patch filename. * gnu/local.mk (dist_patch_DATA): Update patch filename.
2021-11-12gnu: evolution: Update to 3.42.1.Maxim Cournoyer
* gnu/packages/gnome.scm (evolution): Update to 3.42.1. Remove trailing #t. [source]: Remove patches. [phases]{adjust-webkitgtk-version}: New phase. * gnu/packages/patches/evolution-CVE-2020-11879.patch: Delete file. * gnu/packages/patches/evolution-printableoptions.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register them.
2021-11-12gnu: evolution-data-server: Update to 3.42.1.Maxim Cournoyer
* gnu/packages/gnome.scm (evolution-data-server): Update to 3.42.1. Delete trailing #t. [origin]: Remove patches. [phases]{adjust-webkitgtk-version}: New phase. * gnu/packages/patches/evolution-data-server-CVE-2020-14928.patch: Likewise. * gnu/packages/patches/evolution-data-server-CVE-2020-16117.patch: Likewise. * gnu/packages/patches/evolution-data-server-libical-compat.patch: Likewise. * gnu/packages/patches/evolution-data-server-locales.patch: Likewise. * gnu/packages/patches/evolution-data-server-printableoptions.patch: Likewise. * gnu/local.mk (dist_patch_DATA): De-register them.
2021-11-12gnu: genimage: Update to 14.Ryan Sundberg
Update genimage from version 11 to 14. A patch is required for the tests due to differences in ext tooling. * gnu/local.mk (dist_patch_DATA): Replace patch reference. * gnu/packages/genimage.scm: Update package source. * gnu/packages/patches/genimage-mke2fs-test.patch: New patch file. * gnu/packages/patches/genimage-signedness.patch: Delete obsolete patch. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-11-11gnu: Add polkit-duktape.Maxim Cournoyer
* gnu/packages/polkit.scm (polkit): Disable a JavaScript related test, somehow triggered in the polkit-duktape build. (polkit-duktape): New variable. * gnu/packages/patches/polkit-use-duktape.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
2021-11-11gnu: Add cling.Maxim Cournoyer
* gnu/packages/cpp.scm (cling): New variable. (llvm-cling): New private variable. (clang-cling): Likewise. * gnu/packages/patches/cling-use-shared-library.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it.
2021-11-11gnu: ldc: Update to 1.27.1.Maxim Cournoyer
* gnu/packages/dlang.scm (ldc-bootstrap): Rename to... (ldc-bootstrap-0.17): ... this. Fix indentation. Disable tests. [phases]: Remove test related patching. {patch-phobos}: Rename to ... {patch-paths}: ... this. [inputs]: Remove llvm-6, which is propagated by clang-6. (ldc-bootstrap-1.12): New variable, based on the previous ldc. [source]: Use the official release tarball. [build-type]: Set the build type to Release. [configure-flags]: Pass the -GNinja configure flag. [phases]{patch-paths}: Override to adjust for changed paths. {build, install}: Override to use ninja. [native-inputs]: Add ld-gold-wrapper. Update llvm to version 11 and use ldc-bootstrap-0.17 as the bootstrapping D compiler. Add ninja. Remove the phobos-src, druntime-src and dmd-testsuite-src source inputs, now included in the official release. (ldc-bootstrap-1.24): Other intermediate variant for bootstrapping purposes. (ldc): Update to 1.27.1. [make-flags]: New argument. [configure-flags]: Adjust. [phases]{fix-compiler-rt-library-discovery}: New phase. {patch-paths-in-tests}: Likewise. {disable-problematic-tests}: Likewise. Compared to before, many GDB tests are reinstated. {set-cc-and-cxx-to-use-clang}: New phase. {tests}: Override. [inputs]: Update clang to version 11. Bootstrap from a stage 1 version of itself. * gnu/packages/patches/ldc-bootstrap-disable-tests.patch: Delete file. * gnu/packages/patches/ldc-disable-phobos-tests.patch: Likewise. * gnu/local.mk: De-register them.
2021-11-11gnu: gdb: Update to 11.1 and remove gdb-9.2.Maxim Cournoyer
* gnu/packages/gdb.scm (gdb-10): Rename to... (gdb-11): ... and update. Update comment about disabled tests. [origin]: Delete patch, integrated upstream. (gdb-9.2): Delete variable, no longer used. (gdb): Set alias to gdb-11. * gnu/packages/patches/gdb-hurd.patch: Delete file. * gnu/packages/patches/gdb-9.2-sim-ppc-fno-common.patch: Likewise. * gnu/local.mk (dist_patch_DATA): De-register them.
2021-11-11gnu: curl: Update to 7.79.1.Maxim Cournoyer
* gnu/packages/curl.scm (curl): Update to 7.79.1. Delete trailing #t. [origin]: Remove the upstream curl-7.77-tls-priority-string.patch patch. * gnu/packages/patches/curl-7.77-tls-priority-string.patch: Delete it. * gnu/local.mk (dist_patch_DATA): De-register it.
2021-11-11gnu: meson: Patch to allow installing to independent prefixes.Maxim Cournoyer
Meson goes to lengths at preventing installation to directories outside of the main installation prefix. This isn't convenient or desirable in Guix; patch it out using a patch maintained by Nix. * gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch: Add patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/build-tools.scm (meson): Use it.
2021-11-11gnu: rust: Bootstrap rust from 1.39.0 and optimize build time.Maxim Cournoyer
Only stage 1 (rather than stage 2) rustc and cargo are built and the installation phase rewritten to not invoke the build tool, which helps to shorten the build time to about 10 minutes per Rust on a fast machine. The total build time should take less than 4h30, down from the current 8 hours on a Ryzen 3900X CPU. * gnu/packages/patches/rust-reproducible-builds.patch: Delete file. * gnu/packages/patches/rustc-1.39.0-src.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it, and un-register rust-reproducible-builds.patch. * gnu/packages/rust.scm (%mrustc-commit): New variable. (%mrustc-source): Update to latest commit. (rust-1.29): Morph into... (rust-1.39): ... this. [source]: Adjust the snippet, patches and patch-flags fields. [inputs]: Replace llvm-7 by llvm (9). [make-flags]: Add the RUSTC_VERSION, MRUSTC_TARGET_VER and OUTDIR_SUF make variables. Remove the RUSTCSRC make variable. [phases]{copy-mrustc-and-patch}: Rename to... {setup-mrustc-sources}: ... this. A symbolic link is created inside the mrustc directory, pointing to the Rust 1.39.0 sources. {patch-makefiles}: Adjust directory. Patch date and git definitions. Edit out the RUSTC_SRC_DL prerequisite. Adjust the patching of a shebang. {patch-cargo-checksums}: Adjust. {configure-cargo-home}: New phase. {configure}: Create and add a 'cc' shim to PATH. {build}: Do not invoke make in parallel mode inside the run_rustc directory. (rust-1.30): Morph into... (rust-1.40): ... this, integrating the changes introduced between 1.30 and 1.40. [modules]: Properly import (guix build cargo-utils). [phases]{add-cc-shim-to-path}: New phase. {configure}: Increase the codegen-units value to 256. {build}: Only build stage 1 rustc and cargo, and group the commands into one invocation. {install}: Manually install the stage 1 build artifacts. {patch-cargo-checksums}: Remove the ad-hoc use-modules, no longer needed. [source]: Adjust. [arguments]: Set validate-runpath? to #f. [phases]{patch-cargo-checksums}: Remove phase. {configure}: Repatriate the jemalloc configuration changes from 1.40. [native-inputs]: Replace the rust-1.29 inputs by rust-1.39. Use regular jemalloc and llvm versions. (rust-1.41)[phases]: Add the patch-cargo-checksums phase. (rust-1.31, rust-1.32, rust-1.33, rust-1.34, rust-1.35, rust-1.36, rust-1.37) (rust-1.38, rust-1.39, rust-1.40): Delete variables. (rust-1.46)[phases]{install}: Group build, test and install commands. (rust-1.47)[phases]{build}: Override to adjust for the relocation of the standard library source directory.
2021-11-11gnu: gcc-5: Fix powerpc64le-linux buildThiago Jung Bauermann
GCC 5 has a misaligned access to a vector pointer which causes a build failure when using GCC 8 and later. Backport upstream fix that was applied on the GCC 6 branch. * gnu/packages/gcc.scm (gcc-5)[source]: Apply gcc-5-fix-powerpc64le-build.patch. * gnu/packages/patches/gcc-5-fix-powerpc64le-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>