Skip to content

mwik/xmake-repo

 
 

Repository files navigation

xmake-repo

An official xmake package repository

Introduction (中文)

xmake-repo is an official xmake package repository.

Package dependences

Package management

If you want to know more, please refer to:

Submit package to repository

Write a xmake.lua of new package in packages/x/xxx/xmake.lua and push a pull-request to the dev branch.

For example, packages/z/zlib/xmake.lua:

If you want to known more, please see: Create and Submit packages to the official repository

package("zlib")

    set_homepage("http://www.zlib.net")
    set_description("A Massively Spiffy Yet Delicately Unobtrusive Compression Library")

    set_urls("http://zlib.net/zlib-$(version).tar.gz",
             "https://downloads.sourceforge.net/project/libpng/zlib/$(version)/zlib-$(version).tar.gz")

    add_versions("1.2.10", "8d7e9f698ce48787b6e1c67e6bff79e487303e66077e25cb9784ac8835978017")
    add_versions("1.2.11", "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1")

    on_install("windows", function (package)
        io.gsub("win32/Makefile.msc", "%-MD", "-" .. package:config("vs_runtime"))
        os.vrun("nmake -f win32\\Makefile.msc zlib.lib")
        os.cp("zlib.lib", package:installdir("lib"))
        os.cp("*.h", package:installdir("include"))
    end)

    on_install("linux", "macosx", function (package)
        import("package.tools.autoconf").install(package, {"--static"})
    end)
 
    on_install("iphoneos", "android@linux,macosx", "mingw@linux,macosx", function (package)
        import("package.tools.autoconf").configure(package, {host = "", "--static"})
        io.gsub("Makefile", "\nAR=.-\n",      "\nAR=" .. (package:build_getenv("ar") or "") .. "\n")
        io.gsub("Makefile", "\nARFLAGS=.-\n", "\nARFLAGS=cr\n")
        io.gsub("Makefile", "\nRANLIB=.-\n",  "\nRANLIB=\n")
        os.vrun("make install -j4")
    end)

    on_test(function (package)
        assert(package:has_cfuncs("inflate", {includes = "zlib.h"}))
    end)

Supported Packages

linux windows mingw iphoneos macosx android
boost boost catch2 catch2 autoconf catch2
bzip2 bzip2 doctest cjson automake cjson
cairo cairo nlohmann_json doctest boost doctest
catch2 catch2 tbox json-c bzip2 json-c
cjson doctest zlib libcurl cairo libjpeg
doctest expat libev catch2 libpng
expat freeglut libffi cjson libuv
ffmpeg freetype libjpeg cmake libxml2
fontconfig glew libpng doctest lua
freeglut go libuv expat nlohmann_json
freetype libcurl libxml2 ffmpeg tbox
gettext libjpeg nlohmann_json fontconfig zlib
glew libpng tbox freetype
glib libsdl zlib gettext
go libuv glew
gperf lua glib
icu4c luajit go
json-c nlohmann_json gperf
libcurl pcre icu4c
libev pixman json-c
libffi protobuf-c libcurl
libiconv protobuf-cpp libev
libjpeg skia libffi
libmill sqlite3 libiconv
libpng tbox libjpeg
libsdl zlib libmill
libtask libpng
libuv libsdl
libxml2 libtask

Note: Only some packages are shown here. If you want to see a complete list of all packages, please see: PKGLIST.md

We also welcome everyone to contribute some packages to our package repository.🙏

About

📦 A forked xmake package repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 100.0%