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_CPPFLAGS=""
      ;;
    *)
      LIBGCRYPT_CPPFLAGS="-I$LIBGCRYPT_PREFIX/include"
      ;;
  esac

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

  LIBGCRYPT_LIBS="-lgcrypt"
  AC_SUBST([LIBGCRYPT_CPPFLAGS])
  AC_SUBST([LIBGCRYPT_LDFLAGS])
  AC_SUBST([LIBGCRYPT_LIBS])

  save_CPPFLAGS="$CPPFLAGS"
  save_LDFLAGS="$LDFLAGS"
  save_LIBS="$LIBS"
  CPPFLAGS="$CPPFLAGS $LIBGCRYPT_CPPFLAGS"
  LDFLAGS="$LDFLAGS $LIBGCRYPT_LDFLAGS"
  LIBS="$LIBS $LIBGCRYPT_LIBS"

  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
  CPPFLAGS="$save_CPPFLAGS"
  LDFLAGS="$save_LDFLAGS"
  LIBS="$save_LIBS"

  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"])
u/packages/mate.scm (mate-utils): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-menus: Update to 1.26.1....* gnu/packages/mate.scm (mate-menus): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-screensaver: Update to 1.26.2....* gnu/packages/mate.scm (mate-screensaver): Update to 1.26.2. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-netbook: Update to 1.26.0....* gnu/packages/mate.scm (mate-netbook): Update to 1.26.0. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-backgrounds: Update to 1.26.0....* gnu/packages/mate.scm (mate-backgrounds): update to 1.26.0. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-calc: Update to 1.26.0....* gnu/packages/mate.scm (mate-calc): Update to 1.26.0. [inputs]: Add mpc and mpfr. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-user-guide: Update to 1.26.1....* gnu/packages/mate.scm (mate-user-guide): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-control-center: Update to 1.26.1....* gnu/packages/mate.scm (mate-control-center): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: caja-extensions: Update to 1.26.1....* gnu/packages/mate.scm (caja-extensions): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: marco: Update to 1.26.2....* gnu/packages/mate.scm (marco): Update to 1.26.2. [inputs]: Add libxres. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: caja: Update to 1.26.1....* gnu/packages/mate.scm (caja): update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-panel: Update to 1.26.3....* gnu/packages/mate.scm (mate-panel): Update to 1.26.3. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-media: Update to 1.26.1....* gnu/packages/mate.scm (mate-media): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-applets: Update to 1.26.1....* gnu/packages/mate.scm (mate-applets): Update to 1.26.1. [inputs]: Add libnl. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: libmatekbd: Update to 1.26.1....* gnu/packages/mate.scm (libmatekbd): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: libmatemixer: Update to 1.26.0....* gnu/packages/mate.scm (libmatemixer): Update to 1.26.0. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-settings-daemon: Update to 1.26.1....* gnu/packages/mate.scm (mate-settings-daemon): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-session-manager: Update to 1.26.1....* gnu/packages/mate.scm (mate-session-manager): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-terminal: Update to 1.26.1....* gnu/packages/mate.scm (mate-terminal): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: libmateweather: Update to 1.26.1....* gnu/packages/mate.scm (libmateweather): Update to 1.26.1. [source]: Add libmateweather-use-TZDIR.patch. [inputs]: Replace tzdata with tzdata-for-tests. [arguments]: Set TZDIR, ignore test failure for 'check-timezones.sh'. * gnu/packages/patches/libmateweather-use-TZDIR.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Co-authored-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-07-22gnu: mate-desktop: Update to 1.26.1....* gnu/packages/mate.scm (mate-desktop): Update to 1.26.1. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Andy Tai 2023-03-31gnu: Replace all uses of atk by at-spi2-core....* gnu/packages/animation.scm (gnash) * gnu/packages/chromium.scm (ungoogled-chromium) * gnu/packages/crates-gtk.scm (rust-atk-sys-0.14, rust-atk-sys-0.10, rust-atk-0.14, rust-gtk-0.14) * gnu/packages/gimp.scm (gimp) * gnu/packages/gnome.scm (evince, glade3, clutter, totem, rhythmbox, mutter, ghex): * gnu/packages/graphviz.scm (xdot) * gnu/packages/gtk.scm (gtk+-2, gtk+, guile-gnome, atkmm) * gnu/packages/mate.scm (mate-applets, atril, mate-control-center, mate-calc, mate-utils, eom, pluma) * gnu/packages/messaging.scm (dino) * gnu/packages/qt.scm (qtwebengine-5) * gnu/packages/rust-apps.scm (alfis) * gnu/packages/vim.scm (vim-full) * gnu/packages/vnc.scm (remmina) * gnu/packages/web.scm (castor): Replace atk by at-spi2-core. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net> Josselin Poiret 2023-03-07gnu: mate-polkit-for-xfce: Break circular top-level references....Fixes <https://issues.guix.gnu.org/61911>. Reported by Maxime Devos <maximedevos@telenet.be>. * gnu/packages/xfce.scm (mate-polkit-for-xfce): Move to... * gnu/packages/mate.scm (mate-polkit-for-xfce): ... here. Ludovic Courtès