How about this:
=== JSON ================================================================= { "name": "my-package", "description": "A package for demonstration purposes", "dependencies": { "vibe-d": ">=0.7.13", "sub-package": {"version": "~master", "path": "./sub-package"} }, "configurations": [ { "name": "console", "targetType": "executable", "versions": ["ConsoleApp"] }, { "name": "gui", "targetType": "executable", "versions": ["ConsoleApp"], "libs-windows": ["gdi32", "user32"] } ] } === SLD ================================================================== name "my-package" description "A package for demonstration purposes" dependency "vibe-d" version=">=0.7.13" dependency "sub-package" version="~master" path="./sub-package" # command line version configuration "console" { targetType "executable" versions "ConsoleApp" libs-windows "gdi32" "user32" } # Win32 based GUI version configuration "gui" { targetType "executable" versions "UseWinMain" libs-windows "gdi32" "user32" } === TOML ================================================================= name = "my-package" description = "A package for demonstration purposes" [[dependency.vibe-d]] version = ">=0.7.13" [[dependency.sub-package]] version = "~master" path = "./sub-package" # command line version [[configuration]] name = "console" targetType = "executable" versions = "ConsoleApp" # Win32 based GUI version [[configuration]] name = "gui" targetType = "executable", versions = ["ConsoleApp"], libs-windows = ["gdi32", "user32"] ==========================================================================