ruki преди 4 години
родител
ревизия
1de6fbfa2a
променени са 4 файла, в които са добавени 81 реда и са изтрити 13 реда
  1. 38 0
      .github/workflows/fedora.yml
  2. 10 7
      packages/g/gmp/xmake.lua
  3. 28 0
      packages/l/libisl/xmake.lua
  4. 5 6
      packages/m/muslcc/xmake.lua

+ 38 - 0
.github/workflows/fedora.yml

@@ -0,0 +1,38 @@
+name: Fedora
+
+on:
+  pull_request:
+  push:
+  release:
+    types: [published]
+
+jobs:
+  build:
+    strategy:
+      matrix:
+        os: [ubuntu-latest]
+        kind: [static, shared]
+
+    runs-on: ${{ matrix.os }}
+    container: fedora:latest
+
+    steps:
+      - name: Installation
+        run: |
+          uname -a
+          dnf -y install @development-tools @rpm-development-tools
+          dnf -y install copr-cli make gcc-c++
+          dnf -y upgrade git
+          dnf -y install perl
+      - uses: actions/checkout@v1
+      - uses: xmake-io/github-action-setup-xmake@v1
+        with:
+          xmake-version: branch@dev
+
+      - name: Tests
+        env:
+          XMAKE_ROOT: y
+        run: |
+          xmake l ./scripts/test.lua -D -k ${{ matrix.kind }}
+
+

+ 10 - 7
packages/g/gmp/xmake.lua

@@ -7,14 +7,17 @@ package("gmp")
     add_urls("https://gmplib.org/download/gmp/gmp-$(version).tar.xz")
     add_versions("6.2.1", "fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2")
 
+    add_deps("autoconf")
+
     on_install("macosx", "linux", function (package)
-        local configs = {"--with-pic"}
-        if package:config("shared") then
-            table.insert(configs, "--enable-shared=yes")
-            table.insert(configs, "--enable-static=no")
-        else
-            table.insert(configs, "--enable-static=yes")
-            table.insert(configs, "--enable-shared=no")
+        local configs = {}
+        table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
+        table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
+        if package:debug() then
+            table.insert(configs, "--enable-debug")
+        end
+        if package:config("pic") ~= false then
+            table.insert(configs, "--with-pic")
         end
         import("package.tools.autoconf").install(package, configs)
     end)

+ 28 - 0
packages/l/libisl/xmake.lua

@@ -0,0 +1,28 @@
+package("libisl")
+
+    set_homepage("http://isl.gforge.inria.fr/")
+    set_description("Integer Set Library")
+
+    set_urls("http://isl.gforge.inria.fr/isl-$(version).tar.xz")
+    add_versions("0.23", "5efc53efaef151301f4e7dde3856b66812d8153dede24fab17673f801c8698f2")
+    add_versions("0.22", "6c8bc56c477affecba9c59e2c9f026967ac8bad01b51bdd07916db40a517b9fa")
+
+    add_deps("autoconf", "gmp")
+
+    on_install("linux", "macosx", function (package)
+        local configs = {}
+        table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
+        table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
+        if package:debug() then
+            table.insert(configs, "--enable-debug")
+        end
+        if package:config("pic") ~= false then
+            table.insert(configs, "--with-pic")
+        end
+        table.insert(configs, "--with-gmp-prefix=" .. package:dep("gmp"):installdir())
+        import("package.tools.autoconf").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:has_cfuncs("isl_version", {includes = "isl/version.h"}))
+    end)

+ 5 - 6
packages/m/muslcc/xmake.lua

@@ -48,15 +48,14 @@ package("muslcc")
         end
     end
 
+    if is_host("macosx") then
+        -- fix missing libisl.22.dylib
+        add_deps("libisl 0.22", {host = true, configs = {shared = true}})
+    end
+
     on_install("@windows", "@linux", "@macosx", function (package)
         os.tryrm("usr") -- remove soft link
         os.vcp("*", package:installdir())
-        if package:is_plat("macosx") then
-            -- fix missing libisl.22.dylib
-            if not os.isfile("/usr/local/opt/isl/lib/libisl.22.dylib") then
-                os.vcp("/usr/local/opt/isl/lib/libisl.21.dylib", path.join(package:installdir("lib"), "libisl.22.dylib"))
-            end
-        end
     end)
 
     on_test(function (package)