Skip to content
Snippets Groups Projects
  1. Jan 12, 2022
    • Maxim Cournoyer's avatar
      build: Use guix shell. · ebe0ec02
      Maxim Cournoyer authored and Sébastien Blin's avatar Sébastien Blin committed
      The recently introduced 'guix shell' command automatically manages a
      cached profile for us; prefer it to 'guix environment', and do away
      with a channels file, given fixes in Guix have now been incorporated
      in the main branch.
      
      * Makefile (portable-release-tarball)<guix environment>: Replace by
      'guix shell'.
      * build.py (run_dependencies)[guix]: Likewise, and do not use a
      channels.scm file.
      (run_install): Likewise, and provide a hint when TARBALLS is not set.
      * guix/channels.scm: Delete file.
      * guix/manifest.scm: Adjust comment.
      
      Change-Id: I50ca99e51f0ebca136c9bbc5a0ca3063075432b4
      ebe0ec02
  2. Oct 22, 2021
    • Maxim Cournoyer's avatar
      packaging: Add the deb-pack-x86_64 and deb-pack-i686 targets. · 977919b9
      Maxim Cournoyer authored
      The deb-pack targets build a Guix pack of the jami-qt client in the
      .deb format, ready to be installed on any dpkg-based GNU/Linux
      distribution.
      
      * Makefile (RELEASE_VERSION, RELEASE_TARBALL_FILENAME): Export
      variables.
      (has-guix-p): New target, to be used as a predicate.
      (portable-release-tarball): Rewrite in terms of the above.
      (SUPPORTED_GNU_ARCHS, DEB_PACKS, DEB_PACK_TARGETS): New variables.
      (guix-pack-command, define-deb-pack-rule): Likewise.
      (deb-pack-x86_64, deb-pack-i686): New targets.
      (PACKAGE-TARGETS): Register them.
      * guix/guix-pack-manifest.scm: New file.
      * guix/guix-pack-deb.postinst: Likewise.
      * guix/manifest.scm: Specify qtbase to be at version 5, as Guix now
      has version 6 too.
      * packaging/rules/debian/jami-all.postinst: Harmonize.
      * scripts/deploy-packages.sh (package): Simplify and register the
      'guix-deb-pack' distribution.
      * Jenkinsfile (Sign & deploy packages): Simplify to deploy all the
      packages subdirectories.  This makes it easier to handle multi-arch
      packages for the same distribution, and removes the need to encode the
      distribution information in the target name.
      
      Change-Id: Id6f69e7a5872a39b4b8f50fa09c8ec3475e9c896
      Unverified
      977919b9
  3. Sep 01, 2021
  4. Aug 20, 2021
  5. Jun 28, 2021
  6. May 25, 2021
    • Maxim Cournoyer's avatar
      build.py: Add support for Guix. · e55531c9
      Maxim Cournoyer authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      This enables building Jami in a development setting on any GNU/Linux
      distribution, provided Guix is installed.  It supports building both
      the Qt and the GNOME clients.  It uses ffmpeg and pjproject from the
      contribs.
      
      Change-Id: I1bf0c9f3f9c08361b9016fe04581902ec27f2312
      Unverified
      e55531c9
    • Maxim Cournoyer's avatar
      build: Improvements to the generation of the release tarballs. · 6e0a3002
      Maxim Cournoyer authored
      The phony tarball-producing targets will now always clear the
      tarballs.manifest file before generating a new release tarball,
      ensuring it doesn't contain stale information.
      
      A new 'portable-release-tarball' target is also added to offer an easy
      to use target that was previously implemented ad-hoc in the CI.  Move
      this logic here as a portable release tarball is useful for packagers
      wanting to test locally with the various supported platforms.  The
      Jenkinsfile now makes use of it.
      
      * Makefile (daemon/contrib/native/Makefile): New target.
      (tarballs.manifest): Add the above target as a prerequisite and remove
      invocation to bootstrap script.  Invoke make with --no-print-directory
      to prevent entering/leaving directory messages from appearing in the
      output (it's supposed to be on when using --silent, but when the make
      invocation is nested, it doesn't seem to be the case).
      (release-tarball): Also clear the tarballs.manifest when invoked.
      (purge-release-tarballs, portable-release-tarball): New targets.
      * guix/minimal-manifest.scm: New file.
      * Jenkinsfile ('Generate release tarball): Use it to spawn the
      container used to build the release tarball.  Also expose /usr/bin/env
      in the container.  Use the new 'portable-release-tarball' target to
      simplify things.  Fix the shebang line; it needs to be the first line
      of the script.
      
      GitLab: jami-packaging#98
      Change-Id: I3b55e25933108ae9930bc9fcc867f9fa51d796f2
      Unverified
      6e0a3002
Loading