Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [RFC] add vdevel helper
@ 2022-09-14  4:18 classabbyamp
  2022-09-14  4:23 ` [PR PATCH] [Updated] " classabbyamp
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: classabbyamp @ 2022-09-14  4:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1688 bytes --]

There is a new pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages vdevel
https://github.com/void-linux/void-packages/pull/39274

[RFC] add vdevel helper
This adds a helper for the install phase, `vdevel`, which moves commonly-moved patterns/directories to the subpkg in which it's called using `vmove`.

Based on these Highly Scientific™ stats and the existing list in Manual.md, I came up with a list of patterns and directories to move.

<details><summary>The Numbers</summary>

```
  count  command
   1859  vmove usr/include
   1664  vmove usr/lib/*.so
   1414  vmove usr/lib/pkgconfig
    750  vmove usr/lib/*.a
    331  vmove usr/lib/cmake
    182  vmove usr/share/gir-1.0
    154  vmove usr/share/man/man3
    112  vmove usr/lib/qt5/mkspecs
    101  vmove usr/share/gtk-doc
     94  vmove usr/share/vala
     64  vmove usr/share/aclocal
     17  vmove usr/share/info
     15  vmove usr/share/man
     14  vmove usr/lib/*.la
     12  vmove usr/share/cmake
     10  vmove usr/share/pkgconfig
```

</details>

(Should `usr/share/gtk-doc` and/or `usr/share/man/man3` be added to the `vdevel` list?)

If a pattern or directory is not matched, only a warning is printed, describing what wasn't found.

This should be compatible with many `-devel` packages, but not all, and that is okay. Also, if additional files need to be moved, they can be `vmove`d manually.

Some examples of `vdevel` in action are included.

#### Testing the changes
- I tested the changes in this PR: **YES**


A patch file from https://github.com/void-linux/void-packages/pull/39274.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vdevel-39274.patch --]
[-- Type: text/x-diff, Size: 8556 bytes --]

From 4a27f8a53c4f50cfc0894d3466324c5a67bf70f6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <void@placeviolette.net>
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"`.
 
 <a id="global_vars"></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`
+
 <a id="pkgs_data"></a>
 ### Data packages
 

From eb8e118be8940ae06dc5734dc883e4d80f3d3495 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <void@placeviolette.net>
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 <void@placeviolette.net>
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 <void@placeviolette.net>
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 <void@placeviolette.net>
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 <void@placeviolette.net>
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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
@ 2022-09-14  4:23 ` classabbyamp
  2022-09-22  8:17 ` thypon
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2022-09-14  4:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1693 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages vdevel
https://github.com/void-linux/void-packages/pull/39274

[RFC] add vdevel helper
This adds a helper for the install phase, `vdevel`, which moves commonly-moved patterns/directories to the subpkg in which it's called using `vmove`.

Based on these Highly Scientific™ stats and the existing list in Manual.md, I came up with a list of patterns and directories to move.

<details><summary>The Numbers</summary>

```
  count  command
   1859  vmove usr/include
   1664  vmove usr/lib/*.so
   1414  vmove usr/lib/pkgconfig
    750  vmove usr/lib/*.a
    331  vmove usr/lib/cmake
    182  vmove usr/share/gir-1.0
    154  vmove usr/share/man/man3
    112  vmove usr/lib/qt5/mkspecs
    101  vmove usr/share/gtk-doc
     94  vmove usr/share/vala
     64  vmove usr/share/aclocal
     17  vmove usr/share/info
     15  vmove usr/share/man
     14  vmove usr/lib/*.la
     12  vmove usr/share/cmake
     10  vmove usr/share/pkgconfig
```

</details>

(Should `usr/share/gtk-doc` and/or `usr/share/man/man3` be added to the `vdevel` list?)

If a pattern or directory is not matched, only a warning is printed, describing what wasn't found.

This should be compatible with many `-devel` packages, but not all, and that is okay. Also, if additional files need to be moved, they can be `vmove`d manually.

Some examples of `vdevel` in action are included.

#### Testing the changes
- I tested the changes in this PR: **YES**


A patch file from https://github.com/void-linux/void-packages/pull/39274.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vdevel-39274.patch --]
[-- Type: text/x-diff, Size: 8572 bytes --]

From a1c034758ce0e3f5a74ee05823811771dc356f88 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 | 43 ++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/common/environment/setup/install.sh b/common/environment/setup/install.sh
index 5f0571de14ae..ac64098e272b 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,44 @@ _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
+		if [ -d "${DESTDIR}/$dir" ]; then
+			_move_glob "$dir" "$msg"
+		fi
+	}
+
+	_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 076d40474e61f38567b3ef29470447f447a40c54 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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"`.
 
 <a id="global_vars"></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`
+
 <a id="pkgs_data"></a>
 ### Data packages
 

From 78037bdb5b139cf4bc9786ca7bf7ae2e4fe01933 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 027eade4fc81fe07d3d480c7f43b735133f80078 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 2033c277808ad01c4e3238bfd179d63b26863d23 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 ca3a12f25812f0af4d2409f5d3a4ad93c9d45d42 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 f7d6e06c6a715ce106b9fc0dbbd86ac15c6aa3a0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 886097359b7c604924d868f3abd6100443552433 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
  2022-09-14  4:23 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-09-22  8:17 ` thypon
  2022-09-22 11:15 ` classabbyamp
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: thypon @ 2022-09-22  8:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 269 bytes --]

New comment by thypon on void-packages repository

https://github.com/void-linux/void-packages/pull/39274#issuecomment-1254684570

Comment:
Adding a top-level `split_devel=yes` that automatically adds the sub-pkg may substantially decrease the code duplication as well

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
  2022-09-14  4:23 ` [PR PATCH] [Updated] " classabbyamp
  2022-09-22  8:17 ` thypon
@ 2022-09-22 11:15 ` classabbyamp
  2022-09-22 17:09 ` Vaelatern
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2022-09-22 11:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 337 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/39274#issuecomment-1254879762

Comment:
i feel that that approach causes too much magic. what if the devel package has a different name than`$sourcepkg-devel`? what is done in the case of other things also going in the devel pkg? 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
                   ` (2 preceding siblings ...)
  2022-09-22 11:15 ` classabbyamp
@ 2022-09-22 17:09 ` Vaelatern
  2022-09-22 17:09 ` Vaelatern
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Vaelatern @ 2022-09-22 17:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 269 bytes --]

New comment by Vaelatern on void-packages repository

https://github.com/void-linux/void-packages/pull/39274#issuecomment-1255313214

Comment:
Magic is relative, right? For many people vmove is a little bit magical, how it differs from vinstall, why you'd use it, etc.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
                   ` (3 preceding siblings ...)
  2022-09-22 17:09 ` Vaelatern
@ 2022-09-22 17:09 ` Vaelatern
  2022-12-22  1:57 ` github-actions
  2023-03-16  6:13 ` [PR PATCH] [Closed]: " classabbyamp
  6 siblings, 0 replies; 8+ messages in thread
From: Vaelatern @ 2022-09-22 17:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 342 bytes --]

New comment by Vaelatern on void-packages repository

https://github.com/void-linux/void-packages/pull/39274#issuecomment-1255313214

Comment:
Magic is relative, right? For many people vmove is a little bit magical, how it differs from vinstall, why you'd use it, etc. All in favor of minimizing magic, though, since that's important for us.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
                   ` (4 preceding siblings ...)
  2022-09-22 17:09 ` Vaelatern
@ 2022-12-22  1:57 ` github-actions
  2023-03-16  6:13 ` [PR PATCH] [Closed]: " classabbyamp
  6 siblings, 0 replies; 8+ messages in thread
From: github-actions @ 2022-12-22  1:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 305 bytes --]

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/39274#issuecomment-1362297393

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Closed]: [RFC] add vdevel helper
  2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
                   ` (5 preceding siblings ...)
  2022-12-22  1:57 ` github-actions
@ 2023-03-16  6:13 ` classabbyamp
  6 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2023-03-16  6:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1553 bytes --]

There's a closed pull request on the void-packages repository

[RFC] add vdevel helper
https://github.com/void-linux/void-packages/pull/39274

Description:
This adds a helper for the install phase, `vdevel`, which moves commonly-moved patterns/directories to the subpkg in which it's called using `vmove`.

Based on these Highly Scientific™ stats and the existing list in Manual.md, I came up with a list of patterns and directories to move.

<details><summary>The Numbers</summary>

```
  count  command
   1859  vmove usr/include
   1664  vmove usr/lib/*.so
   1414  vmove usr/lib/pkgconfig
    750  vmove usr/lib/*.a
    331  vmove usr/lib/cmake
    182  vmove usr/share/gir-1.0
    154  vmove usr/share/man/man3
    112  vmove usr/lib/qt5/mkspecs
    101  vmove usr/share/gtk-doc
     94  vmove usr/share/vala
     64  vmove usr/share/aclocal
     17  vmove usr/share/info
     15  vmove usr/share/man
     14  vmove usr/lib/*.la
     12  vmove usr/share/cmake
     10  vmove usr/share/pkgconfig
```

</details>

**(Should `usr/share/gtk-doc` and/or `usr/share/man/man3` be added to the `vdevel` list?)**

If a pattern or directory is not matched, only a warning is printed, describing what wasn't found.

This should be compatible with many `-devel` packages, but not all, and that is okay. Also, if additional files need to be moved, they can be `vmove`d manually.

Some examples of `vdevel` in action are included.

Prior art: #21721

#### Testing the changes
- I tested the changes in this PR: **YES**


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-03-16  6:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14  4:18 [PR PATCH] [RFC] add vdevel helper classabbyamp
2022-09-14  4:23 ` [PR PATCH] [Updated] " classabbyamp
2022-09-22  8:17 ` thypon
2022-09-22 11:15 ` classabbyamp
2022-09-22 17:09 ` Vaelatern
2022-09-22 17:09 ` Vaelatern
2022-12-22  1:57 ` github-actions
2023-03-16  6:13 ` [PR PATCH] [Closed]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).