diff options
author | Jade Lovelace <lix@jade.fyi> | 2024-05-16 17:04:05 -0700 |
---|---|---|
committer | Qyriad <qyriad@qyriad.me> | 2024-05-23 16:45:23 -0600 |
commit | c97e17144e0d0b666d7b79d8b4b0d581bfdf373b (patch) | |
tree | 1d1193055f45f9dcc63ae3908af8fdc01c7434df /src/libutil | |
parent | 774c56094f3f3dcb1f25fe147c52604ad664bd5b (diff) |
packaging: rename nixexpr -> lixexpr and so on
This breaks downstreams linking to us on purpose to make sure that if
someone is linking to Lix they're doing it on purpose and crucially not
mixing up Nix and Lix versions in compatibility code.
We still need to fix the internal includes to follow the same schema so
we can drop the single-level include system entirely. However, this
requires a little more effort.
This adds pkg-config for libfetchers and config.h.
Migration path:
expr.hh -> lix/libexpr/expr.hh
nix/config.h -> lix/config.h
To apply this migration automatically, remove all `<nix/>` from
includes, so: `#include <nix/expr.hh>` -> `#include <expr.hh>`. Then,
the correct paths will be resolved from the tangled mess, and the
clang-tidy automated fix will work.
Then run the following for out of tree projects:
```
lix_root=$HOME/lix
(cd $lix_root/clang-tidy && nix develop -c 'meson setup build && ninja -C build')
run-clang-tidy -checks='-*,lix-fixincludes' -load=$lix_root/clang-tidy/build/liblix-clang-tidy.so -p build/ -fix src
```
Related: https://git.lix.systems/lix-project/nix-eval-jobs/pulls/5
Fixes: https://git.lix.systems/lix-project/lix/issues/279
Change-Id: I7498e903afa6850a731ef8ce77a70da6b2b46966
Diffstat (limited to 'src/libutil')
-rw-r--r-- | src/libutil/lix-util.pc.in | 10 | ||||
-rw-r--r-- | src/libutil/meson.build | 18 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/libutil/lix-util.pc.in b/src/libutil/lix-util.pc.in new file mode 100644 index 000000000..cd749aabb --- /dev/null +++ b/src/libutil/lix-util.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix libutil +Description: Lix Package Manager (libutil) +Version: @PACKAGE_VERSION@ +Requires: lix-base lix-util +Libs: -L${libdir} -llixutil +Cflags: -I${includedir}/lix/libutil diff --git a/src/libutil/meson.build b/src/libutil/meson.build index 13266f6bd..58e0bd062 100644 --- a/src/libutil/meson.build +++ b/src/libutil/meson.build @@ -100,7 +100,7 @@ libutil_headers = files( ) libutil = library( - 'nixutil', + 'lixutil', libutil_sources, dependencies : [ aws_sdk, @@ -118,7 +118,21 @@ libutil = library( install : true, ) -install_headers(libutil_headers, subdir : 'nix', preserve_path : true) +install_headers(libutil_headers, subdir : 'lix/libutil', preserve_path : true) + +# FIXME: not using the pkg-config module because it creates way too many deps +# while meson migration is in progress, and we want to not include boost here +configure_file( + input : 'lix-util.pc.in', + output : 'lix-util.pc', + install_dir : libdir / 'pkgconfig', + configuration : { + 'prefix' : prefix, + 'libdir' : libdir, + 'includedir' : includedir, + 'PACKAGE_VERSION' : meson.project_version(), + }, +) # Used by libstore and libfetchers. liblixutil = declare_dependency( |