From 664ba1733dc52bdcd89f5a1c559e4a4e8c1651bf Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 10 May 2019 23:12:59 +0800 Subject: [PATCH] improve genlist --- PKGLIST.md | 109 ++++++++++++++++++------------------ packages/p/python/xmake.lua | 8 ++- scripts/genlist.lua | 2 +- scripts/packages.lua | 10 ++-- 4 files changed, 68 insertions(+), 61 deletions(-) diff --git a/PKGLIST.md b/PKGLIST.md index 1d0ab616c..ecc6c21e4 100755 --- a/PKGLIST.md +++ b/PKGLIST.md @@ -2,58 +2,57 @@ |linux|windows|mingw|iphoneos|macosx|android| |-----|-------|-----|--------|------|-------| -|autoconf|autoconf|autoconf|autoconf|autoconf|autoconf|| -|automake|automake|automake|automake|automake|automake|| -|bzip2|bzip2|cmake|cjson|bzip2|cjson|| -|cairo|cairo|doctest|cmake|cairo|cmake|| -|cjson|cmake|libtool|doctest|cjson|doctest|| -|cmake|doctest|make|json-c|cmake|json-c|| -|doctest|expat|meson|libcurl|doctest|libjpeg|| -|expat|freeglut|nasm|libev|expat|libpng|| -|ffmpeg|freetype|ninja|libffi|ffmpeg|libtool|| -|fontconfig|glew|nlohmann_json|libjpeg|fontconfig|libuv|| -|freeglut|go|patch|libpng|freetype|libxml2|| -|freetype|libcurl|pkg-config|libtool|glew|lua|| -|glew|libjpeg|tbox|libuv|glib|make|| -|glib|libpng|yasm|libxml2|go|meson|| -|go|libsdl|zlib|make|gperf|nasm|| -|gperf|libtool||meson|json-c|ninja|| -|json-c|libuv||nasm|libcurl|nlohmann_json|| -|libcurl|lua||ninja|libev|patch|| -|libev|luajit||nlohmann_json|libffi|pkg-config|| -|libffi|make||patch|libiconv|tbox|| -|libiconv|meson||pkg-config|libjpeg|yasm|| -|libjpeg|nasm||tbox|libmill|zlib|| -|libmill|ninja||yasm|libpng||| -|libpng|nlohmann_json||zlib|libsdl||| -|libsdl|patch|||libtask||| -|libtask|pcre|||libtool||| -|libtool|pixman|||libuv||| -|libuv|pkg-config|||libxml2||| -|libxml2|python|||lua||| -|lua|python2|||luajit||| -|luajit|sqlite3|||make||| -|make|tbox|||mbedtls||| -|mbedtls|yasm|||meson||| -|meson|zlib|||mysql||| -|mysql||||nasm||| -|nasm||||ncurses||| -|ncurses||||ninja||| -|ninja||||nlohmann_json||| -|nlohmann_json||||openssl||| -|openssl||||patch||| -|patch||||pcre||| -|pcre||||pcre2||| -|pcre2||||pixman||| -|pixman||||pkg-config||| -|pkg-config||||python||| -|python||||python2||| -|python2||||sqlite3||| -|sqlite3||||tbox||| -|tbox||||util-linux||| -|util-linux||||x264||| -|x264||||x265||| -|x265||||xz||| -|xz||||yasm||| -|yasm||||zlib||| -|zlib||||||| +|bzip2|bzip2|doctest|cjson|autoconf|cjson|| +|cairo|cairo|nlohmann_json|doctest|automake|doctest|| +|cjson|doctest|tbox|json-c|bzip2|json-c|| +|doctest|expat|zlib|libcurl|cairo|libjpeg|| +|expat|freeglut||libev|cjson|libpng|| +|ffmpeg|freetype||libffi|cmake|libuv|| +|fontconfig|glew||libjpeg|doctest|libxml2|| +|freeglut|go||libpng|expat|lua|| +|freetype|libcurl||libuv|ffmpeg|nlohmann_json|| +|glew|libjpeg||libxml2|fontconfig|tbox|| +|glib|libpng||nlohmann_json|freetype|zlib|| +|go|libsdl||tbox|glew||| +|gperf|libuv||zlib|glib||| +|json-c|lua|||go||| +|libcurl|luajit|||gperf||| +|libev|nlohmann_json|||json-c||| +|libffi|pcre|||libcurl||| +|libiconv|pixman|||libev||| +|libjpeg|python|||libffi||| +|libmill|python2|||libiconv||| +|libpng|sqlite3|||libjpeg||| +|libsdl|tbox|||libmill||| +|libtask|zlib|||libpng||| +|libuv||||libsdl||| +|libxml2||||libtask||| +|lua||||libtool||| +|luajit||||libuv||| +|mbedtls||||libxml2||| +|mysql||||lua||| +|ncurses||||luajit||| +|nlohmann_json||||make||| +|openssl||||mbedtls||| +|pcre||||meson||| +|pcre2||||mysql||| +|pixman||||nasm||| +|python||||ncurses||| +|python2||||ninja||| +|sqlite3||||nlohmann_json||| +|tbox||||openssl||| +|util-linux||||patch||| +|x264||||pcre||| +|x265||||pcre2||| +|xz||||pixman||| +|zlib||||pkg-config||| +|||||python||| +|||||python2||| +|||||sqlite3||| +|||||tbox||| +|||||util-linux||| +|||||x264||| +|||||x265||| +|||||xz||| +|||||yasm||| +|||||zlib||| diff --git a/packages/p/python/xmake.lua b/packages/p/python/xmake.lua index 0be9614c0..822b9eb10 100644 --- a/packages/p/python/xmake.lua +++ b/packages/p/python/xmake.lua @@ -72,9 +72,15 @@ package("python") io.gsub("setup.py", "/usr/local/ssl", openssl_dir) end + -- allow python modules to use ctypes.find_library to find xmake's stuff + if is_host("macosx") then + io.gsub("Lib/ctypes/macholib/dyld.py", "DEFAULT_LIBRARY_FALLBACK = [", format("DEFAULT_LIBRARY_FALLBACK = [ '%s/lib',", package:installdir())) + end + -- unset these so that installing pip and setuptools puts them where we want -- and not into some other Python the user has installed. - import("package.tools.autoconf").install(package, configs, {envs = {PYTHONHOME = "", PYTHONPATH = ""}}) + import("package.tools.autoconf").configure(package, configs, {envs = {PYTHONHOME = "", PYTHONPATH = ""}}) + os.vrunv("make", {"install", "-j4", "PYTHONAPPSDIR=" .. package:installdir()}) end) on_test(function (package) diff --git a/scripts/genlist.lua b/scripts/genlist.lua index aed141526..306ef3b15 100644 --- a/scripts/genlist.lua +++ b/scripts/genlist.lua @@ -3,7 +3,7 @@ import("packages", {alias = "get_packages"}) function main(...) -- get packages - local packages = get_packages() + local packages = get_packages({onlyhost = true}) local tables = {} local col = 1 local row_max = 0 diff --git a/scripts/packages.lua b/scripts/packages.lua index e717d03f1..51bca37ce 100644 --- a/scripts/packages.lua +++ b/scripts/packages.lua @@ -3,7 +3,7 @@ import("core.package.package") import("core.platform.platform") -- is supported platform and architecture? -function _is_supported(instance, plat, arch) +function _is_supported(instance, plat, arch, opt) -- get script local script = instance:get("install") @@ -36,6 +36,9 @@ function _is_supported(instance, plat, arch) end return "" end) + if _pattern:trim() == "" and opt and opt.onlyhost then + _pattern = os.host() + end if not _pattern:startswith("__") and (not hosts_spec or hosts[os.host() .. '|' .. os.arch()] or hosts[os.host()]) and (_pattern:trim() == "" or (plat .. '|' .. arch):find('^' .. _pattern .. '$') or plat:find('^' .. _pattern .. '$')) then result = _script @@ -50,9 +53,8 @@ function _is_supported(instance, plat, arch) end -- the main entry -function main(...) +function main(opt) local packages = {} - local plat = os.host() for _, packagedir in ipairs(os.dirs(path.join("packages", "*", "*"))) do local packagename = path.filename(packagedir) local packagefile = path.join(packagedir, "xmake.lua") @@ -63,7 +65,7 @@ function main(...) if archs then local package_archs = {} for _, arch in ipairs(archs) do - if _is_supported(instance, plat, arch) then + if _is_supported(instance, plat, arch, opt) then table.insert(package_archs, arch) end end