summaryrefslogtreecommitdiff
path: root/sys-libs/openipmi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-libs/openipmi
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-libs/openipmi')
-rw-r--r--sys-libs/openipmi/Manifest11
-rw-r--r--sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch12
-rw-r--r--sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch18
-rw-r--r--sys-libs/openipmi/metadata.xml11
-rw-r--r--sys-libs/openipmi/openipmi-2.0.18-r1.ebuild97
-rw-r--r--sys-libs/openipmi/openipmi-2.0.22.ebuild104
-rw-r--r--sys-libs/openipmi/openipmi-2.0.23_rc1.ebuild104
7 files changed, 357 insertions, 0 deletions
diff --git a/sys-libs/openipmi/Manifest b/sys-libs/openipmi/Manifest
new file mode 100644
index 000000000000..1ed93ebb2a99
--- /dev/null
+++ b/sys-libs/openipmi/Manifest
@@ -0,0 +1,11 @@
+AUX openipmi-2.0.16-pthreads.patch 546 SHA256 1f40883f92842a1b3d634ed23294fc26ef4a78cd3906034ad7cdf9617331e2df SHA512 cadbcb8a1c08b467ca550e2b8510a415ca50749e752baf3fe8cc59c67c0d6bce0009850510e02d36b306894cb1e84aac3e4d2f947c75d56f8e7443315e4f8902 WHIRLPOOL af2650d00429ed02872549607090f87a42bd434f9a04fdbeadf79c8b725212a73662ba8c783f1576b53dd130ae14aa4e7fcd453c163537d1f8f1e72059a740ae
+AUX openipmi-2.0.21-tinfo.patch 818 SHA256 b2f99c59049764289f0c4dab05bac8002b31cd5a74b96e56acce6b4bc6470715 SHA512 2b3f7f10f6f7f1a71973f0f8f125171c33ad9149bdcd808b9b76571ac2d5a403db0b23bde0fbcb7763fba6101b5015775a3563ed77197f4a50d7ca98812f6d6d WHIRLPOOL c9ecc7d909829435d4ea3800fe7d200ef7ef3564dc6488a0c1abc0d223e7db7ff2bfbf67749787808ab2aa1ffdffbec23acbb68961ae594ff170880b7daeb6bf
+DIST OpenIPMI-2.0.18.tar.gz 2895686 SHA256 6c1679a1c16aade48dd929e5124d2640ff12224ac0de1bb3777e9f1030d62e01 SHA512 a6caf791fb6d5bd83234481ea3c84a408dad3eabc093dbc4681742d23b47b223d0a1715a71a9b977a03a80f5c350dd34f6591ece5ea0d9876cb6debfc80a39d4 WHIRLPOOL 3b9bd32e01c118a450c5f6ec744b5cad521d41091f786a59485b91cde05ca184bdb4d8c05d53e9494966a9a733c560190f85208bedaa3b40e2cac116e3e6a84a
+DIST OpenIPMI-2.0.22.tar.gz 3081893 SHA256 4988900043c35fcfa9b2bf275d6593904f6429221befb770ba6ecb5502108e55 SHA512 78017fc0b52ce6a83db45f595f50170410120c9f7394429869c177ee40ea5b924bcc0e36bb60f9368a75a2f78ff71c70ae3631ba55a207cfb6eb4f62aa44ff89 WHIRLPOOL 2948006a489fc44a836aed5a6147b766fa06ab851b1e01bc0901e1bcad6b7d1b19bc352d2dd0130edf6750ed1822fb24203439185eef1328e7ba6adfdbdefb1a
+DIST OpenIPMI-2.0.23-rc1.tar.gz 3225557 SHA256 25bf1ad2889d5c28094bea45e8222084966c30cd17660c2993840eda2d05e98f SHA512 4da3d74073fe19573b8bc5fda15ecfa4d500a074559155456010e0bac8a8c2d345e30c086a851a9a4e7266165dd9a7a6d8f618e65bad3c2b18fe86d8f4c362ab WHIRLPOOL f6e155cfa74f7654539bbe4940c646370c2faa57acfa72f29b07b29676323733f3f4a2887a317f8e39977abcb02a3a038b2fdb4ca8630d1de0e5a7f4e4cf83a3
+EBUILD openipmi-2.0.18-r1.ebuild 2698 SHA256 8d52f8b19c632244bd35b20ae3c7fc20e49cea946f8d518cd47383939db90c6b SHA512 2ebfd8d50855851c97019df5042958585417de4726cf4d95df1400db2af5935b41586160fd403f5bc98f003a60a2cd5d609b27605e1b8f0472ac04b1e4af2bdf WHIRLPOOL addfe3571d3ba242fb99bdc9877e11cc80ac8d864baf6c9f18c19db5c3c2fcd2d3562eb453de9150f5b22ebe00fb705c0e066de71d50ec30d7fa3c13fb01f9da
+EBUILD openipmi-2.0.22.ebuild 2737 SHA256 bb6fd6138d2629d3234140e253bc01ae3aee6858e5c1ea920c7f29c8b07c70c4 SHA512 f54d1fef56e74d71695020899e293de400ab225b443d6852dd35f5d9966dab904e4bc70e849fd63708cc885ebd6a96bcd3d35deec000e78220fb54aafa883e3a WHIRLPOOL a9b7c34f14aa480a9f4ed37926645b4986628141bedd3f76e30c7b0e9cf5e627db3bce27499f1b7bf859bf6f8dbe9d708a384aee9ab3202f0a3c2c7446dfbb83
+EBUILD openipmi-2.0.23_rc1.ebuild 2745 SHA256 a810fef08100ff42cc0748e423d09764370e4c66fba90ab84a2a2e2ea5d67043 SHA512 ca67943c717f30059aa426dad6669013d4dc940c5e5b1c581e17123496b3163c5d1152e86158dfd156b5bd0eb437070bb33767028a643998fdbd4d1faa11d804 WHIRLPOOL 528115aa7716818ab2907c403afdf1e3613bc581a0c8687c701dcc07583fcc7889b80632095e50e40266ec8dd35206aa5ef35e20a75cd64c7bb706701f1a7c89
+MISC ChangeLog 4306 SHA256 daac08f8d24fd4e5706ce54e8c491348dd595d71131d951169ae3d3cbfa3e0d9 SHA512 f8ddf5aa397bcddd4c08ec6166aca47b2ad63008a5afbb1960e02aa7530cd335fe5b9722c2d2c65dd399be0262246bf01de9b1a6194458fbe20d06b2ea78e024 WHIRLPOOL 458085fed1fccfb1be1eccba88b71fb50b216e7c9d0c8fd9f5595aac071d8bf44733087f52221186ced6c7e715303215fdb710bd8492c0b820a942741485a7a9
+MISC ChangeLog-2015 4937 SHA256 6ecdffc256fe756474714631f49826a4d541b55d3fbf7632a598ebb4b90fab49 SHA512 b840295b8800a26467509f45a06a9938e74a2ed945badf2eeb142dc35e6f0afc6cd71f99fdaba961250b3888bc4584c13c0a2c31aac8789c3d1ed8038afda312 WHIRLPOOL b86762d8fd115ffa34b2c538374d86ee518b064759295fc8ac1e9421c8268e1daf093dcbf629fb97c857fbd5e4ccef36304d0be24bd96bc004bbbc42201f73b4
+MISC metadata.xml 347 SHA256 83aef1618b181b9ca05d7483f4e8de1fec5b9c67ab6fad9619a27038312b5df3 SHA512 f67b97714b2b543109c2bc90d8f474df13e8915b7a14fdc3a16b62f1dfbc59ac27c8e64d19429b87a63ee2c1e4812cee26d8fb797591028484b2072b1951231f WHIRLPOOL 949da3b4c48b9ffaecf817925c9df8b7b0d67aa76f6081d927d9b35c4def0277564f900e3d14ded9f88c06bfe4e5495c028cd93b7b7ee94c24c2e9a1b7f406ac
diff --git a/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch b/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch
new file mode 100644
index 000000000000..7666e34e936f
--- /dev/null
+++ b/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch
@@ -0,0 +1,12 @@
+diff -ruN OpenIPMI-2.0.16.orig/OpenIPMIpthread.pc.in OpenIPMI-2.0.16/OpenIPMIpthread.pc.in
+--- OpenIPMI-2.0.16.orig/OpenIPMIpthread.pc.in 2005-08-17 05:56:02.000000000 +0200
++++ OpenIPMI-2.0.16/OpenIPMIpthread.pc.in 2010-10-31 21:35:56.126933520 +0100
+@@ -6,6 +6,6 @@
+ Name: OpenIPMIpthread
+ Description: Pthread OS handler for OpenIPMI
+ Version: @VERSION@
+-Requires: OpenIPMI pthread
+-Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread
++Requires: OpenIPMI
++Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread -lpthread
+ Cflags: -I${includedir}
diff --git a/sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch b/sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch
new file mode 100644
index 000000000000..5eb8642ab2e4
--- /dev/null
+++ b/sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch
@@ -0,0 +1,18 @@
+diff -ur a/configure.ac b/configure.ac
+--- a/configure.ac 2014-01-28 20:35:02.000000000 +0100
++++ b/configure.ac 2015-09-23 17:05:03.526010122 +0200
+@@ -861,10 +861,12 @@
+ *-sun-*) AC_DEFINE([_SUNOS], [], [Solaris's term.h does horrid things.]);;
+ esac
+
+-AC_CHECK_LIB(curses, tgetent, TERM_LIBS=-lcurses,
++PKG_CHECK_MODULES(ncurses, ncurses, TERM_LIBS=$ncurses_LIBS,
++ [AC_CHECK_LIB(tinfo, tgetent, TERM_LIBS=-ltinfo,
++ [AC_CHECK_LIB(curses, tgetent, TERM_LIBS=-lcurses,
+ [AC_CHECK_LIB(ncursesw, tgetent, TERM_LIBS=-lncursesw,
+ [AC_CHECK_LIB(ncurses, tgetent, TERM_LIBS=-lncurses,
+- [AC_MSG_ERROR([libtermcap, libcurses or libncurses are required!])])] )] )
++ [AC_MSG_ERROR([libtinfo, libtermcap, libcurses or libncurses are required!])])] )] )] )] )
+
+ # Checks for header files.
+ AC_FUNC_ALLOCA
diff --git a/sys-libs/openipmi/metadata.xml b/sys-libs/openipmi/metadata.xml
new file mode 100644
index 000000000000..beb9542e8460
--- /dev/null
+++ b/sys-libs/openipmi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sysadmin@gentoo.org</email>
+ <name>Gentoo Sysadmin Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">openipmi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-libs/openipmi/openipmi-2.0.18-r1.ebuild b/sys-libs/openipmi/openipmi-2.0.18-r1.ebuild
new file mode 100644
index 000000000000..e2cc89751394
--- /dev/null
+++ b/sys-libs/openipmi/openipmi-2.0.18-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils autotools python-single-r1
+
+DESCRIPTION="Library interface to IPMI"
+HOMEPAGE="https://sourceforge.net/projects/openipmi/"
+MY_PN="OpenIPMI"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ia64 ppc x86"
+IUSE="crypt snmp perl tcl python"
+S="${WORKDIR}/${MY_P}"
+RESTRICT='test'
+
+RDEPEND="
+ dev-libs/glib:2
+ sys-libs/gdbm
+ sys-libs/ncurses:0=
+ crypt? ( dev-libs/openssl:0= )
+ snmp? ( net-analyzer/net-snmp )
+ perl? ( dev-lang/perl )
+ python? ( ${PYTHON_DEPS} )
+ tcl? ( dev-lang/tcl:0= )"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.21
+ virtual/pkgconfig"
+# Gui is broken!
+# python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Bug #338499: The installed OpenIPMIpthread.pc depends on a non-existing
+ # pthread.pc. We patch it to link -lpthread directly instead.
+ epatch "${FILESDIR}/${PN}-2.0.16-pthreads.patch"
+ # Bug #290763: The buildsys tries to compile+optimize the py file during
+ # install, when the .so might not be been added yet. We just skip the files
+ # and use python_optimize ourselves later instead.
+ sed -r -i \
+ -e '/INSTALL.*\.py[oc] /d' \
+ -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \
+ swig/python/Makefile.{am,in}
+
+ # Bug #298250: parallel install fix.
+ sed -r -i \
+ -e '/^install-data-local:/s,$, install-exec-am,g' \
+ cmdlang/Makefile.{am,in}
+
+ # We touch the .in and .am above because if we use the below, the Perl stuff
+ # is very fragile, and often fails to link.
+ #cd "${S}"
+ #elibtoolize
+ #eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ myconf="${myconf} `use_with snmp ucdsnmp yes`"
+ myconf="${myconf} `use_with crypt openssl yes`"
+ myconf="${myconf} `use_with perl perl yes`"
+ myconf="${myconf} `use_with tcl tcl yes`"
+ myconf="${myconf} `use_with python python yes`"
+
+ # GUI is broken
+ #use tk && use python && use !tcl && \
+ # ewarn "Not building Tk GUI because it needs both Python AND Tcl"
+ #if use python && use tcl; then
+ # myconf="${myconf} `use_yesno tk tkinter yes`"
+ #else
+ # myconf="${myconf} `use_yesno tk tkinter no`"
+ #fi
+
+ myconf="${myconf} --without-tkinter"
+ myconf="${myconf} --with-glib --with-swig"
+ # these binaries are for root!
+ econf ${myconf} --bindir=/usr/sbin
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.emulator
+ newdoc cmdlang/README README.cmdlang
+
+ use python && python_optimize
+}
diff --git a/sys-libs/openipmi/openipmi-2.0.22.ebuild b/sys-libs/openipmi/openipmi-2.0.22.ebuild
new file mode 100644
index 000000000000..d6e064b0e91d
--- /dev/null
+++ b/sys-libs/openipmi/openipmi-2.0.22.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils autotools python-single-r1
+
+DESCRIPTION="Library interface to IPMI"
+HOMEPAGE="https://sourceforge.net/projects/openipmi/"
+MY_PN="OpenIPMI"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ia64 ppc x86"
+IUSE="crypt snmp perl python tcl"
+S="${WORKDIR}/${MY_P}"
+RESTRICT='test'
+
+RDEPEND="
+ dev-libs/glib:2
+ sys-libs/gdbm
+ sys-libs/ncurses:0=
+ crypt? ( dev-libs/openssl:0= )
+ snmp? ( net-analyzer/net-snmp )
+ perl? ( dev-lang/perl )
+ python? ( ${PYTHON_DEPS} )
+ tcl? ( dev-lang/tcl:0= )"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.21
+ virtual/pkgconfig"
+# Gui is broken!
+# python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ # Bug #338499: The installed OpenIPMIpthread.pc depends on a non-existing
+ # pthread.pc. We patch it to link -lpthread directly instead.
+ "${FILESDIR}/${PN}-2.0.16-pthreads.patch"
+
+ # https://bugs.gentoo.org/501510
+ "${FILESDIR}/${PN}-2.0.21-tinfo.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Bug #290763: The buildsys tries to compile+optimize the py file during
+ # install, when the .so might not be been added yet. We just skip the files
+ # and use python_optimize ourselves later instead.
+ sed -r -i \
+ -e '/INSTALL.*\.py[oc] /d' \
+ -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \
+ swig/python/Makefile.{am,in}
+
+ # Bug #298250: parallel install fix.
+ sed -r -i \
+ -e '/^install-data-local:/s,$, install-exec-am,g' \
+ cmdlang/Makefile.{am,in}
+
+ # We touch the .in and .am above because if we use the below, the Perl stuff
+ # is very fragile, and often fails to link.
+ #cd "${S}"
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=()
+ myconf+=( $(use_with snmp ucdsnmp yes) )
+ myconf+=( $(use_with crypt openssl yes) )
+ myconf+=( $(use_with perl perl yes) )
+ myconf+=( $(use_with tcl tcl yes) )
+ myconf+=( $(use_with python python yes) )
+
+ # GUI is broken
+ #use tk && use python && use !tcl && \
+ # ewarn "Not building Tk GUI because it needs both Python AND Tcl"
+ #if use python && use tcl; then
+ # myconf+=( $(use_with tk tkinter) )
+ #else
+ # myconf+=( --without-tkinter )
+ #fi
+
+ myconf+=( --without-tkinter )
+ myconf+=( --with-glib --with-glibver=2.0 --with-glib12=no --with-swig )
+ # these binaries are for root!
+ econf ${myconf[@]} --bindir=/usr/sbin
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.vm
+ newdoc cmdlang/README README.cmdlang
+
+ use python && python_optimize
+}
diff --git a/sys-libs/openipmi/openipmi-2.0.23_rc1.ebuild b/sys-libs/openipmi/openipmi-2.0.23_rc1.ebuild
new file mode 100644
index 000000000000..3f4ded19e175
--- /dev/null
+++ b/sys-libs/openipmi/openipmi-2.0.23_rc1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils autotools python-single-r1
+
+DESCRIPTION="Library interface to IPMI"
+HOMEPAGE="https://sourceforge.net/projects/openipmi/"
+MY_PN="OpenIPMI"
+MY_P="${MY_PN}-${PV/_/-}"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~x86"
+IUSE="crypt snmp perl python tcl"
+S="${WORKDIR}/${MY_P}"
+RESTRICT='test'
+
+RDEPEND="
+ dev-libs/glib:2
+ sys-libs/gdbm
+ sys-libs/ncurses:0=
+ crypt? ( dev-libs/openssl:0= )
+ snmp? ( net-analyzer/net-snmp )
+ perl? ( dev-lang/perl )
+ python? ( ${PYTHON_DEPS} )
+ tcl? ( dev-lang/tcl:0= )"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.21
+ virtual/pkgconfig"
+# Gui is broken!
+# python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ # Bug #338499: The installed OpenIPMIpthread.pc depends on a non-existing
+ # pthread.pc. We patch it to link -lpthread directly instead.
+ "${FILESDIR}/${PN}-2.0.16-pthreads.patch"
+
+ # https://bugs.gentoo.org/501510
+ "${FILESDIR}/${PN}-2.0.21-tinfo.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Bug #290763: The buildsys tries to compile+optimize the py file during
+ # install, when the .so might not be been added yet. We just skip the files
+ # and use python_optimize ourselves later instead.
+ sed -r -i \
+ -e '/INSTALL.*\.py[oc] /d' \
+ -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \
+ swig/python/Makefile.{am,in}
+
+ # Bug #298250: parallel install fix.
+ sed -r -i \
+ -e '/^install-data-local:/s,$, install-exec-am,g' \
+ cmdlang/Makefile.{am,in}
+
+ # We touch the .in and .am above because if we use the below, the Perl stuff
+ # is very fragile, and often fails to link.
+ #cd "${S}"
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=()
+ myconf+=( $(use_with snmp ucdsnmp yes) )
+ myconf+=( $(use_with crypt openssl yes) )
+ myconf+=( $(use_with perl perl yes) )
+ myconf+=( $(use_with tcl tcl yes) )
+ myconf+=( $(use_with python python yes) )
+
+ # GUI is broken
+ #use tk && use python && use !tcl && \
+ # ewarn "Not building Tk GUI because it needs both Python AND Tcl"
+ #if use python && use tcl; then
+ # myconf+=( $(use_with tk tkinter) )
+ #else
+ # myconf+=( --without-tkinter )
+ #fi
+
+ myconf+=( --without-tkinter )
+ myconf+=( --with-glib --with-glibver=2.0 --with-glib12=no --with-swig )
+ # these binaries are for root!
+ econf ${myconf[@]} --bindir=/usr/sbin
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.vm
+ newdoc cmdlang/README README.cmdlang
+
+ use python && python_optimize
+}