aboutsummaryrefslogtreecommitdiff
dnl -*- Autoconf -*- fragment for the C++ daemon.

AC_MSG_CHECKING([whether to build daemon])
AC_MSG_RESULT([$guix_build_daemon])

dnl C++ environment.  This macro must be used unconditionnaly.
AC_PROG_CXX
AM_PROG_AR
AC_LANG([C++])

if test "x$guix_build_daemon" = "xyes"; then

  GUIX_ASSERT_CXX11

  AC_PROG_RANLIB
  AC_CONFIG_HEADERS([nix/config.h])

  dnl Use 64-bit file system calls so that we can support files > 2 GiB.
  AC_SYS_LARGEFILE

  dnl Look for zlib, a required dependency.
  AC_CHECK_LIB([z], [gzdopen], [true],
    [AC_MSG_ERROR([Guix requires zlib.  See http://www.zlib.net/.])])
  AC_CHECK_HEADERS([zlib.h], [true],
    [AC_MSG_ERROR([Guix requires zlib.  See http://www.zlib.net/.])])

  dnl Look for libbz2, an optional dependency.
  AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [HAVE_LIBBZ2=yes], [HAVE_LIBBZ2=no])
  if test "x$HAVE_LIBBZ2" = xyes; then
    AC_CHECK_HEADERS([bzlib.h])
    HAVE_LIBBZ2="$ac_cv_header_bzlib_h"
  fi

  dnl Look for SQLite, a required dependency.
  PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19])

  AC_DEFINE_UNQUOTED([SYSTEM], ["$guix_system"],
    [Guix host system type--i.e., platform and OS kernel tuple.])

  case "$LIBGCRYPT_PREFIX" in
    no)
      LIBGCRYPT_CFLAGS=""
      ;;
    *)
      LIBGCRYPT_CFLAGS="-I$LIBGCRYPT_PREFIX/include"
      ;;
  esac

  case "$LIBGCRYPT_LIBDIR" in
    no | "")
      LIBGCRYPT_LIBS="-lgcrypt"
      ;;
    *)
      LIBGCRYPT_LIBS="-L$LIBGCRYPT_LIBDIR -lgcrypt"
      ;;
  esac

  AC_SUBST([LIBGCRYPT_CFLAGS])
  AC_SUBST([LIBGCRYPT_LIBS])

  save_CFLAGS="$CFLAGS"
  save_LDFLAGS="$LDFLAGS"
  CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
  LDFLAGS="$LDFLAGS $LIBGCRYPT_LDFLAGS"

  have_gcrypt=yes
  AC_CHECK_LIB([gcrypt], [gcry_md_open], [:], [have_gcrypt=no])
  AC_CHECK_HEADER([gcrypt.h], [:], [have_gcrypt=no])
  if test "x$have_gcrypt" != "xyes"; then
    AC_MSG_ERROR([GNU libgcrypt not found; please install it.])
  fi

  CFLAGS="$save_CFLAGS"
  LDFLAGS="$save_LDFLAGS"

  dnl Chroot support.
  AC_CHECK_FUNCS([chroot unshare])
  AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h sys/syscall.h])

  if test "x$ac_cv_func_chroot" != "xyes"; then
    AC_MSG_ERROR(['chroot' function missing, bailing out])
  fi

  dnl lutimes and lchown: used when canonicalizing store items.
  dnl posix_fallocate: used when extracting archives.
  dnl vfork: to speed up spawning of helper programs.
  dnl   `--> now disabled because of unpredictable behavior:
  dnl        see <http://lists.gnu.org/archive/html/guix-devel/2014-05/msg00036.html>
  dnl        and Nix commit f794465c (Nov. 2012).
  dnl sched_setaffinity: to improve RPC locality.
  dnl statvfs: to detect disk-full conditions.
  dnl strsignal: for error reporting.
  dnl statx: fine-grain 'stat' call, new in glibc 2.28.
  AC_CHECK_FUNCS([lutimes lchown posix_fallocate sched_setaffinity \
     statvfs nanosleep strsignal statx])

  dnl Check for <locale>.
  AC_LANG_PUSH(C++)
  AC_CHECK_HEADERS([locale])
  AC_LANG_POP(C++)


  dnl Check whether we have the `personality' syscall, which allows us
  dnl to do i686-linux builds on x86_64-linux machines.
  AC_CHECK_HEADERS([sys/personality.h])

  dnl Determine the appropriate default list of substitute URLs (GnuTLS
  dnl is required so we can default to 'https'.)
  GUIX_SUBSTITUTE_URLS="https://bordeaux.guix.gnu.org https://ci.guix.gnu.org"

  AC_MSG_CHECKING([for default substitute URLs])
  AC_MSG_RESULT([$GUIX_SUBSTITUTE_URLS])
  AC_SUBST([GUIX_SUBSTITUTE_URLS])

  AC_DEFINE_UNQUOTED([GUIX_SUBSTITUTE_URLS], ["$GUIX_SUBSTITUTE_URLS"],
    [Default list of substitute URLs used by 'guix-daemon'.])

  dnl Check for Guile-SSH, which is required by 'guix offload'.
  GUIX_CHECK_GUILE_SSH

  case "x$guix_cv_have_recent_guile_ssh" in
    xyes)
      guix_build_daemon_offload="yes"
      AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1],
	[Define if the daemon's 'offload' build hook is being built (requires Guile-SSH).])
      ;;
    *)
      guix_build_daemon_offload="no"
      ;;
  esac

  dnl Temporary directory used to store the daemon's data.
  GUIX_TEST_ROOT_DIRECTORY
  GUIX_TEST_ROOT="$ac_cv_guix_test_root"
  AC_SUBST([GUIX_TEST_ROOT])

  GUIX_CHECK_LOCALSTATEDIR
fi

AM_CONDITIONAL([HAVE_LIBBZ2], [test "x$HAVE_LIBBZ2" = "xyes"])
AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
AM_CONDITIONAL([BUILD_DAEMON_OFFLOAD],			\
  [test "x$guix_build_daemon" = "xyes"			\
   && test "x$guix_build_daemon_offload" = "xyes"])
n class='msg-tooltip'>* gnu/packages/databases.scm (postgresql-9.6): Update to 9.6.22. Leo Famulari 2021-05-17gnu: PostgreSQL 10: Update to 10.17 [fixes CVE-2021-{32027,32028,32029}]....* gnu/packages/databases.scm (postgresql-10): Update to 10.17. Leo Famulari 2021-05-17gnu: PostgreSQL 11: Update to 11.12 [fixes CVE-2021-{32027,32028,32029}]....* gnu/packages/databases.scm (postgresql-11): Update to 11.12. Leo Famulari 2021-05-17gnu: PostgreSQL: Update to 13.3 [fixes CVE-2021-{32027,32028,32029}]....* gnu/packages/databases.scm (postgresql-13)[replacement]: Use postgresql-13.3. (postgresql-13.2): Replace with ... (postgresql-13.3): ... new variable. Leo Famulari 2021-05-12gnu: Add python-sqlalchemy-stubs....* gnu/packages/databases.scm (python-sqlalchemy-stubs): New variable. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> BonfaceKilz 2021-05-05gnu: python-sqlparse: Remove unnecessary runtime dependencies....* gnu/packages/databases.scm (python-sqlparse)[arguments]: Override 'wrap' phase. Marius Bakke 2021-05-05gnu: python-sqlparse: Update to 0.4.1....* gnu/packages/databases.scm (python-sqlparse): Update to 0.4.1. Marius Bakke 2021-05-01gnu: soci: Update to 4.0.2....* gnu/packages/databases.scm (soci): Update to 4.0.2. Tobias Geerinckx-Rice 2021-04-26gnu: Add ruby-redis....* gnu/packages/databases.scm (ruby-redis): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Pjotr Prins 2021-04-23gnu: nanodbc: Build shared libraries....* gnu/packages/databases.scm (nanodbc)[arguments]: Build shared libraries. Ricardo Wurmus 2021-04-20gnu: Add nanodbc....* gnu/packages/databases.scm (nanodbc): New variable. Ricardo Wurmus 2021-04-19gnu: freetds: Update to 1.2.20....* gnu/packages/databases.scm (freetds): Update to 1.2.20. Tobias Geerinckx-Rice 2021-04-11gnu: freetds: Update to 1.2.19....* gnu/packages/databases.scm (freetds): Update to 1.2.19. Tobias Geerinckx-Rice 2021-04-08gnu: Add galera....* gnu/packages/databases.scm (galera): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> methuselah-0 2021-04-06gnu: python-tortoise-orm: Fix dependencies....* gnu/packages/databases.scm (python-tortoise-orm) [propagated-inputs]: Add missing dependency. [arguments]: Relax pytz version requirement, remove iso8601 requirement. Lars-Dominik Braun 2021-03-27gnu: soci: Propagate inputs....* gnu/packages/databases.scm (soci)[inputs]: Move to... [propagated-inputs]: ... here. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Raghav Gururajan 2021-03-26gnu: mariadb: Fix CVE-2021-27928....* gnu/packages/patches/mariadb-CVE-2021-27928.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/databases.scm (mariadb/fixed): New variable. Apply patch. (mariadb)[replacement]: Graft. Léo Le Bouter 2021-03-23gnu: python2-rq: Remove package....* gnu/packages/databases.scm (python2-rq): Delete. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> zimoun 2021-03-16gnu: libmemcached: Disable test suite....* gnu/packages/databases.scm (libmemcached): Disable test suite. Removing trailing #t. [phases]{fix-configure}: Remove useless group in pattern. {disable-failing-tests}: Remove phase. {build-and-install-html-doc}: Order after the build phase. [home-page]: Please 'guix lint'. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Maxim Cournoyer 2021-03-16gnu: Remove MongoDB....mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the release tarball under the SSPL, therefore we cannot provide mongodb while upholding to good security standards. It turns out feff80cec3c97a3df2c20d300be12d67f79d4f22 was right since while the main license file wasnt altered to SSPL, some files in the tree contain SSPL headers. * gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove. * gnu/packages/databases.scm (mongo-tools): Remove. * doc/guix.texi (mongodb-service-type): Remove. * gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test): Remove. * gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?, mongodb-configuration-mongodb, mongodb-configuration-config-file, mongodb-configuration-data-directory, mongodb-service-type, %default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation, mongodb-shepherd-service): Remove. * gnu/packages/databases.scm (mongodb): Remove. Léo Le Bouter 2021-03-11gnu: mongodb: Update comment about package license....* gnu/packages/databases.scm (mongodb): Adjust the comment about the licensing status of the package, there are still older branches receiving updates under the AGPL license. Efraim Flashner 2021-03-11Revert "Revert "gnu: mongodb: Update to 3.4.24 [security fixes].""...This reverts commit feff80cec3c97a3df2c20d300be12d67f79d4f22. I was mistaken, there are still branches of mongodb which are still licensed under the AGPL3 Efraim Flashner 2021-03-11gnu: mongodb: Add comment about future package versions....* gnu/packages/databases.scm (mongodb): Add comment that the license of the package changed after the packaged version and that it shouldn't be updated. Efraim Flashner 2021-03-11Revert "gnu: mongodb: Update to 3.4.24 [security fixes]."...This reverts commit e5f89570c1d72c4b674fad6b6ad5591ead02d419. After this version mongodb switched to the Server Side Public License (https://www.mongodb.com/licensing/server-side-public-license) which is not a FOSS license. Efraim Flashner 2021-03-10gnu: mongodb: Update to 3.4.24 [security fixes]....* gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch: Remove patch. * gnu/local.mk (dist_patch_DATA): Ditto. * gnu/packages/databases.scm (mongodb): Update to 3.4.24. [source]: Drop patch. Update third_party libs folder names. Léo Le Bouter 2021-03-10gnu: mysql: Update to 5.7.33 [security fixes]....* gnu/packages/databases.scm (mysql): Update to 5.7.33. Léo Le Bouter 2021-03-10gnu: python-tortoise-orm: Update to 0.16.21....* gnu/packages/databases.scm (python-tortoise-orm) [version]: Update to 0.16.21. [arguments]: Relax version requirements. Lars-Dominik Braun 2021-03-10gnu: python-aiosqlite: Update to 0.17.0....* gnu/packages/databases.scm (python-aiosqlite) [version]: Update to 0.17.0. [arguments]: Run tests. [propagated-inputs]: Add python-typing-extensions. Lars-Dominik Braun 2021-03-10gnu: python-pypika: Update to 0.47.6....* gnu/packages/databases.scm (python-pypika): Update to 0.47.6. Lars-Dominik Braun 2021-03-10gnu: lmdb: Update to 0.9.28....* gnu/packages/databases.scm (lmdb): Update to 0.9.28. Tobias Geerinckx-Rice 2021-03-04gnu: mariadb-connector-c: Fix source tarball file name....* gnu/packages/databases.scm (mariadb-connector-c)[source]: Add a FILE-NAME. Tobias Geerinckx-Rice 2021-03-04gnu: mariadb-connector-c: Update to 3.1.12....* gnu/packages/databases.scm (mariadb-connector-c): Update to 3.1.12. Tobias Geerinckx-Rice 2021-02-28gnu: redis: Update to 6.0.11 [fixes CVE-2021-21309]....* gnu/packages/databases.scm (redis): Update to 6.0.11. Léo Le Bouter 2021-02-16gnu: apache-arrow: Update to 3.0.0....* gnu/packages/databases.scm (apache-arrow): Update to 3.0.0. [inputs]: Add utf8proc. Signed-off-by: Leo Famulari <leo@famulari.name> Greg Hogan 2021-02-16gnu: apache-arrow: Sort inputs alphabetically....* gnu/packages/databases.scm (apache-arrow)[inputs]: Sort inputs. Signed-off-by: Leo Famulari <leo@famulari.name> Greg Hogan 2021-02-14gnu: postgresql: Update to 13.2 [security fixes]....Fixes CVE-2021-3393 and CVE-2021-20229. * gnu/packages/databases.scm (postgresql-13.2): New variable. (postgresql-13)[replacement]: New field. Signed-off-by: Leo Famulari <leo@famulari.name> Léo Le Bouter 2021-02-14gnu: postgresql-9.6: Update to 9.6.21....* gnu/packages/databases.scm (postgresql-9.6): Update to 9.6.21. Signed-off-by: Leo Famulari <leo@famulari.name> Léo Le Bouter 2021-02-14gnu: postgresql-10: Update to 10.16....* gnu/packages/databases.scm (postgresql-10): Update to 10.16. Signed-off-by: Leo Famulari <leo@famulari.name> Léo Le Bouter 2021-02-14gnu: postgresql-11: Update to 11.11....* gnu/packages/databases.scm (postgresql-11): Update to 11.11. Signed-off-by: Leo Famulari <leo@famulari.name> Léo Le Bouter 2021-02-03gnu: libdbi-drivers: Disable tests that get stuck forever....* gnu/packages/databases.scm (libdbi-drivers)[arguments]: Disable tests. Guillaume Le Vaillant