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 | |
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')
-rw-r--r-- | src/libcmd/lix-cmd.pc.in | 10 | ||||
-rw-r--r-- | src/libcmd/meson.build | 10 | ||||
-rw-r--r-- | src/libcmd/nix-cmd.pc.in | 9 | ||||
-rw-r--r-- | src/libexpr/flake/meson.build | 2 | ||||
-rw-r--r-- | src/libexpr/lix-expr.pc.in | 10 | ||||
-rw-r--r-- | src/libexpr/meson.build | 14 | ||||
-rw-r--r-- | src/libexpr/nix-expr.pc.in | 10 | ||||
-rw-r--r-- | src/libfetchers/lix-fetchers.pc.in | 10 | ||||
-rw-r--r-- | src/libfetchers/meson.build | 18 | ||||
-rw-r--r-- | src/libmain/lix-main.pc.in | 10 | ||||
-rw-r--r-- | src/libmain/meson.build | 8 | ||||
-rw-r--r-- | src/libmain/nix-main.pc.in | 9 | ||||
-rw-r--r-- | src/libstore/lix-store.pc.in | 10 | ||||
-rw-r--r-- | src/libstore/meson.build | 10 | ||||
-rw-r--r-- | src/libstore/nix-store.pc.in | 9 | ||||
-rw-r--r-- | src/libutil/lix-util.pc.in | 10 | ||||
-rw-r--r-- | src/libutil/meson.build | 18 | ||||
-rw-r--r-- | src/lix-base.pc.in | 8 |
18 files changed, 122 insertions, 63 deletions
diff --git a/src/libcmd/lix-cmd.pc.in b/src/libcmd/lix-cmd.pc.in new file mode 100644 index 000000000..f2e3f9d5e --- /dev/null +++ b/src/libcmd/lix-cmd.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix (libcmd) +Description: Lix Package Manager (libcmd) +Version: @PACKAGE_VERSION@ +Requires: lix-base lix-util +Libs: -L${libdir} -llixcmd +Cflags: -I${includedir}/lix/libcmd diff --git a/src/libcmd/meson.build b/src/libcmd/meson.build index 5a0e61503..4da1b496b 100644 --- a/src/libcmd/meson.build +++ b/src/libcmd/meson.build @@ -39,7 +39,7 @@ libcmd_generated_headers = [ ] libcmd = library( - 'nixcmd', + 'lixcmd', libcmd_generated_headers, libcmd_sources, dependencies : [ @@ -59,13 +59,13 @@ libcmd = library( install_rpath : libdir, ) -install_headers(libcmd_headers, subdir : 'nix', preserve_path : true) +install_headers(libcmd_headers, subdir : 'lix/libcmd', preserve_path : true) custom_target( command : [ 'cp', '@INPUT@', '@OUTPUT@' ], input : libcmd_generated_headers, output : '@PLAINNAME@', install : true, - install_dir : includedir / 'nix', + install_dir : includedir / 'lix/libcmd', ) liblixcmd = declare_dependency( @@ -76,8 +76,8 @@ liblixcmd = declare_dependency( # 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 : 'nix-cmd.pc.in', - output : 'nix-cmd.pc', + input : 'lix-cmd.pc.in', + output : 'lix-cmd.pc', install_dir : libdir / 'pkgconfig', configuration : { 'prefix' : prefix, diff --git a/src/libcmd/nix-cmd.pc.in b/src/libcmd/nix-cmd.pc.in deleted file mode 100644 index 39575f222..000000000 --- a/src/libcmd/nix-cmd.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -prefix=@prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Nix -Description: Nix Package Manager -Version: @PACKAGE_VERSION@ -Libs: -L${libdir} -lnixcmd -Cflags: -I${includedir}/nix -std=c++2a diff --git a/src/libexpr/flake/meson.build b/src/libexpr/flake/meson.build index 3ecc30f4e..cce1b0c75 100644 --- a/src/libexpr/flake/meson.build +++ b/src/libexpr/flake/meson.build @@ -4,5 +4,5 @@ libexpr_generated_headers += custom_target( output : '@PLAINNAME@.gen.hh', capture : true, install : true, - install_dir : includedir / 'nix/flake', + install_dir : includedir / 'lix/libexpr/flake', ) diff --git a/src/libexpr/lix-expr.pc.in b/src/libexpr/lix-expr.pc.in new file mode 100644 index 000000000..5e850976d --- /dev/null +++ b/src/libexpr/lix-expr.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix libexpr +Description: Lix Package Manager (libexpr) +Version: @PACKAGE_VERSION@ +Requires: lix-base lix-util lix-fetchers lix-store bdw-gc +Libs: -L${libdir} -llixexpr +Cflags: -I${includedir}/lix/libexpr diff --git a/src/libexpr/meson.build b/src/libexpr/meson.build index 099279d56..fda6fde2c 100644 --- a/src/libexpr/meson.build +++ b/src/libexpr/meson.build @@ -15,7 +15,7 @@ parser_tab = custom_target( # NOTE(Qyriad): Meson doesn't support installing only part of a custom target, so we add # an install script below which removes parser-tab.cc. install : true, - install_dir : includedir / 'nix', + install_dir : includedir / 'lix/libexpr', ) lexer_tab = custom_target( @@ -37,7 +37,7 @@ lexer_tab = custom_target( # NOTE(Qyriad): Meson doesn't support installing only part of a custom target, so we add # an install script below which removes lexer-tab.cc. install : true, - install_dir : includedir / 'nix', + install_dir : includedir / 'lix/libexpr', ) # TODO(Qyriad): When the parser and lexer are rewritten this should be removed. @@ -59,7 +59,7 @@ foreach header : [ 'imported-drv-to-derivation.nix', 'fetchurl.nix' ] output : '@PLAINNAME@.gen.hh', capture : true, install : true, - install_dir : includedir / 'nix', + install_dir : includedir / 'lix/libexpr', ) endforeach subdir('flake') @@ -127,7 +127,7 @@ libexpr_headers = files( ) libexpr = library( - 'nixexpr', + 'lixexpr', libexpr_sources, parser_tab, lexer_tab, @@ -152,7 +152,7 @@ libexpr = library( install_headers( libexpr_headers, - subdir : 'nix', + subdir : 'lix/libexpr', preserve_path : true, ) @@ -164,8 +164,8 @@ liblixexpr = declare_dependency( # 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 : 'nix-expr.pc.in', - output : 'nix-expr.pc', + input : 'lix-expr.pc.in', + output : 'lix-expr.pc', install_dir : libdir / 'pkgconfig', configuration : { 'prefix' : prefix, diff --git a/src/libexpr/nix-expr.pc.in b/src/libexpr/nix-expr.pc.in deleted file mode 100644 index 60ffb5dba..000000000 --- a/src/libexpr/nix-expr.pc.in +++ /dev/null @@ -1,10 +0,0 @@ -prefix=@prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Nix -Description: Nix Package Manager -Version: @PACKAGE_VERSION@ -Requires: nix-store bdw-gc -Libs: -L${libdir} -lnixexpr -Cflags: -I${includedir}/nix -std=c++2a diff --git a/src/libfetchers/lix-fetchers.pc.in b/src/libfetchers/lix-fetchers.pc.in new file mode 100644 index 000000000..fa213b769 --- /dev/null +++ b/src/libfetchers/lix-fetchers.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix libfetchers +Description: Lix Package Manager (libfetchers) +Version: @PACKAGE_VERSION@ +Requires: lix-base lix-util +Libs: -L${libdir} -llixfetchers +Cflags: -I${includedir}/lix/libfetchers diff --git a/src/libfetchers/meson.build b/src/libfetchers/meson.build index 3809701b7..dbb85b84c 100644 --- a/src/libfetchers/meson.build +++ b/src/libfetchers/meson.build @@ -23,7 +23,7 @@ libfetchers_headers = files( ) libfetchers = library( - 'nixfetchers', + 'lixfetchers', libfetchers_sources, dependencies : [ liblixstore, @@ -35,7 +35,21 @@ libfetchers = library( install_rpath : libdir, ) -install_headers(libfetchers_headers, subdir : 'nix', preserve_path : true) +install_headers(libfetchers_headers, subdir : 'lix/libfetchers', 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-fetchers.pc.in', + output : 'lix-fetchers.pc', + install_dir : libdir / 'pkgconfig', + configuration : { + 'prefix' : prefix, + 'libdir' : libdir, + 'includedir' : includedir, + 'PACKAGE_VERSION' : meson.project_version(), + }, +) liblixfetchers = declare_dependency( include_directories : include_directories('.'), diff --git a/src/libmain/lix-main.pc.in b/src/libmain/lix-main.pc.in new file mode 100644 index 000000000..0ceaec393 --- /dev/null +++ b/src/libmain/lix-main.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix libmain +Description: Lix Package Manager (libmain) +Version: @PACKAGE_VERSION@ +Requires: lix-base lix-util +Libs: -L${libdir} -llixmain +Cflags: -I${includedir}/lix/libmain diff --git a/src/libmain/meson.build b/src/libmain/meson.build index 3f50b158d..b17247a9d 100644 --- a/src/libmain/meson.build +++ b/src/libmain/meson.build @@ -14,7 +14,7 @@ libmain_headers = files( ) libmain = library( - 'nixmain', + 'lixmain', libmain_sources, dependencies : [ liblixutil, @@ -25,7 +25,7 @@ libmain = library( install_rpath : libdir, ) -install_headers(libmain_headers, subdir : 'nix', preserve_path : true) +install_headers(libmain_headers, subdir : 'lix/libmain', preserve_path : true) liblixmain = declare_dependency( include_directories : include_directories('.'), @@ -35,8 +35,8 @@ liblixmain = declare_dependency( # 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 : 'nix-main.pc.in', - output : 'nix-main.pc', + input : 'lix-main.pc.in', + output : 'lix-main.pc', install_dir : libdir / 'pkgconfig', configuration : { 'prefix' : prefix, diff --git a/src/libmain/nix-main.pc.in b/src/libmain/nix-main.pc.in deleted file mode 100644 index fb3ead6fa..000000000 --- a/src/libmain/nix-main.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -prefix=@prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Nix -Description: Nix Package Manager -Version: @PACKAGE_VERSION@ -Libs: -L${libdir} -lnixmain -Cflags: -I${includedir}/nix -std=c++2a diff --git a/src/libstore/lix-store.pc.in b/src/libstore/lix-store.pc.in new file mode 100644 index 000000000..69c323a28 --- /dev/null +++ b/src/libstore/lix-store.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix libstore +Description: Lix Package Manager (libstore) +Version: @PACKAGE_VERSION@ +Requires: lix-base lix-util +Libs: -L${libdir} -llixstore -llixutil +Cflags: -I${includedir}/lix/libstore diff --git a/src/libstore/meson.build b/src/libstore/meson.build index 5fde92dd0..4ccb03df7 100644 --- a/src/libstore/meson.build +++ b/src/libstore/meson.build @@ -6,7 +6,7 @@ foreach header : [ 'schema.sql', 'ca-specific-schema.sql' ] output : '@PLAINNAME@.gen.hh', capture : true, install : true, - install_dir : includedir / 'nix', + install_dir : includedir / 'lix/libstore', ) endforeach @@ -201,7 +201,7 @@ foreach name, value : cpp_str_defines endforeach libstore = library( - 'nixstore', + 'lixstore', libstore_generated_headers, libstore_sources, dependencies : [ @@ -224,7 +224,7 @@ libstore = library( install_rpath : libdir, ) -install_headers(libstore_headers, subdir : 'nix', preserve_path : true) +install_headers(libstore_headers, subdir : 'lix/libstore', preserve_path : true) # Used by libfetchers. liblixstore = declare_dependency( @@ -235,8 +235,8 @@ liblixstore = declare_dependency( # 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 : 'nix-store.pc.in', - output : 'nix-store.pc', + input : 'lix-store.pc.in', + output : 'lix-store.pc', install_dir : libdir / 'pkgconfig', configuration : { 'prefix' : prefix, diff --git a/src/libstore/nix-store.pc.in b/src/libstore/nix-store.pc.in deleted file mode 100644 index dc42d0bca..000000000 --- a/src/libstore/nix-store.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -prefix=@prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Nix -Description: Nix Package Manager -Version: @PACKAGE_VERSION@ -Libs: -L${libdir} -lnixstore -lnixutil -Cflags: -I${includedir}/nix -std=c++2a 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( diff --git a/src/lix-base.pc.in b/src/lix-base.pc.in new file mode 100644 index 000000000..925a7753a --- /dev/null +++ b/src/lix-base.pc.in @@ -0,0 +1,8 @@ +prefix=@prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Lix base +Description: Lix Package Manager (config.hh fixup) +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir}/lix |