ruki 6 yıl önce
ebeveyn
işleme
42719c3d31
2 değiştirilmiş dosya ile 35 ekleme ve 3 silme
  1. 24 0
      packages/g/gnumake/xmake.lua
  2. 11 3
      packages/p/pixman/xmake.lua

+ 24 - 0
packages/g/gnumake/xmake.lua

@@ -0,0 +1,24 @@
+package("gnumake")
+
+    set_kind("binary")
+    set_homepage("https://www.gnu.org/software/make/")
+    set_description("GNU make tool.")
+
+    add_urls("https://ftp.gnu.org/gnu/make/make-$(version).tar.gz",
+             "https://mirrors.ustc.edu.cn/gnu/make/make-$(version).tar.gz",
+             "http://mirror.easyname.at/gnu/make/make-$(version).tar.gz")
+    add_versions("4.2.1", "e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
+
+    on_install("windows", function(package)
+        os.vrun("build_w32.bat")
+        os.cp("WinRel/gnumake.exe", package:installdir("bin"))
+        os.cp("WinRel/gnumake.exe", path.join(package:installdir("bin"), "make.exe"))
+    end)
+
+    on_install("macosx", "linux", function (package)
+        import("package.tools.autoconf").install(package, {"--disable-dependency-tracking", "--disable-gtk", "--disable-silent-rules"})
+    end)
+
+    on_test(function (package)
+        os.vrun("make --version")
+    end)

+ 11 - 3
packages/p/pixman/xmake.lua

@@ -4,13 +4,21 @@ package("pixman")
     set_description("Low-level library for pixel manipulation.")
 
     set_urls("https://cairographics.org/releases/pixman-$(version).tar.gz")
-
     add_versions("0.38.0", "a7592bef0156d7c27545487a52245669b00cf7e70054505381cff2136d890ca8")
 
-    if not is_plat("windows") then
+    if is_plat("windows") then
+        add_deps("gnumake")
+    else
         add_deps("pkg-config")
-        add_includedirs("include/pixman-1")
     end
+    add_includedirs("include/pixman-1")
+
+    on_install("windows", function (package)
+        io.gsub("Makefile.win32.common", "%-MD", "-" .. package:config("vs_runtime"))
+        os.vrunv("make -f Makefile.win32 pixman")
+        os.cp("pixman/*.h", package:installdir("include/pixman-1"))
+        os.cp("pixman/release/*.lib", package:installdir("lib"))
+    end)
 
     on_install("macosx", "linux", function (package)
         import("package.tools.autoconf").install(package, {"--disable-dependency-tracking", "--disable-gtk", "--disable-silent-rules"})