* [ITA} fluidsynth
@ 2023-09-17 13:14 Takashi Yano
2023-09-18 16:49 ` Jon Turney
0 siblings, 1 reply; 5+ messages in thread
From: Takashi Yano @ 2023-09-17 13:14 UTC (permalink / raw)
To: cygwin-apps
[-- Attachment #1: Type: text/plain, Size: 103 bytes --]
I'd like adopt the fluidsynth package.
Thanks in advance.
--
Takashi Yano <takashi.yano@nifty.ne.jp>
[-- Attachment #2: fluidsynth.cygport --]
[-- Type: text/plain, Size: 1047 bytes --]
inherit cmake
NAME="fluidsynth"
VERSION=2.3.2
RELEASE=1
LICENSE="LGPL-2.1-or-later"
CATEGORY="Audio"
SUMMARY="SoundFont software synthesizer"
DESCRIPTION="FluidSynth is a real-time software synthesizer based on the
SoundFont 2 specifications."
HOMEPAGE="http://www.fluidsynth.org/"
SRC_URI="https://github.com/FluidSynth/fluidsynth/archive/v${VERSION}/fluidsynth-${VERSION}.tar.gz"
PKG_NAMES="${NAME} lib${NAME}3 lib${NAME}-devel"
fluidsynth_CONTENTS="usr/bin/*.exe usr/share/"
libfluidsynth3_CATEGORY="Libs"
libfluidsynth3_SUMMARY="${SUMMARY} library"
libfluidsynth3_CONTENTS="usr/bin/cygfluidsynth-3.dll"
libfluidsynth_devel_CATEGORY="Libs"
libfluidsynth_devel_SUMMARY="${SUMMARY} library"
libfluidsynth_devel_CONTENTS="
usr/include/fluidsynth*
usr/lib/libfluidsynth.dll.a
usr/lib/pkgconfig/fluidsynth.pc
"
PKG_IGNORE="usr/lib/cmake/fluidsynth/*.cmake"
# dbus: only for RealtimeKit
# portaudio: playback is just static
CYGCMAKE_ARGS="
-Denable-dbus=OFF
-Denable-midishare=OFF
-Denable-portaudio=ON
"
[-- Attachment #3: fluidsynth-2.3.2-1.src.patch --]
[-- Type: text/plain, Size: 3942 bytes --]
--- origsrc/fluidsynth-2.3.2/src/drivers/fluid_dsound.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/drivers/fluid_dsound.c 2023-09-16 00:02:53.038824600 +0900
@@ -28,6 +28,7 @@
#if DSOUND_SUPPORT
+#include <windows.h>
#include <mmsystem.h>
#include <dsound.h>
#include <mmreg.h>
--- origsrc/fluidsynth-2.3.2/src/drivers/fluid_oss.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/drivers/fluid_oss.c 2023-09-16 12:35:49.965676900 +0900
@@ -109,6 +109,22 @@ fluid_oss_audio_driver_settings(fluid_se
fluid_settings_register_str(settings, "audio.oss.device", "/dev/dsp", 0);
}
+#ifdef __CYGWIN__
+#include <sys/cygwin.h>
+static int get_cygwin_version(void);
+static int cygwin_version;
+static int get_cygwin_version(void)
+{
+ int cygwin_version = 3004006;
+ char *ver = (char *) (intptr_t) cygwin_internal(CW_GETVERSIONINFO);
+ int major, minor;
+ if (2 == sscanf(ver, "%*s\n%%%%%% Cygwin dll major: %d\n"
+ "%%%%%% Cygwin dll minor: %d", &major, &minor))
+ cygwin_version = major * 1000 + minor;
+ return cygwin_version;
+}
+#endif
+
/*
* new_fluid_oss_audio_driver
*/
@@ -133,6 +149,10 @@ new_fluid_oss_audio_driver(fluid_setting
return NULL;
}
+#ifdef __CYGWIN__
+ cygwin_version = get_cygwin_version();
+#endif
+
FLUID_MEMSET(dev, 0, sizeof(fluid_oss_audio_driver_t));
fluid_settings_getint(settings, "audio.periods", &periods);
@@ -306,6 +326,10 @@ new_fluid_oss_audio_driver2(fluid_settin
return NULL;
}
+#ifdef __CYGWIN
+ cygwin_version = get_cygwin_version();
+#endif
+
FLUID_MEMSET(dev, 0, sizeof(fluid_oss_audio_driver_t));
fluid_settings_getint(settings, "audio.periods", &periods);
@@ -540,6 +572,19 @@ fluid_oss_audio_run(void *d)
{
dev->read(synth, len, buffer, 0, 2, buffer, 1, 2);
+#ifdef __CYGWIN__
+ for (;;)
+ {
+ audio_buf_info info;
+ ioctl(dev->dspfd, SNDCTL_DSP_GETOSPACE, &info);
+ /* Reduce latency in cygwin before 3.5.0. */
+ if (cygwin_version < 3005000)
+ info.bytes -= info.fragsize * (info.fragstotal - 4);
+ if (info.bytes >= dev->buffer_byte_size)
+ break;
+ usleep(100);
+ }
+#endif
if(write(dev->dspfd, buffer, dev->buffer_byte_size) < 0)
{
FLUID_LOG(FLUID_ERR, "Error writing to OSS sound device: %s",
--- origsrc/fluidsynth-2.3.2/src/drivers/fluid_winmidi.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/drivers/fluid_winmidi.c 2023-09-16 00:02:53.038824600 +0900
@@ -75,6 +75,8 @@
#include "fluid_midi.h"
#include "fluid_mdriver.h"
#include "fluid_settings.h"
+#include <windows.h>
+#include <mmsystem.h>
#define MIDI_SYSEX_MAX_SIZE 512
#define MIDI_SYSEX_BUF_COUNT 16
--- origsrc/fluidsynth-2.3.2/src/fluidsynth.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/fluidsynth.c 2023-09-16 00:02:53.038824600 +0900
@@ -39,6 +39,7 @@
#endif
#if SDL2_SUPPORT
+#define SDL_MAIN_HANDLED 1
#include <SDL.h>
#endif
--- origsrc/fluidsynth-2.3.2/src/utils/fluid_sys.h 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/utils/fluid_sys.h 2023-09-16 00:02:53.048837900 +0900
@@ -137,6 +137,7 @@ typedef gintptr intptr_t;
*/
#if defined(__CYGWIN__) && HAVE_WINDOWS_H
#include <windows.h>
+#undef __MINGW64_VERSION_MAJOR
#include <wchar.h>
#endif
--- origsrc/fluidsynth-2.3.2/src/utils/fluidsynth_priv.h 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/utils/fluidsynth_priv.h 2023-09-16 00:02:53.048837900 +0900
@@ -45,6 +45,11 @@
#include <string.h>
#endif
+#ifdef __CYGWIN__
+#define DSOUND_SUPPORT 1
+#define WINMIDI_SUPPORT 1
+#endif
+
#include "fluidsynth.h"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ITA} fluidsynth
2023-09-17 13:14 [ITA} fluidsynth Takashi Yano
@ 2023-09-18 16:49 ` Jon Turney
2023-09-18 18:53 ` Takashi Yano
0 siblings, 1 reply; 5+ messages in thread
From: Jon Turney @ 2023-09-18 16:49 UTC (permalink / raw)
To: Takashi Yano, cygwin-apps
On 17/09/2023 14:14, Takashi Yano via Cygwin-apps wrote:
> I'd like adopt the fluidsynth package.
> Thanks in advance.
Thanks.
I added this to your packages.
>
> fluidsynth.cygport
>
> inherit cmake
>
> NAME="fluidsynth"
> VERSION=2.3.2
> RELEASE=1
> LICENSE="LGPL-2.1-or-later"
> CATEGORY="Audio"
> SUMMARY="SoundFont software synthesizer"
> DESCRIPTION="FluidSynth is a real-time software synthesizer based on the
> SoundFont 2 specifications."
> HOMEPAGE="http://www.fluidsynth.org/"
> SRC_URI="https://github.com/FluidSynth/fluidsynth/archive/v${VERSION}/fluidsynth-${VERSION}.tar.gz"
>
> PKG_NAMES="${NAME} lib${NAME}3 lib${NAME}-devel"
> fluidsynth_CONTENTS="usr/bin/*.exe usr/share/"
> libfluidsynth3_CATEGORY="Libs"
> libfluidsynth3_SUMMARY="${SUMMARY} library"
> libfluidsynth3_CONTENTS="usr/bin/cygfluidsynth-3.dll"
> libfluidsynth_devel_CATEGORY="Libs"
> libfluidsynth_devel_SUMMARY="${SUMMARY} library"
> libfluidsynth_devel_CONTENTS="
> usr/include/fluidsynth*
> usr/lib/libfluidsynth.dll.a
> usr/lib/pkgconfig/fluidsynth.pc
> "
>
> PKG_IGNORE="usr/lib/cmake/fluidsynth/*.cmake"
It would be normal to include these files in the libfluidsynth_devel
package, for use by cmake's find_package command.
Is there some reason to exclude them? If so, a comment explaining why
would be a good idea.
> # dbus: only for RealtimeKit
> # portaudio: playback is just static
Maybe the last line in this comment is no longer accurate?
> CYGCMAKE_ARGS="
> -Denable-dbus=OFF
> -Denable-midishare=OFF
> -Denable-portaudio=ON
> "
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ITA} fluidsynth
2023-09-18 16:49 ` Jon Turney
@ 2023-09-18 18:53 ` Takashi Yano
2023-09-23 8:50 ` Takashi Yano
0 siblings, 1 reply; 5+ messages in thread
From: Takashi Yano @ 2023-09-18 18:53 UTC (permalink / raw)
To: cygwin-apps
[-- Attachment #1: Type: text/plain, Size: 1909 bytes --]
On Mon, 18 Sep 2023 17:49:45 +0100
Jon Turney wrote:
> On 17/09/2023 14:14, Takashi Yano via Cygwin-apps wrote:
> > I'd like adopt the fluidsynth package.
> > Thanks in advance.
>
> Thanks.
>
> I added this to your packages.
>
> >
> > fluidsynth.cygport
> >
> > inherit cmake
> >
> > NAME="fluidsynth"
> > VERSION=2.3.2
> > RELEASE=1
> > LICENSE="LGPL-2.1-or-later"
> > CATEGORY="Audio"
> > SUMMARY="SoundFont software synthesizer"
> > DESCRIPTION="FluidSynth is a real-time software synthesizer based on the
> > SoundFont 2 specifications."
> > HOMEPAGE="http://www.fluidsynth.org/"
> > SRC_URI="https://github.com/FluidSynth/fluidsynth/archive/v${VERSION}/fluidsynth-${VERSION}.tar.gz"
> >
> > PKG_NAMES="${NAME} lib${NAME}3 lib${NAME}-devel"
> > fluidsynth_CONTENTS="usr/bin/*.exe usr/share/"
> > libfluidsynth3_CATEGORY="Libs"
> > libfluidsynth3_SUMMARY="${SUMMARY} library"
> > libfluidsynth3_CONTENTS="usr/bin/cygfluidsynth-3.dll"
> > libfluidsynth_devel_CATEGORY="Libs"
> > libfluidsynth_devel_SUMMARY="${SUMMARY} library"
> > libfluidsynth_devel_CONTENTS="
> > usr/include/fluidsynth*
> > usr/lib/libfluidsynth.dll.a
> > usr/lib/pkgconfig/fluidsynth.pc
> > "
> >
> > PKG_IGNORE="usr/lib/cmake/fluidsynth/*.cmake"
>
> It would be normal to include these files in the libfluidsynth_devel
> package, for use by cmake's find_package command.
Yeah, I have includes them in devel package.
> Is there some reason to exclude them? If so, a comment explaining why
> would be a good idea.
>
> > # dbus: only for RealtimeKit
> > # portaudio: playback is just static
>
> Maybe the last line in this comment is no longer accurate?
I confirmed that fluidsynth works properly with latest portaudio package.
So, I enabled the support for portaudio. I forgot to delete this line.
Thanks.
I have revised the project files. Could you please recheck them?
--
Takashi Yano <takashi.yano@nifty.ne.jp>
[-- Attachment #2: fluidsynth.cygport --]
[-- Type: text/plain, Size: 995 bytes --]
inherit cmake
NAME="fluidsynth"
VERSION=2.3.2
RELEASE=1
LICENSE="LGPL-2.1-or-later"
CATEGORY="Audio"
SUMMARY="SoundFont software synthesizer"
DESCRIPTION="FluidSynth is a real-time software synthesizer based on the
SoundFont 2 specifications."
HOMEPAGE="http://www.fluidsynth.org/"
SRC_URI="https://github.com/FluidSynth/fluidsynth/archive/v${VERSION}/fluidsynth-${VERSION}.tar.gz"
PKG_NAMES="${NAME} lib${NAME}3 lib${NAME}-devel"
fluidsynth_CONTENTS="usr/bin/*.exe usr/share/"
libfluidsynth3_CATEGORY="Libs"
libfluidsynth3_SUMMARY="${SUMMARY} library"
libfluidsynth3_CONTENTS="usr/bin/cygfluidsynth-3.dll"
libfluidsynth_devel_CATEGORY="Libs"
libfluidsynth_devel_SUMMARY="${SUMMARY} library"
libfluidsynth_devel_CONTENTS="
usr/include/fluidsynth*
usr/lib/libfluidsynth.dll.a
usr/lib/pkgconfig/fluidsynth.pc
usr/lib/cmake/fluidsynth/*.cmake
"
# dbus: only for RealtimeKit
CYGCMAKE_ARGS="
-Denable-dbus=OFF
-Denable-midishare=OFF
-Denable-portaudio=ON
"
[-- Attachment #3: fluidsynth-2.3.2-1.src.patch --]
[-- Type: text/plain, Size: 3942 bytes --]
--- origsrc/fluidsynth-2.3.2/src/drivers/fluid_dsound.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/drivers/fluid_dsound.c 2023-09-16 00:02:53.038824600 +0900
@@ -28,6 +28,7 @@
#if DSOUND_SUPPORT
+#include <windows.h>
#include <mmsystem.h>
#include <dsound.h>
#include <mmreg.h>
--- origsrc/fluidsynth-2.3.2/src/drivers/fluid_oss.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/drivers/fluid_oss.c 2023-09-16 12:35:49.965676900 +0900
@@ -109,6 +109,22 @@ fluid_oss_audio_driver_settings(fluid_se
fluid_settings_register_str(settings, "audio.oss.device", "/dev/dsp", 0);
}
+#ifdef __CYGWIN__
+#include <sys/cygwin.h>
+static int get_cygwin_version(void);
+static int cygwin_version;
+static int get_cygwin_version(void)
+{
+ int cygwin_version = 3004006;
+ char *ver = (char *) (intptr_t) cygwin_internal(CW_GETVERSIONINFO);
+ int major, minor;
+ if (2 == sscanf(ver, "%*s\n%%%%%% Cygwin dll major: %d\n"
+ "%%%%%% Cygwin dll minor: %d", &major, &minor))
+ cygwin_version = major * 1000 + minor;
+ return cygwin_version;
+}
+#endif
+
/*
* new_fluid_oss_audio_driver
*/
@@ -133,6 +149,10 @@ new_fluid_oss_audio_driver(fluid_setting
return NULL;
}
+#ifdef __CYGWIN__
+ cygwin_version = get_cygwin_version();
+#endif
+
FLUID_MEMSET(dev, 0, sizeof(fluid_oss_audio_driver_t));
fluid_settings_getint(settings, "audio.periods", &periods);
@@ -306,6 +326,10 @@ new_fluid_oss_audio_driver2(fluid_settin
return NULL;
}
+#ifdef __CYGWIN
+ cygwin_version = get_cygwin_version();
+#endif
+
FLUID_MEMSET(dev, 0, sizeof(fluid_oss_audio_driver_t));
fluid_settings_getint(settings, "audio.periods", &periods);
@@ -540,6 +572,19 @@ fluid_oss_audio_run(void *d)
{
dev->read(synth, len, buffer, 0, 2, buffer, 1, 2);
+#ifdef __CYGWIN__
+ for (;;)
+ {
+ audio_buf_info info;
+ ioctl(dev->dspfd, SNDCTL_DSP_GETOSPACE, &info);
+ /* Reduce latency in cygwin before 3.5.0. */
+ if (cygwin_version < 3005000)
+ info.bytes -= info.fragsize * (info.fragstotal - 4);
+ if (info.bytes >= dev->buffer_byte_size)
+ break;
+ usleep(100);
+ }
+#endif
if(write(dev->dspfd, buffer, dev->buffer_byte_size) < 0)
{
FLUID_LOG(FLUID_ERR, "Error writing to OSS sound device: %s",
--- origsrc/fluidsynth-2.3.2/src/drivers/fluid_winmidi.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/drivers/fluid_winmidi.c 2023-09-16 00:02:53.038824600 +0900
@@ -75,6 +75,8 @@
#include "fluid_midi.h"
#include "fluid_mdriver.h"
#include "fluid_settings.h"
+#include <windows.h>
+#include <mmsystem.h>
#define MIDI_SYSEX_MAX_SIZE 512
#define MIDI_SYSEX_BUF_COUNT 16
--- origsrc/fluidsynth-2.3.2/src/fluidsynth.c 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/fluidsynth.c 2023-09-16 00:02:53.038824600 +0900
@@ -39,6 +39,7 @@
#endif
#if SDL2_SUPPORT
+#define SDL_MAIN_HANDLED 1
#include <SDL.h>
#endif
--- origsrc/fluidsynth-2.3.2/src/utils/fluid_sys.h 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/utils/fluid_sys.h 2023-09-16 00:02:53.048837900 +0900
@@ -137,6 +137,7 @@ typedef gintptr intptr_t;
*/
#if defined(__CYGWIN__) && HAVE_WINDOWS_H
#include <windows.h>
+#undef __MINGW64_VERSION_MAJOR
#include <wchar.h>
#endif
--- origsrc/fluidsynth-2.3.2/src/utils/fluidsynth_priv.h 2023-04-03 00:54:17.000000000 +0900
+++ src/fluidsynth-2.3.2/src/utils/fluidsynth_priv.h 2023-09-16 00:02:53.048837900 +0900
@@ -45,6 +45,11 @@
#include <string.h>
#endif
+#ifdef __CYGWIN__
+#define DSOUND_SUPPORT 1
+#define WINMIDI_SUPPORT 1
+#endif
+
#include "fluidsynth.h"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ITA} fluidsynth
2023-09-18 18:53 ` Takashi Yano
@ 2023-09-23 8:50 ` Takashi Yano
2023-09-23 12:16 ` Jon Turney
0 siblings, 1 reply; 5+ messages in thread
From: Takashi Yano @ 2023-09-23 8:50 UTC (permalink / raw)
To: cygwin-apps
Hi Jon,
Thank you very much for reviewing so many packages in a short time.
On Tue, 19 Sep 2023 03:53:14 +0900
Takashi Yano wrote:
> On Mon, 18 Sep 2023 17:49:45 +0100
> Jon Turney wrote:
> > On 17/09/2023 14:14, Takashi Yano via Cygwin-apps wrote:
> > > I'd like adopt the fluidsynth package.
> > > Thanks in advance.
> >
> > Thanks.
> >
> > I added this to your packages.
> >
> > >
> > > fluidsynth.cygport
> > >
> > > inherit cmake
> > >
> > > NAME="fluidsynth"
> > > VERSION=2.3.2
> > > RELEASE=1
> > > LICENSE="LGPL-2.1-or-later"
> > > CATEGORY="Audio"
> > > SUMMARY="SoundFont software synthesizer"
> > > DESCRIPTION="FluidSynth is a real-time software synthesizer based on the
> > > SoundFont 2 specifications."
> > > HOMEPAGE="http://www.fluidsynth.org/"
> > > SRC_URI="https://github.com/FluidSynth/fluidsynth/archive/v${VERSION}/fluidsynth-${VERSION}.tar.gz"
> > >
> > > PKG_NAMES="${NAME} lib${NAME}3 lib${NAME}-devel"
> > > fluidsynth_CONTENTS="usr/bin/*.exe usr/share/"
> > > libfluidsynth3_CATEGORY="Libs"
> > > libfluidsynth3_SUMMARY="${SUMMARY} library"
> > > libfluidsynth3_CONTENTS="usr/bin/cygfluidsynth-3.dll"
> > > libfluidsynth_devel_CATEGORY="Libs"
> > > libfluidsynth_devel_SUMMARY="${SUMMARY} library"
> > > libfluidsynth_devel_CONTENTS="
> > > usr/include/fluidsynth*
> > > usr/lib/libfluidsynth.dll.a
> > > usr/lib/pkgconfig/fluidsynth.pc
> > > "
> > >
> > > PKG_IGNORE="usr/lib/cmake/fluidsynth/*.cmake"
> >
> > It would be normal to include these files in the libfluidsynth_devel
> > package, for use by cmake's find_package command.
>
> Yeah, I have includes them in devel package.
>
> > Is there some reason to exclude them? If so, a comment explaining why
> > would be a good idea.
> >
> > > # dbus: only for RealtimeKit
> > > # portaudio: playback is just static
> >
> > Maybe the last line in this comment is no longer accurate?
>
> I confirmed that fluidsynth works properly with latest portaudio package.
> So, I enabled the support for portaudio. I forgot to delete this line.
> Thanks.
>
> I have revised the project files. Could you please recheck them?
Can I go ahead as for fluidsynth as well?
--
Takashi Yano <takashi.yano@nifty.ne.jp>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ITA} fluidsynth
2023-09-23 8:50 ` Takashi Yano
@ 2023-09-23 12:16 ` Jon Turney
0 siblings, 0 replies; 5+ messages in thread
From: Jon Turney @ 2023-09-23 12:16 UTC (permalink / raw)
To: Takashi Yano, cygwin-apps
On 23/09/2023 09:50, Takashi Yano via Cygwin-apps wrote:
> Hi Jon,
>
> Thank you very much for reviewing so many packages in a short time.
No problem.
> On Tue, 19 Sep 2023 03:53:14 +0900
> Takashi Yano wrote:
>> On Mon, 18 Sep 2023 17:49:45 +0100
>> Jon Turney wrote:
>>> On 17/09/2023 14:14, Takashi Yano via Cygwin-apps wrote:
[...]
>>>
>>> It would be normal to include these files in the libfluidsynth_devel
>>> package, for use by cmake's find_package command.
>>
>> Yeah, I have includes them in devel package.
>>
>>> Is there some reason to exclude them? If so, a comment explaining why
>>> would be a good idea.
>>>
>>>> # dbus: only for RealtimeKit
>>>> # portaudio: playback is just static
>>>
>>> Maybe the last line in this comment is no longer accurate?
>>
>> I confirmed that fluidsynth works properly with latest portaudio package.
>> So, I enabled the support for portaudio. I forgot to delete this line.
>> Thanks.
>>
>> I have revised the project files. Could you please recheck them?
>
> Can I go ahead as for fluidsynth as well?
Yes. Sorry, I overlooked that one, somehow.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-23 12:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-17 13:14 [ITA} fluidsynth Takashi Yano
2023-09-18 16:49 ` Jon Turney
2023-09-18 18:53 ` Takashi Yano
2023-09-23 8:50 ` Takashi Yano
2023-09-23 12:16 ` Jon Turney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).