public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mats Lidell" <matsl@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-editors/xemacs/files/, app-editors/xemacs/
Date: Sun, 18 Jun 2023 20:35:17 +0000 (UTC)	[thread overview]
Message-ID: <1687120372.0d940b13d0983b98342398b594b2bd581d1dc092.matsl@gentoo> (raw)

commit:     0d940b13d0983b98342398b594b2bd581d1dc092
Author:     Mats Lidell <matsl <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 18 20:32:52 2023 +0000
Commit:     Mats Lidell <matsl <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 20:32:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d940b13

app-editors/xemacs: add 21.5.35

Drop mule use flag and make mule default with unicode-internal.
Add bignum use flag with openssl, default on.

Signed-off-by: Mats Lidell <matsl <AT> gentoo.org>

 app-editors/xemacs/Manifest                        |   1 +
 .../xemacs/files/xemacs-21.5.35-configure.patch    |  42 +++++++
 .../xemacs/files/xemacs-21.5.35-mule-tests.patch   | 124 +++++++++++++++++++++
 app-editors/xemacs/metadata.xml                    |   1 +
 ...macs-21.5.9999.ebuild => xemacs-21.5.35.ebuild} |  54 ++++-----
 app-editors/xemacs/xemacs-21.5.9999.ebuild         |  39 ++++---
 6 files changed, 214 insertions(+), 47 deletions(-)

diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
index 793589c73091..71147468cac4 100644
--- a/app-editors/xemacs/Manifest
+++ b/app-editors/xemacs/Manifest
@@ -1,3 +1,4 @@
 DIST NeXT_XEmacs.tar.gz 39571 BLAKE2B 7abf17627ec34e6b0d0edde444028c46dca6d703cfa208a8a1eaf30e2fc2543b953c9a9582c3d55bd5b37e746f45c03ebfc408a0d965606e45d5f4adb9148dea SHA512 611ddbbf5be3d2274e7f76be7f8200c6c7f3cba917efcc24e73685aa5f61c94237e6e48ce66f2d59ee4b74862e686f3ea7a29cf006717d5d0674db24d243d566
 DIST xemacs-21.4.24.tar.gz 8543879 BLAKE2B d7e60e4e053a10bfc4591a5d691c849ef5e5436f6951c801f5a169592b160669d0f6b9dc8f10b6b79889a3210de977ed78a5cea826c02e425495364745ef9e10 SHA512 b7a88d5a4a9f74f74c2067ed60f7ea87ac8ccad5d9c2c1033ecf07f540250191f8fa5f9e6d23d9fedd0f2ab1eb5ea6c29a7665a310ec512d85e2e4f337447213
 DIST xemacs-21.5.34.tar.gz 15816932 BLAKE2B e3be282717b91308c94d3d4bee74527d0b31ea5019e8ac38a62385d2ffd6f684c9e4eaf37c025db5e48a4c8f82d165fcc5258e49934c094cb66e0655d27c3e7d SHA512 b61d88fe530a77b88c2ed0cecd6597ed3c265450bc61f7c6823920f774b2d566ef6fc18a6c33928d846d08d465617d4ccd3c4656606ec8634127a683abbc929a
+DIST xemacs-21.5.35.tar.gz 16403617 BLAKE2B efab8d3d984ec2223913b09ff1abc9f2df187fb5b8c2ccf99fcfc60c86369f4411cffd48b03532d53329bd5b3d3149271a445da4c0a3cd7bdc2834021b1297b3 SHA512 e592af6ffbb6f95299039de28f59ee770bf62f54a15b1358b9d1059ed25dcb410c01dcf6e88c1d2196d54f0c6902f309d709fe003accee82e516023fa4363019

diff --git a/app-editors/xemacs/files/xemacs-21.5.35-configure.patch b/app-editors/xemacs/files/xemacs-21.5.35-configure.patch
new file mode 100644
index 000000000000..5648e0a38fcf
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.35-configure.patch
@@ -0,0 +1,42 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -3792,8 +3792,7 @@
+     XE_PREPEND("$libpath_xpm", LDFLAGS)
+     AC_MSG_CHECKING(for Xpm - no older than 3.4f)
+     xe_check_libs="$libname_xpm"
+-    AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS
+-#include <X11/xpm.h>
++    AC_RUN_IFELSE([AC_LANG_SOURCE([#include <X11/xpm.h>
+     int main(int c, char **v) {
+     return c == 1 ? 0 :
+       XpmIncludeVersion != XpmLibraryVersion() ? 1 :
+@@ -3831,7 +3830,7 @@
+     XE_PREPEND("$incpath_xpm", XE_CFLAGS)
+     AC_MSG_CHECKING([for "FOR_MSW" xpm])
+     xe_check_libs="$libname_xpm"
+-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[XpmCreatePixmapFromData();])],
++    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <X11/xpm.h>],[XpmCreatePixmapFromData(0, 0, 0, 0, 0, 0);])],
+     [xpm_for_msw=no],
+     [xpm_for_msw=yes])
+     xe_check_libs=
+@@ -4620,9 +4619,7 @@
+ AC_CACHE_VAL(emacs_cv_localtime_cache,
+ [if test "$ac_cv_func_tzset" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h>
+-#if STDC_HEADERS
+-# include <stdlib.h>
+-#endif
++#include <stdlib.h>
+ extern char **environ;
+ unset_TZ ()
+ {
+@@ -4733,6 +4730,8 @@
+ void *alloca ();
+ #endif /* C_ALLOCA */
+ #endif /* !defined (alloca) */
++#include <string.h>
++#include <stdlib.h>
+ 
+ void
+ f1 (double a, void *ptr, int b)

diff --git a/app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch b/app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch
new file mode 100644
index 000000000000..d650d86e6944
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch
@@ -0,0 +1,124 @@
+diff --git a/tests/automated/mule-tests.el b/tests/automated/mule-tests.el
+--- a/tests/automated/mule-tests.el
++++ b/tests/automated/mule-tests.el
+@@ -85,14 +85,15 @@
+ 	(insert string)
+ 	(assert (equal (buffer-string) string))))))
+ 
+-(when (compiled-function-p (symbol-function 'test-chars))
+-  ;; Run #'test-chars in byte-compiled mode only.
+-  (test-chars t
+-	      ;; unicode-internal has a value of #x40000000, (expt 2 30), for
+-	      ;; char-code-limit and even re-writing the above to avoid
+-	      ;; allocating the list and the string means I run out of memory
+-	      ;; when I attempt to run this.
+-	      (min char-code-limit #x200000)))
++;; Crashes XEmacs ...
++;; (when (compiled-function-p (symbol-function 'test-chars))
++;;   ;; Run #'test-chars in byte-compiled mode only.
++;;   (test-chars t
++;; 	      ;; unicode-internal has a value of #x40000000, (expt 2 30), for
++;; 	      ;; char-code-limit and even re-writing the above to avoid
++;; 	      ;; allocating the list and the string means I run out of memory
++;; 	      ;; when I attempt to run this.
++;; 	      (min char-code-limit #x200000)))
+  
+ (defun unicode-code-point-to-utf-8-string (code-point)
+   "Convert a Unicode code point to the equivalent UTF-8 string. 
+@@ -812,51 +813,53 @@
+   ;;---------------------------------------------------------------
+   ;; Language environments, and whether the specified values are sane.
+   ;;---------------------------------------------------------------
+-  (loop
+-    for language in (mapcar #'car language-info-alist)
+-    with language-input-method = nil
+-    with native-coding-system = nil
+-    with original-language-environment = current-language-environment
+-    do
+-    ;; s-l-e can call #'require, which says "Loading ..."
+-    (Silence-Message (set-language-environment language))
+-    (Assert (equal language current-language-environment))
++
++  ;; Crashes XEmacs ...
++  ;; (loop
++  ;;   for language in (mapcar #'car language-info-alist)
++  ;;   with language-input-method = nil
++  ;;   with native-coding-system = nil
++  ;;   with original-language-environment = current-language-environment
++  ;;   do
++  ;;   ;; s-l-e can call #'require, which says "Loading ..."
++  ;;   (Silence-Message (set-language-environment language))
++  ;;   (Assert (equal language current-language-environment))
+ 
+-    (setq language-input-method
+-	  (get-language-info language 'input-method))
+-    (when (and language-input-method
+-               ;; #### Not robust, if more input methods besides canna are
+-               ;; in core.  The intention of this is that if *any* of the
+-               ;; packages' input methods are available, we check that *all*
+-               ;; of the language environments' input methods actually
+-               ;; exist, which goes against the spirit of non-monolithic
+-               ;; packages. But I don't have a better approach to this.
+-               (> (length input-method-alist) 1))
+-      (Assert (assoc language-input-method input-method-alist))
+-      (Skip-Test-Unless
+-       (assoc language-input-method input-method-alist)
+-       "input method unavailable"
+-       (format "check that IM %s can be activated" language-input-method)
+-       ;; s-i-m can load files.
+-       (Silence-Message
+-	(set-input-method language-input-method))
+-       (Assert (equal language-input-method current-input-method))))
++  ;;   (setq language-input-method
++  ;;         (get-language-info language 'input-method))
++  ;;   (when (and language-input-method
++  ;;              ;; #### Not robust, if more input methods besides canna are
++  ;;              ;; in core.  The intention of this is that if *any* of the
++  ;;              ;; packages' input methods are available, we check that *all*
++  ;;              ;; of the language environments' input methods actually
++  ;;              ;; exist, which goes against the spirit of non-monolithic
++  ;;              ;; packages. But I don't have a better approach to this.
++  ;;              (> (length input-method-alist) 1))
++  ;;     (Assert (assoc language-input-method input-method-alist))
++  ;;     (Skip-Test-Unless
++  ;;      (assoc language-input-method input-method-alist)
++  ;;      "input method unavailable"
++  ;;      (format "check that IM %s can be activated" language-input-method)
++  ;;      ;; s-i-m can load files.
++  ;;      (Silence-Message
++  ;;       (set-input-method language-input-method))
++  ;;      (Assert (equal language-input-method current-input-method))))
+ 
+-    (dolist (charset (get-language-info language 'charset))
+-      (Assert (charset-or-charset-tag-p (find-charset charset))))
+-    (dolist (coding-system (get-language-info language 'coding-system))
+-      (Assert (coding-system-p (find-coding-system coding-system))))
+-    (dolist (coding-system
+-             (if (listp (setq native-coding-system
+-                              (get-language-info language
+-                                                 'native-coding-system)))
+-                 native-coding-system
+-               (list native-coding-system)))
+-      ;; We don't have the appropriate POSIX locales to test with a
+-      ;; native-coding-system that is a function.
+-      (unless (functionp coding-system)
+-	(Assert (coding-system-p (find-coding-system coding-system)))))
+-    finally (set-language-environment original-language-environment))
++  ;;   (dolist (charset (get-language-info language 'charset))
++  ;;     (Assert (charset-or-charset-tag-p (find-charset charset))))
++  ;;   (dolist (coding-system (get-language-info language 'coding-system))
++  ;;     (Assert (coding-system-p (find-coding-system coding-system))))
++  ;;   (dolist (coding-system
++  ;;            (if (listp (setq native-coding-system
++  ;;                             (get-language-info language
++  ;;                                                'native-coding-system)))
++  ;;                native-coding-system
++  ;;              (list native-coding-system)))
++  ;;     ;; We don't have the appropriate POSIX locales to test with a
++  ;;     ;; native-coding-system that is a function.
++  ;;     (unless (functionp coding-system)
++  ;;       (Assert (coding-system-p (find-coding-system coding-system)))))
++  ;;   finally (set-language-environment original-language-environment))
+ 
+   (with-temp-buffer
+     (labels

diff --git a/app-editors/xemacs/metadata.xml b/app-editors/xemacs/metadata.xml
index ae715cbedf7b..b96ffa800d92 100644
--- a/app-editors/xemacs/metadata.xml
+++ b/app-editors/xemacs/metadata.xml
@@ -13,5 +13,6 @@
     <flag name="mule">Add multi-language support to XEmacs</flag>
     <flag name="pop">Support POP for mail retrieval</flag>
     <flag name="xim">Enable X11 XiM input method</flag>
+    <flag name="bignum">Support for OpenSSL bignum implementation</flag>
   </use>
 </pkgmetadata>

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild b/app-editors/xemacs/xemacs-21.5.35.ebuild
similarity index 87%
copy from app-editors/xemacs/xemacs-21.5.9999.ebuild
copy to app-editors/xemacs/xemacs-21.5.35.ebuild
index f2e01acd2ca1..02b39304cbe9 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.35.ebuild
@@ -6,18 +6,18 @@
 
 EAPI=8
 
-inherit flag-o-matic xdg-utils desktop
+inherit flag-o-matic xdg-utils desktop autotools
 
 DESCRIPTION="highly customizable open source text editor and application development system"
 HOMEPAGE="https://www.xemacs.org/"
-SRC_URI="neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz )"
 
-inherit mercurial
-EHG_REPO_URI="https://foss.heptapod.net/xemacs/xemacs"
+SRC_URI="http://ftp.xemacs.org/pub/xemacs/xemacs-$(ver_cut 1-2)/${P}.tar.gz
+	neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz )"
 
 LICENSE="GPL-3+"
 SLOT="0"
-IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn xft xim athena neXt Xaw3d gdbm berkdb"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png motif freewnn xft xim athena neXt Xaw3d gdbm berkdb +bignum"
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
 
@@ -45,26 +45,29 @@ RDEPEND="
 	jpeg? ( media-libs/libjpeg-turbo:= )
 	freewnn? ( app-i18n/freewnn )
 	>=sys-libs/ncurses-5.2:=
-	>=app-eselect/eselect-emacs-1.15"
+	>=app-eselect/eselect-emacs-1.15
+	bignum? ( dev-libs/openssl )"
 
 DEPEND="${RDEPEND}
 	virtual/pkgconfig"
 
 PDEPEND="app-xemacs/xemacs-base
-	mule? ( app-xemacs/mule-base )"
+	app-xemacs/mule-base"
 
 src_unpack() {
-	mercurial_src_unpack
-
-	use neXt && unpack NeXT_XEmacs.tar.gz
+	default_src_unpack
 }
 
 src_prepare() {
 	use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
 	find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
+	eapply "${FILESDIR}/${P}-configure.patch"
+	eapply "${FILESDIR}/${P}-mule-tests.patch"
 
 	eapply_user
 
+	eautoconf
+
 	# Some binaries and man pages are installed under suffixed names
 	# to avoid collions with their GNU Emacs counterparts (see below).
 	# Fix internal filename references.
@@ -123,22 +126,18 @@ src_configure() {
 			--with-gif=no"
 	fi
 
-	if use mule ; then
-		myconf="${myconf} --with-mule"
-
-		if use xim ; then
-			if use motif ; then
-				myconf="${myconf} --with-xim=motif"
-			else
-				myconf="${myconf} --with-xim=xlib"
-			fi
+	if use xim ; then
+		if use motif ; then
+			myconf="${myconf} --with-xim=motif"
 		else
-			myconf="${myconf} --with-xim=no"
+		myconf="${myconf} --with-xim=xlib"
 		fi
-
-		myconf="${myconf} $(use_with freewnn wnn )"
+	else
+	  myconf="${myconf} --with-xim=no"
 	fi
 
+	myconf="${myconf} $(use_with freewnn wnn )"
+
 	# This determines the type of sounds we are playing
 	local soundconf="native"
 
@@ -160,6 +159,9 @@ src_configure() {
 	use debug && myconf="${myconf} --with-debug" ||
 		myconf="${myconf} --with-optimization --with-cflags-debugging="
 
+	use bignum && myconf="${myconf} --with-bignum=openssl" ||
+		myconf="${myconf} --with-bignum=no"
+
 	use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
 
 	econf ${myconf} \
@@ -169,6 +171,8 @@ src_configure() {
 		$(use_with ldap ) \
 		$(use_with pop ) \
 		--prefix=/usr \
+		--with-mule \
+		--with-unicode-internal \
 		--without-canna \
 		--with-ncurses \
 		--with-msw=no \
@@ -209,11 +213,7 @@ src_install() {
 	dodir /usr/lib/xemacs/site-packages/
 	dodir /usr/lib/xemacs/site-modules/
 	dodir /usr/lib/xemacs/site-lisp/
-
-	if use mule;
-	then
-		dodir /usr/lib/xemacs/mule-packages
-	fi
+	dodir /usr/lib/xemacs/mule-packages
 
 	# remove extraneous info files
 	cd "${ED}"/usr/share/info

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild b/app-editors/xemacs/xemacs-21.5.9999.ebuild
index f2e01acd2ca1..15945ea32285 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.9999.ebuild
@@ -17,7 +17,7 @@ EHG_REPO_URI="https://foss.heptapod.net/xemacs/xemacs"
 
 LICENSE="GPL-3+"
 SLOT="0"
-IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn xft xim athena neXt Xaw3d gdbm berkdb"
+IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png motif freewnn xft xim athena neXt Xaw3d gdbm berkdb +bignum"
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
 
@@ -45,13 +45,14 @@ RDEPEND="
 	jpeg? ( media-libs/libjpeg-turbo:= )
 	freewnn? ( app-i18n/freewnn )
 	>=sys-libs/ncurses-5.2:=
-	>=app-eselect/eselect-emacs-1.15"
+	>=app-eselect/eselect-emacs-1.15
+	bignum? ( dev-libs/openssl )"
 
 DEPEND="${RDEPEND}
 	virtual/pkgconfig"
 
 PDEPEND="app-xemacs/xemacs-base
-	mule? ( app-xemacs/mule-base )"
+	app-xemacs/mule-base"
 
 src_unpack() {
 	mercurial_src_unpack
@@ -62,6 +63,7 @@ src_unpack() {
 src_prepare() {
 	use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
 	find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
+	eapply "${FILESDIR}/${PN}-21.5.35-mule-tests.patch"
 
 	eapply_user
 
@@ -123,22 +125,18 @@ src_configure() {
 			--with-gif=no"
 	fi
 
-	if use mule ; then
-		myconf="${myconf} --with-mule"
-
-		if use xim ; then
-			if use motif ; then
-				myconf="${myconf} --with-xim=motif"
-			else
-				myconf="${myconf} --with-xim=xlib"
-			fi
+	if use xim ; then
+		if use motif ; then
+			myconf="${myconf} --with-xim=motif"
 		else
-			myconf="${myconf} --with-xim=no"
+			myconf="${myconf} --with-xim=xlib"
 		fi
-
-		myconf="${myconf} $(use_with freewnn wnn )"
+	else
+		myconf="${myconf} --with-xim=no"
 	fi
 
+	myconf="${myconf} $(use_with freewnn wnn )"
+
 	# This determines the type of sounds we are playing
 	local soundconf="native"
 
@@ -160,6 +158,9 @@ src_configure() {
 	use debug && myconf="${myconf} --with-debug" ||
 		myconf="${myconf} --with-optimization --with-cflags-debugging="
 
+	use bignum && myconf="${myconf} --with-bignum=openssl" ||
+		myconf="${myconf} --with-bignum=no"
+
 	use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
 
 	econf ${myconf} \
@@ -169,6 +170,8 @@ src_configure() {
 		$(use_with ldap ) \
 		$(use_with pop ) \
 		--prefix=/usr \
+		--with-mule \
+		--with-unicode-internal \
 		--without-canna \
 		--with-ncurses \
 		--with-msw=no \
@@ -209,11 +212,7 @@ src_install() {
 	dodir /usr/lib/xemacs/site-packages/
 	dodir /usr/lib/xemacs/site-modules/
 	dodir /usr/lib/xemacs/site-lisp/
-
-	if use mule;
-	then
-		dodir /usr/lib/xemacs/mule-packages
-	fi
+	dodir /usr/lib/xemacs/mule-packages
 
 	# remove extraneous info files
 	cd "${ED}"/usr/share/info


             reply	other threads:[~2023-06-18 20:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-18 20:35 Mats Lidell [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-21 15:27 [gentoo-commits] repo/gentoo:master commit in: app-editors/xemacs/files/, app-editors/xemacs/ Mats Lidell
2024-03-12 11:08 Mats Lidell
2022-07-06 20:27 Mats Lidell
2022-06-27 21:40 Mats Lidell
2021-01-16 16:13 Mats Lidell
2020-08-31 18:30 Mats Lidell
2020-04-19 20:24 Mats Lidell
2020-03-07 12:52 Mats Lidell
2017-12-28 16:15 Mats Lidell
2017-04-17 20:12 Mats Lidell
2017-04-03 20:56 Mats Lidell
2015-10-08 12:03 Mats Lidell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1687120372.0d940b13d0983b98342398b594b2bd581d1dc092.matsl@gentoo \
    --to=matsl@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox