From 4a27f8a53c4f50cfc0894d3466324c5a67bf70f6 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Tue, 13 Sep 2022 23:46:42 -0400 Subject: [PATCH 1/8] common/environment/setup/install.sh: add vdevel helper --- common/environment/setup/install.sh | 41 ++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/common/environment/setup/install.sh b/common/environment/setup/install.sh index 5f0571de14ae..a8c67c8ae12f 100644 --- a/common/environment/setup/install.sh +++ b/common/environment/setup/install.sh @@ -13,7 +13,7 @@ _noglob_helper() { } # Apply _noglob to v* commands -for cmd in vinstall vcopy vcompletion vmove vmkdir vbin vman vdoc vconf vsconf vlicense vsv; do +for cmd in vinstall vcopy vcompletion vmove vmkdir vbin vman vdoc vconf vsconf vlicense vsv vdevel; do alias ${cmd}="set -f; _noglob_helper _${cmd}" done @@ -265,3 +265,42 @@ _vcompletion() { ;; esac } + +_vdevel() { + if [ -z "$DESTDIR" ]; then + msg_red "$pkgver: vdevel: DESTDIR unset, can't continue...\n" + return 1 + elif [ -z "$PKGDESTDIR" ]; then + msg_red "$pkgver: vdevel: PKGDESTDIR unset, can't continue...\n" + return 1 + elif [ "$DESTDIR" = "$PKGDESTDIR" ]; then + msg_red "$pkgver: vdevel is intended to be used in pkg_install\n" + return 1 + fi + + _move_glob() { + local pat=$1 msg=$2 + if [ -n "$(ls ${DESTDIR}/$pat 2>/dev/null)" ]; then + vmove "$pat" + else + msg_warn "$pkgver: vdevel: no $msg found ($pat)\n" + fi + } + + _move_dir() { + local dir=$1 msg=$2 + [ -d "${DESTDIR}/$dir" ] && _move_glob "$dir" "$msg" + } + + _move_glob 'usr/lib/*.so' 'unversioned shlibs' + _move_glob 'usr/lib/*.a' 'library archives' + _move_glob 'usr/share/gir-*' 'Gobject introspection XML files' + + _move_dir 'usr/include' 'header files' + _move_dir 'usr/lib/cmake' 'cmake rules' + _move_dir 'usr/share/cmake' 'cmake rules' + _move_dir 'usr/lib/pkgconfig' 'pkgconfig files' + _move_dir 'usr/share/pkgconfig' 'pkgconfig files' + _move_dir 'usr/share/aclocal' 'Autoconf macros' + _move_dir 'usr/share/vala' 'Vala bindings' +} From 8b39bd0608af4ed65ab1479cedfd95715503c151 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Tue, 13 Sep 2022 23:55:23 -0400 Subject: [PATCH 2/8] Manual.md: document vdevel --- Manual.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Manual.md b/Manual.md index c24be6e90a74..349a53b586cf 100644 --- a/Manual.md +++ b/Manual.md @@ -330,6 +330,23 @@ The following functions are defined by `xbps-src` and can be used on any templat it will default to `pkgname`. The `shell` argument can be one of `bash`, `fish` or `zsh`. +- *vdevel()* + + Installs common development files in the pkg `$DESTDIR`. Prints a warning if files + aren't found. Equivalent to: +```sh +vmove "usr/lib/*.so" # unversioned shlibs +vmove "usr/lib/*.a" # library archives +vmove "usr/share/gir-*" # Gobject introspection XML files +vmove usr/include # header files +vmove usr/lib/cmake # cmake rules +vmove usr/share/cmake # cmake rules +vmove usr/lib/pkgconfig # pkgconfig files +vmove usr/share/pkgconfig # pkgconfig files +vmove usr/share/aclocal # Autoconf macros +vmove usr/share/vala # Vala bindings +``` + > Shell wildcards must be properly quoted, Example: `vmove "usr/lib/*.a"`. @@ -1438,10 +1455,8 @@ foo-devel_package() { short_desc+=" - development files" depends="${sourcepkg}>=${version}_${revision}" pkg_install() { - vmove usr/include - vmove "usr/lib/*.a" - vmove "usr/lib/*.so" - vmove usr/lib/pkgconfig + vdevel + vmove usr/share/gtk-doc } } ``` @@ -1500,6 +1515,8 @@ following subset of files from the main package: * Gobject introspection XML files `usr/share/gir-1.0` * Vala bindings `usr/share/vala` +> These common files can be automatically moved to the `-devel` subpackage using `vdevel` + ### Data packages From eb8e118be8940ae06dc5734dc883e4d80f3d3495 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 14 Sep 2022 00:00:21 -0400 Subject: [PATCH 3/8] LimeSuite: use vdevel --- srcpkgs/LimeSuite/template | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template index f7caba84c2fe..b517829b4f7f 100644 --- a/srcpkgs/LimeSuite/template +++ b/srcpkgs/LimeSuite/template @@ -64,10 +64,7 @@ LimeSuite-devel_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { - vmove usr/include - vmove usr/lib/cmake - vmove usr/lib/pkgconfig - vmove "usr/lib/*.so" + vdevel } } From d5204d19528e6088f4698d53f426d45cf660d901 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 14 Sep 2022 00:00:24 -0400 Subject: [PATCH 4/8] farstream: use vdevel --- srcpkgs/farstream/template | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/srcpkgs/farstream/template b/srcpkgs/farstream/template index e93c7a0c23bb..db6e66fb7ca7 100644 --- a/srcpkgs/farstream/template +++ b/srcpkgs/farstream/template @@ -32,12 +32,7 @@ farstream-devel_package() { depends="gst-plugins-base1-devel farstream-${version}_${revision}" short_desc+=" - development files" pkg_install() { - vmove usr/include - vmove usr/lib/pkgconfig - vmove usr/lib/*.so + vdevel vmove usr/share/gtk-doc - if [ "$build_option_gir" ]; then - vmove usr/share/gir-1.0 - fi } } From 0a63f27765364c80ec63b7b082f00881f81a39dd Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 14 Sep 2022 00:00:25 -0400 Subject: [PATCH 5/8] hamlib: use vdevel --- srcpkgs/hamlib/template | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/srcpkgs/hamlib/template b/srcpkgs/hamlib/template index 3e9e84512853..ea4418751066 100644 --- a/srcpkgs/hamlib/template +++ b/srcpkgs/hamlib/template @@ -27,9 +27,6 @@ hamlib-devel_package() { short_desc+=" - development files" depends="${sourcepkg}>=${version}_${revision}" pkg_install() { - vmove usr/include - vmove "usr/lib/*.so" - vmove usr/lib/pkgconfig - vmove usr/share/aclocal + vdevel } } From e14eccde94fd2d6ae9873cf35534f3bd4db3bbd4 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 14 Sep 2022 00:00:25 -0400 Subject: [PATCH 6/8] libjaylink: use vdevel --- srcpkgs/libjaylink/template | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/srcpkgs/libjaylink/template b/srcpkgs/libjaylink/template index 56eae2f11537..57392b4f5508 100644 --- a/srcpkgs/libjaylink/template +++ b/srcpkgs/libjaylink/template @@ -21,9 +21,6 @@ libjaylink-devel_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { - vmove usr/include - vmove usr/lib/pkgconfig - vmove "usr/lib/*.a" - vmove "usr/lib/*.so" + vdevel } } From d709d32fd2e6f6537a8d744bdc47161a352d72a5 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 14 Sep 2022 00:00:26 -0400 Subject: [PATCH 7/8] qtforkawesome: use vdevel --- srcpkgs/qtforkawesome/template | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/srcpkgs/qtforkawesome/template b/srcpkgs/qtforkawesome/template index 33820cedf364..f9db6c153c4d 100644 --- a/srcpkgs/qtforkawesome/template +++ b/srcpkgs/qtforkawesome/template @@ -31,9 +31,7 @@ qtforkawesome-devel_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { + vdevel vmove usr/share - vmove usr/include - vmove usr/lib/pkgconfig - vmove "usr/lib/*.so" } } From 9388d2419ba3eeed5ee393ae9d9f7bd36d034bf6 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 14 Sep 2022 00:00:27 -0400 Subject: [PATCH 8/8] syncthingtray: use vdevel --- srcpkgs/syncthingtray/template | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/srcpkgs/syncthingtray/template b/srcpkgs/syncthingtray/template index 7c49025c8258..9748ee7d946d 100644 --- a/srcpkgs/syncthingtray/template +++ b/srcpkgs/syncthingtray/template @@ -37,9 +37,7 @@ syncthingtray-devel_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { - vmove usr/include - vmove usr/lib/pkgconfig - vmove "usr/lib/*.so" + vdevel for d in connector fileitemaction model plasmoid widgets; do vmove "usr/share/syncthing${d}/cmake" done