1*4882a593SmuzhiyunSUMMARY = "C and C++ cross-platform library for decoding tracked music files (modules)" 2*4882a593SmuzhiyunDESCRIPTION = "libopenmpt is a cross-platform C++ and C library to decode tracked \ 3*4882a593Smuzhiyunmusic files (modules) into a raw PCM audio stream. It also comes with openmpt123, a \ 4*4882a593Smuzhiyuncross-platform command-line or terminal based module file player. libopenmpt is based \ 5*4882a593Smuzhiyunon the player code of the OpenMPT project." 6*4882a593SmuzhiyunHOMEPAGE = "https://lib.openmpt.org/libopenmpt/" 7*4882a593SmuzhiyunSECTION = "libs" 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunLICENSE = "BSD-3-Clause" 10*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=ae09d6164bdecb499183479fd32b66fb" 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunDEPENDS = "virtual/libiconv" 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunSRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \ 15*4882a593Smuzhiyun file://run-ptest \ 16*4882a593Smuzhiyun " 17*4882a593SmuzhiyunSRC_URI[md5sum] = "d21fb799695cbe10a1e9aeaea23ed708" 18*4882a593SmuzhiyunSRC_URI[sha256sum] = "50c0d62ff2d9afefa36cce9f29042cb1fb8d4f0b386b81a0fc7734f35e21e6b6" 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunS = "${WORKDIR}/libopenmpt-${PV}+release.autotools" 21*4882a593Smuzhiyun 22*4882a593Smuzhiyuninherit autotools pkgconfig ptest 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunPACKAGECONFIG ??= " \ 25*4882a593Smuzhiyun openmpt123 \ 26*4882a593Smuzhiyun ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ 27*4882a593Smuzhiyun flac mpg123 ogg sndfile vorbis vorbisfile zlib \ 28*4882a593Smuzhiyun ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ 29*4882a593Smuzhiyun" 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunPACKAGECONFIG[openmpt123] = "--enable-openmpt123,--disable-openmpt123" 32*4882a593SmuzhiyunPACKAGECONFIG[tests] = "--enable-tests,--disable-tests" 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# These packageconfigs affect openmpt123 35*4882a593SmuzhiyunPACKAGECONFIG[flac] = "--with-flac,--without-flac,flac" 36*4882a593SmuzhiyunPACKAGECONFIG[mpg123] = "--with-mpg123,--without-mpg123,mpg123" 37*4882a593SmuzhiyunPACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg" 38*4882a593SmuzhiyunPACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19" 39*4882a593SmuzhiyunPACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio" 40*4882a593SmuzhiyunPACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,virtual/libsdl2" 41*4882a593SmuzhiyunPACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1" 42*4882a593SmuzhiyunPACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis" 43*4882a593SmuzhiyunPACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis" 44*4882a593SmuzhiyunPACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunEXTRA_OECONF += " \ 47*4882a593Smuzhiyun --disable-doxygen-doc \ 48*4882a593Smuzhiyun --disable-examples \ 49*4882a593Smuzhiyun --without-portaudiocpp \ 50*4882a593Smuzhiyun" 51*4882a593Smuzhiyun 52*4882a593Smuzhiyundo_compile_ptest() { 53*4882a593Smuzhiyun oe_runmake ${PARALLEL_MAKE} libopenmpttest 54*4882a593Smuzhiyun} 55*4882a593Smuzhiyun 56*4882a593Smuzhiyundo_install_ptest() { 57*4882a593Smuzhiyun install -d ${D}${PTEST_PATH}/test 58*4882a593Smuzhiyun install -m 0755 ${B}/libopenmpttest ${D}${PTEST_PATH} 59*4882a593Smuzhiyun install -m 0644 ${S}/test/test.mptm ${D}${PTEST_PATH}/test 60*4882a593Smuzhiyun install -m 0644 ${S}/test/test.s3m ${D}${PTEST_PATH}/test 61*4882a593Smuzhiyun install -m 0644 ${S}/test/test.xm ${D}${PTEST_PATH}/test 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun install -d ${D}${PTEST_PATH}/libopenmpt 64*4882a593Smuzhiyun install -m 0644 ${S}/libopenmpt/libopenmpt_version.mk ${D}${PTEST_PATH}/libopenmpt 65*4882a593Smuzhiyun} 66*4882a593Smuzhiyun 67*4882a593SmuzhiyunPACKAGES =+ "${PN}-openmpt123 ${PN}-openmpt123-doc" 68*4882a593SmuzhiyunFILES:${PN}-openmpt123 = "${bindir}/openmpt123" 69*4882a593SmuzhiyunFILES:${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*" 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun# Since version 0.3, libopenmpt uses SemVer 2.0.0 versioning. 72*4882a593Smuzhiyun# The SemVer versioning scheme is incompatible with Debian/Ubuntu 73*4882a593Smuzhiyun# package version names. 74*4882a593SmuzhiyunDEBIAN_NOAUTONAME:${PN} = "1" 75*4882a593Smuzhiyun 76*4882a593SmuzhiyunRDEPENDS:${PN}:libc-glibc = " \ 77*4882a593Smuzhiyun glibc-gconv-cp1252 \ 78*4882a593Smuzhiyun glibc-gconv-ibm437 \ 79*4882a593Smuzhiyun glibc-gconv-iso8859-1 \ 80*4882a593Smuzhiyun glibc-gconv-iso8859-15 \ 81*4882a593Smuzhiyun" 82