SUMMARY = "EFL" LICENSE = "MIT & BSD & LGPL-2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=ca7873210523dcfd32694b94286dca60" DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native openssl-native" DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native util-linux libunwind" inherit efl gettext pkgconfig BBCLASSEXTEND = "native" PROVIDES += "ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus" # we don't have bullet for physics # You have chosen to disable physics support. This disables lots of # core functionality and is effectively never tested. You are going # to find features that suddenly don't work and as a result cause # a series of breakages. This is simply not tested so you are on # your own in terms of ensuring everything works if you do this EXTRA_OECONF = " \ --disable-physics \ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba \ " EXTRA_OECONF_append_class-target = " \ --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \ --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \ --with-elua=${STAGING_BINDIR_NATIVE}/elua \ " EXTRA_OECONF_append_class-native = " \ --disable-fontconfig \ --disable-audio \ --disable-physics \ --disable-multisense \ --disable-cserve \ --disable-libeeze \ --with-x11=none \ --disable-image-loader-bmp \ --disable-image-loader-eet \ --disable-image-loader-generic \ --disable-image-loader-gif \ --disable-image-loader-ico \ --disable-image-loader-jp2k \ --disable-image-loader-pmaps \ --disable-image-loader-psd \ --disable-image-loader-tga \ --disable-image-loader-wbmp \ --disable-image-loader-webp \ --disable-image-loader-xpm \ --disable-image-loader-tgv \ --disable-image-loader-dds \ " PACKAGECONFIG ?= "egl opengl-es gstreamer1 pulseaudio luajit ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" PACKAGECONFIG_class-native = "luajit" PACKAGECONFIG[wayland] = "--enable-wayland --enable-wayland-ivi-shell,--disable-wayland --disable-wayland-ivi-shell,wayland" PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" # sort of tri-state PACKAGECONFIG[opengl-full] = "--with-opengl=full,,virtual/libgl" PACKAGECONFIG[opengl-es] = "--with-opengl=es,,virtual/libgles2" PACKAGECONFIG[opengl-none] = "--with-opengl=none,," # be aware when enabling this for efl-native, we don't provide gcc-native so you need to make # sure that all your builders have g++ which supports -std=gnu++11 PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings" PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" PACKAGECONFIG[gstreamer1] = "--enable-gstreamer1,--disable-gstreamer1,gstreamer1.0 gstreamer1.0-plugins-base" PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" PACKAGECONFIG[luajit] = "--disable-lua-old,--enable-lua-old,luajit" PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua" PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" # currently we don't provide doxygen-native PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,doxygen-native" do_install_append() { # don't ship precompiled lua files rm -f ${datadir}/elua/*/*.luac } PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus elua" # upgrade path from 1.7 DEBIAN_NOAUTONAME_ecore-audio = "1" DEBIAN_NOAUTONAME_ecore-input-evas = "1" DEBIAN_NOAUTONAME_ecore-input = "1" DEBIAN_NOAUTONAME_ecore-imf-evas = "1" DEBIAN_NOAUTONAME_ecore-imf = "1" DEBIAN_NOAUTONAME_ecore-file = "1" DEBIAN_NOAUTONAME_ecore-con = "1" DEBIAN_NOAUTONAME_ecore-ipc = "1" DEBIAN_NOAUTONAME_ecore-x = "1" DEBIAN_NOAUTONAME_ecore-evas = "1" DEBIAN_NOAUTONAME_embryo = "1" ALLOW_EMPTY_ecore = "1" RDEPENDS_ecore = "ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas" python populate_packages_prepend () { for plugin_type in "engines loaders savers".split(): bb.note( "splitting packages for evas %s..." % plugin_type ) basedir = d.expand( '${libdir}/evas/modules/%s' % plugin_type) do_split_packages(d, basedir, '^(.*)', output_pattern = 'evas-' + plugin_type[:-1] + "-%s", description = 'Evas module %s', allow_dirs=True, recursive=False, extra_depends="" ) plugin_type = "cserve2" bb.note( "splitting packages for evas %s..." % plugin_type ) basedir = d.expand( '${libdir}/evas/%s/loaders' % plugin_type) do_split_packages(d, basedir, '^(.*)', output_pattern = 'evas-' + plugin_type + "-%s", description = 'Evas csever2 loader module %s', allow_dirs=True, recursive=False, extra_depends="" ) } PACKAGES += "evas-loader-png evas-engine-software-generic evas-engine-fb" PACKAGES_DYNAMIC += "^evas-engine-.* ^evas-loader-.* ^evas-saver-.* ^evas-cserve2-.*" # PACKAGES_DYNAMIC + do_split_packages isn't used for all libe libs, # because PACKAGES_DYNAMIC would be catching too many patterns # (or need to list all possible prefixes) and not all original packages # were splitted like that, so it would need RCONFLICTS/RPROVIDES/RREPLACES # combos at least in few places for upgrade path. FILES_efreet-trash = " \ ${libdir}/libefreet_trash${SOLIBS} \ " FILES_efreet-mime = " \ ${libdir}/libefreet_mime${SOLIBS} \ " FILES_libeet = " \ ${libdir}/libeet${SOLIBS} \ " FILES_libefreet = " \ ${libdir}/libefreet${SOLIBS} \ " FILES_ecore-audio = "\ ${libdir}/libecore_audio${SOLIBS} \ " FILES_ecore-input-evas = "\ ${libdir}/libecore_input_evas${SOLIBS} \ " FILES_ecore-input = "\ ${libdir}/libecore_input${SOLIBS} \ " FILES_ecore-imf-evas = "\ ${libdir}/libecore_imf_evas${SOLIBS} \ ${libdir}/ecore-imf/modules/*/*/module.so \ " FILES_ecore-imf = "\ ${libdir}/libecore_imf${SOLIBS} \ " FILES_ecore-file = "\ ${libdir}/libecore_file${SOLIBS} \ " FILES_ecore-con = "\ ${libdir}/libecore_con${SOLIBS} \ " FILES_ecore-ipc = "\ ${libdir}/libecore_ipc${SOLIBS} \ " FILES_ecore-x = "\ ${libdir}/libecore_x${SOLIBS} \ ${libdir}/ecore_x/bin/v-*/ecore_x_vsync \ " FILES_ecore-evas = "\ ${libdir}/libecore_evas${SOLIBS} \ ${libdir}/ecore-evas/engines/*/*/module.so \ " FILES_eio = "\ ${libdir}/libeio${SOLIBS} \ " FILES_eina = "\ ${libdir}/libeina${SOLIBS} \ ${bindir}/eina-bench-cmp \ " FILES_edje-utils = "\ ${bindir}/edje_* \ ${datadir}/edje/include/edje.inc \ " FILES_eldbus = "\ ${libdir}/libeldbus${SOLIBS} \ " FILES_eo = "\ ${libdir}/libeo${SOLIBS} \ " FILES_libemotion = "\ ${libdir}/libemotion${SOLIBS} \ " FILES_efreet = " \ ${datadir}/dbus-1/services/*Efreet* \ ${libdir}/efreet/*/efreet*create \ ${bindir}/efreetd \ ${datadir}/efreet \ " FILES_eet = " \ ${bindir}/eet \ ${bindir}/eetpack \ ${bindir}/vieet \ ${bindir}/diffeet \ ${libdir}/libeet${SOLIBS} \ " FILES_emotion = " \ ${datadir}/emotion \ ${libdir}/emotion/modules/gstreamer1/*/module.so \ " FILES_embryo-tests = " \ ${datadir}/embryo/ \ " FILES_embryo-utils = " \ ${binddir}/embryo_* \ " FILES_embryo = " \ ${libdir}/libembryo${SOLIBS} \ " FILES_ethumb = " \ ${datadir}/dbus-1/services/*Ethumb* \ ${libdir}/libethumb${SOLIBS} \ ${libdir}/libethumb_client${SOLIBS} \ ${bindir}/ethumbd \ ${bindir}/ethumbd_client \ ${bindir}/ethumb \ ${libdir}/ethumb/*/*/*/module.so \ ${libdir}/ethumb/*/*/*/*.edj \ ${libdir}/ethumb_client/utils/*/ethumbd_slave \ ${datadir}/ethumb* \ " FILES_ecore = " \ ${libdir}/libecore${SOLIBS} \ ${libdir}/ecore*/*/*/*/module.so \ ${datadir}/ecore* \ " FILES_evas = " \ ${libdir}/libevas${SOLIBS} \ ${libdir}/evas*/*/*/*/*/module.so \ ${libdir}/evas*/*/*/*/*/*.edj \ ${libdir}/evas/cserve2/bin/*/evas_cserve2* \ ${datadir}/evas* \ ${bindir}/evas_cserve2_* \ " FILES_eeze = " \ ${libdir}/libeeze${SOLIBS} \ ${libdir}/eeze*/*/*/*/*/module.so \ ${datadir}/eeze \ ${bindir}/eeze_* \ " FILES_edje = " \ ${libdir}/libedje${SOLIBS} \ ${libdir}/edje*/*/*/*/module.so \ ${libdir}/edje/utils/*/epp \ ${datadir}/edje \ ${datadir}/mime \ " FILES_elua = " \ ${bindir}/elua \ ${datadir}/elua \ " FILES_${PN}-dbg += " \ ${libdir}/efreet/*/.debug \ ${libdir}/ @media only all and (prefers-color-scheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ } SUMMARY = "The Python Programming Language" HOMEPAGE = "http://www.python.org" LICENSE = "PSFv2" SECTION = "devel/python" # bump this on every change in contrib/python/generate-manifest-2.7.py INC_PR = "r1" LIC_FILES_CHKSUM = "file://LICENSE;md5=6b60258130e4ed10d3101517eb5b9385" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" SRC_URI[md5sum] = "53b43534153bb2a0363f08bae8b9d990" SRC_URI[sha256sum] = "35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731" # python recipe is actually python 2.x # also, exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>2(\.\d+)+).tar" CVE_PRODUCT = "python" PYTHON_MAJMIN = "2.7" inherit autotools pkgconfig EXTRA_OECONF = "\ --with-threads \ --with-pymalloc \ --without-cxx-main \ --with-signal-module \ --enable-shared \ --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \ ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \ ${PYTHONLSBOPTS} \ " do_install_append () { sed -i -e 's:${HOSTTOOLS_DIR}/install:install:g' \ -e 's:${HOSTTOOLS_DIR}/mkdir:mkdir:g' \ ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py }
SUMMARY = "The Python Programming Language" HOMEPAGE = "http://www.python.org" LICENSE = "PSFv2" SECTION = "devel/python" # bump this on every change in contrib/python/generate-manifest-2.7.py INC_PR = "r1" LIC_FILES_CHKSUM = "file://LICENSE;md5=6b60258130e4ed10d3101517eb5b9385" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" SRC_URI[md5sum] = "53b43534153bb2a0363f08bae8b9d990" SRC_URI[sha256sum] = "35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731" # python recipe is actually python 2.x # also, exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>2(\.\d+)+).tar" CVE_PRODUCT = "python" PYTHON_MAJMIN = "2.7" inherit autotools pkgconfig EXTRA_OECONF = "\ --with-threads \ --with-pymalloc \ --without-cxx-main \ --with-signal-module \ --enable-shared \ --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \ ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \ ${PYTHONLSBOPTS} \ " do_install_append () { sed -i -e 's:${HOSTTOOLS_DIR}/install:install:g' \ -e 's:${HOSTTOOLS_DIR}/mkdir:mkdir:g' \ ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py }