* Cleaned up the semantics of Fix expressions.
* Conditionals and variables in Fix expressions. This allows, e.g.,
Descr(
[ Bind("pkgId", "subversion-0.21.0")
, Bind("httpsClient", Bool(True))
, Bind("httpServer", Bool(True))
, Bind("ssl", If(Var("httpsClient"), Fix("./openssl-0.9.7b.fix"), ""))
, Bind("httpd", If(Var("httpServer"), Fix("./httpd-2.0.45.fix"), ""))
...
])
which introduces domain feature variables httpsClient and httpServer
(i.e., whether Subversion is built with https client and webdav
server support); the values of the variables influences package
dependencies and the build scripts.
The next step is to allow that packages can express constraints on
each other. E.g., StrategoXT is dependent on an ATerm library with
the "gcc" variant enabled. In fact, this may cause several
Nix instantiations to be created from a single Fix descriptor. If
possible, Fix should try to find the least set of instantiations
that obeys the constraints.
This commit is contained in:
parent
d6d930a975
commit
0ef4b6d0f8
18 changed files with 290 additions and 164 deletions
8
test/fixdescriptors/openssl-0.9.7b.fix
Normal file
8
test/fixdescriptors/openssl-0.9.7b.fix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
Descr(
|
||||
[ Bind("pkgId", "openssl-0.9.7b")
|
||||
, Bind("releaseId", "1")
|
||||
|
||||
, Bind("src", Source(Url("http://www.openssl.org/source/openssl-0.9.7b.tar.gz")))
|
||||
, Bind("build", Source("../build/openssl-build.sh"))
|
||||
]
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue