Introduction (中文)
xmake-repo is an official xmake package repository.
If you want to know more, please refer to:
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)
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.🙏