package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

5.0 KiB

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:

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
autoconf bzip2 doctest doctest autoconf doctest
automake cairo nlohmann_json libev automake libjpeg
bzip2 cmake tbox libjpeg bzip2 libpng
cairo doctest zlib libpng cairo libuv
cjson expat libuv cjson nlohmann_json
cmake(x86_64) freeglut nlohmann_json cmake tbox
doctest freetype tbox doctest zlib
expat glew zlib expat
ffmpeg go ffmpeg
fontconfig libjpeg fontconfig
freeglut libpng freetype
freetype libsdl glew
glew libuv go
go lua gperf
gperf luajit json-c
json-c make libev
libev nlohmann_json libiconv
libiconv patch libjpeg
libjpeg pcre libmill
libmill pixman libpng
libpng python libsdl
libsdl sqlite3 libtask
libtask tbox libtool
libtool zlib libuv
libuv libxml2
libxml2 lua

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.🙏