mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-07 05:53:06 +00:00
Merged bb recipes from elvox branch
This commit is contained in:
parent
179122390e
commit
6d04b6344b
16 changed files with 188 additions and 69 deletions
|
|
@ -1,15 +1,15 @@
|
|||
DESCRIPTION = "Linphone version of antlr3"
|
||||
LICENSE = "GPL"
|
||||
|
||||
|
||||
DEPENDS = ""
|
||||
PROVIDES = "antlr3c antlr3c-dev"
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
S = "${WORKDIR}/git/runtime/C"
|
||||
|
||||
inherit autotools pkgconfig lib_package
|
||||
|
||||
do_fetch_append() {
|
||||
import os
|
||||
os.system("autogen.sh")
|
||||
import os
|
||||
os.system("autogen.sh")
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
DESCRIPTION = "SIP stack from Belledonne Communications"
|
||||
LICENSE = "GPL"
|
||||
|
||||
DEPENDS = "polarssl antlr3c"
|
||||
RDEPENDS = "antlr3c"
|
||||
DEPENDS_${PN} = "polarssl-dev antlr3c-dev"
|
||||
DEPENDS = "polarssl-dev antlr3c-dev"
|
||||
RDEPENDS_${PN} = "polarssl-dev antlr3c-dev"
|
||||
|
||||
EXTRA_OECONF += "--disable-strict --with-antlr=${STAGING_DIR_HOST}${layout_exec_prefix}/usr --with-polarssl=${STAGING_DIR_HOST}${layout_exec_prefix}/usr"
|
||||
INSANE_SKIP_belle-sip += "dev-deps"
|
||||
|
|
@ -12,7 +13,3 @@ inherit autotools pkgconfig
|
|||
do_autoreconf () {
|
||||
./autogen.sh
|
||||
}
|
||||
|
||||
DEPENDS_${PN} += "${DEPENDS}"
|
||||
RDEPENDS_${PN} += "${RDEPENDS}"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
require belle-sip.inc
|
||||
|
||||
SRCREV="e240481b732b219976f28a72906e8a2022013d86"
|
||||
SRCREV="af93922ac91cf3cbf5ceed0328bf43d08d37714e"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PR="R1"
|
||||
|
||||
|
||||
SRC_URI = "git://git.linphone.org/belle-sip.git;commit=e240481b732b219976f28a72906e8a2022013d86"
|
||||
SRC_URI = "git://git.linphone.org/belle-sip.git;commit=${SRCREV}"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=9f9938e31db89d55a796e86808c96848"
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
DESCRIPTION = "Plugins for linphone to have additional codecs."
|
||||
LICENSE = ""
|
||||
ALLOW_EMPTY = "1"
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
PACKAGES = "${PN}"
|
||||
DEPENDS = "linphone msamr msilbc msx264"
|
||||
RDEPENDS = "linphonec msamr msilbc msx264"
|
||||
DEPENDS_${PN} = "linphone msamr msilbc msx264"
|
||||
RDEPENDS_${PN} = "linphonec msamr msilbc msx264"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
|
||||
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
|
|
|||
|
|
@ -6,80 +6,61 @@ SECTION_linphonec = "console/network"
|
|||
|
||||
SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
|
||||
|
||||
DEPENDS = "intltool-native readline speex alsa-lib spandsp belle-sip"
|
||||
DEPENDS_append_video = " libxv ffmpeg libv4l"
|
||||
DEPENDS_append_gtk = " gtk+"
|
||||
DEPENDS_append_gsm = " libgsm"
|
||||
DEPENDS_${PN} = "intltool liblinphone"
|
||||
DEPENDS_${PN}_append_gsm = " libgsm"
|
||||
DEPENDS_${PN}_append_gtk = " gtk+"
|
||||
DEPENDS_${PN}_append_video = " libxv"
|
||||
DEPENDS_${PN}c = "liblinphone readline"
|
||||
DEPENDS_liblinphone = "libmediastreamer libortp belle-sip"
|
||||
DEPENDS_${PN} = "intltool-native speex alsa-lib spandsp belle-sip liblinphone libxv ffmpeg libv4l libgsm"
|
||||
DEPENDS_liblinphone = "libmediastreamer libortp"
|
||||
DEPENDS_libmediastreamer = "speex alsa-lib libortp"
|
||||
DEPENDS_libmediastreamer_append_video = " ffmpeg libv4l"
|
||||
|
||||
PROVIDES = "linphonec liblinphone libmediastreamer libortp"
|
||||
PROVIDES_gtk = "linphone linphonec liblinphone libmediastreamer libortp"
|
||||
PROVIDES = "linphone linphonec liblinphone libmediastreamer libortp"
|
||||
|
||||
inherit autotools pkgconfig gettext
|
||||
|
||||
INSANE_SKIP_linphone += "dev-deps"
|
||||
INSANE_SKIP_liblinphone += "dev-deps"
|
||||
|
||||
LINPHONE_OE_ENABLE_TESTS = "--disable-tests"
|
||||
LINPHONE_OE_ENABLE_VIDEO = "--disable-video"
|
||||
LINPHONE_OE_ENABLE_VIDEO_video = "--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"
|
||||
LINPHONE_OE_ENABLE_X11 = "--disable-x11 --disable-xv"
|
||||
LINPHONE_OE_ENABLE_X11_x11 = ""
|
||||
LINPHONE_OE_ENABLE_GL = "--disable-glx"
|
||||
LINPHONE_OE_ENABLE_GL_gl = ""
|
||||
|
||||
LINPHONE_OE_ENABLE_CONSOLE_UI = "no"
|
||||
LINPHONE_OE_ENABLE_CONSOLE_UI_console = "yes"
|
||||
|
||||
LINPHONE_OE_ENABLE_GTK_UI = "no"
|
||||
LINPHONE_OE_ENABLE_GTK_UI_gtk = "yes"
|
||||
|
||||
do_install_append(){
|
||||
install -d ${D}${bindir}
|
||||
}
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
${LINPHONE_OE_ENABLE_TESTS} \
|
||||
${LINPHONE_OE_ENABLE_VIDEO} \
|
||||
${LINPHONE_OE_ENABLE_X11} \
|
||||
${LINPHONE_OE_ENABLE_GL} \
|
||||
--disable-tests \
|
||||
--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video --disable-vp8 \
|
||||
--disable-glx \
|
||||
--enable-alsa --disable-pulseaudio \
|
||||
--with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
|
||||
--with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
|
||||
--without-readline \
|
||||
--with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
|
||||
--disable-manual --enable-tests=yes \
|
||||
--enable-console_ui=${LINPHONE_OE_ENABLE_CONSOLE_UI} \
|
||||
--enable-gtk_ui=${LINPHONE_OE_ENABLE_GTK_UI} \
|
||||
--enable-console_ui=no \
|
||||
--enable-gtk_ui=no \
|
||||
--with-realprefix=/usr \
|
||||
"
|
||||
|
||||
EXTRA_OEMAKE = " V=1"
|
||||
|
||||
PACKAGES_gtk = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale ${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
|
||||
PACKAGES = "${PN}-dbg ${PN}-dev ${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
|
||||
PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-doc ${PN}c ${PN}-common linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils ${PN}-tests"
|
||||
|
||||
FILES_${PN} = " \
|
||||
${bindir}/linphone \
|
||||
${datadir}/linphone \
|
||||
FILES_${PN}-common = "\
|
||||
${bindir}/lp-gen-wrappers \
|
||||
${datadir}/pixmaps \
|
||||
${datadir}/applications \
|
||||
${datadir}/gnome/apps \
|
||||
${datadir}/gnome \
|
||||
${datadir}/tutorials \
|
||||
${datadir}/linphone \
|
||||
${datadir}/sounds/linphone/hello8000.wav \
|
||||
${datadir}/sounds/linphone/hello16000.wav \
|
||||
${datadir}/sounds/linphone/incoming_chat.wav \
|
||||
${datadir}/sounds/linphone/ringback.wav \
|
||||
${datadir}/images/nowebcamCIF.jpg \
|
||||
${datadir}/appdata/linphone.appdata.xml \
|
||||
${datadir}/icons \
|
||||
"
|
||||
FILES_${PN}c = "${bindir}/linphonec ${bindir}/linphone-daemon ${bindir}/linphone-daemon-pipetest ${bindir}/linphonecsh ${bindir}/sipomatic ${datadir}/sounds/linphone/ringback.wav"
|
||||
FILES_${PN}-tests = "${bindir}/xml2lpc_test ${bindir}/lpc2xml_test"
|
||||
FILES_${PN} = "${bindir}/linphone"
|
||||
FILES_${PN}c = "${bindir}/linphonec ${bindir}/linphone-daemon ${bindir}/linphone-daemon-pipetest ${bindir}/linphonecsh ${bindir}/sipomatic ${bindir}/auto_answer"
|
||||
FILES_${PN}-rings = "${datadir}/sounds/linphone/rings"
|
||||
FILES_liblinphone = "${libdir}/liblinphone.so.*"
|
||||
FILES_libmediastreamer-bin = "${bindir}/mediastream"
|
||||
FILES_libmediastreamer = "${libdir}/libmediastreamer_base.so.* ${libdir}/libmediastreamer_voip.so.*"
|
||||
FILES_libmediastreamer-bin = "${bindir}/mediastream ${bindir}/msaudiocmp"
|
||||
FILES_libmediastreamer = "${libdir}/libmediastreamer_base.so.* ${libdir}/libmediastreamer_voip.so.* ${libdir}/mediastreamer/ ${libdir}/mediastreamer/plugins"
|
||||
FILES_libortp = "${libdir}/libortp.so.*"
|
||||
FILES_${PN}-dev += "${libdir}/*.a ${libdir}/*.la ${libdir}/pkgconfig ${includedir}"
|
||||
FILES_${PN}-utils = "${bindir}/test_ecc ${bindir}/test_lsd"
|
||||
FILES_${PN}-doc = "${docdir}/ortp-0.24.1 ${docdir}/mediastreamer-2.11.1 ${docdir}/linphone-3.8.1-linphone-daemon ${mandir}"
|
||||
|
|
|
|||
39
build/openembedded/linphone/linphone_git.bb
Normal file
39
build/openembedded/linphone/linphone_git.bb
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
|
||||
HOMEPAGE = "http://www.linphone.org/?lang=us"
|
||||
LICENSE = "GPLv2"
|
||||
|
||||
SRCREV = "855f3aa1b83fd979bb8ff4c6373522bc72fe77ec"
|
||||
L_GIT_SRC_URI = "gitosis@git.linphone.org:linphone-daemon"
|
||||
|
||||
LINPHONE_TMP_DIR="/tmp/LINPHONE_TMP_${SRCREV}"
|
||||
SRC_URI = "file://${LINPHONE_TMP_DIR}/linphone.tar.gz"
|
||||
|
||||
S = "${WORKDIR}/linphone"
|
||||
|
||||
# bitbake git fetcher currently doesn't handle git submodules
|
||||
# There is also a problem with autogen and AC_SUBST
|
||||
# note: don't use a ssh key with password, it does not work.
|
||||
do_fetch_prepend () {
|
||||
import os,bb
|
||||
bb.note("Hack preparing clone in %s" %"${LINPHONE_TMP_DIR}")
|
||||
os.system("rm -rf ${LINPHONE_TMP_DIR}")
|
||||
os.system("mkdir -p ${LINPHONE_TMP_DIR}")
|
||||
|
||||
bb.note("Hack cloning linphone !recursively")
|
||||
os.system("cd ${LINPHONE_TMP_DIR}; git clone ${L_GIT_SRC_URI} linphone; cd linphone; git checkout ${SRCREV}; git submodule update --recursive --init")
|
||||
|
||||
bb.note("Hack launching autogen.sh manually")
|
||||
os.system("cd ${LINPHONE_TMP_DIR}/linphone; ./autogen.sh")
|
||||
|
||||
bb.note("Hack preparing linphone.tar.gz")
|
||||
# we need to keep the .git since the versioning in linphone is done through `git describe`
|
||||
os.system("cd ${LINPHONE_TMP_DIR}; tar czf linphone.tar.gz linphone")
|
||||
}
|
||||
|
||||
require linphone-common.inc
|
||||
|
||||
|
||||
#Required to avoid compile errors on May 2011.
|
||||
EXTRA_OECONF +=" --disable-strict"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=9f9938e31db89d55a796e86808c96848"
|
||||
12
build/openembedded/msimx6vpu-h264/msimx6vpu-h264.inc
Normal file
12
build/openembedded/msimx6vpu-h264/msimx6vpu-h264.inc
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
SECTION = "libs"
|
||||
|
||||
DEPENDS_${PN} = "libmediastreamer imx-lib imx-vpu"
|
||||
DEPENDS = "libmediastreamer imx-lib imx-vpu"
|
||||
|
||||
PROVIDES = "msimx6vpu-h264 msimx6vpu-h264-dbg"
|
||||
|
||||
inherit autotools gettext
|
||||
|
||||
FILES_${PN} = "${libdir}/mediastreamer/plugins/*.so.*"
|
||||
FILES_${PN}-dev = "${libdir}/mediastreamer/plugins/*.la ${libdir}/mediastreamer/plugins/*.so"
|
||||
FILES_${PN}-dbg = "${libdir}/mediastreamer/plugins/.debug/*.so.* /usr/src/debug"
|
||||
23
build/openembedded/msimx6vpu-h264/msimx6vpu-h264_git.bb
Normal file
23
build/openembedded/msimx6vpu-h264/msimx6vpu-h264_git.bb
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
DESCRIPTION = "A H264 encoder/decoder plugin for mediastreamer using Freescale's IMX6's VPU"
|
||||
HOMEPAGE = "http://www.linphone.org/?lang=us"
|
||||
LICENSE = "GPLv3+"
|
||||
|
||||
GIT_SRC_URI = "gitosis@git.linphone.org:msimx6vpu-h264.git"
|
||||
SRCREV = "master"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803"
|
||||
|
||||
TMP_DIR="/tmp/TMP_MSIMX6VPUH264_${SRCREV}"
|
||||
SRC_URI = "file://${TMP_DIR}/msimx6vpu-h264.tar.gz"
|
||||
|
||||
S = "${WORKDIR}/msimx6vpu-h264"
|
||||
|
||||
# note: don't use a ssh key with password, it does not work.
|
||||
do_fetch_prepend () {
|
||||
import os,bb
|
||||
os.system("rm -rf ${TMP_DIR}")
|
||||
os.system("mkdir -p ${TMP_DIR}")
|
||||
os.system("cd ${TMP_DIR}; git clone ${GIT_SRC_URI} msimx6vpu-h264")
|
||||
os.system("cd ${TMP_DIR}; tar czf msimx6vpu-h264.tar.gz msimx6vpu-h264")
|
||||
}
|
||||
|
||||
require msimx6vpu-h264.inc
|
||||
14
build/openembedded/msv4l2-display/msv4l2-display-common.inc
Normal file
14
build/openembedded/msv4l2-display/msv4l2-display-common.inc
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
SECTION = "libs"
|
||||
|
||||
DEPENDS_${PN} = "libmediastreamer"
|
||||
DEPENDS = "libmediastreamer"
|
||||
|
||||
PROVIDES = "msv4l2-display"
|
||||
|
||||
EXTRA_OECONF += ' CFLAGS="-DOUTPUT_VIDEO_DEVICE=17"'
|
||||
|
||||
inherit autotools gettext
|
||||
|
||||
FILES_${PN} = "${libdir}/mediastreamer/plugins/*.so.*"
|
||||
FILES_${PN}-dev = "${libdir}/mediastreamer/plugins/*.la ${libdir}/mediastreamer/plugins/*.so"
|
||||
FILES_${PN}-dbg = "${libdir}/mediastreamer/plugins/.debug/*.so.* /usr/src/debug"
|
||||
23
build/openembedded/msv4l2-display/msv4l2-display_git.bb
Normal file
23
build/openembedded/msv4l2-display/msv4l2-display_git.bb
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
DESCRIPTION = "V4L2 display filter plugin for mediastreamer/linphone"
|
||||
HOMEPAGE = "http://www.linphone.org/?lang=us"
|
||||
LICENSE = "GPLv3+"
|
||||
|
||||
GIT_SRC_URI = "gitosis@git.linphone.org:msv4l2-display.git"
|
||||
SRCREV = "master"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803"
|
||||
|
||||
TMP_DIR="/tmp/TMP_MSV4L2Display_${SRCREV}"
|
||||
SRC_URI = "file://${TMP_DIR}/msv4l2-display.tar.gz"
|
||||
|
||||
S = "${WORKDIR}/msv4l2-display"
|
||||
|
||||
# note: don't use a ssh key with password, it does not work.
|
||||
do_fetch_prepend () {
|
||||
import os,bb
|
||||
os.system("rm -rf ${TMP_DIR}")
|
||||
os.system("mkdir -p ${TMP_DIR}")
|
||||
os.system("cd ${TMP_DIR}; git clone ${GIT_SRC_URI} msv4l2-display")
|
||||
os.system("cd ${TMP_DIR}; tar czf msv4l2-display.tar.gz msv4l2-display")
|
||||
}
|
||||
|
||||
require msv4l2-display-common.inc
|
||||
15
build/openembedded/mswebrtc/mswebrtc-common.inc
Normal file
15
build/openembedded/mswebrtc/mswebrtc-common.inc
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
DESCRIPTION = "Mediastreamer2 plugin adding support for WebRTC features (iSAC codec, AEC...)"
|
||||
SECTION = "libs"
|
||||
PRIORITY = "optional"
|
||||
LICENSE = "GPLv2"
|
||||
DEPENDS = "linphone"
|
||||
|
||||
EXTRA_OECONF = "--disable-isac"
|
||||
|
||||
FILES_${PN} = "${libdir}/mediastreamer/plugins/*.so.*"
|
||||
FILES_${PN}-dev = "${libdir}/mediastreamer/plugins/*.la ${libdir}/mediastreamer/plugins/*.so"
|
||||
FILES_${PN}-dbg = "${libdir}/mediastreamer/plugins/.debug/*.so.* /usr/src/debug"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
6
build/openembedded/mswebrtc/mswebrtc_git.bb
Normal file
6
build/openembedded/mswebrtc/mswebrtc_git.bb
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PR = "r3"
|
||||
SRC_URI = "git://git.linphone.org/mswebrtc.git;protocol=git"
|
||||
SRCREV = "a9b5929928dd58299ceaed0aeb507c82bae80b55"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
require mswebrtc-common.inc
|
||||
11
build/openembedded/mswebrtc/mswebrtc_local.bb
Normal file
11
build/openembedded/mswebrtc/mswebrtc_local.bb
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
PR = "r0"
|
||||
SRC_URI = "file://${HOME}/mswebrtc-1.0.tar.gz"
|
||||
S = "${WORKDIR}/mswebrtc-1.0"
|
||||
|
||||
do_configure_prepend () {
|
||||
./autogen.sh
|
||||
}
|
||||
|
||||
DEFAULT_PREFERENCE="-1"
|
||||
|
||||
require mswebrtc-common.inc
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
DESCRIPTION = "SSL/TLS library"
|
||||
LICENSE = "GPL"
|
||||
|
||||
|
||||
DEPENDS = ""
|
||||
|
||||
inherit pkgconfig
|
||||
|
||||
EXTRA_OEMAKE += " SHARED=1"
|
||||
|
||||
PROVIDES = "polarssl polarssl-dev"
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
PACKAGES += "${PN}-utils"
|
||||
|
||||
MAKE_DESTDIR = "DESTDIR=${D}/${prefix}"
|
||||
|
|
@ -15,5 +15,3 @@ MAKE_DESTDIR = "DESTDIR=${D}/${prefix}"
|
|||
FILES_${PN} += "${sharedlibdir}/*${SOLIBSDEV}"
|
||||
FILES_${PN}-dev += "!${sharedlibdir}/*${SOLIBSDEV}"
|
||||
FILES_${PN}-utils += "${bindir}/polarssl_*"
|
||||
|
||||
DEPENDS_${PN} += "${DEPENDS}"
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ SRCREV="cecb44e4f13f42f793dde34b42793e1ebcce91a5"
|
|||
S = "${WORKDIR}/git"
|
||||
|
||||
do_fetch_prepend () {
|
||||
import bb
|
||||
bb.note("Will checkout in %s" % "${S}" )
|
||||
import bb
|
||||
bb.note("Will checkout in %s" % "${S}" )
|
||||
}
|
||||
|
||||
SRC_URI = "git://git.linphone.org/polarssl.git"
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ DESCRIPTION = "A library of many DSP functions for telephony."
|
|||
HOMEPAGE = "http://www.soft-switch.org"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL"
|
||||
DEPENDS = "tiff libxml2"
|
||||
DEPENDS_${PN} = "tiff libxml2"
|
||||
|
||||
inherit autotools
|
||||
|
||||
PARALLEL_MAKE = ""
|
||||
#PARALLEL_MAKE = ""
|
||||
|
||||
SRC_URI[md5sum] = "98330bc00a581ed8d71ebe34afabbcf9"
|
||||
SRC_URI[sha256sum] = "835cd886105e4e39791f0e8cfe004c39b069f2e6dcb0795a68a6c79b5d14af2c"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=8791c23ddf418deb5be264cffb5fa6bc"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=8791c23ddf418deb5be264cffb5fa6bc"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue