瀏覽代碼

improve genlist

ruki 6 年之前
父節點
當前提交
664ba1733d
共有 4 個文件被更改,包括 68 次插入61 次删除
  1. 54 55
      PKGLIST.md
  2. 7 1
      packages/p/python/xmake.lua
  3. 1 1
      scripts/genlist.lua
  4. 6 4
      scripts/packages.lua

+ 54 - 55
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|||

+ 7 - 1
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)

+ 1 - 1
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

+ 6 - 4
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