-
Maxim Cournoyer authored
Change-Id: I98725b2669b357fb86dc653cb7d7ead6f34cb355
Maxim Cournoyer authoredChange-Id: I98725b2669b357fb86dc653cb7d7ead6f34cb355
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
manifest.scm 3.29 KiB
;;; To use with the GNU Guix package manager.
;;; Available at https://guix.gnu.org/.
;;;
;;; Commentary:
;;;
;;; A full-blown development environment that can be used to build the
;;; whole project. It includes both the GNOME as well as the Qt
;;; libraries, so that both clients can be built. The sensitive
;;; (i.e., patched) dependencies are consciously omitted from this
;;; list so that the bundled libraries are the ones used, which is
;;; usually what is desired for development purposes.
;;; The make-jami.py script makes use of it to build Jami in a Linux
;;; container with the dependencies below when Guix is detected (and
;;; no /etc/os-release file exists) or when explicitly specified,
;;; e.g.:
;;;
;;; $ ./make-jami.py --distribution=guix --install
;;;
;;; It can also be invoked directly to spawn a development environment, like so:
;;;
;;; $ guix environment --pure --manifest=guix/manifest.scm
(specifications->manifest
(list
;; Minimal requirements of the daemon contrib build system.
"coreutils"
"gcc-toolchain"
"git-minimal"
"grep"
"gzip"
"make"
"nss-certs"
"pkg-config"
"python"
"sed"
"tar"
"wget"
"xz"
;; For the daemon and its contribs.
"alsa-lib"
"autoconf"
"automake"
"bash"
"bzip2"
"cmake"
"dbus"
;; Bundled because broken with GCC 7 upstream (unmaintained). When
;; attempting to use it, it would cause confusing errors such as
;; "ld: ../src/.libs/libring.a(libupnpcontrol_la-upnp_context.o): in
;; function `jami::upnp::UPnPContext::updateMappingList(bool)':
;; upnp_context.cpp:(.text+0xa4be): undefined reference to
;; `std::__cxx11::basic_ostringstream<char, std::char_traits<char>,
;; std::allocator<char> >::basic_ostringstream()'
;;"dbus-c++" ;for dbusxx-xml2cpp
"diffutils"
"doxygen"
"eudev" ;udev library
"expat"
"findutils"
"gawk"
"gettext"
"gnutls"
;;"ffmpeg" ;bundled because patched
"gmp"
"gsm"
"gtk-doc"
"http-parser"
"jsoncpp"
"libarchive"
"libgit2"
"libnatpmp"
"libupnp"
"libsecp256k1"
"libtool"
"libva" ;vaapi
"libvdpau"
"libx264"
"nasm"
"nettle"
"openssl"
"opus"
"patch"
"pcre"
"perl"
;;"pjproject" ;bundled because patched
"pulseaudio"
"speex"
"speexdsp"
"which"
"yaml-cpp"
"yasm"
;; For libringclient (LRC) and the Qt client.
"qtbase"
"qtbase:debug"
;; Shared by the GNOME and Qt clients.
"qrencode"
;; Shared by the LRC, GNOME and Qt clients.
"network-manager" ;libnm
;; For the GNOME client (client-gnome)
"adwaita-icon-theme"
"hicolor-icon-theme"
"clutter"
"clutter-gtk"
"glib:bin" ;for glib-compile-resources
"gtk+"
"gtk+:debug"
"libcanberra"
"libindicator"
"libnotify"
"sqlite"
"webkitgtk"
;; For the Qt client.
"qtsvg"
"qtsvg:debug"
"qttools"
"qtwebengine"
"qtwebengine:debug"
"qtwebchannel"
"qtwebchannel:debug"
"qtmultimedia"
"qtmultimedia:debug"
"qtdeclarative"
"qtdeclarative:debug"
"qtgraphicaleffects"
"qtgraphicaleffects:debug"
"qtquickcontrols"
"qtquickcontrols:debug"
"qtquickcontrols2"
"qtquickcontrols2:debug"
;; For tests and debugging.
"cppunit"
"file"
"gdb"
"ltrace"
"strace"))